• 締切済み

access vbaでCSVファイルを文字列にしてエクスポートする方法

ACCESSのVBでクエリのフィールドデータをCSV形式にして なおかつすべてのセルを文字列にしてエクスポートしたいんですが 基本的なやり方がわかりません。 データが00012の時だとCSVにすると12として表示されるのそのまま 00012で表示させたいんです。 詳しい方教えていただけないでしょうか? よろしくお願いします。 ACCESSは2003を使っています。

みんなの回答

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

CSVファイルは全て文字列で構成されています。だから >CSVファイルを文字列にしてエクスポートする方法、と言う表題はおかしいとおもいます。 ーーー アクセス側で整えたかったら、アクセスのqueryで 計数B: Format([計数],"00000")のようなフィールドを作り そのqueryをエクスポートすればどうですか。下記では0数はquery名。 アクセスのモジュールで Sub test14() DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, _ "0数", "C:\Documents and Settings\xxxx\My Documents\yyyy.xls" End Sub で yyyyブック(既存)で、0数と言う名のシートが出来て、計数B列は文字列で左詰めでデータが入りましたが。 国名 計数B ID コード 計数 日本 00010 1 111 10 日本 00020 2 111 20 中国 00025 3 111 25 中国 00015 4 111 15

  • chi3ru8
  • ベストアンサー率0% (0/0)
回答No.3

わたしも素人同然なので的外れだったらごめんなさい。。。 クエリを右クリック⇒エクスポート⇒テキストファイルで、 出力するファイル名の拡張子をcsvにします。 次の画面の左下の「設定」の「フィールドの情報」にて、 "00012"と表示させたいフィールドのデータ型をテキストにします。 (ダブルクォーテーションをつけるかつけないかは 文字列の引用符にてお好きなものに変更してください。) それでOKを押してエクスポートすると、 "00012"という表記になりませんでしょうか。 ぜひ試してみてください。 すでにご存じでしたら申し訳ないです。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.2

エクセルの形式で出力するといけそうな気はしますが…。 とりあえずその問題について解説しているページを紹介します。 CSV 形式ファイルを Excel で開く際の "001" 問題を回避する方法 http://www.f3.dion.ne.jp/~element/msaccess/AcTipsCSV001.html

anman0201
質問者

お礼

大変参考になりました。 無事問題を解決できました。 本当にありがとうございました。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

アクセスでエキスポートするときの問題ではなくて エクセルで開くときの問題だと思います。 ファイルの拡張子をCSVからTXTにしてエクセルで開き その時に出てくるダイアログの最後で文字列として認識させてください。

anman0201
質問者

お礼

解説ありがとうございます。 でもそれだと一回一回Excelで設定しないといけないということですよね? データの量が多いんでできればボタンを押したらテキストボックスで選んだフォルダにCSV形式で保存されるようにしたいんです。 それを開くともともと文字列になっているというのが理想なんですが、 不可能でしょうか?

関連するQ&A

  • Access2003で特定列の改行コードを削除してCSVへエクスポート

    またまた、質問させていただきます^^; Access2003にてCSVデータを一旦インポートして、クエリなどを使いデータを編集し、別のテーブルへ追加クエリを使用して吐き出し、そのテーブルのデータ全てをCSVファイルへエクスポートする、といった処理をしております。 はじめに取り込むCSVデータが、セル内(エクセルの編集画面でたとえさせていただきます)で沢山改行されているデータで、それをアクセスに取り込むと改行は一旦なくなったように、見えるのですが、エクスポートするとやはり改行コードが着いたままエクスポートされます。 この改行コードをAccessの処理で削除したいのですが出来るのでしょうか?CSV内の改行全てを削除するのではなく、特定列内(例えばC列など)のセル内の改行コードのみの削除です。 エクセルのClean関数なども試しましたがAccessの処理で一括してしまいたいのです。 TeraPad、秀丸などのテキストエディタで改行コードの置換をすると全て消えてしまい、CSVの行を意味する改行コードまで消えてしまうので使えないし。。。 皆様、お知恵をおかし下さい!お願いします。

  • csv ファイルのデータを文字列として開く

    csv ファイルを開いた時に、最初から 全てのセルの 「セルの書式設定 > 分類」を「文字列」にすることは出来ますか? 一度、拡張子を txt に変えて 「テキスト ファイル ウィザード」 「列のデータ形式」を文字列にするのは知っているのですが、 ・拡張子を変える ・エクセルを開く ・ファイルを選ぶ ・全ての列を選択 ・文字列にする と非常に面倒なので csv ファイルのままでファイルを開いたら 最初から文字列にする方法を探してます。 お願いします。

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

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

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

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

  • access VBAエクスポートについて

    VBAでcav形式でエクスポートしたいのですが、 出力元のクエリには、1列目にIDが入っていて、これを除く 2列目以降を出力したいと思っています。 試しに、元クエリを選択するクエリを作って、2列目以降を表示させたものを エクスポートしてみましたが、レコード順番が変わってしまいます。 2列目以降をエクスポートする方法があればおしえて下さい。

  • AccessからCSVファイルを作成するとき。

    とあるページでAccessからCSV形式のファイルをエクスポートするときあは、ただエクスポートするだけでは並び順になっていない可能性が高いので、クエリからCSVファイルを作るほうがよいと書いてありました。 下記のやり方ではデータがうまくファイルに入らないのでしょうか? ご教授お願いいたします。 http://support.secure.ne.jp/manual/db/access.html

  • ファイルメーカーからエクスポート

    ファイルメーカーのデータをCSV形式でエクスポートし、エクセルで読み込んでいます。この場合、ファイルメーカーで 8-15 とあるデータが、エクセルシート上で 2005/8/15 と日付データに変わってしまいます。目的的には 8-15 のまま(文字列のまま)扱ってほしいのです。 想像するに、エクセルでcsvファイルを読む場合に、すべて文字列で読むことができるような気がするのですが、わかりません。

  • アクセス2002のエクスポートエラー

    環境:WinXP バージョン:アクセス2002 CSVデータをアクセスにインポートし、編集してエクスポートしたいのですが、「フィールド'コメント'の開始位置'32769'が有効ではありません。開始位置は32,767以内で指定してください。」というエラーが出て、エクスポートすることができません。 データ型がintになっているという知人の指摘があったので データ型はインポートの際にすべて「メモ型」にしてあり、 エクスポートするときにも確認しています。 それに、そのフィールドにはデータが入っていません。 処理するデータ量は20レコードでフィールドは69列です。 なぜ、このようなエラーが出るのかまったくわからない状態なのです。 どなたか教えてください。

  • CSVファイルのインポート/エクスポート

    VBAのAccessでCSVファイルを取り込んでテーブルに登録するプログラムと、テーブルのデータをCSVファイルでエクスポートするプログラムを作ろうと思っています。 選択クエリを使用して、取得したものをエクスポートするようにしたいのですが、どのようにすれば可能でしょうか?

  • Accessで文字列を連結しフィールドを作成するには?

    アクセスのクエリーでテーブルから2つの文字列フィールド引っ張ってきて、その文字列データをくっつけることがやりたいのですが、どのようにやったらよいのでしょうか? ちなみにExcelの場合はCONCATENATE関数で2つのセルを 1つのセルにまとめることが可能です。アクセスで関数を見てみたのですが、そのような関数はありませんでした。 誰かよい方法があれば教えていただけませんか? よろしくお願いします。

専門家に質問してみよう