【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード

エクセルにある複数のファイルをアクセスへインポートしようとしています。エクセルには数百のシートが存在し、アクセス上で個々のテーブルにインポートしたいと考えています。一つ一つやればいいのですが、マクロなどを使って、自動的にインポートする方法はないのでしょうか?何卒よろしくお願いいたします。

A 回答 (3件)

>複数のファイルをアクセスへインポート


>エクセルには数百のシートが存在し、アクセス上で個々のテーブルにインポートしたい
>自動的にインポートする方法はないのでしょうか
あいまいな数ですが・・・
回答としては指定されたシートを指定したテーブルにインポートするのはマクロでもSQLでも出来ます。
Access側でマクロを使った方が簡単だと思います。
マクロにワークシート変換がありますのでインポートを選びインポート先のテーブル名とインポート元のファイルのパスとファイル名を指定すれば出来ます。
SQLでINSERTやUPDATEも出来ます。
VBではTransferSpreadsheetを使えば出来ます。
    • good
    • 0

エクセルのシートごとにインポートしたいのでしょうか?



アクセスのVBAでインポートするならTransferSpreadsheetメソッドを使用すればできます。
例)
DoCmd.TransferSpreadsheet acImport, 8, "T_TEST", "C:\user\test.xls", False, "AAA"

C:\user\test.xlsというエクセルBookファイルの中でAAAシートからインポートしてT_TESTテーブルを作成することになります。エクセルシートの1行目を項目名としたい場合はFalseとなっているところをTrueにしてください。
後はエクセルのシート名をどのようにするかでプログラムは変わってくるでしょう。シート名が数字を含んでいて、順番がつけられるのならカウンターでシート名を変更してループさせればいいですし、個別の名称がついているのならシート名テーブルを別に作り、そのレコードを移動させながらループさせればよいでしょう。
それ以外にも注意する点はいろいろ考えられると思いますが、ご自身で思いつかなければ、これ以上の回答は有償にて専門家に求められた方がよいでしょう。
    • good
    • 0

参考になりますか?


http://oshiete1.goo.ne.jp/kotaeru.php3?q=2173253
"testTable"を何とかすれば何とかなるかも?
    • good
    • 0

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