AccessのVBAでアクションクエリーを使用するには
アクションクエリーの実行は、以下のようにDoCmdメゾットでもできるが、DoCmdは非同期実行のため、連続してアクションクエリーを実行すると、場合によっては実行結果のテーブルをレコードソースとしたフォームやレポートの表示に実行結果が反映されないことがある。
DoCmd.OpenQuery アクションクエリー名
VBAでアクションクエリーを使用する場合は、BeginTrans, CommitTransで明示的にコミットするのがよい。また、アクションクエリーの実行にはDoCmdメゾットではなく、Executeメゾットを使用する。
【例】
Dim wk As Workspace
Dim MyDb As Database
Set wk = DBEngine.Workspaces(0)
Set MyDb = CurrentDb
wk.BeginTrans
MyDb.Execute "アクションクエリー名" ←SQL文でもOK
wk.CommitTrans
・
・
・
MyDb.Close
Set MyDb = Nothing
Set wk = Nothing
- お小遣いあげるからメールしておいで(*´ω`)♂ http://ylm.me/ -- ぷぅにゃん (2011-12-09 21:04:57)
最終更新:2011年12月09日 21:04