【ACCESS VBA】クエリを開く【DoCmd.OpenQuery】

この記事は約3分で読めます。

ACCESS VBAを学習しています。

今回はVBAを使ったクエリの開き方について学びます。

この記事では使い方と使用例を掲載しています。

使い方については、よく使う部分だけを抜粋してご紹介しています。

詳細は公式のドキュメントをご覧ください。

説明・パラメータ

クエリを開くことができます。

パラメータの指定はフォームを開く(DoCmd.OpenForm)操作と似ています。

書式

DoCmd.OpenQuery QueryName, View, DataMode

QueryName

開くクエリを指定します。入力必須です。

「”」で囲んで記述します。

View

クエリを開くときのビューを指定することができます。

入力は必須ではありません。省略したときはacViewNormal(標準表示)が適用されます。

他には以下のようなビューを指定できます。

  • acViewNormal:標準表示
  • acViewDesign:デザインビュー
  • acViewLayout:レイアウトビュー
  • acViewPreview:印刷プレビュー
  • acViewReport:レポートビュー

DataMode

データの参照のみ許可する場合や新規レコードの追加のみを許可する場合など、データ入力モードを指定することができます。

  • acAdd:新規レコードの追加のみ許可
  • acEdit:既存レコードの参照、編集、新規レコードの追加を許可
  • acReadOnly:レコードの参照のみ許可

使用例(コード)

クエリを開く

メインメニューの「顧客情報一覧」ボタンに↑のコードを紐づけてあります。このボタンを押すと、

↓こちらの「Q_顧客情報一覧」クエリが開くようになりました。

※「T_顧客マスタ」テーブルから一部の情報を抽出した「Q_顧客情報一覧」クエリを事前に作成しています。

ビューを指定してクエリを開く

続いて、↑のように「acDesign」を追加することでクエリを開くときにデザインビューを指定しました。

メインメニューの「顧客情報一覧」ボタンを押すと↓のようになります。

暗めの設定にしているのでいつもと見え方が違うかもしれませんが、これはクエリのデザインビューを開くことができています。

開発者用のメニューをフォームで用意しておき、改善したい部分が見つかった時にデザインビューで開けるようにしておくといった使い方もあるかもしれません。

ビューとデータモードを指定してクエリを開く

「acViewNormal」で標準表示を指定し、「acReadOnly」とすることで参照のみ許可しています。

本当は「acViewNomarl」はデフォルトで指定されているので省略も可能です。

参照のみ許可しているので、実際に開いたクエリ内のデータは編集することができないようになっています。

 

参考

公式ドキュメントです。

DoCmd.OpenQuery メソッド (Access) | Microsoft Learn

ACCESSの記事を一覧にしています。ACCESS VBAの正式な情報は公式ドキュメントを読むべきですが、このサイトでは実際に使う場面を想定して紹介しているので、公式ドキュメントと併せて読んでいただくと理解が深まると思います。

ACCESS記事一覧

コメント