• 締切済み

アクセス 2つの条件で差分を取る場合

■受注データが下記のような形で膨大なものがあります。 納品月:9月、10月、11月・・・ 商品名:A、B 担当者ID:1、2、3、4・・・ 顧客名:I,II、III、IV・・・ 上記は、全ての受注データが入っているため、9月に顧客IがAを買ったら、それが1行に入っており、 更にBを買っていれば、それが別に1行にはいっています。 上記のようなデータから、月毎に、商品Aだけを買った顧客、商品A,Bを両方買った顧客、商品Bだけを買った顧客、の3つのテーブルにしたいと考えています。 方法としては、 (1)商品A,Bのテーブルを分けて作る (2)商品AB両方買った顧客は、結合プロパティで、商品名同士、納品月同士、をそれぞれ結ぶ ・・・商品Aのみを買った人、もしくは商品Bのみを買った人、を抽出することは出来るのでしょうか? 納品月で一度全てを切ってから、それぞれの差分を取る、という方法しか思い浮かびませんが、 データが3年分あるので大分骨が折れます。 他に簡単な方法があれば、教えて下さい!

noname#206837
noname#206837

みんなの回答

noname#217196
noname#217196
回答No.5

回答#1への補足質問に対してですが、クエリウィザードはテーブルのほかにクエリ結果も対象にできるので、それで月フィールドの値が一致するものを指定できます。

回答No.4

 確かに、私は、図のように区分は1、2、3と質問内容に沿って発生させています。でも、そのやり方は示していません。なぜなら、それは正答ではないと感じたからです。 <しかし、何か変では・・・>について補足します。  1、商品Aだけを買った顧客  2、商品Bだけを買った顧客  3、商品A,Bを両方買った顧客 と分類したいとの質問。 >実際は、商品名は100個以上あります・・・ が、実際のデータは質問とは違う。多分、「そのようだろう」と予想していました。 >大きくわけると2つに区分されるため・・・ これは、商品マスターに列[科目]ないし列[品種]が存在するってことでしょうか?仮に、そうであれば、  1、[科目]Aだけを買った顧客  2、[科目]Bだけを買った顧客  3、[科目]A,Bを両方買った顧客  9、いずれにも該当しない顧客 と分類したいという質問になります。 アドバイス:質問内容を回答しやすく整理されたし! PS、先の私の回答の主旨は・・・。  クエリーにて[科目]Aの購買客か否かの真偽の値を持つ列を発生させることはさほどシンドイことではない。同様に、[科目]Bの購買客か否かの真偽の値を持つ列を発生させることも簡単。先ずは、この誰でも手の届くであろうことを達成するのが良いのではというのが私の回答の主旨。そうして、データを分類する指標を、まず、目に見える形にした方がミスが少ない。クエリの機能を駆使する必要なんてさらさらない。誰でもやれる簡単なやり方でやるのが一番よい。  1980年代であれば<誰でもやれる簡単なやり方>はダメの象徴。今は違います。ベテランならではの知と経験を感じさせるやり方こそがダメの典型。先の私の回答の主旨は、「簡単でやっていることが見える素人でもできる方法を模索されたし!」をちょっと示しただけ。

回答No.3

失礼、画像が間違っていました。

回答No.2

私なら、単純にクエリで区分列を発生させます。 1 = A 2 = B 3 = A & B 図は、そういうクエリの実行例です。 <しかし、何か変では・・・> 実際問題として、商品名が2つだけという受注データがあるんでしょうか?

noname#206837
質問者

補足

ご回答ありがとうございます。 この区分を発生させる、というのはどのようにロジックを設定すれば良いのでしょうか? 初心者ですみませんが、教えて頂けますと幸いです。 実際は、商品名は100個以上ありますが、大きくわけると2つに区分されるため、(果物、野菜などのように)、こちらは2つと考えて頂いても大丈夫かと思います。

noname#217196
noname#217196
回答No.1

商品Aだけ買った人は、商品Aを買った人から商品A・Bとも買った人の差分をとれば抽出できます。商品Bだけ買った人も同様です。 テーブルをわけて作らなくてもクエリだけで十分処理できます。

noname#206837
質問者

補足

同月を設定しないといけないのですが、こちらはどのように設定すれば良いのかわかりますでしょうか? 初心者ですみませんが、教えて頂けますと大変大変助かります。 どうぞよろしくお願い致します。

関連するQ&A

  • Excel(またはAccessで)日付は個々に、金額は合計で出したいとき

    下記のような表があります。 商品名 抽出日   受注日  納品予定日 受注金額 A   2008/12/2 2008/11/15 2009/1/14  3000 A   2009/1/5  2008/11/15 2009/2/14  2000 A   2009/1/5  2008/11/15   2009/2/14   500 A   2009/1/5  2008/11/15  2009/1/31   500 B   2008/12/2 2008/11/15 2009/1/14  3000 B   2009/1/5  2008/11/15 2009/2/14  2000 これを抽出日と商品名、納品予定日を基準にして、わかりやすくしたいのです。 例えば 商品名 抽出日 納品予定日 2009/1 2009/2  A   2008/12/2        3000 A   2009/1/5          500    2500 B    2008/12/2          3000 B    2009/1/5           2000  といったような表です。 ピボットテーブルを使って作成してみましたが、 1行には1つの納品予定日の金額しか入らないので、 Aの2009/1/5に抽出したデータは2行に分かれてしまいます。 それだと差が計算しづらく、わかりにくいので困っています。 どうにかして、納品日のズレを管理したいのですが、いい方法はないでしょうか。

  • Accessでサブフォームに任意の番号をつけるには

    お世話になっております。 アクセスで苦戦しております。ご教授願います。 業務管理で、得意先からの受注から請求書作成までをつくりたいのですが、納品した項目を顧客ごとに1ヶ月単位でまとめて請求をかけるとやりたいと思っています。 そのときに納品内容に請求番号と同じ番号を振りたいのですが、うまくいきません。 納品テーブル 受注ID 顧客名 内容    納品日  1   A社 テスト     5/1  2   B社 サンプル    5/3  3   A社 テスト2    5/2  4   B社 サンプル2   5/4 納品テーブルのデータを顧客名で抽出し、請求フォームのサブフォームに表示 請求フォーム 請求番号 0001   A社  5月度請求 ーーーーーーー以下サブフォームーーーーーーーー 受注ID 顧客名 内容   納品日  請求番号  1   A社 テスト    5/1 0001  3   A社 テスト2   5/2 0001 ーーーーーーーーーーーーーーーーーーーーーーー と、したい場合はどのようにすればよいのでしょうか。 説明が下手なので、補足があればいたします。 どうかよろしくお願いいたします。

  • ACCESSで複数のテーブルで同じ内容の行を抽出

    いつもお世話になっておりあます。 ACCESSのクエリ作成でお聞きしたき件ありまして、 投稿させていただきました。 下記の様な商品購入テーブルA・Bで ・・・テーブル定義・・・ テーブルA 顧客ID 商品名 テーブルB 顧客ID 商品名 ・・・入力データ・・・ テーブルA 顧客ID 商品ID 0001  あめ 0002 コーラ 0003  せんべい テーブルB 顧客ID 商品ID 0001  おかし 0002 コーラ 0003  わたあめ ・・・・・・・・・・・ とのテーブルにて テーブルAとテーブルBの同じ状態の行 0002 コーラ を抽出するには、どのようなクエリを作成すればよろしいのでしょうか? 見当がつかず、こまっております。 どなたか、御対応いただけますと、ありがたいです。

  • ファイルメーカー 同一IDと日付への番号振り当て

    Aテーブル(伝票)とBテーブル(明細1商品で1レコード)があり A 受注シリアル 日付 顧客ID 合計金額 B 受注シリアル 受注ID 日付 商品名 色 数 小計 フィールドがあり 受注シリアルでリレーションをはり、AにBの内容(商品名、数、色など)をポータル表示させようと考えております。 今回の質問は今まで一つのテーブルで作業をしていたので一度2つのテーブルに別ける事にしました。 今までのデータをBテーブルのフィールド(顧客ID、日付、商品名、数、小計)へ振り分ける事はできたのですが、受注シリアルへ番号を振り分ける作業でつまづいてしまいました。 同日付と顧客IDに番号(受注シリアル)を振り当てるにはどうすればいいでしょうか? 現在Bテーブルに約20000レコードあります。 よろしくお願いいたします。

  • Access、同じテーブルの2つの項目対他のテーブルで1つの項目のリレーションは可能?

    Accessで販売管理をしています。 以下のテーブルを作成し(*は主キーです)、 [売上T]  [商品M]  [顧客M]  [受注T] *売上NO  *商品ID  *顧客ID1  *受注NO 商品ID   商品名    *顧客ID2  商品ID 日付    顧客ID1     顧客名    受注日 金額    顧客ID2            受注金額        受注先1        受注先2 参照整合性にチェックを入れリレーションでつないでいます。 リレーションシップは下記のとおりです。 [売上T]商品ID―[商品M]商品ID―[受注T]商品ID [商品M]顧客ID1及び2―[顧客M]顧客ID1及び2―[商品M]受注先1及び2 ここで顧客と受注先が重複することもあるので、顧客Mから顧客ID及び受注先IDの2つのテーブルにリレーションシップを設定しているのですが、 クエリで  [受注T]受注NO及び受注金額、[顧客M]顧客名で抽出したところ、 5000件以上[受注T]にデータがあるはずのものが、1200件ほどしか抽出できませんでした。 ちなみに[顧客M]と[受注用顧客M]というまったく別のテーブルを作成し、 [商品M]受注先1及び2―[受注用顧客M]顧客ID1及び2 とリレーションを作成し、クエリで抽出するとうまくいきました。 しかしこの方法だと、[顧客M]と[受注用顧客M]という2つのテーブルを管理しなければならなくなるので面倒です。 そこで質問です。 同じテーブルの2つの項目対他のテーブルの1つの項目とでは、うまくリレーションが設定できないのでしょうか。 もし出来ない場合、[顧客M]と[受注用顧客M]の2つのテーブルを管理しなければならない訳ですが、 なんとか簡単に管理できる方法(ひとつのテーブルを変更すると簡単にもうひとつが変更できる設定)はないでしょうか。 非常にわかりにくく長い文章で申し訳ありません。 VBA等はさっぱりわかりませんので、普通の設定の範囲内で、できるかどうかよろしくお願いします。

  • access での値参照およびコピー

    はじめまして、 どなたかアクセス2007での処理方法を教えてください。 アクセス初心者です。よろしくお願いいたします。 以下のような3つのテーブルがあります。 salesテーブルはcsvファイルをインポートしたワークテーブルです。 テーブル名:sales(ワークテーブル) 受注番号 名前   住所 3   さぶろう 長野県 4   しろう  愛知県 ここから追加クエリで以下のテーブルにデータを追加しました。 (ID12と13、IDはオートナンバーです。) テーブル名:顧客マスター 顧客ID 名前 住所  10 たろう 東京都 11 じろう 神奈川県 12 さぶろう長野県 13 しろう 愛知県 そして以下のテーブルにも追加クエリでワークテーブルの情報を追加しました。 テーブル名:受注情報(受注番号3と4を追加) 受注番号 顧客ID  商品名 1    10   りんご(すでにあるデータ) 2    11   ばなな(すでにあるデータ) 3         りんご(今回ワークテーブルから追加したデータ) 4         みかん(今回ワークテーブルから追加したデータ) 上記の場合で、受注情報テーブルに顧客IDを挿入するには どのような方法で追加すればよいのでしょうか? ワークテーブルの中に顧客IDはないので単純な追加クエリでは できなのでどうやったらよいか分かりません。 (顧客テーブルと受注情報テーブルは結合されています。) 同姓同名を避けるためにsalesテーブルの名前&住所と顧客マスターテーブルの 名前&住所を比べて、同じものの顧客IDを受注情報テーブルの顧客ID欄に入れたいのです。 そうすると顧客テーブルと受注情報テーブルの顧客IDのリレーションシップに矛盾が 起きないのではないかと思っています。 よろしくお願いいたします。

  • Accessクロス集計クエリで

    Accessのクロス集計クエリで下記のような商品名・納品週を行見出し、受注状況を列見出しにして集計クエリを作ったのですが、受注状況1 受注状況2の合計を列に増やしたいのですがどうすればよろしいでしょうか。 商品名 納品週  受注状況1 受注状況2 受注状況3 合計 ------------------------------ A   2007/03/25   10      15       0     25 A   2007/04/02   15      12       15     42 A   2007/04/09    0      10       7     17 B   2007/03/25   11       0       11     22 B   2007/04/02   10      15       0     25

  • Access2000 テーブルのデザインを変更したい

    以下のような請求書テーブルがあります。 顧客番号 項目名 料金 0001 商品A 200 0001 商品B 100 0002 商品A 200 このテーブルを以下のように変更したいのです。 顧客番号 項目名1 料金1 項目名2 料金2 項目名3 ... 0001 商品A 200 商品B 100 0002 商品A 200 一括変換する良い方法がありましたら、是非アドバイスお願いします。

  • アクセスで差分を出す方法を教えてください

    Aというエクセルファイルには、データが100件 Bというエクセルファイルには、データが80件として、 AとB両方に入ってるデータ。 AにあってBに無いデータ。 BにあってAにないデータを抽出したいのですが 方法を教えてください。 なにやらアクセスでできるとの事なのですが・・・ よろしくお願いいたします。

  • 【ACCESS】レポートでグループ化する条件

    ACCESS2003です。 納品記録テーブルにメーカー、製品名、容量、などがありますが、 同じ名前の製品はグループ化、しかし、同じ名前でも容量が違えばグループ化させないで表示させる方法はありますか? 例 ●テーブル メーカー:製品名:容量 A社:あいう:10mg A社:あいう:10mg A社:あいう:20mg A社:かきく:30mg A社:かきく:30mg A社:かきく:30mg B社:商品さしす:10mg B社:商品さしす:10mg B社:商品さしす:20mg ↓ ●レポート A社:あいう:10mg A社:あいう:20mg A社:かきく:30mg B社:さしす:10mg B社:さしす:20mg よろしくおねがいします。

専門家に質問してみよう