アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。

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

例)"ああああ","A10000",100
        ↓
  "ああああ","A10000","100" ← ここ

A 回答 (3件)

こんにちは。

maruru01です。

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

エクセル(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)も多いとおもうが。
    • good
    • 0

(蛇足っぽいですが)


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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!