No.1ベストアンサー
- 回答日時:
1.フォームを一括してエクスポートする方法はないでしょうか
データには影響ありません。
2.エクスポート先のテーブルにないフィールドなどを記述していると、エラーが発生することになるでしょうか。
当然エラーになります。
3.複数(あるいは全て)のフォームを一括してエクスポートする方法はないでしょうか。
確認したのは2003ですが、エクスポートは1つずつしかできませんが、インポートなら「全て選択」できるます。
4.特に注意すべき点があれば、合わせて教えてください。
同じ名前のフォームやテーブルをインポートした場合、後からインポートしたオブジェクトの名前の後に「_1」が付くので、インポートしたのに変わっていないと勘違いすることがあります。
ご回答ありがとうございます。
1と2はわかりました。
3.
確認したのは2003ですが、エクスポートは1つずつしかできませんが、インポートなら「全て選択」できます。
:
アクセス97です。
古すぎますかね・・・。
「全て選択」メニューが見当たらないようなのでひとつづつエクスポートするしかないのでしょうね。
4.
同じ名前のフォームやテーブルをインポートした場合、後からインポートしたオブジェクトの名前の後に「_1」が付くので、インポートしたのに変わっていないと勘違いすることがあります。
:
フォームなどの【名前だけ】が変わって上書きされる、ということですよね。
たとえば「AAA」という名前のフォーム名が「AAA_1」に変わる、ということでしょうか。
それとも、上書きされずに併存する状態でインポートされるのでしょうか。
No.5
- 回答日時:
#3です。
もし、既存のフォームがあればそれを破棄して新たにフォームをエクスポート
したいというのであれば、コードを少し
変更しますが、そのあたりはいかがですか。
それから、#4さんへ
CurrentProjecプロパティはAccess2000以降です。
No.4
- 回答日時:
Access97で動くか全く分かりませんが (^^ゞ
参考にしてください(ならないかも?)
動くなら少し手直しすればいけますよね?
Sub test1()
'自MDBのフォーム一覧
Dim objFrm As AccessObject
For Each objFrm In CurrentProject.AllForms
Debug.Print objFrm.Name
Next objFrm
End Sub
Sub test2()
'他MDBのフォーム一覧・削除 ※バックアップを取るか不要のファイルでお試しを!
Dim appAcc As Access.Application
Dim objFrm As Object
Dim strPath As String
strPath = "c:\要らない.mdb"
Set appAcc = New Access.Application
appAcc.OpenCurrentDatabase strPath
For Each objFrm In appAcc.CurrentProject.AllForms
Debug.Print objFrm.Name
If objFrm.Name = "あのフォーム名" Then
appAcc.DoCmd.DeleteObject acForm, objFrm.Name
End If
Next objFrm
appAcc.CloseCurrentDatabase: Set appAcc = Nothing
End Sub
No.3
- 回答日時:
Access97では同じ名前のフォームがあると
エクスポートした場合、エラーが出る可能性が
あるかもしれないので、同じ名前のフォームが
ある場合はエクスポートしないようにしています。
同じ名前のフォームを置いてみたりして確認
してみてください。
このコードは他のバージョンのAccessでも使えます。
なお、他のバージョンで使用する場合はDAOにチェックを
入れてください。ADOより上位に設定するか、ADOの
チェックをはずしてください。
Sub cmdTransferFormA()
Dim dbIn As Database
Dim rsIn As Recordset
Dim dbOut As Database
Dim rsOut As Recordset
Dim strSQLIn As String
Dim strSQLOut As String
Dim strPath As String
Dim objNameIn As String
Dim objNameOut As String
strSQLIn = "Select Name From MSysObjects Where Type = -32768"
strSQLOut = "Select Name From MSysObjects Where Type = -32768"
strPath = "D:\sample.mdb"
Set dbIn = CurrentDb
Set rsIn = dbIn.OpenRecordset(strSQLIn)
Set dbOut = DBEngine.Workspaces(0).OpenDatabase(strPath)
Set rsOut = dbOut.OpenRecordset(strSQLOut)
If rsIn.RecordCount > 0 Then
rsIn.MoveFirst
Do Until rsIn.EOF
objNameIn = rsIn!Name
If rsOut.RecordCount > 0 Then
rsOut.MoveFirst
Do Until rsOut.EOF
If rsIn!Name = rsOut!Name Then
Exit Do
Else
DoCmd.TransferDatabase acExport, "Microsoft Access", strPath, acForm, objNameIn,
objNameIn
Exit Do
End If
rsOut.MoveNext
Loop
Else
DoCmd.TransferDatabase acExport, "Microsoft Access", strPath, acForm, objNameIn,
objNameIn
End If
rsIn.MoveNext
Loop
End If
rsIn.Close: Set rsIn = Nothing
rsOut.Close: Set rsOut = Nothing
dbIn.Close: Set dbIn = Nothing
dbOut.Close: Set dbOut = Nothing
End Sub
No.2
- 回答日時:
3.「全て選択」メニューが見当たらないようなのでひとつづつエクスポートするしかないのでしょうね。
→2003でもエクスポートは1つずつです。モジュールを相手に渡すのではなく、インポートで相手側から最新のモジュールを貰うんです。
4.「たとえば「AAA」という名前のフォーム名が「AAA_1」に変わる、ということでしょうか。
それとも、上書きされずに併存する状態でインポートされるのでしょうか。」
→「AAA_1」に変わるので、元の「AAA」と併存するので、それに気を付ける必要があるのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
YahooのIDがロックされてしまい...
-
「フォームを作成できませんで...
-
ACCESSでオートメーションエラー
-
デフォルトでチェックボックス...
-
Accessのフォームで開く時のウ...
-
アクセス フォームをリクエリ...
-
大至急!アクセスのフォームを...
-
Access2003 フォーム入力中に...
-
フォームの高さを数値で指定し...
-
エクセルでフォームのDropDown...
-
帳票フォームのなかにリストを...
-
アクセスで複数列にまたがる同...
-
ACCESS クロス集計クエリの抽...
-
Excelのデータフォームの設定変更
-
Accessのフォームを改ページしたい
-
無効なパスというエラーメッセ...
-
MSワード 年齢を計算表示でき...
-
access vba 開いていないフォー...
-
エクスポートされたエクセルの...
-
Accessで、フォームからフォー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
YahooのIDがロックされてしまい...
-
「フォームを作成できませんで...
-
Accessで、フォームからフォー...
-
フォームの高さを数値で指定し...
-
デフォルトでチェックボックス...
-
Accessのフォームで開く時のウ...
-
アクセス フォームをリクエリ...
-
大至急!アクセスのフォームを...
-
アクセスで複数列にまたがる同...
-
Access2003 フォーム入力中に...
-
MSワード 年齢を計算表示でき...
-
ACCESS クロス集計クエリの抽...
-
Excelのデータフォームの設定変更
-
アクセスのレコードをフォーム...
-
access vba 開いていないフォー...
-
Access テキストボックスの通貨型
-
ACCESSでオートメーションエラー
-
エクスポートされたエクセルの...
-
Accessフォームを開くときに決...
-
フォームなどに半角カナで入力...
おすすめ情報