• ベストアンサー

アクセスからテキストファイルにエクスポートしたい。

お願いします。 会社の商品管理でアクセスを使用しています。 クエリで抽出したデータを、テーブルに保存したものを、取引先に添付データとして送らなくてはいけません。 取引先の指定が、固定長テキストファイルなのですが、幾つかわからないことがありますので教えてください。 (1)事務員に、あまり難しい事をさせたくないのでできるだけ自動化したい。 (2)項目は、伝票日付8桁、伝票番号8桁、商品コード5桁、数量10桁 (3)伝票日付は、現在テキスト型で、定型入力0000/00/00の形式です。  これをyyyymmddの8桁に直さなくてはいけません。 以上、よろしくお願いいたします。

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

  • ベストアンサー
  • wss2004
  • ベストアンサー率100% (2/2)
回答No.2

こんにちは、別案です。 >クエリで抽出したデータを ここで抽出するクエリをQ1とします。 そして、Q1から、結合演算子&で全項目を結合するクエリQ2を作成してはどうでしょうか。添付ファイルのデータが並びは不順でも良ければ、Q2をテキストファイルに出力するクエリしておくと、Q2を実行するだけで添付ファイルが作成できるので楽になるかな~と思います。 伝票日付は、↓などでフォーマットを。 Format([伝票日付],"00000000")

sap235
質問者

お礼

今、即効でできるとすればこれですね。 ありがとうございます。 試してみます。

その他の回答 (1)

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

これはADOなどを使わないで、という質問ですか。 >自動化したい であればADOなどで、レコードを読み、VB6まではLset,Rsetが使えるようなので、右詰、左詰に注意してテキストでフィールド文字列をつくり、それら文字列を連結して、Print#で出力する。 下記は1レコードの例のモデル。 レコードの繰り返し読み取り、出力は慣れているものとする。 Sub test01() Dim hiduke As String * 8 Dim denbann As String * 8 Dim shouhincd As String * 5 Dim suuryou As String * 10 Close #1 Open "aaa.prn" For Output As #1 h = "2007/12/23" hizuke = Year(h) & Format(Month(h), "00") & Format(Day(h), "00") MsgBox hizuke denban = "12345678" shouhincd = "12345" RSet suuryou = "20" MsgBox "*" & suuryou outa = hizuke & denban & shouhincd & suuryou Print #1, outa Close #1 End Sub 結果 200712231234567812345 20 ーー 質問の話題によっては見当ハズレになるので、その際は無視してください。

sap235
質問者

お礼

ご回答ありがとうございます。 上記のようなモジュールが書ければ楽なのですが・・・・ 勉強してみます。ありがとうございました。

関連するQ&A

  • アクセスのテキスト型フィールドの初期値

    アクセスのテーブルにテキスト型フィールド「●●日付」を作成しました。さらに、定型入力の方法として、日付(____/__/__)を指定しています。 このテーブルから、クエリでデータを取得する際、●●日付にデータを入力していないレコードのみを取得したいと思い、クエリの抽出条件として=""(ダブルクォーテーション)や=''(シングルクォーテーション)と記載したのですが、レコードが1件も抽出されません(もちろん●●日付にデータを入れていないレコードは複数あります)。一方で、<>""や<>''で、●●日付にデータが入力されているレコードを抽出しようとした場合は、●●日付にデータが入力されているレコードが抽出されます。 テキスト型フィールドにデータが入力されていないレコードを抽出するクエリはどのようにしたら作成できるのでしょうか?

  • Accessレポート 複数条件での集計

    どなたかお知恵をお貸しください。 テーブル名:T_当社 フィールド:商品管理番号(テキスト)、入庫日(日付)、数量(数値)、金額(数値)、伝票番号(テキスト) テーブル名:T_取引先 フィールド:商品管理番号(テキスト)、入庫日(日付)、数量(数値)、金額(数値) クエリ名:Q_商品一致 元テーブル:[T_当社]、[T_取引先] フィールド:商品管理番号(テキスト)、入庫日(日付)、数量(数値)、金額(数値)、伝票番号(テキスト) 抽出条件:[当社]テーブルの[商品管理番号]と[取引先]テーブルの[商品管理番号]が一致するものだけ データベース構成は以上の通りです。下記のようなレポートを作成したいのです。 条件1:[入庫日]を月単位でグループ化し、[数量][金額]を集計する。----- レポート上の表示項目名[数量][金額] 条件2:[伝票番号]の値が[3U]で始まるものと、[3N]で始まるものは、 条件1の[数量]と[金額]から差し引いて、別列に表示させる。 ※3U、3Nのデータに関しては、[0]が表示されず、空白でもOK。 自分でしたのは、下記の通りです。 1.Q_商品一致クエリで、[伝票番号]が、3Uと3Nで始まるレコードを除外。 2.Q_商品一致クエリを元に、[伝票番号]が、3Uで始まるレコードだけを抽出するクエリ[Q_3U]を作成。 3.Q_商品一致クエリを元に、[伝票番号]が、3Nで始まるレコードだけを抽出するクエリ[Q_3N]を作成。 4.Q_商品一致クエリを元に、[入庫日]でグループ化したクエリ[Q_商品一致(月別)]を作成。  Q_3U、Q_3Nも同様に、[入庫日]でグループ化したくエリを作成。 (4)で作成した3つのクエリを、1つの選択クエリにしてみたのですが、これだと、例えば、 4月度にしか[3N]データがない場合でも、5月度以降の行にも、4月度の[3N]データの値が繰り返し表示されてしまいます。

  • Accessで日付を抽出するパラメータを設定したい

    Accessのクエリで日付に対して与えているパラメータがあります。 パラメータで指定したいデータはフォームのテキストに入力した日の23:59:59 以降の日付を抽出したい。 入力:数値8桁(yyyymmdd)で行う 抽出先テーブルのデータ:yyyy/mm/dd hh:mm:ss 現在以下のパラメータを日付に対して与えると「式が複雑すぎます、、、」と注意されてしまいます。 指定日の23:59:59を抽出範囲として指定するのはどうしたらよいでしょうか? 入力値の変換も含めて、以下のパラメータを入れています。 「+"23:59:59"」をとればエラーは出ません。 <=IIF(Len([Forms]![フォーム名]![日付])=8,CDate(Format([Forms]![フォーム名]![日付],"@@@@/@@/@@")),#9999/1/01#)+"23:59:59" どなたか、お助け下さい。よろしくお願い致します。

  • access2003

    2000種ほどの商品を扱っています。商品コードひとつにつき、仕入先・取引先が1箇所ずつ決まっていて、値段の変化もあまりありません。伝票を見ながら、フォームから直接売上入力を行い、請求処理と売上分析に利用したく思います。 ◆親)売上入力フォーム:売上管理番号/日付/取引先/取引先伝票番号/売上合計金額 ◆子)売上明細フォーム:商品コード/商品名/単価/数量/明細金額 ◆売上入力テーブル:売上管理番号/取引先/日付/取引先伝票番号 ◆売上明細テーブル:明細番号/売上管理番号/商品コード/数量/明細単価 入力の効率化を図るため、1部品1取引先であることを利用して、親フォームで取引先を選択することで商品を絞り込み、子フォームの商品選択コンボボックスにはその取引先の商品だけが表示させるようにしたいと思います。どのような方法が考えれるでしょうか? クエリを使うのだと思いますが、いろいろ試しても失敗してしまいます。 また、その上でさらなる絞込みとして、明細の各行で各商品を選択する際に、商品コードの一部を入れたり、仕入先名を入れると部品が絞り込めるようにできないでしょうか? アドバイス、参考資料、なんでもお寄せください! どうぞよろしくお願いいたします。

  • アクセスでのテキストファイルへのエクスポート

    Access2000で あるテーブルにあるデータを区切り付きテキストファイルにエクスポートしたいのですが,数値データ(倍精度)が小数点以下桁処理されて出力されてしまいます。どうしてでしょうか? 良い方法はありませんか? 0.012 → 0.01 0.013 → 0.01 0.014 → 0.01 0.015 → 0.01

  • Accessのクエリ(初心者)

    Access超初心者です。 クエリで悩んでいるので、お教えください。 テーブル1に CODE(商品ID)_NAME(名前)_SUU(数量)_DAY(日付)の4項目があり、 クエリを使って、最も大きいSUUを抽出したい (かつ最も大きいSUUのデータが重複している場合、その中で最も古い日付のデータのみを抽出したい)のですが・・・ たとえば、 テーブル内容: CODE(商品ID)_NAME(名前)_SUU(数量)_DAY(日付) A_あめ_600_0517 A_あめ_900_0518 A_あめ_400_0618 B_ガム_120_0217 B_ガム_060_0319 B_ガム_180_0718 B_ガム_180_0518 抽出結果: A_あめ_900_0518 B_ガム_180_0518 ということです。 デザインビューを使うとして、どのような方法がありますでしょうか? どうかご教授お願いします!

  • Accessでデータ追加のクエリについて

    「コードNO」(13桁数値)「開始日付」(yyyymmdd形式の数値)「変更日付」(yyyymmdd形式の数値)「終了日付」(yyyymmdd形式の数値)の4つのデータから成るCSVファイルがありまして、そこに毎月同形式の追加のファイルが発生するのです。開始日付はそれぞれで、変更日付・終了日付は初期値が「99991231」です。新規のコードNoについては追加して、重複するものは上書きしていきたいのです。 私はAccess2000を使ってやってみました。テーブルデータにして追加クエリで追加した後、選択クエリでグループ化を使い、「コードNo」をグループ化、「開始日付」はずっと変わらないので取りあえず「最小」、終了は1度しか変わらないのでやはり「最小」、問題は「変更日付」です。度々変わって行くので初期値を除く最大、又は上位2番目の数値というようにしたいのです。そんな設定の仕方が可能でしょうか? まったく別のやり方でも、Accessでなくても(EXCELなら97)良いのでアドバイスをお待ちしてます。

  • Access クエリ 抽出・演算

    Access クエリについてご質問させていただきます。 テーブルのデータを特定の条件に一致するレコードだけ抽出し、演算を実施したいです。 (1):CSVデータをテーブルに取り込みます。 テーブルは左から『取引No』『部門コード』『部門名』『発注入力日』『担当者名』『発注日』『伝票No』『伝票行No』『商品コード』『商品名』『入数』『発注数(入力数)』『発注数量※1』『発注金額※2』『出荷日』『出荷数量※3』『出荷金額※4』となっております。 ※1:発注数量は入数×発注数が計算済みです。 ※2:発注金額は発注数量×単価で小数点以下切り捨てで計算済みです。 ※3:出荷数量は入数×出荷数が計算済みです。 ※4:出荷金額は出荷数量×単価で小数点以下切り捨てで計算済みです。 (2):クエリを使用して、商品名が『単3乾電池』の出荷数量を10で割り、10で割り切れるレコードを求めたいです。 (3):(2)の演算結果(10で割った後の整数)を合算して合計値をクエリの演算結果として表示したいです。 ※(2)の抽出条件でのクエリをすでに作成済みで、合計したクエリを作成したいです。 どのようにすればよろしいでしょうか?

  • クエリでの抽出の仕方を教えて下さい。

    クエリでの抽出の仕方を教えて下さい。 Access2000です。 下記のような入出庫テーブルがあるのですが、 日付 ・・・・・・・日付/時刻型 取引先No.・・・・テキスト型 取引先名・・・・テキスト型 区分・・・・・・・・テキスト型 商品コード・・・・テキスト型 メーカー名・・・・テキスト型 商品名・・・・・・ テキスト型 単価・・・・・・・・数値型 入庫数量・・・・・数値型 出庫数量・・・・・数値型 備考・・・・・・・・・テキスト型 id・・・・・・・・・・・オートナンバー ここに下記のようなデータがいくつもあります。 日付 ・・・・・・・2009/8/1 取引先No.・・・・1234 取引先名・・・・ABC会社 区分・・・・・・・・出庫 商品コード・・・・01 メーカー名・・・・AAA 商品名・・・・・・ ひも 単価・・・・・・・・100 入庫数量・・・・・0 出庫数量・・・・・50 備考・・・・・・・・・特になし id・・・・・・・・・・・1 これの金額(単価*出庫数量)の合計を求めるには どうしたらいいですか? 例えば、2007/1/1~2008/12/31までの 取引先No.1234のABC会社のひもの金額の合計を知りたいんですが、、、 (例) --日付---取引先No.-取引先名----区分----商品コード--商品名---単価---入庫数量--出庫数量---備考--id 2007/1/1     1234    AAA会社   出庫    01      ひも    100      0     50     なし  1     2007/2/8       1234    AAA会社   出庫    01      ひも    100      0     100    なし  1     2007/4/8        1234    AAA会社   出庫    01      ひも    100      0     250    なし  1     2007/8/9        1234    AAA会社   出庫    02      革     200      0     5      なし  1 2007/11/25        9876    ZXY会社   出庫    01      ひも    150      0     25     なし  1  上記の例でしたら、100*50+100*100+100*250=40,000とでるような クエリを作成したいのですが…できますでしょうか?? 宜しくお願いします。

  • ACCESS2010テキストボックス値を抽出条件に

    ACCESS2010にて、フォームに作ったテキストボックスの入力値(数字3桁)をクエリの抽出条件にしたいと考えています。 ただ、そのテキストボックスの数が30個の為、クエリデザイン画面の抽出条件欄にorを用いた条件式で設定することが出来ませんでした。(文字数上限超?) そこで、VBAを用いて抽出条件を設定しようと考えているのですが、初心者のため全く勝手が分かりません。VBAでの設定方法やVBA以外での抽出方法があれば教えて頂けないでしょうか。 尚、テキストボックスには商品コード(数字3桁)を入力し、売上データを集計したクエリにおいて、フォームのテキストボックスに入力された複数の商品コードを抽出条件に設定したいと考えております。 以上、どうかお願い致します。

専門家に質問してみよう