• ベストアンサー

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

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

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

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

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

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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([フィールド名])で文字型にしてそれをエクスポートすればいいような気がします。

関連するQ&A

  • エクセルのカンマ区切りのCSV出力

    エクセルのカンマ区切りのCSV出力について質問します。 CSVファイルとしてカンマ区切りで出力したいのですが、さらに各項目にダブルコーテーション(")をつけて出力したいのです。 例) 通常のCSV 01,02,03 やりたいCSV出力 "01","02","03" ご存知の方がいらっしゃいましたら回答お願いします。

  • csvへエクスポート

    こんばんは、質問です。 ACCESS2000でTransferTextを使って 全てテキスト型のテーブルデータを カンマ区切り、引用符「"」で吐き出したいのですが、 値のないフィールドは「"」をつけてくれません。 値のないフィールドも「"」をつける方法をご存知の方 教えて下さい。 よろしくお願いします。

  • ACCESS2000でマクロでCSVエクスポート

    ACCESS2000でマクロでCSVでエクスポートしたいのですが、テキスト文字がダブルコーテーションで囲まれてしまいます。このダブルコーテーションを使用せずに、マクロでエクスポートしたいのですが、ウイザードを使わないとできないのでしょうか。 宜しくお願いいたします。

  • Accessのcsvエクスポートに関して

    Accessでのcsvエクスポートに関して、ご教授頂けましたら幸いです。 テーブルを基にした帳票形式のフォームがあります。チェックボックスにフラグが付い たデータのみcsvでエクスポートし、かつ、保存するファイル名をフィールドに値を使用 したいのですが、このような処理は可能でしょうか。 フォーム表示例: 商品コード 数量 チェックボックス A     10  チェックあり B     10  チェックなし この時、チェックありの商品コードAの情報のみをcsvでエクスポートし、かつ、ファイル名を「A.csv」としたい。あわせて、商品Bが対象となった場合は「B.csv」としたい。 お手数ですが、宜しくお願い致します。

  • ■Access エクスポート時に文字数を指定してCSV出力

    ■Access エクスポート時に文字数を指定してCSV出力 Accessのテーブルをエクスポート時に文字数を指定して、更に文字列の後ろのスペースを含めてCSV形式で出力させたいのですが可能ですか? CSVですので区切り文字は「,」(カンマ)で、全てのフィールドに対して「"」(ダブルクォート)で括りたいのです。 出力結果は下記のイメージになります。 ・1つ目のフィールドは、指定文字数「5文字」で「2文字」のスペースが含まれる ・2つ目のフィールドは、指定文字数「4文字」 ・3つ目のフィールドは、指定文字数「5文字」(2byte表記の為、10byte指定)で、「2文字」  (4byte)をスペースにする。 ---------------------------- "001 ","test","あああ  " "002 ","test","いいい  " "003 ","test","ううう  " 以上になりますが、どなたか教えていただけますでしょうか。 ACCESS初心者の為、大変申し訳ありませんが、詳しい手順もお願い致します。 宜しくお願い致します。

  • AcceseからCSVにエクスポートするマクロを作る

     早速質問です。  目的はMDBファイルをCSVテキストにエクスポートするマクロ(機能がクリックひとつで実現できるよう)を作ることですが、CSVファイルはカンマで区切って、ダブルクォーテーション(”)が入らないようにすることです。MDBファイルの項目が全部テキスト型なので、手動でテキストファイルにエクスポートするときはダブルクォーテーションが入らないように選択できるが、マクロの”テキスト変換”でやるとテキスト型の項目には自動的にダブルクォーテーションがついてしまうのです。 どうすればいいか具体的に教えていただけたらと願ってます。  よろしくお願いします。

  • SQLローダーCSV取込で、囲み文字がデータ中に入っている場合について

    SQLローダーCSV取込で、囲み文字がデータ中に入っている場合について お世話になります。 SQLローダーでCSV取込を行っています。 設定は下記のようになっており、区切り文字はコンマ  囲み文字はダブルコーテーションを指定しています。 LOAD DATA TRUNCATE CONTINUEIF LAST != '"' INTO TABLE WORKTABLE FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS ( data1 char, data2 char, data3 char ) このように取り込んだところ、下記のような行でエラーが発生しました。 「"data1","data2",""文字列,文字列""」 どうやら元々ダブルコーテーションで囲まれていたデータが CSV出力時にもう1度囲まれた状態のようです。 エラー内容 「TERMINATEDとENCLOSEDフィールドに続く終了記号がありません。」 原因はダブルコートであることはわかっています。 色々試したのですが、うまくいきません。 このデータをうまく取り込む方法はあるのでしょうか よろしくお願いいたします。

  • access2016 ダブルクォーテーションなし

    access2016でTransferTextを使ってCSV出力を行いたいのですが、データがダブルクォーテーションで囲まれた状態で出力されます。 以前のaccessではエクスポート定義で囲み文字をなしにすれば良いと確認しましたが、access2016ではどのように行えばいいのでしょうか。

  • Accessのテーブル、クエリをCSV形式でエクスポートしたい

    マクロを使ってAccessのテーブルやクエリを、カンマ区切のCSV形式でマクロを使ってエクスポートしたいのですが、それらしいものが見つかりません。 どのようにするのでしょうか? 環境:Access 2003 、WindowsXP

  • ACCESSで、コンマを付けてCSVをエクスポートしたい

    ACCESSで、数字のデータに、コンマを付けてCSVをエクスポートしたいのですが・・・ 表示ではコンマが付いていても、エクスポートするとコンマが付きません。 何か方法はないでしょうか?

専門家に質問してみよう