• ベストアンサー

ACCESSでリンクテーブルのデータを自動取り込みしたい

業務データの処理について、お教え願えればとご質問致します。 ACCESS2000でエクセルにリンクテーブルを設定しており、月に一度 エクセルのデータが更新されています。 手動作業で、このリンクテーブルの「すべてのレコード」を選択した後 ACCESSのテーブルに貼り付けて引き続く作業をしています。 複写するリンクテーブルの数が多いので マクロかVBAで自動的に取り込みたいのですが、  どうも良い方法が分かりません。 よい方法をご存知の方、居られましたらご教授下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

Accessは詳しくありませんが、、、 Excelファイルへのリンクテーブルがあり、これをコピーしてAccessのテーブルに追加貼り付けしているって事でしょうか? 追加クエリをそれぞれ作って、マクロで順番に流したら如何でしょうか?

junkun2jp
質問者

お礼

papayuka さま、お世話になります。   Insert into [検査A01-1](検査date, ID, 検査名)    Select リンクファイル.F1, F2, F5 from リンクファイル とし、マクロで実行して処理することが出来ました。 お手数をお掛けしました。

その他の回答 (1)

  • kosamon
  • ベストアンサー率47% (11/23)
回答No.2

元ファイルであるエクセルのバージョンが不明な事と、その更新されるファイル名が毎回同一であるという前提で。 DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, "test", "F:\test.xls", -1 こんな感じでしょうか。 テーブル名やパスはそちらの環境に合わせて、適宜変更してください。 なお、パスはネットワーク環境の他のPCを参照すると言う事であれば、 若干異なります。 また、不毛なやり取りを防ぐためにも「情報は」小出しにせず、始めの段階できちんと提示しておく事が非常に大切です。

junkun2jp
質問者

お礼

kosamonさま、ありがとうございます。 エクセル2000で、更新されるファイル名は毎回同一です。 ご回答の方法で、リンクテーブルが作成されることを確認しました。 問題はその後の処理方法で、リンクテーブルは、ACCESSからデータ構造を変更できないようなので、困っておりましたが、Ano.1の方のご意見も参考に、SQLで処理することが出来ました。 VBAでの処理方法も分かれば、またTryしてみたいと思います。