- ベストアンサー
ACCESSでリンクテーブルのデータを自動取り込みしたい
業務データの処理について、お教え願えればとご質問致します。 ACCESS2000でエクセルにリンクテーブルを設定しており、月に一度 エクセルのデータが更新されています。 手動作業で、このリンクテーブルの「すべてのレコード」を選択した後 ACCESSのテーブルに貼り付けて引き続く作業をしています。 複写するリンクテーブルの数が多いので マクロかVBAで自動的に取り込みたいのですが、 どうも良い方法が分かりません。 よい方法をご存知の方、居られましたらご教授下さい。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Accessは詳しくありませんが、、、 Excelファイルへのリンクテーブルがあり、これをコピーしてAccessのテーブルに追加貼り付けしているって事でしょうか? 追加クエリをそれぞれ作って、マクロで順番に流したら如何でしょうか?
その他の回答 (1)
- kosamon
- ベストアンサー率47% (11/23)
元ファイルであるエクセルのバージョンが不明な事と、その更新されるファイル名が毎回同一であるという前提で。 DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, "test", "F:\test.xls", -1 こんな感じでしょうか。 テーブル名やパスはそちらの環境に合わせて、適宜変更してください。 なお、パスはネットワーク環境の他のPCを参照すると言う事であれば、 若干異なります。 また、不毛なやり取りを防ぐためにも「情報は」小出しにせず、始めの段階できちんと提示しておく事が非常に大切です。
お礼
kosamonさま、ありがとうございます。 エクセル2000で、更新されるファイル名は毎回同一です。 ご回答の方法で、リンクテーブルが作成されることを確認しました。 問題はその後の処理方法で、リンクテーブルは、ACCESSからデータ構造を変更できないようなので、困っておりましたが、Ano.1の方のご意見も参考に、SQLで処理することが出来ました。 VBAでの処理方法も分かれば、またTryしてみたいと思います。
お礼
papayuka さま、お世話になります。 Insert into [検査A01-1](検査date, ID, 検査名) Select リンクファイル.F1, F2, F5 from リンクファイル とし、マクロで実行して処理することが出来ました。 お手数をお掛けしました。