たま氏の覚え書き

KNIME・AccessVBA・Swift等、学習したことを覚え書き

AccessVBA_DAOの利用その4_【Database】【QueryDef】【CreateQueryDef】クエリの作成

DAOでデータベースに接続し、クエリを作成する記述

今回の記述に関する前情報

何を行うか

CreateQueryDefメソッドを使ってQueryDefオブジェクトを作成
作成したオブジェクト内に、SQLによって作成したクエリを格納
※クエリ名を指定しない場合には一時的なクエリとなるがRecordsetに格納する形をとることも可能

QueryDefオブジェクトを作成する書式

Dim QDef As DAO.QueryDef
Set QDef = Databaseオブジェクト変数.CreateQueryDef("クエリ名",SQL)

記述例における利用パーツ

ステートメント
  →SQL
・メソッド
  →CurrentDb / CreateQueryDef

【実践】クエリを新規作成する記述例

カレントプロジェクトのデータベースに接続する場合の記述

以下のクエリを新規作成
クエリ名:AA04
※テーブル「飲料リスト」の中からAA04のレコードの情報のみを抽出

▼抽出対象テーブル▼


▼記述例▼

Sub createquery()

Dim DAOdb As DAO.Database
Dim QDef As DAO.QueryDef
Dim SQL As String
Set DAOdb = CurrentDb

SQL = "SELECT * FROM 飲料リスト WHERE 通し番号 = 'AA04';"

Set QDef = DAOdb.CreateQueryDef("AA04", SQL)

Set QDef = Nothing: Set DAOdb = Nothing

End Sub



▼実行結果▼