電子書籍の厳選無料作品が豊富!

アクセス教えてください。
あるフォルダにあるエクセルデータをマクロなどで自動にインポートしたいです。
フォルダの中のエクセルが複数あるとき、
それらを自動にインポートしたいですがどうしたらやいですか?
※日によってデータ数が違うので、1件のときもあれば5件のときもあります。
※最大で5件までとします

よろしくお願いします

質問者からの補足コメント

  • 初心者なので詳しく教えて欲しいです。

      補足日時:2021/07/07 22:44

A 回答 (1件)

>フォルダの中のエクセルが複数あるとき


Dir関数で得てください。
https://www.moug.net/tech/exvba/0100048.html

上記リンク先の、Do ~ Loop 中で
docmd.TransferSpreadsheet acImport,acSpreadsheetTypeExcel12,"テストテーブル名","ここにDir関数で得られたファイルのフルパス",true,"sheet1$"

のようにしてインポートすればよろしいでしょう。
DoCmd.TransferSpreadsheetメソッドでExcelシートのデータをAccessデータベースに取り込み
https://www.atmarkit.co.jp/ait/articles/1510/02/ …

※~t,acSpreadsheetTypeExcel12,"テ~ のシートタイプは省略しても大丈夫っぽいので
~t,,"テ~
でも。
※"sheet1$"でシートを指定していますが省略すればSheet1(一番左のシート)になります。
※インポートするテーブルは予め作成しておくこと。
作成しない場合にはインポートの際にAccessがフィールドのデータ型を自動判別
してくれますが、思わぬ結果になることもあります。
手作業でテーブルをデザインするか、リボンの[外部データ]→[Excel]で進めてゆくと
ウィザードの途中でデータ型を指定できますので、こちらの方が便利かな。
具体的なコードはご自身で考えてね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!