VBAでクエリを実行させるには、DoCmd.OpenQueryを使うと簡単です。 下の構文・引数と使用例を参照してください
Home Tips メニュー
■ 構文
DoCmd.OpenQuery QueryName , View , DataMode
■ 引数
- QueryName : 実行するクエリの名前(必須)
- View : クエリを開くビューの種類を定数で指定(省略可)
- DataMode : 開いたクエリの入力モードを定数で指定(省略可)
ここでは商品コードを昇順に並び替えるクエリをVBAで実行します。
関連する「クエリからVBAのプロシージャを呼び出し、その戻り値で抽出する方法」を掲載していますので参考にしてください。
|
■ 引数 Viewに指定するAcViewクラス定数
名前 |
値 |
ビューの種類 |
acViewDesign |
1 |
デザイン ビュー |
acViewLayout |
6 |
レイアウト ビュー |
acViewNormal |
0 |
(既定値) 標準表示 |
acViewPivotChart |
4 |
ピボットグラフ ビュー |
acViewPivotTable |
3 |
ピボットテーブル ビュー |
acViewPreview |
2 |
印刷プレビュー |
acViewReport |
5 |
レポート ビュー |
■ 引数 DataModeに指定するAcOpenDataModeクラス定数
名前 |
値 |
説明 |
acAdd |
0 |
- 新規レコードの追加のみできます
- データシートにはクエリの結果が表示されずに、新規追加の空行のみ表示されます。
- クエリの結果の参照や編集することはできません。
|
acEdit (既定値) |
1 |
- クエリの結果の参照や編集ができます。
- 通常のクエリを開いたときと同じです。
|
acReadOnly |
2 |
- クエリの結果の参照のみできます。
- 編集することはできません。
|
■ 使用例
下のフォームの[実行]ボタンをクリックすると、「Q_商品コード昇順」クエリを実行するVBAを作成します。
VBEのクリックイベント内に下記の、編集不可で標準表示でクエリを開くVBAを入力します。
Option Compare Database
Private Sub コマンド0_Click()
DoCmd.OpenQuery "Q_商品コード昇順", acViewNormal, acReadOnly
End Sub
[クエリの実行]ボタンをクリックすると、VBAでクエリを実行することができました。