- ベストアンサー
エクセルからアクセスへのインポートについて
エクセルにある複数のファイルをアクセスへインポートしようとしています。エクセルには数百のシートが存在し、アクセス上で個々のテーブルにインポートしたいと考えています。一つ一つやればいいのですが、マクロなどを使って、自動的にインポートする方法はないのでしょうか?何卒よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>複数のファイルをアクセスへインポート >エクセルには数百のシートが存在し、アクセス上で個々のテーブルにインポートしたい >自動的にインポートする方法はないのでしょうか あいまいな数ですが・・・ 回答としては指定されたシートを指定したテーブルにインポートするのはマクロでもSQLでも出来ます。 Access側でマクロを使った方が簡単だと思います。 マクロにワークシート変換がありますのでインポートを選びインポート先のテーブル名とインポート元のファイルのパスとファイル名を指定すれば出来ます。 SQLでINSERTやUPDATEも出来ます。 VBではTransferSpreadsheetを使えば出来ます。
その他の回答 (2)
- nicotinism
- ベストアンサー率70% (1019/1452)
参考になりますか? http://oshiete1.goo.ne.jp/kotaeru.php3?q=2173253 "testTable"を何とかすれば何とかなるかも?
- gatt_mk
- ベストアンサー率29% (356/1220)
エクセルのシートごとにインポートしたいのでしょうか? アクセスの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にしてください。 後はエクセルのシート名をどのようにするかでプログラムは変わってくるでしょう。シート名が数字を含んでいて、順番がつけられるのならカウンターでシート名を変更してループさせればいいですし、個別の名称がついているのならシート名テーブルを別に作り、そのレコードを移動させながらループさせればよいでしょう。 それ以外にも注意する点はいろいろ考えられると思いますが、ご自身で思いつかなければ、これ以上の回答は有償にて専門家に求められた方がよいでしょう。