- ベストアンサー
ACCESSのテーブルをCSVファイルに
こんにちは。 ACCESSテーブル内のフィールド値をカンマ付きのテキストファイルまたは CSVファイルで出力したいのですがなにか良い方法はないのでしょうか? ちなみにDoCmd.TransferTextだのDoCmd.OutputToを試してみたので すが、うまくいきませんでした。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
参照に記入しましたが、最近、同様の質問がありました。まぁ、なかなか検索も難しいですか・・・ DoCmd.TransferTextで、出来るハズなのですが??? とりあえず、マクロ全体を記入してみました。 テーブル名称/テキストファイルフルパスは、 環境に合わせて変更してください。 これで、出来ないとなると、私では、降参です(^^ゞ Sub テキストファイル作成() Dim 定義名 As String Dim テーブル名称 As String Dim テキストファイルフルパス As String Dim 列見出し有無 As Boolean 定義名 = "" テーブル名称 = "テーブル1" テキストファイルフルパス = "c:\テーブル1.txt" 列見出し有無 = True DoCmd.TransferText acExportDelim, 定義名, テーブル名称, テキストファイルフルパス, 列見出し有無 End Sub ※文字列フィールド1つだけ書き出したいなら、 そのフィールドだけのクエリを作って、 それをテキストファイルに書き出した方がよろしいかと。 テーブル名称に、クエリの名称をセットすればOK。
その他の回答 (2)
- sydneyh
- ベストアンサー率34% (664/1947)
あ、そうそう↓下の補足ですが、「外部ファイルまたはデータベース」を選択後ファイルの保存をしますが、その時に「ファイルの種類」を選択しますよね。それを「テキストファイル(*.txt,*csv,*.tab,*.asc)」にするんです。 どうでしょうか。
お礼
回答くださってありがとうございます。 できればVBAコードで処理させたいのです。 あるボタン(イベント)を押すとCSVファイルがあるフォルダ内に 出力される、という風に。
補足
実のところ、テーブル内の1つの文字列フィールドをカンマを つけて連結している変数(の値)を、xxx.txtという風に出力す るのが理想なんです。 でも、それってAccessでは無理なのだと思い、一旦ワークファイルに 書き出してそれを出力する、という事にしたわけです。
- sydneyh
- ベストアンサー率34% (664/1947)
普通にメニューバー「ファイル」→「名前を付けて保存/エクスポート」→「外部ファイルまたはデータベース」で出来ませんか? あとは、ダイアログボックスの指示のとおりにカンマ付きにするか、フィールド名を最初にもってくるか指定していくだけなんですけど。
お礼
ありがとうございました。 あれから自分でも色々とやってみた結果、教えてくださった やりかたでできました。 >※文字列フィールド1つだけ書き出したいなら、 >そのフィールドだけのクエリを作って、 >それをテキストファイルに書き出した方がよろしいかと。 >テーブル名称に、クエリの名称をセットすればOK。 トライしてみます。 ほんとにありがとう、でした。