• 締切済み

ACCESSでtxt出力を・・・。

すいません・・教えてください。 ACCESSに存在するテーブルをtxt形式に出力したいと思っています。 テーブルの内容をTXT出力したいのですが、 管理番号   金額   名前 00001    20000 田中 00002 10000 志村 00003 5000 小屋 00004 80 島 とあります。 これを、txtにする際に、 「00001 20000 田中」 ←これは、0000001.txt 「00002 10000 志村」 ←これは、0000002.txt と、レコード毎に別々のtxtを作成したいのですが、 その方法が全く分かりません。 よろしくお願いします。 VBAは、初心者なので、まずはtxtに全てを出力しようと、 Public Sub FileExport1() Dim path As String path = "C:\" DoCmd.TransferText acExportDelim, , "テーブル名", path & "テキスト名" End Sub とやったら、元々存在するテキストに出力はできました。 後は、これに出力条件を追加すれば・・と思っているのですが。 また、実際はレコード数が6000件くらいあるので、元々にテキストを用意する事もできません。。。 よろしくお願いします。

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

いくつか不明な点があります。 例では 「00001 20000 田中」 ←これは、0000001.txt と改行していますが DoCmd.TransferText acExportDelim なら "00001",20000,"田中" となりますが、 改行の有無と""で囲むか否は? あと、同氏名のレコードがあった場合は 同じファイルにまとめる、別ファイルにする どっち? 実際はレコード数が6000件くらいあるので 本当に6000個 ファイルを作る必要があるの? 以上3点は?

関連するQ&A

  • ACCESS VBA txtファイル出力

    お世話になっております。 不慣れながら会社でACCESSVBAを使っております。 エクセルファイルをACCESSに取り込み、VBAを使ってtxtファイルとして出力したいです。 その際、現時点で出力まではできているのですが、先頭列の頭の0が落ちてしまいます。 頭の0を残すコードの書き方はどのようにすればよいのでしょうか。 また、そのような設定はありますか。 力不足で恐縮ですが、よろしくお願いします。 保存先はデスクトップ、テーブル名はテーブル名を代入した変数です。 DoCmd.TransferText acExportDelim, , テーブル名, "…(パス)…テスト.txt"

  • アクセス2010 ""なしエクスポート

    アクセス2010 VB DoCmd.TransferText acExportDelim, , テーブル名,ファイル名.txt テーブルデータをエクスポートするとき、データをダブルコーテーションなしでデータを送る方法ないでしょうか?

  • Accessのデータをテキストファイルで出力する方法を教えてください。

    Accessのデータをテキストファイルで出力する方法を教えてください。 クエリで抽出したデータをテキストファイルに出力したいのですが、下記のような記述では""や,で区切られてしまいます。 DoCmd.TransferText acExportDelim, "", "クエリ名", "出力ファイル.txt" フィールドごとに改行して出力する方法はないでしょうか? <クエリ結果> フィールド1  フィールド2  フィールド3 aaa      bbb      ccc <出力テキストファイル> aaa bbb ccc

  • CSVファイルのエクスポートでソートしたい

    ACCESS VBAで DoCmd.TransferText acExportDelim, , "テーブル名", CSV_File_Full_Path でCSVファイルのエクスポートを行っていますが、 エクスポートするテーブルの任意の複数項目でソートして出力する方法はあるのでしょうか? 現在はテーブルの表示順と異なった出力がされています。

  • Accessのエクスポート、出力場所について

    Microsoft AccessにてTranseferTextを用いてCSVファイルをエクスポートする際に、Accessのmdbファイルと同じディレクトリに出力したいと考えています。 参考書やネットを調べましたが、TransferTextで出力先を指定するには、ファイルを絶対パスにて指定する例しか見当たらず、また、試しに相対パスを自分で書いてみてやってみましたが、出力されません。 相対パスではできないのでしょうか? それとも相対パスの書き方が悪いのでしょうか? 自分で書いたのは、こんな感じのVBA文です↓ DoCmd>TransferText acExportDelim," Tbl_output エキスポート定義", "tbl_output", "./seikyu.csv", True

  • ExcelVBA からAccess2000の機能を使用したい。

    Access2000を使用した、業務用アプリケーションがあるのですが、 AccessをDBとしてのみ活用し、実行をExcelVBAに変更することになりました。 そこで DoCmd.TransferText acImportFixed, "I定義", "DATA_I", txt_Input_Path DoCmd.TransferText acExportDelim, "E定義", "DATA_I", StrOutPath の処理をExcelVBAで書換えた場合はどうなるのでしょうか? (こんなことができるかどうかも解かりません。) ご存知の方いらっしゃいましたら宜しくお願い致します。

  • Accessからのエクスポート先のエラー判定

    下記のようにAccountというテーブルを Xドライブのテストディレクトリにテキストでエクスポートするとします。 DoCmd.TransferText acExportDelim, "", "Account", "X:\test\test.txt" このとき、Xドライブというのはネットワークドライブでネットワークにつないでいるときしか現れません。もしXドライブが見えないとき(ネットワークにつながっていないとき)はエラーメッセージを出して 処理を抜けさせたいのですがどのように判断すればよいのでしょうか。よろしくお願いします。

  • AccessでExcel出力する際に「シングルコートなし」、日付は「YYYY/MM/DD」で出力したい

    初めて質問させていただきます。 ACCESS2003で、出力用テーブルからCSVもしくはExcel出力をしたく、色々試してみましたが、希望通りにいかず悩んでおります。具体的には、以下のような悩みです。どなたか良いアイデアをお持ちでしたらご教授ください。 ---------------------------------- ●以下のプログラムでCSV出力をすると、日付に時間(0:00:0)が付加してしまう。  DoCmd.TransferText acExportDelim, "", "出力データ用テーブル", 出力ファイル名, True ●以下のプログラムでEXCEL出力をすると、日付は「YYYY/MM/DD」で出力されるが、全てのテキスト型のデータの頭に「'」シングルコーテーションが付いてしまう。  DoCmd.TransferSpreadsheet acExport, , "出力データ用テーブル", 出力ファイル名, True ●以下のプログラムでEXCEL出力をすると、日付が「dd-mm-yy」となってしまう。「YYYY/MM/DD」としたい。    DoCmd.OutputTo acOutputTable, "出力データ用テーブル", acFormatXLS, 出力ファイル名, True ---------------------------------- シングルコーテーションは付かずに、日付も「YYYY/MM/DD」と表示されることが希望で、ファイルはCSVでもEXCELでもどちらでも構いません。 どなたか良い方法をご存知でしたらご教授ください。 よろしくお願いします。

  • アクセステキストエクスポートについて。

    アクセスでエクスポートする際に フィールド開始位置が有効ではないとなり テキストのアウト出来ない場合 下記の DoCmd.TransferText acExportDelim, , "ファイル名クエリ", "C:\Documents and Settings\Administrator\デスクトップ" & "\" & "ファイル名.csv", True End Sub のようにして対応しているのですが 1レコード目に 余計な フィールド1,フィールド2,フィールド3,フィールド4,フィールド5のようなレコードが 付いてしまうのですが インポートしたままの状態でエクスポート出来ないでしょうか。 ちなみにファイル数が多いのを想定して あとで1レコード目を削除する方法は考えておりません。 どうぞよろしくお願いします。

  • AccessでSQL結果を直接csvに書き出すには?

    Access2003,WinXP お世話になります。 自作のSQLを書いて、結果をTransferTextで手軽にCSVにできないかと考えてこんなのを書いてました。 Dim strSql AS String Dim strPath AS String strSql = 自作SQL文 strPath = c:\test.csv Docmd.TransferText acExportDelim, , strSql, strPath, True しかし、TransferTextでは「テーブル」か「クエリ」名を直接書くように指示してあり、これだと動かない?んでしょうか。 SQLは300個くらい出力する必要があるため(クエリ300個作れば解決するのですが・・・)上のようなコードをループして動かしたいのですが、何か他の簡単な出力方法があるのでしょうか。 よろしくお願いいたします。

専門家に質問してみよう