- ベストアンサー
アクセステーブルインポートの自動化方法について
- アクセスを理解していない方向けに、テキストファイルからのテーブルインポートを自動化する方法を教えてください
- テキストファイルを特定フォルダ内で選択し、マクロを使用してテーブルインポートする方法について教えてください
- テキストファイル内の50個のフィールドまでをインポートし、テーブルも追加・新規作成する方法について教えてください
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> ・テキストファイルは、DBと同一フォルダ内の特定フォルダ内に、日次 > で追加新規作成され、ファイル名は西暦8桁と末尾にアルファベット一 > 文字 > ・スペース区切りで値はすべて文字列 > ・可能ならば、毎回、フィールド数100の内、前半50のみをインポートしたい > ・テーブルもインポートの都度、追加新規作成 > また、上記のテーブルからクエリで特定のフィールドを抽出するのですが、 > 対象となるテーブルを名称で選択して行う場合、一般的にはどのようにす > るのでしょうか? 実際にはどのように使っているのでしょうか? 毎回、新規でテーブルを追加するのであれば、クエリも毎回変更する 必要が出てきます。 そこも自動化するのなら、VBAが必須になりますね。 #インポートするファイル名を選択したいのならば、その時点でVBAが 必要にはなりますけど ^^; このデータを使って、様々な作業をするのならインポートが必要でしょうけど、 クエリでデータを抽出して、レポートを作るぐらいであれば、リンクテーブルを 使うとか、テキストファイルそのものを、クエリのソースとするとかでも いいような気がします。 それについては、 外部テキストファイルとの接続方法 http://www.f3.dion.ne.jp/~element/msaccess/AcTipsGnrlHowToAttachExternalText.html こちらが参考になると思います。
その他の回答 (1)
- Gin_F
- ベストアンサー率63% (286/453)
> 毎回インポートするファイル名も違います。 > ファイル名とテーブル名は同一なので、 うん? ファイル名も、テーブル名も変わるんですよね? > フォームを使って入力した値が変数となるようなイメージを持つのですが、実際、 > クエリやマクロとの関係について、見当がつきません。 フォームで、ファイル名・テーブル名を指定するのであれば、マクロでも 可能かもしれません。 マクロの、テキスト変換アクションで、ファイル名・テーブル名の各引数に =Forms!フォーム名!テキストボックス名 のように指定してみてください。 (マクロは普段使わないので、違っているかも ^^;) > VBAが必須であろうとは思いますが、エクセルで少々の経験があるのみで > ほとんどわかっていません。 変数の使用や、エラー対策などを考えると、少しずつVBAに慣れていったほうが いいと思います。 のちのちの運用面なんかを考えても、マクロよりはVBAの方がコードの検索が 使えるのでやりやすいですし。 ちなみに、VBAだと TransferText メソッドになります。 一度、ヘルプで構文等を確認してみてください。
お礼
ありがとうございます。挑戦してみます。 >> ファイル名とテーブル名は同一 20060701.txt -(インポート)→ 20060701 20060705.txt -(インポート)→ 20060705 のようになるので、同日の作業としては、テーブルインポートとクエリの 実行に、フォーム入力から得られた値を両方に使えるのかという短絡な発 想です。説明下手ですいません。
お礼
さっそくのご回答ありがとうございます。そのとおりなのです。 他作業の都合により、毎回新規でテーブルを追加しなければなりません。毎回インポートするファイル名も違います。 VBAが必須であろうとは思いますが、エクセルで少々の経験があるのみでほとんどわかっていません。 ファイル名とテーブル名は同一なので、フォームを使って入力した値が変数となるようなイメージを持つのですが、実際、 クエリやマクロとの関係について、見当がつきません。 お手数ですが、そのあたりを教えていただければ幸いです。