たま氏の覚え書き

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

AccessVBA_DAOの利用その2_【Database】【Execute】アクションクエリの実行

DAOでデータベースに接続し、SQL(アクションクエリ)を実行する記述

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

何を行うか

DatabaseオブジェクトのCurrentDbで、データベースに接続してSQLを実行

利用時の書式

Databaseのオブジェクト変数.Filter . Execute クエリ


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

ステートメント
  →SQL(SELECT INTO:既存テーブルを使用した新規テーブルの作成を行う)
・メソッド
  →Execute

注意点

実行するのはアクションクエリのみで、レコードセットを返すSQLの実行はできない

【実践】指定のクエリを実行する記述例

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

テーブル「飲料リスト」の内容をそのまますべて、新しいテーブルに転記する

▼取得対象テーブル「飲料リスト」▼


▼記述例▼

Sub CurrentSQL()

Dim DAOdb As DAO.Database
Set DAOdb = CurrentDb

DAOdb.Execute "SELECT * INTO 飲料リストsub FROM 飲料リスト"

Set DAOdb = Nothing

End Sub



▼実行結果▼


別のデータベースに接続する場合の記述

別のデータベース上(今回はデスクトップ上)にあるテーブル「飲料リスト」の内容をそのまますべて、新しいテーブルに転記する
たま氏は今回は前項で「飲料リストSub」をつくったAccessファイルに逆に外部から操作した

▼取得対象テーブル「飲料リスト」▼


▼記述例▼

Sub runSQL()

Dim DAOdb As DAO.Database
Set DAOdb = OpenDatabase("C:\Users\user\デスクトップ\test.accdb")

DAOdb.Execute "SELECT * INTO 飲料リストSubのSub FROM 飲料リスト"

Set DAOdb = Nothing

End Sub



▼実行結果▼