Microsoft Access 掲示板

フォームのフィルターをクエリに反映可能? / 12

19 コメント
views
4 フォロー
12

DoCmd.TransferSpreadsheet というのはAccessの機能、
リボンメニューのエクスポートあるいは右クリックのエクスポートの機能を、VBAから実行しています。

SQLというのは、テーブルデータの抽出、集計、並べ替え、更新・・・・・などのデータ操作をするためのデータベース用言語、
それを視覚的に扱えるようにしたのがAccessのクエリ。SQLビューにすればSQLコードをみることができます。

DAOというのは、データベースのデータ操作を、VBAなどのプログラミング言語から操作できるようにしたライブラリー。
Accessのテーブルだけでなく、他のデータベースのデータや、CSVやエクセルのデータもデータベースとして扱えます。

AccessのテーブルデータをDAOでエクセルに出力するサンプルコードは、
ちょっと古いですが、下記にあります。

access技メモ(2003-2007)詳細

こちらのコードでは、OpenRecordset でテーブルを開いていますが、SQLで開くこともできますので、

Set rs = db.OpenRecordset("SELECT * FROM テーブル名 Where " & Me.Filter & ";")

とすればフォームと同じレコードセットを取得できます。

エクセルはCopyFromRecordsetというレコードセットのデータを直接シート状に出力するメソッドがありますので、
それを利用して貼り付けます。

通報 ...