hatena
hatena
2024/05/09 (木) 14:18:01
DoCmd.TransferSpreadsheet というのはAccessの機能、
リボンメニューのエクスポートあるいは右クリックのエクスポートの機能を、VBAから実行しています。
SQLというのは、テーブルデータの抽出、集計、並べ替え、更新・・・・・などのデータ操作をするためのデータベース用言語、
それを視覚的に扱えるようにしたのがAccessのクエリ。SQLビューにすればSQLコードをみることができます。
DAOというのは、データベースのデータ操作を、VBAなどのプログラミング言語から操作できるようにしたライブラリー。
Accessのテーブルだけでなく、他のデータベースのデータや、CSVやエクセルのデータもデータベースとして扱えます。
AccessのテーブルデータをDAOでエクセルに出力するサンプルコードは、
ちょっと古いですが、下記にあります。
こちらのコードでは、OpenRecordset でテーブルを開いていますが、SQLで開くこともできますので、
Set rs = db.OpenRecordset("SELECT * FROM テーブル名 Where " & Me.Filter & ";")
とすればフォームと同じレコードセットを取得できます。
エクセルはCopyFromRecordsetというレコードセットのデータを直接シート状に出力するメソッドがありますので、
それを利用して貼り付けます。
通報 ...