ACCESSでテキストファイルを出力させる方法

このQ&Aのポイント
  • ACCESSでテーブルのデータを元にテキストファイルを出力する方法を教えてください
  • マクロやモジュールを使用してACCESSでテキストファイルを出力する方法について教えてください
  • ACCESS初心者のためのテキストファイル出力方法について教えてください
回答を見る
  • ベストアンサー

ACCESSでテキストファイルを出力させる方法

こんにちは ACCESS初心者のmynannといいます さっそく質問ですが 例えば テーブルに 商品コード 価格  販売 001     \100  yes 002     \300  no 003     \200  yes 004     \250  yes 005     \150  no というデータがあったとして これを元に 「扱ってる商品は001,003,004で    それぞれの値段は  001 \100 003 \200 004 250です」 というようなテキストファイルを出力することは可能でしょうか? できるとしたらマクロやモジュールを使うのでしょうか? 面倒だとは思いますがやり方もしくは勉強すると 参考になる箇所などを教えていただきたいです お願いします!

  • mynann
  • お礼率46% (150/324)

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

  • ベストアンサー
  • palmmy
  • ベストアンサー率38% (841/2170)
回答No.2

進んでいますか? >やり方もしくは勉強すると参考になる箇所などを やり方の方でしたら、フォームにボタンを配置して下記のようなコーディングをすれば可能です。 Option Compare Database Option Base 0 Private Sub コマンド0_Click() Dim MyDB   As Database Dim MyTable  As Recordset Dim i     As Integer Dim strCODE() As String Dim strPRICE() As String Dim strMSG(3) As String Set MyDB = CurrentDb Set MyTable = MyDB.OpenRecordset("商品マスタ", dbOpenTable) MyTable.MoveFirst Do Until MyTable.EOF   If MyTable("販売") = -1 Then     i = i + 1     ReDim Preserve strCODE(i)     ReDim Preserve strPRICE(i)     strCODE(i - 1) = MyTable("商品コード")     strPRICE(i - 1) = CStr(MyTable("価格"))   End If   MyTable.MoveNext Loop Set MyDB = Nothing: Set MyTable = Nothing strMSG(0) = "扱ってる商品は" strMSG(1) = "  それぞれの値段は" strMSG(2) = "" For j = 0 To i - 1   If j = 0 Then     strMSG(0) = strMSG(0) & strCODE(j)     strMSG(2) = strMSG(2) & strCODE(j) & " \" & strPRICE(j)   Else     strMSG(0) = strMSG(0) & "," & strCODE(j)     strMSG(2) = strMSG(2) & " " & strCODE(j) & " \" & strPRICE(j)   End If Next strMSG(0) = strMSG(0) & "で" strMSG(2) = strMSG(2) & "です" Open "c:\test001.txt" For Output As #1   Print #1, strMSG(0)   Print #1, strMSG(1)   Print #1, strMSG(2) Close #1 MsgBox "処理が完了しました", vbInformation, "終了" End Sub

mynann
質問者

お礼

返事遅くなってすいませんでした 前の回答もだいぶ参考になって勉強しているところでした こんなに詳しく説明していただいてそうとうお手数をかけさせてしまいましたね 本当にやりたいことはこれをもう少し応用させたものなので後は自力で頑張ってみたいと思います 本当にありがとうございました!

その他の回答 (1)

  • palmmy
  • ベストアンサー率38% (841/2170)
回答No.1

モジュール(VBA)で可能です。 yesのものを抽出するクエリーを作成し、1件づつ読みながら2次元配列に入れていきます。 配列をもとに文字列を作成すれば出来ます。 ■参考になる箇所は、 ◎クエリーの読み込み helpの"MoveFirst、MoveLast、MoveNext、MovePrevious の各メソッドの使用例"あたり ◎配列 "Dim ステートメントの使用例" "ReDim ステートメントの使用例" あたり ◎テキスト編集 固定の部分と、データの部分を分けて最後に合成すれば良いかと思います。 ◎テキストの出力 "Open ステートメント" "Print # ステートメント" あたりでしょうか。 頑張って下さいね。

関連するQ&A

  • (ACCESS VBA)名前をかえてファイルを保存する方法

    こんにちはmynannです 困っているのでヒントをいただけたらと思って質問します。 ただいま↓のような商品マスタがあります 商品コード 価格  販売 001     \100  yes 002     \300  no 003     \200  yes 004     \250  yes 005     \150  no このデータからモジュールを使って yesの物だけを抽出して 以下のようなテキストファイルを保存したいと思います 「商品コード 001 価格 \100」 ※ファイル名は「001.text」 003と004についてもほぼ同様 前回私の質問を見ればわかると思いますが レコードセットやIF、Do Until、printなどを 使えばできそうなんですが 保存するファイル名(001.text,002.textなど)をそれぞれの場合によって変える方法がわかりません 質問のしかたが下手でいまいちわからないと思いますが、、 保存するデータごとに保存するファイル名を変える方法を知りたいのでぜひ、教えてください!

  • (ACCESS VBA)あるテキストファイルのデータを別のテキストに写す

    すいませんがたびたび質問させていただいていmynannです ACCESS VBAについての質問です まず商品マスタクエリに 商品コード 価格 001 \100 002 \150 003 \200 というデータがあり テキストファイル「text01.txt」に 「こちらのアドレスが商品のページです↓  http://goo.ne.jp/syouhin/」 この商品マスタの商品コードとtext01.txtで 「こちらのアドレスが商品のページです↓  http://goo.ne.jp/syouhin/001.html」 というようなファイルを出力するようなモジュールをつくろうと思っています 実際には商品コードは複雑ですし テキストファイルももっとたくさんの文章です で特に何を聞きたいかというと テキストファイルのテキストデータをどうやって 扱えばいいかがよくわかりません OPENステートメントとかつかうんでしょうか、、? どなたか助けてください!

  • Accessのマクロをテキストファイルへ出力したい

    どなたかヒントを御願いします Accessのモジュールは、下記URLにてテキストファイルへ出力できますが、 Accessのマクロは、どのようにすれば良いのでしょうか? GUIでは無く、VBScriptやExcelのVBAにて実行したい Accessのモジュールを出力するURL↓ http://www.7key.jp/program/accapi/vbe.html

  • ACCESSで、テキストファイルをインポートしたい

    宜しくお願い致します。 ACCESSで、テキストファイルをインポートしてテーブルを作成したいのですが、ファイル→インポートを選択して、ウィザードを開く方法は分かるのですが、マクロを作成してインポートは出来ないでしょうか? excel、CSVファイルでしたら、「ワークシート変換」、「テキスト変換」のマクロでインポートしたりエクスポートしたり出来ると思うのですが・・・、 (1)テキストファイルをインポートしたり、エクスポートしたりする場合、どのようなマクロがあるのでしょうか。 (ためしに、「出力」マクロで、あるテーブルをCSVファイルにエクスポートしてみたのですが、カンマ区切りにできず、excelのような枠付きのテキストファイルになってしまいました。) (2)容量が大きいデータの場合は、テキストファイルでエクスポートしたほうが良い・・・という認識に間違いはありませんでしょうか。 質問が一つ増えてしまいましたが、宜しくお願い致します。

  • Accessで困ってます

    はじめまして。わたしはAccess2003で簡単なデータの管理をするように会社で指示を受けてAccessと格闘しています。でも、どうしてもわからないので、ご指導いただきたいのです。 Access2003のテーブルで No(オートナンバー) 日付(yyyy/mm/dd) 担当者(テキスト) 商品コード(テキスト) 受注数(整数) というテーブルがあります。 このテーブルで、「当日」に「同一の担当者」が「異なった商品」を「複数受注した場合」に「当日一番最初に受注した商品だけ」は「受注数」に「10」加算する。 といったクエリ?マクロ?を作りたいのです。 クエリでできるのか?どうかもわからない初心者ですが、何卒ご指導をお願いいたします。 助けてください。

  • Accessで困ってます

    はじめまして。わたしはAccess2003で簡単なデータの管理をするように会社で指示を受けてAccessと格闘しています。でも、どうしてもわからないので、ご指導いただきたいのです。 Access2003のテーブルで No(オートナンバー) 日付(yyyy/mm/dd) 担当者(テキスト) 商品コード(テキスト) 受注数(整数) というテーブルがあります。 このテーブルで、「当日」に「同一の担当者」が「異なった商品」を「複数受注した場合」に「当日一番最初に受注した商品だけ」は「受注数」に「10」加算する。 といったクエリ?マクロ?を作りたいのです。 クエリでできるのか?どうかもわからない初心者ですが、何卒ご指導をお願いいたします。 助けてください。

  • Accessのテーブルをテキストデータに出力する

    Accessのテーブルをテキストデータに出力する際に、 項目の区切りを「TAB区切り」で出力するにはどうしたらよいのでしょうか? よろしくお願い致します。

  • CSVファイルの出力

    こんにちは。 ただいまアクセスで商品の検索プログラムを作っていまして、入力した商品名に一致する商品コードと商品名をテーブルから抽出し、CSVファイルに出力したいのですが、どういった方法で出力すればいいのでしょうか?

  • ACCESSでファイルを結合するには

     ACCESS2000で、銀行振替のフロッピーを作りたいと思って、4個のテーブルを固定長のテキストファイルに変換しました、この4個のテキストファイルをACCESS上から1つのテキストファイルに結合しフロッピーに出力する方法をご存知の方よろしくお願いします。  尚VBAはよく分りませんので、マクロで作る方法がありましたらお願いします。

  • ACCESSのテーブルをテキスト出力

    初心者なので ACCESSのテーブルの複数の項目(100個位)をテキスト形式で項目と項目を区切らない形式で出力したいのですが クエリで「式1:[項目1]&[項目2]&・・・・・」と指定しないと出来ませんか 宜しくお願いします。