• ベストアンサー

CSVファイルの出力

こんにちは。 ただいまアクセスで商品の検索プログラムを作っていまして、入力した商品名に一致する商品コードと商品名をテーブルから抽出し、CSVファイルに出力したいのですが、どういった方法で出力すればいいのでしょうか?

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

  • ベストアンサー
回答No.5

ダイアログを開く前に下記の命令を入れてみてください。 '現在のフォルダを変更 ChDir "C:\XXX"'(設定したいフォルダのパス)

その他の回答 (4)

回答No.4

エクセルでは標準でGetSaveAsFilenameメソッドがあるのですが、 Accessで作っておられるのを忘れていました・・ Accessで使用するにはエクセルの参照設定を追加する必要があります。 (実行環境にExcelが入ってないと使えません) 参考URLを見たら詳しく書いてあります。

参考URL:
http://www.nurs.or.jp/~ppoy/access/access/acM021.html
taka20
質問者

お礼

返事が遅くなりまして大変申し訳ございません。 うまくいきました。ありがとうございました。

taka20
質問者

補足

すいませんもう1つだけお願いします。 名前を付けて保存のダイアログボックスを開くときに 最初に指定したフォルダを開く方法を教えてください。お願いします><

回答No.3

ソースに以下を貼り付けて実行してみてください。 sFile = "ABC.csv" sFillter = "テキストファイル (*.csv), *.csv" sTitle = "ダイアログ タイトル" fname = Application.GetSaveAsFilename(sFile, sFillter, , sTitle ) MsgBox fname 「VBA ファイルを開く ダイアログ」 等のキーワードで検索したらかなりの情報がヒットしますよ。

taka20
質問者

補足

.GetSaveAsFilename でデータメンバが 見つかりませんとエラーがでます。

回答No.2

#1です。 「CSV出力]ボタンのクリックイベントで ダイアログボックスから戻り値(指定されたパス)を取得してから、 Set DB = CurrentDb Set RS = DB.OpenRecordset("SELECT 商品コード, 商品名 FROM 商品マスタ", DB_OPEN_DYNASET) fn = FreeFile Open [ダイアログで指定されたパス(~\~.csv)] for Output As #fn Do Until RS.EOF   Write #fn, RS("商品コード"),RS("商品名")   RS.MoveNext Loop RS.Close のような形ではどうでしょう。

taka20
質問者

補足

何度も申し訳ございません。 ダイアログボックスから戻り値(指定されたパス) を取得する方法がわかりません。 お願いします。

回答No.1

商品コードと商品名の選択クエリーを作成し、 そのクエリーをCSV形式でエクスポートする。というのはいかがでしょうか?

taka20
質問者

補足

回答ありがとうございます。 少し説明漏れがあったようです。 CSV出力というコマンドボタンをクリックしたときに ポップアップのファイル名の保存という ダイアログボックスがでてそこからCSVファイルを保存 という具合に処理を進めたいのです。 お教えいただけますでしょうか?

関連するQ&A