• ベストアンサー

ACCESS でインポートファイル名とエキスポートファイル名を変数にしたい

ACCESSで ファイルインポート-->データ加工-->ファイルエキスポート-->インポートしたデータテーブルを削除 という処理を行っています。 ファイル名が担当者毎に違うので担当者分(20人分)ファイル名を変えてACCESSを作成しています。 なので、仕様変更があると20コのACCESSを変更しなければいけません。ファイル名を変数にすればACCESSは1つで良いのではと考えたのですが、その方法がわかりません。どうか教えて下さい。 ACCESS 2002 例 担当者Aならインポートファイル名 INFILE.A.TXT エキスポートファイル名 OUTFILE.A.TXT  担当者Bならインポートファイル名 INFILE.B.TXT  エキスポートファイル名 OUTFILE.B.TXT   データ加工(処理)の内容は同じです。 どうぞよろしくお願いします。  

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.4

営業所・担当者名のテーブルを作成し 営業所単位(あるいは全ての営業所)のレコードセットを開き Dir関数でファイルの存在を確認しつつ (dir "infile_" & rs!担当者名 & ".txt") その処理を行う 終わったらファイルを別のフォルダなどに退避 レコードセットの終了までLoop とか? あるいは・・ /cmd コマンドラインオプションと、Command関数の組み合わせも 検討されてみては?

mitmat
質問者

お礼

ありがとうございました。 /cmd コマンドラインオプションと、Command関数というのがあるんですね。 これからやりたいことの幅が広がりました。大変勉強になりました。

その他の回答 (3)

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.3

Windows 2000 XP であれば environ("username") でログオン名が取得できますので "infile_" & environ("username") & ".txt" とか

mitmat
質問者

補足

早速の回答ありがとうございます。 説明が中途半端で申し訳ありません。 今回の処理は 汎用コンピュータでデータ抽出-->データをファイル転送-->ACCESSでブラウザ用のファイル出力 という流れを全て自動で行っています。 (1)営業所で端末を使って本社にあるデータを抽出 (2)本社のコンピュータで上記の処理をしてブラウザを出力 (3)営業所でブラウザを使って抽出されたデータを見る ACCESSは自動起動で自動終了になっていて 実行するパソコンは一台ですのでログオン名は一つです。(個人のパソコンでACCESSを使うのではないのです) 上記の答えをヒントにしたいと思います。ありがとうございました。

  • shut0325
  • ベストアンサー率40% (490/1207)
回答No.2

インポート(エクスポート)するデータはテキストデータ(.TXT)ですか? そうだとするとエクスポートしたファイルを別のACCESSでインポートして使用すると言うことなのでしょうか? 出来上がったデータの中身は担当者ごとに異なるものなのですか? ファイル名云々より、根本的に構造を考え直して一元管理にしたほうが良いようにおもうのですが、、

mitmat
質問者

補足

早速の回答ありがとうございます。 説明が中途半端で申し訳ありません。 今回の処理は 汎用コンピュータでデータ抽出-->データをファイル転送-->ACCESSでブラウザ用のファイル出力 という流れを全て自動で行っています。 (1)営業所で端末を使って本社にあるデータを抽出 (2)本社のコンピュータで上記の処理をしてブラウザを出力 (3)営業所でブラウザを使って抽出されたデータを見る インポートするデータはテキストデータ(.TXT)です。 エクスポートするデータはHTML(.HTML)です。 出来上がったデータの中身は担当者ごとに異なります。抽出条件によって違います。 営業所と本社はLAN-WAN-LANでつながっていて、営業所からはACCESSをアクセスできず、ブラウザを見ることしかできないのです。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

VBAで設定してもいいのですが、単純なマクロでの設定方法です。 まずフォームを作り、担当者名を入力するテキストボックスを作成して保存 マクロで 「テキスト変換」「区切り記号付きインポート」を選択して テーブル名「XXXXXX」 ファイル名「"C:\...\INFILE."&[Form].[テキストボックス名]&".TXT"」 でインポート用マクロ 「テキスト変換」「区切り記号付きエクスポート」を選択して テーブル名「XXXXXX」 ファイル名「"C:\...\OUTFILE."&[Form].[テキストボックス名]&".TXT"」 オブジェクトの削除 オブジェクトの種類「テーブル」 オブジェクト名「XXXXXX」 でエクスポート用マクロを作成して、先のフォームにコマンドボタンでマクロの実行でそれぞれのマクロを登録する。 ※ファイルの絶対パスが必要ですが、共通の場所にフォルダを作るか 絶対パスもテキストボックスで参照するように設定してください。

mitmat
質問者

補足

早速の回答ありがとうございます。 説明が中途半端で申し訳ありません。 今回の処理は 汎用コンピュータでデータ抽出-->データをファイル転送-->ACCESSでブラウザ用のファイル出力 という流れを全て自動で行っています。 (1)営業所で端末を使って本社にあるデータを抽出 (2)本社のコンピュータで上記の処理をしてブラウザを出力 (3)営業所でブラウザを使って抽出されたデータを見る ACCESSは自動起動で自動終了になっていて フォームに担当者名を入力することができません。 ACCESSは本社のサーバーにあり営業所からはアクセスできません。 上記の答えをヒントにしたいと思います。ありがとうございました。

関連するQ&A

専門家に質問してみよう