- ベストアンサー
AccessでCSVの読み込み履歴を残したいです
- Excel・Accessで時々CSVやタブ区切りファイルからデータを取り込んでいます。
- ExcelではCSVファイルを取り込むとメニューの[ファイル(F)]のオープン履歴に残りますが、AccessでCSVファイルを読み込んだ履歴を残せるような設定等はありませんでしょうか?
- いつもAccessでは[ファイル(F)]-[外部データの取り込み(G)]-[インポート(I)...]からCSVファイルのデータを読み込んでいます。使えるOfficeのバージョンは 97~2003 のいずれかです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> AccessでCSVファイルを読み込んだ履歴を残せるような設定等は > ありませんでしょうか? 残念ながら、Accessにはその機能はありません。 Access2007で、「インポート操作を記録する機能」はつきましたが、 これもあくまで「同じファイルを再度インポートする際の自動化用」で、 履歴の記録までは対応していません。 (誤解を恐れずに言うなら、「インポートに限定した、Access版 『新しいマクロの記録』」といったところ) ただ、Accessの組込機能としてはありませんが、インポート用の フォームを自作し、その履歴を記録するテーブルや追加/更新 用クエリを起動するマクロ/VBAを記述すれば、対応は可能と 思います。 (実行確認のMsgBoxでOkを選択したら、Now関数とEnviron関数で 実行開始日時と実行者を記録、インポート対象ファイルの指定には FileDialogオブジェクトを使用するなどしてファイルパスを取得の上、 DoCmd.TransferTextでインポートを行い、インポートが終了したら 実行終了日時を記録、といった感じ) ※Environ関数の引数に「"UserName"」を指定すれば使用者名が、 「"ComputerName"」を指定すればコンピュータ名が、それぞれ 取得できます。 ※以前はWindows API関数で取得していたのですが、nicotinismさんの 以前の回答でEnviron関数を知りました。 この場を借りてお礼申し上げます。 http://okwave.jp/qa/q2833483.html?order=DESC&by=datetime
その他の回答 (1)
- hatena1989
- ベストアンサー率87% (378/433)
そのような機能はないですね。 マクロかVBAで、コマンドボタンクリック時などのイベントで、 インポートする。 ファイル名を履歴テーブルに書き込む。 という処理を実行させるようにすることになると思います。
お礼
回答ありがとうございます。 インポートへの入り口を自分で用意して、それを使うしかないようですね。 インポートのダイアログに「履歴」が出てるくせに登録されずがっかりです。
お礼
+αの情報までありがとうございました。 お察しのとおり、「インポート手順の保存」は目的の機能とちょっと違います。 それくらい手軽にできてほしかったんですがねえ。 VBAかマクロで対応することにします。