• 締切済み

アクセス2002のクエリで・・・

急いでいまして、下記の点についてアドバイスいただけると幸いです。 テーブルが以下のようになっていまして 【得意先番号】【年度】【支払日】【請求額】 (行1)【111111111】 【H14】【 6/16 】【7,000】 (行2)【111111111】 【H14】【 7/16 】【4,000】 この得意先番号は一人に対し一義的に決まる番号で、行ごとに一回の請求額がテーブルに記録されています。 このテーブルから、いつの支払日にいくらかったのかという条件で得意先番号を抽出することは可能でしょうか? 具体的にいいますと、うまく説明できないのですが、請求額が何月何日にいくら足りないというのは把握できているのですが、それが誰なのかが把握できていない状況で、何月何日いくら、何月何日にいくらという感じで過去10回ぐらいの履歴で購入者を特定したいというのが今回書き込んだ目的です。 アドバイスいただけると幸いです。

みんなの回答

  • yomo3
  • ベストアンサー率32% (88/269)
回答No.3

うわあ。10日以上間があいてしまった……。 メールで知らせてもらう設定にしてなかったんだぁ……。 ごめんなさい。 #1です。 #2さんの言われていることで十分な気もしましたが、閉店していなかったので蛇足ながら。 >行には一人につき一つの得意先NO.を表示し横方向に日付を並べていくかたち に表示させることも可能です。 クロス集計クエリというのを使います。 詳しくはイルカ君まで。

全文を見る
すると、全ての回答が全文表示されます。
  • vantage
  • ベストアンサー率60% (310/514)
回答No.2

え~っと、割り込むみたいで失礼します。 >(1) 行に一回の購入額が記録されているので何行にもわたって同じ得意先NO.が表示されているのですが、 >(2) 行には一人につき一つの得意先NO.を表示し横方向に日付を並べていくかたちにテーブルを作成しなおすことは可能でしょうか? データベースでは (2) をしないほうが良いんです。 例えば、ほとんどの得意先様では3回の請求で、No.1さんは10回の請求だとすると、テーブルの構造は一番請求の多いNo.1さんに合わせなければいけませんよね。これはデータ領域の無駄ですし、想像してみれば分かりますが、すご~く見難い表になるとなると思いませんか? また、そうやって作ったテーブルで、No.1さんにもう1回請求があれば、またテーブル構造を変えなければならなくなります。 もの凄~くおおざっぱに言ってしまうと「条件によって件数が可変するデータは縦軸に取らないとダメ」なわけです。 ですので、テーブルとしては(1)で良いんですよ。 この「同じ物が縦にたくさん並んでい」て一見すると見にくそうな表を、意味のある形に抽出したり並べ替えたりする仕組みが「クエリー」なのです。 例えば <得意先番号><年度><支払日><請求額> 【111111111】 【H14】 【 6/16 】【7,000】 【111111111】 【H14】 【 7/16 】【4,000】 【111111112】 【H14】 【 6/16 】【7,000】 【111111112】 【H14】 【 7/16 】【4,000】 という表から、<得意先番号>が【111111111】の行を取り出すとか、 <請求額>が【4,000】の行を取り出すとか、 あるいは、<支払日>が【6/1】~【6/30】に該当する行を取り出すとかが可能です。 たぶんやられたいことは、<支払日>が【6/1】~【6/30】に該当し、かつ<請求額>が【4,000】の行を抜き出して、<得意先番号>順に並べて欲しい…、とか言うことでしょうか? こういったことは選択クエリーを使用すれば、ごく簡単にできます。 で、具体的にどうすればよいのかとなると、“図解なしに説明するのは…”なのでヘルプとかを見てみて下さい。イルカ君に「選択クエリーを作成したい!」とか聞いてみれば、説明図付きで作り方を教えてくれますよ。 なお、#1さんが言っているのは“<支払日>が【6/1】~【6/30】に該当し”とかの抽出条件をクエリーで設定するとき、<支払日>のデータ形式を[日付型]にしておくと非常に設定がしやすいということです。はっきり言って今のままのデータ型(テキスト型?)だと、きっとこの先苦労します。 ただ、私が思うに<年度>は別途残しておいた方が良いと思います。【1/1】~【3/31】のデータの判定には必要になるかもしれませんし、業務の実体として【4/1】でも前年度扱いすることもあり得るでしょうから…。(ただし、これも[テキスト型]ではなく[数値型]が便利だと思います。) では、頑張って下さい。

全文を見る
すると、全ての回答が全文表示されます。
  • yomo3
  • ベストアンサー率32% (88/269)
回答No.1

効率よくクエリを使うためには、テーブルの設計(フィールドの定義)を変更した方がいいようです。 日付は日付型で1つのフィールドにした方がいいでしょう。その方が検索に幅を持たせて何月何日から何月何日までに誰それさんがいくら買ったか(合計額でも履歴でも)というクエリが組めます。やり方はクエリウィザードに聞けば教えてくれます。選択クエリというのを使います。 日にちと金額を指定してリストを出すということもできます。 図解なしに説明するのはこれ以上は無理ですな。

kokorono2003
質問者

補足

そうですよね図解なしでの説明は難しいと思います。もし可能であればテーブルの分割についてだけでもアドバイスいただけませんでしょうか? 行に一回の購入額が記録されているので何行にもわたって同じ得意先NO.が表示されているのですが、そのテーブルを行には一人につき一つの得意先NO.を表示し横方向に日付を並べていくかたちにテーブルを作成しなおすことは可能でしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • クエリの作り方

    OS:windows2000 Access Version:2002 納品番号ごとの入金予定日を表示させる クエリの作り方を教えてください。 得意先テーブルのフィールドには  得意先名/得意先コード/請求締日/支払月/支払日 があります。  このうち請求締日は、  5/10/15/20/25/31 以上6種あります。  支払月は、  当月払として0、翌月払として1、それ以降5まで設定してあります。  支払日は、請求締日と同じで6種あります。 受注テーブルのフィールドには、 得意先コード/売上日/納品番号/品名/金額 があります。 以上から、納品番号ごとの入金予定を表示させたいのです。 よろしくお願いします。

  • クエリの抽出条件について

    売掛管理を作成しようと思っています。 「請求書T」と「入金T」 「商品T」「取引先T」を作成しました。 元帳作成にあたって、に必要なテーブル・クエリの組み方を教えてください。。 請求書テーブル フィールド名;請求番号、請求日、得意先番号、 売上額、摘要(商品名など) 入金テーブル フィールド名;ID(オートNo.)、取引先コード、入金日、入金額、調整(振込手数料等)、摘要 クエリで売上明細と商品Tをつなぎ、売掛元帳を作りたいのですが、 クエリのひっぱりかたがわかりません・。。 元帳 → 日付、取引先コード、取引先名、売上額、入金額、繰越残高、残高 (繰越残高は、取引先Tに持たせます) ※残高= 繰越残高 + 売上額 - 入金額 どうぞよろしくお願いします。

  • アクセスクエリについて質問です。

    アクセスクエリについて質問です。 A列:得意先コード B列:売上額 でA列2行:A社大阪 B列2行:\10,000 A列3行:B社東京 B列3行:\20,000 A列4行:A社京都 B列4行:40,000 のテーブルがある時、クエリで A社 50,000 B社10,000 というデータを抜きたいのですがどうしたらいいのかがわかりません。A社の営業所単位での売上額を合計し、なおかつ 営業所名のないA社とする。簡単なようで難しく、困っています。どなたかわかる方いらっしゃいましたら、御教授お願いします。

  • Accessでクエリを作った際の順番

    Access2003の質問です。 以下のテーブルがあってそれらの項目を抜き出してクエリを作っています。 テーブル1 ・商品CD ・商品名 ・単価 テーブル2 ・No ・売上日 ・得意先CD ・商品CD ・数量 テーブル3 ・得意先CD ・得意先名 ・フリガナ ・郵便番号 ・住所 ・TEL ・担当者CD ・DM テーブル4 ・担当者CD ・担当者名 クエリ ・No(テーブル2) ・売上日(テーブル2) ・得意先CD(テーブル2) ・得意先名(テーブル3) ・担当者CD(テーブル3) ・担当者名(テーブル4) ・商品CD(テーブル2) ・商品名(テーブル1) ・単価(テーブル1) ・数量(テーブル2) クエリを作って、データシートビューに切り替えるとなぜか得意先CDで昇順に並んでいます。 もちろんNoで並べ替えを設定すれば、Noで並べ替わるのですが、なぜ得意先CDで昇順に並ぶのでしょうか? Noが一番左にあるので、Noで並べ替わりそうなものですが・・ 何も並べ替えを設定しないとどのような基準で並ぶのでしょうか? わかる方がいれば教えてください。

  • ACCESSで残高のある請求書作成で困っています

    アクセスを使って納品伝票を作っているのですが、 納品書は作れたのですが、請求書を作る所で困ってしまいました。 請求書には得意先の月ごとの請求額と、前月の残高を印刷したいのですが、集計した請求額と残高をうまくレポートに表示できません。 現在、納品テーブルから追加クエリを用いて 取引テーブルに一月ごとの請求額を集計して追加しています。 納品テーブル(得意先 日付 売上)  追加クエリにて… 取引テーブル(得意先 日付 請求額 入金(残高))    (日付はその金額を算出、あるいは入力した日です) 入金もこのテーブルに追加しているのですが、残高で困ってしまいました。 残高はSum(請求額)-Sum(入金額)で求められると思うのですが、このデータを格納する場所がわかりません。 できれば取引先テーブルの入金フィールドの隣にでも追加できれば楽なのですが…(できればそのままレポート作れますよね)。 今は残高テーブルを新たに作り、そこに追加クエリで追加しています。 残高テーブル(得意先 日付 残高) 現在、得意先の情報を入力する得意先フォームのサブフォームに取引テーブルの内容を表示するようにしてあります。 入金もこのフォームから行っているのですが、このフォームから表示している得意先のIDと日付を元に、取引テーブルの請求額と残高テーブルの残高を参照してレポートは作成できますか? フォーム上のコマンドボタンから印刷しようと思い、 マクロの条件式をいろいろ変えたりしてみましたがうまくいきません。 どうもレポートの理解がまだ足りない様です。 かなり見当違いの事をしているのかもしれませんが、 どうか宜しくお願い致します。           

  • アクセスで可能でしょうか?初心者です。

    売上先で、(1)末締め翌末入金 (2)末締め翌月20入金 (3)末締め25入金 (4)20締め翌月末入金 の売上先が4パターンあるとして、 テーブル(T得意先情報)売上ID 売上先名 請求締め日  テーブル(T請求書)請求ID 売上先名 売上ID 請求年月     日 請求金額 テーブル(T入金)請求ID 請求金額 入金額 入金予定日  と考えとりあえずテーブルを作成しました  (1)入金日まで30or31 (2)20 (3)25 (4)40or41or42 売上先請求日付(1)~(4) (1)~(3)の請求日が1/31(4)が1/20とした場合テーブル(T入金)で、 2月の(28)月末の入金額、 20の入金額、25の入金額、 3月10の入金額 の入金年月日の件数と金額を求めたいのですが、うまくいきません。 クエーりーで入金ベースのサイト(末,20,25,40)を作れば何とかなるのかな?んんどうやったらよいの・・・ リーレーションがとても難しいと考え込んでしまい先に進みません。 構築方法+具体的な日付ごとの合計金額初心者の私に 理解できるようどなたか教えてくださいますよう お願いいたします。 ちなみに私経理の仕事しかしたことがないので、質問の内容がアクセス経験者の方々に伝わるよう な質問かどうか少々不安ですが、よろしくお願いします。

  • Accessでのクエリ作成について

    下の2つのようなテーブルからクエリを作成しています。 (1)データマスタ(テーブル) 出席番号   入力日  入力時間  国語  算数  社会 001        6/4    14:00    2     3    2 001        6/4    14:00    2     3    2 002        6/4    15:00    3     2    1 002        6/4    15:00    3     2    1 003        6/4    16:00    4     2    0 003        6/4    16:00    4     2    0 003        6/4    17:00    0     0    2 003        6/4    17:00    0     0    2 (2)クラスマスタ(テーブル) 出席番号   学年   組 001        1    2 002        1    3 003        2    1 クエリを作成して、抽出したいデータ 1)重複したデータを非表示にしたい *レコード削除はしたくない 2)〔合計〕というフィールドを作って(国語+算数+社会)の和を表示したい 3)出席番号003のように、一日に複数回データ入力している者がいるので その者のデータは一行で和を表示させたい 4)001と002は1年生なので、1年生というくくりで各教科の和を表示させたい 私が理想としている、クエリを実行した結果 出席番号   入力日  学年  組  国語  算数  社会  合計 001        6/4    1    2   2     3    2    7 002        6/4    1    3   3     2    1    6                          5     5    3    13 *1学年の和 003        6/4    2    1   4     2    2    8 私が現在作成しているクエリの実行結果 出席番号   入力日  学年  組  国語  算数  社会  合計 001        6/4    1    2   2     3    2    7 002        6/4    1    3   3     2    1    6 003        6/4    2    1   4     2    0    6 003        6/4    2    1   0     0    2    2 1)の重複データ非表示はグループ化で用件を満たしました。 2)〔合計〕というフィールドを作っての和は、クエリで演算子を使って要件を満たしました。 合計フィールドに(国語+算数+社会)と設定して。 【質問】 3)出席番号003の、一日に複数回データ入力している者を一行で表示させることが出来ません。 入力時間の違うデータが複数あるので、003が上のように複数行で表示されてしまいます。 理想のように1行で表示するにはどうしたらよいでしょうか。 4)の1年生全組の和(ここでは1年2組と3組の各教科と合計の和)を表示させるには、 どのようにしたらよいでしょうか。 以上2点、お分かりになる方がいましたらアドバイスお願いしたいと思います。

  • アクセスでのクエリーの式について

    Access2000のクエリーで、H10年7月25日(日付1)からH15年7月20日(日付2)(この2つの日付はそれぞれテーブルの各フィールドのデータです)の期間が71ヶ月(ここで、残りの21日はまだ1ヶ月立っていないので絶対に切り捨てをしなくてはならないとします。また、ひと月は31日だけではなく30日、28日も考える)と求める式を作りたいのですが方法が分かりませんので教えて下さい。DateDiff (“m”,[日付1],[日付2])とすると72ヶ月となってしまうので困っています。どうぞよろしくお願い致します。

  • アクセス 結合プロパティ が正しく結合されない(アクセス初心者です)

    請求明細テーブルと、支払明細テーブルの指定伝票番号で結合して、 請求明細テーブルの全レコードと、支払明細テーブルの請求明細テーブルと一致するレコードだけを表示させたく、結合プロパティをそのように設定しました。 SQLは、下記のようになりました。 select 請求明細.指定伝票番号, 請求明細.計 from 請求明細 left join 支払明細 on 請求明細.指定伝票番号=支払明細.指定伝票番号 すると、思わぬことがおきました。 請求明細テーブルの全レコードが表示されず、一部欠落してしまいました。 同じような質問をしている人の、回答を見させていただいたところ、上記のSQLで合っているようでした。 一体なにが起きているんでしょうか??教えてください。

  • Access ユニオンクエリについて・・・・

    顧客管理作成中です。 テーブル:顧客dataの項目(フィールド名)に 顧客名をはじめとして、 入金予定日,入金予定額,入金日,入金額,クレジット入金日,クレジット入金額とあります。 それぞれ、日付が違うのですが、日々の流れをチェックできるよう、 日付でまとめたいのです(日々の金額は日計) 希望の形は 日付 入金予定額   入金額   クレジット入金額 11/1  11/2 11/3   ・   ・   ・ _____________________ 月合計 _____________________ 全体合計 まず、グループ化したクエリを3つ作り、その後 ユニオンクエリを作って見ましたが、合計の作り方がわかりません。 ★作成状況★ ■グループ化した3つのクエリを作成 (1)Q名・支払予定金額(入金予定日,入金予定額の合計) (2)Q名・入金     (入金日,入金額の合計) (3)Q名・クレジット   (クレジット入金日,クレジット入金額の合計) ■ユニオンクエリ SELECT 日付,支払予定金額の合計,0 as 金額の合計,0 as クレジット入金額の合計 FROM 支払予定金額 UNION SELECT 日付,0 as 支払予定金額の合計,金額の合計,0 as クレジット入金額の合計 FROM 入金 UNION SELECT 日付,0 as 支払予定金額の合計,0 as 金額の合計,クレジット入金額の合計 FROM クレジット; はじめて、ユニオンクエリを使ったので、わからないことだらけです。。。 どなたか手を貸してください(-"-;) 宜しくお願いいたします

専門家に質問してみよう