DoCmd.OpenQuery(クエリを開く)
VBAでクエリーを開くときは、DoCmd.OpenQueryを使います。基本は、選択クエリー(SELECT命令の実行)ならデータシートビューの表示、アクションクエリー(INSERT、UPDATE、DELETE命令)なら、追加、更新、削除といったテーブルのデータ操作を行います。
DoCmd.OpenQueryの書式
DoCmd.OpenQuery QueryName, View, DataMode
■QueryName/クエリ名(必須)
開くクエリ名を指定します。

■View/ビュー(省略可能)
ビューを@の定数で指定します。省略したときは、選択クエリーならデータシートビューの表示、アクションクエリーならそのクエリーを実行(追加、更新、削除)します。

■DataMode/追加・編集モード(省略可能)
データの入力モードをAの定数で指定します。省略したときはacEdit(編集モード)と同じです。ただし、クエリーの内容によっては常に読み取り専用になることもあります。

 @View(第2引数)に指定する定数
acViewDesign デザインビューで開きます。
acViewNormal 選択クエリーならデータシートビューで開きます。
アクションクエリーならデータの追加、更新、削除を行います。
acViewPivotChart ピボットチャートビューで開きます。(選択クエリーのみ)
acViewPivotTable ピボットテーブルビューで開きます。(選択クエリーのみ)
acViewPreview 印刷プレビューで開きます。(選択クエリーのみ)

 ADataMode(第3引数)に指定する定数(選択クエリー時のみ有効)
acAdd 追加専用モードです。
acEdit 編集・追加・削除モードです。
acReadOnly 読み取り専用モードです。
DoCmd.OpenQueryの使用例
次の例では、DoCmd.OpenQueryを使って選択クエリ「選択クエリ11」を開いています。第2引数を省略しているので、このクエリーはデザインビューで開きます。

Sub s_DoCmd_OpenQuery_Sample()

    'クエリ1をデータシートビューで開く
    DoCmd.OpenQuery "選択クエリ11"

End Sub

また、次の例では、DoCmd.OpenQueryを使ってアクションクエリ「追加クエリ55」を開いて(実行して)います。第2引数は省略しています。
ちなみに、DoCmd.SetWarningsFalseにして、追加するかどうかを確認するダイアログを表示しないようにしています。

Sub s_DoCmd_OpenQuery_Sample2()

    '警告ダイアログをOFF
    DoCmd.SetWarnings False

    '追加クエリ55を開く(実行する)
    DoCmd.OpenQuery "追加クエリ55"

    '警告ダイアログをON(戻す)
    DoCmd.SetWarnings True

End Sub
Copyright(C) 1999-2006 結城圭介。 All rights reserved