意外となんとかなる日記

世迷言を心に、綺麗事を頭に

スポンサーリンク

Accessのテーブルに格納してあるExcelファイルを取り出す方法

 客先に提出するために集計した表だけでなく、表紙とともに集計表を合わせて提出することがあるかと思います。

 また、たいていの先方はExcelファイル形式を欲していると思われます。
 ということで備忘録を兼ねて遺しておきたいと思います。



 Accessに格納しているExcelファイルを、指定したディレクトリに書き出すというものです。


 テーブル側
 「ファイル1」(適当)という項目を「添付ファイル」で項目を作成し、適当なExcelファイルを格納しておく。

 Databaseにvbaモジュールを作成し

    Dim db As DAO.Database
    Dim rs1 As DAO.Recordset
    Dim rs2 As DAO.Recordset2
    
    Set db = CurrentDb
    Set rs1 = db.OpenRecordset("SELECT ファイル名 FROM テーブル1")
    Set rs2 = rs1.Fields(0).Value
    Do Until rs2.EOF
        rs2.Fields("FileData").SaveToFile "C:\Access\"
        rs2.MoveNext
    Loop
    rs2.Close
    rs1.Close
    db.Close
    Set rs2 = Nothing
    Set rs1 = Nothing

 です。

 少し内容をかいつまむと、添付ファイルフィールドをさらにレコードセットrs2でアクセスしています。

 フィールド項目に対してレコードセットを定義するのは変な感覚ですが、
 これによってデータが取得できるようになります。
 「FileData」は決め打ちですのでそのまま記述してください。

スポンサーリンク