• 締切済み
  • すぐに回答を!

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

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

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数4605
  • ありがとう数2

みんなの回答

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

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列は文字列で左詰めでデータが入りましたが。 国名計数BIDコード計数 日本00010111110 日本00020211120 中国00025311125 中国00015411115

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • ■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初心者の為、大変申し訳ありませんが、詳しい手順もお願い致します。 宜しくお願い致します。

  • ACCESS2002 文字列の抜き出しについて

    ACCESS2002を使用しています。 ひとつのフィールドに、図1のようなデータがあるのですが、そこから”株式会社”という文字列だけを抜き出して、図2のようにフィールドを分けたいのですが、どのようにすればできるのでしょうか。 図1 ----------------- |   フィールドA   | ================= |株式会社 abc    | |DEF株式会社     | |フラワーショップ    | |   ・         | |   ・         | |   ・         | ----------------------- 図2 ------------------------------- |   フィールドA   |   フィールドB   | =============================== |株式会社      |abc         | |株式会社      |DEF         | |  ・          |フラワーショップ  | |  ・         |  ・        | |  ・         |  ・        | |  ・         |  ・        | ------------------------------- ちなみに、VBAやVBに関する知識はほとんどない状態です。。。 どなたか、宜しくお願い致します!!

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

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

  • 回答No.3

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

共感・感謝の気持ちを伝えよう!

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

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

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

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&A

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

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

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

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

  • Access クエリ 文字列の一部を抽出して表示

    Access クエリの 文字列の一部だけの抽出についてお尋ねします。 Accessクエリにて、『配達先』フィールドの文字列が長いため、『配達先』フィールドの一部の文字を抽出してクエリに表示したいのですが、どのようにすればよろしいでしょうか? 抽出前 ⇒ 抽出後の順で記載します。 (1):営業部○○課消耗品置き場 ⇒ ○○課 ※○○課消耗品置き場で終わる文字列の場合は、営業部の1字後ろから消の1字手前までを抽出する (2):営業部○○課消耗品置き場(△△係)⇒ △△係 ※○○課消耗品置き場の後に()がある場合は、()の中の文字列だけを抽出 (3):営業部◇F○○課消耗品置き場 ⇒ ○○課 営業部◇F○○課(△△係)⇒ △△係 ※○○課の前に◇F(フロア)がある場合は、◇Fの後ろから(1)か(2)を適用する お分かりの方がいらっしゃいましたら、ご回答のほどよろしくお願い申し上げます。

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

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

  • access2003 「#エラー」を文字列にしたい

    テキスト型に入れた値を数値に変換し、「#エラー」を文字列にしたい テーブル1のデザインビューで ・フィールド1 テキスト型 ・主キーなし として データを 1 2 あ を投入します。 そして SELECT CLng(テーブル1!フィールド1) AS 数値型に変換 FROM テーブル1; クエリを作りました。 1と2は数値に変換されますが、文字列を入れた「あ」は 「#エラー」になります。  「#エラー」を「未設定」という文字列にしたいのですが どうすえばいいのでしょうか? よろしくお願いします。

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

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

  • 【ACCESS】文字列を抜き出したい

    初心者ですが。分かる方お願いいたします(__)(至急ですみません) 会社の専用システムからCSVデータをダウンロードしました。 その時点で、「商品コード」のフィールドが「"=0123456"」 のようなってしまっています。(「0123456」のように数字だけになっていてほしい) CSVの段階で、文字列関数を使用して数字だけにしてしまえばいいのですが、何万件とデータが重く、ファイルも複数あることから時間がかかってしまいます。 そこで、ACCESSにデータをインポートして加工しようとしましたが、どのようにすれば数字だけ抜き取ることができるでしょうか。 Right関数、left関数も考えましたが、商品コードの文字数が一定していないためできません。 インポートした時点で商品コードのフィールドがテキスト型にされていたので、数値型にすれば数字だけになるかな?と思ってやってみましたがデータがすべて失われてしまいました・・。 良い知恵をお貸しください。 どうぞよろしくお願いいたします。 それをACCESSにインポートしてテーブルを作成致しました。

  • accessからExcelへのエクスポート

    今、access初心者の私ですが、仕事上必要なので、クエリをエクセルにエクスポートしています。 しかし、実際に必要なデータは下記の例のように、クエリの演算したフィールドも含めて一部であって、クエリで表示させたフィールド全部がいるわけではないのです。 例)  <クエリ>               <エクセル> A B C D E F   ―エクスポート→  A C E F 演算フィールドの関係でどうしても表示させておかないと演算結果がエラーになってしまうので、クエリの表の状態では「A~F」はどうしてもいるのです。 これを、今はエクセルにエクスポートしてから「B」と「D」のフィールドを削除しているのですが、フィールドを選んでエクスポートってできないでしょうか? どなたかいい方法があれば教えて下さい。お願いします。

  • 文字列を日付へ

    エクセルで「04/03/2003」という文字列が入ったセルがあります。 これを日付形式に変更したいのですが、簡単な方法はありませんか? セルの表示形式のユーザー定義で「mm/dd/yyyy」としても変わりませんでした。。 何かやり方が間違えているのでしょうか??? よろしくお願いしますm(__)m

  • Access2003で複数条件で文字列を変換する

    Access2003で、フィールド内の空欄を削除するのと同時に、 フィールドの文字列を全角大文字に変換する方法を教えて下さい。 現在、2回に分けてクエリを実行しております。 まず、「Trim 関数」を使いフィールド欄へ式を入力し空白の削除を 実行してから、次に新たにクエリを作成して「StrConv 関数」を使い 文字列を全角大文字に変換しております。 一度のクエリで「空白削除」と「全角大文字変換」ができる方法を教えてください。 宜しくお願い致します。