※ ChatGPTを利用し、要約された質問です(原文:Access csvの取込 ファイルは任意でテーブルは指定したいのですが?)
Accessでcsvの取込を任意のテーブルにしたい
このQ&Aのポイント
Access初心者ですが、csvの取込を任意のテーブルに指定したいです。
現在は「テキスト変換」マクロを使用して取り込んでいますが、固定パスではなく任意に指定できるようにしたいです。
インポートウイザードを避けるために、マクロやVBAで任意のファイルを指定する方法を知りたいです。
Access csvの取込 ファイルは任意でテーブルは指定したいのですが?
Access初心者です。2003を使用しています。
csvをマクロの「テキスト変換」で取り込ませています。取り込み時に定義どおりのテーブルを作成してくれるので、追加クエリを使い作業用テーブルに移動させ、処理にはそちらを使う仕組みにしています。
csv → データ用テーブル → 作業用テーブル(実際使うテーブル)
csv取り込みには「テキスト変換」マクロでファイル名にパスを設定していますが、この部分を固定パスではなく任意に指定できるようにしたいのです。(取り込みたいcsvが決まったパス、ファイル名で無い場合があります。)
「コマンドの実行:インポート」ですとダイアログが出て任意に取込ファイルが指定できますが、インポートウィザードが起動してしまいます。使用者がウイザードで適切な定義を選びデータ用テーブルを作成してくれればいいのですが、私がツールを作りPCに詳しくない人が使うのでインポートウイザードを避けたいと考えます。
どなたか、マクロ「テキスト変換」でファイル名をダイアログなどで、任意に指定できるような手法をご存じないでしょうか?
また、マクロでは無理なようでしたらVBAでしたら可能でしょうか?
よろしくお願いします。
お礼
ありがとう御座います。 VBAをはじめて使いましたが、思ったとおりの動きができました! 質問させていただくまでの作りは、 前回取り込んだデータ用テーブルを消すマクロ csvを取り込む「テキスト変換」マクロ 作業用テーブルを空にしてデータ用テーブルからデータを追加するマクロ と、言うようにマクロを分けて作っていっせいに処理させていました。この、マクロを全てVBAに変換し1モジュールに統合後、御享受頂いたサンプルを差し込んで各ファイル種類とテーブル名を修正したところ、まさに理想どおりに動きます!! ※ダイアログ展開→パス取得→インポート側へ渡す、この流れを理解するまで時間がかかりましたがサンプルとヘルプを見ながら出来ました。本当にありがとう御座います。 Accessの手引き書等のおまけでVBA関連の資料が載っていて興味はあったんですが、VBAは私には敷居が高いなと思っていました。今回の件でもっと勉強したくなりました。(今回は使ったといえるレベルではないのでしょうけど・・・。) 大変助かりました。たびたび不躾ですが今後もよろしくお願いします。