• ベストアンサー

Access2000でのCSV出力(エクスポート)

お世話になります。 Access2000を利用して、あるテーブルデータをCSVファイルとしてエクスポートしようとしています。 そのときに、すべての要素を「"」(ダブルコーテーション)で囲み(「,」カンマで区切り)たいのですが、 データ型が文字型のときは設定で上手く囲めるものの、数値型では値がそのまま出力されてしまいます。 数値型のフィールドもダブルコーテーションで囲む方法はありませんでしょうか? よろしくお願いいたします。 例)"ああああ","A10000",100         ↓   "ああああ","A10000","100" ← ここ

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 テーブルをデータごとコピーします。 そのコピーしたテーブルのフィールドのデータ型を全て文字列にして、このテーブルをエクスポートしたらどうでしょうか? ただし、フィールドのデータ型を変更する際にデータが一部失われるかも知れませんので注意して下さい。 (数値型→テキスト型だからまず大丈夫でしょうが)

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

エクセル(2000以上)やアクセスVBAが使えるなら Sub test02() Open "c:\my documents\a13.csv" For Input As #1 Open "c:\my documents\a14.csv" For Output As #2 p01: t = "" If EOF(1) Then GoTo e01 Line Input #1, s ss = Split(s, ",") For i = 0 To 4 '5項目(フィールド)の場合 If IsNumeric(ss(i)) Then t = t & "," & Chr(34) & Trim(Str(ss(i))) & Chr(34) & "," Else t = t & ss(i) End If Next i If Right(t, 1) = Chr(34) Then t = Mid(t, 2, Len(t) - 1) Else t = Mid(t, 2, Len(t) - 2) End If Print #2, t GoTo p01 e01: Close #1 Close #2 End Sub を実行すると修正できます。 ファイル名と項目数を(5項目としてますが)かえれば 実際のケースに対応できます。 ---- (1)”なし (2)数値は”なし、文字列は”で囲む (3)数値も、文字列も”で囲む(本件ケース) のうち(3)は主流ではなくめづらしい。(1)も多いとおもうが。

回答No.2

(蛇足っぽいですが) 普通にクエリを作成して数値フィールドについてCStr([フィールド名])で文字型にしてそれをエクスポートすればいいような気がします。