• 締切済み

ダブルコーテーション付きでCSV出力

ACCESSでcsvを出力するように作りたいと思っています。 フォームで画面を設けボタンを押すとテーブルのデータをcsvとして出す仕組みです。 ボタン押下で以下のメソッドがよばれてcsvが出力されるようにしました。 DoCmd.TransferText acExportDelim, "Q_基本情報 エクスポート定義", "Q_基本情報CSV", scsvfileNm, True csvは出力されたのですが、テーブルカラムがnullの場合、以下のように出力されてしまいます。 ^^^^部分が"(ダブルコーテーション)が付きません。 "2",,"会社",,,,"0" ^^^^ ^^^^^^ 以下のようにnullでも""が付いて出されるようにしたいのですが、 TransferTextメソッドでは無理なのでしょうか "2","","会社","","","","0" どなたか詳しい方教えてください。お願い致します OS、アクセスのバージョンは以下のようになっています。 OS:windowsXP ACCESS2003

みんなの回答

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.4

手元に試す環境が無いんですが。 Nullになる可能性がある列をすべてNZ関数でくくるとどうなります? select nz(列1), nz(列2) from Table のように。

  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.3

nullでなくて、ブランクに書き換えても良いというのであれば、 UPDATE Table1 SET Table1.Field1 = "" WHERE Table1.Field1 Is Null のようなクエリを(すべてのフィールドに対して)作って、実行するとか。

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

全てにダブルコーテーションを付けたいということでしょうか? 地道にレコードセットを回してファイルに書き込むしか手は無いのでは?

  • layy
  • ベストアンサー率23% (292/1222)
回答No.1

「"」「,」を1項目と見なせば  クエリを使って直前に編集することができ、 区切り記号なし、としてエクスポートする。 面倒ですが・・・。 「","」項目 +項目「"会社"」 +「","」項目 ・・・・ TransferTextを使わないでVBAでテーブルからcsvファイルを生成する、 と「"」を必要に応じて付与することができます。 どちらかですが、 事前にnullにさせない方を考える方が早いと思います。

関連するQ&A