• 締切済み

ACCESS VBA txtファイル出力

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

みんなの回答

  • chie65535
  • ベストアンサー率43% (8516/19358)
回答No.3

当然ですが「ID以外にもフィールドが沢山ある」のであれば SELECT Right("0000000" & [ID],8) AS 式1,[コード],[名称],[数量],[単価] FROM テーブル1; のように、出力するフィールドを、出力したい順番に、SELECT句に書き並べて下さい。

  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.2

こんにちは >エクセルファイルをACCESSに取り込み は、どのようにしているのですか? 取り込む時点で0が落ちているとか? それはさておき、定義を作成しておいて DoCmd.TransferText acExportDelim, エクスポート定義名, テーブル名, "…(パス)…テスト.txt" DoCmd.TransferText acImportDelim, インポート定義名, テーブル名, Excelファイル名, True のようにしてみてはどうですか?

  • chie65535
  • ベストアンサー率43% (8516/19358)
回答No.1

元の「テーブル」の「ID」フィールドが「元々は8桁で0が頭に付いていた」と仮定します。 以下のようなクエリを作って「テーブル名」の代わりに「クエリ名」をエクスポートします。 SELECT Right("0000000" & [ID],8) AS 式1, FROM テーブル1;

関連するQ&A

  • 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件くらいあるので、元々にテキストを用意する事もできません。。。 よろしくお願いします。

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

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

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

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

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

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

  • ACCESSからテキストファイルへのエクスポート

    ACCESS2002でVBAを使ってテキストファイルにエクスポートしようとすると 次のようなエラーが出てしまいます。 「予期せぬエラー #3027が発生しました。 データベースまたはオブジェクトは読み取り専用なので更新できません。」 これを回避するにはどうしたらいいのでしょうか。 ちなみにVBAの記述は DoCmd.TransferText acExportDelim, "", "抽出クエリ", "a:\nk100.txt" , False, ""という記述です。

  • Access VBA について質問があります。

    Access VBA について質問があります。 Docmd.TransferText acExportDelim にてCSVを吐き出したところ、文字列中に空白文字が表示されてしまい 大変困っております。この空白文字列を出さない方法等はあるのでしょうか? 以下に例を記載いたしますのでアドバイスお願いいたします。 例) Accessリンクテーブル Aテーブル (列名)    :(データ) A(Text 3byte): "11" B(int 5byte) : 9999 C(Text 15byte):"9,hoge_hoge" ※"_"←半角文字です。                ↓ (Docmd.TransferText acExportDelim でCSV出力)                ↓ (CSVの内容)"11_",9999_,"9,hoge_hoge____" ※"_"←半角文字です。 replaceで置き換えようとしましたが、必要な半角文字まで消えてしまいますので とても厄介な事になっております。 初心者なので、何卒ご教授していただけますようにお願いいたします。

  • VBAに詳しい方!お願いします。

    お願いします。 アクセスのテーブルを固定長テキストファイルに吐き出す為のモジュールを作成中です。 下記のモジュールであっていると思うのですが、 DoCmd.TransferText acExportFixed, , "sousin", "C:\Documents and Settings\個人用\デスクトップ\sousin.txt" しかし、必ず下記のエラーがでます。 「このアクションまたはメソッドを実行するには、「Specification name/定義名」が必要です。」 ちなみに、acExportDelim なら定義名(第二変数)をはずしても走ります。 教科書などを見ても、第二変数は省略できるはずなのですが、お願いします。 また、第二変数の意味もあわせて教えてください。 どんな名前でもバリアント型なら勝手に付けて良いのでしょうか?

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

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

  • 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でもどちらでも構いません。 どなたか良い方法をご存知でしたらご教授ください。 よろしくお願いします。

  • Accessで複数のクエリを1つのCSVファイルにエクスポートする方法

    Accessで複数のクエリを1つのCSVファイルにエクスポートする方法はないでしょうか? 現在は下記のような記述でそれぞれCSVファイルを作成しています。 クエリ1~3を1つのCSVファイルにエクスポートする方法があれば教えて頂きたいです。 よろしくお願いします。 DoCmd.TransferText acExportDelim, , "クエリ1", "C:test1.csv", True, "" DoCmd.TransferText acExportDelim, , "クエリ2", "C:test2.csv", True, "" DoCmd.TransferText acExportDelim, , "クエリ3", "C:test3.csv", True, ""

専門家に質問してみよう