• ベストアンサー

accessの複数条件での抽出

2つのテーブルがあります。 テーブルA 商品 価格 数量 テーブルB 商品 価格 数量 この2つのテーブルから、同じ商品を抽出して、尚且つ価格が異なるものを抽出したいのですが、この作業を一括で行うことは可能でしょうか。 今のところは同じ商品のものを新たなテーブルに作成して、 その中から異なる価格のものを抽出している状態です。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

テーブルAとテーブルBを選択クエリで商品をキーに連結して下記のようにすればいいのでは? フィールド名|商品_____|価格______________|価格___| テーブル名_|テーブルA|テーブルA___________|テーブルB| 抽出条件___|__________|<>[テーブルB].[価格]|____|

kouji_30
質問者

お礼

お礼が遅くなり申し訳ございません。 mshr1962さんのご回答されていた内容が、私が求めていたものだったので、 本当に助かりました。 ありがとうございます。

その他の回答 (2)

回答No.3

kouji_30さん 今日は! >この2つのテーブルから同じ商品を抽出して尚且つ価格が異なるもの >を抽出したいのですがこの作業を一括で行うことは可能でしょうか。 回答者のmshr1962さんが回答されていますが商品を主キーにしてリレーションすればよいと思いますが? ■リレーションについて↓ http://www.sk-access.com/Syo_Table/StA006_Relation.html 内容:テーブルのリレーションについて説明します。例は違いますが商品マスタと単価マスタにすれば良いと思います。 ■これならわかるマイクロソフトアクセス活用法↓ http://www.sk-access.com/index.html 内容:アクセスの詳細目次 テーブル クエリ フォーム レポート マクロ VBA その他 Accessは出来てしまえば凄く使用かっては良いので、プログラムの作成は結構難しいので最近はExcelの方が、ユーザーは増えているので残念です。 ■Moug即効テクニック(Access一般機能)↓ http://www.moug.net/tech/acopr/ 内容:1.Access設定2.Windows環境・オブジェクト3.エラー処理・入力チェック4.クエリ・SQL5.コントロール6.データベース・データ保護7.データ操作8.ファイル操作・他アプリケーションとの連携10.フォーム・レポート11.ユーザーインターフェース12.日付・文字列操作・演算13.その他 のカテゴリーからプログラムの実用ヒントが得られます。 ■Moug即効テクニック(AccessVBA機能)↓ http://www.moug.net/tech/acvba/ 内容:上記と同様なカテゴリーからプログラムの実用VBAヒントが得られます。 まずプログラムを作成する為に他の人が作成した物を真似して段々とノウハウを身に付けるのが大切と思います。 参考までに。

kouji_30
質問者

お礼

ARIKEN43さんこんばんは。 お礼が遅くなってしまい、本当にすみません。 たくさん参考になるサイトを教えていただき本当に感謝しています。 こういうサイトを探し出すのも私は下手なようです(汗) サイトを1つ1つ見てじっくり勉強してみます。 本当にありがとうございました。

  • tag1701
  • ベストアンサー率54% (67/123)
回答No.2

こんにちは。 >価格が異なるものを抽出したいのですが という部分ですが、機械にどの価格が異なるものだよと指示を 出すかを考慮する必要があります。 例)Aという商品が両テーブル合わせて4件あります。   このうち2件が100円で2件が200円というケースの場合。   機械はどれが異なる価格か判断させなければなりません。   こういう場合、通常商品テーブルに商品名・単価と決まった   データを与え、これに合わないデータを抽出させるという   事になると思います。  (こういうケースは無いと決まっていても、マシンに理解させるには   相応のプログラミングが必要になってくるので、作業量が少ない   のであれば今の方法が一番簡略かと思いますが。。。)

kouji_30
質問者

お礼

そうなんです、重複するケースなども発生するので、頭をかかえていたのですが、今回はおおよその目安でかまわないとのことだったので、No1さんのように作成してみました。 しかし、tag1701さんが指摘されているような点も踏まえ、もう一度作成し直そうと思います。 ありがとうございました。

関連するQ&A

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

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

  • Access クエリ 抽出条件

    Access の クエリ における 抽出条件 の 書き方についてご質問させていただきます。 クエリには、左から『商品名』、『出荷数量』、『注文数量』の3列がございます。 各レコードの『出荷数量』フィールドの値と『注文数量』フィールドの値を比較し、 『注文数量』フィールドの値の方が大きいレコードだけを抽出したいのですが、どのように抽出条件を記載すればよろしいでしょうか? 元データは1つのテーブルに格納されています。 例:注文数量:500、出荷数量:200など出荷数量が少ないレコードを抽出対象 注文数量:100、出荷数量:100など注文数量=出荷数量レコードは抽出対象外

  • ACCESS2007 クエリの抽出条件について教えてください

    ACCESS2007で、ルックアップ列(コンボボックス)を使用したテーブルがあります。そのテーブルをクエリにて、コンボボックスの条件別に抽出させたいのですが、その抽出条件を教えていただけませんでしょうか。 コンボボックスリストの中身(A,B,C)       A→Aのみ抽出したクエリ       B→Bのみ抽出したクエリ       C→Cのみ抽出したクエリ という風に作成したいのですが。 お忙しいところ申し訳ありません。よろしくお願いします。

  • accessの不一致抽出

    accessで2つのテーブルで一致しないものを抽出しようとしてますが、抽出された数が合いません。 テーブルは下記のように2つあります テーブルA AAA ABA CCC DDC DDC テーブルB AAA ABB CCC DDC DDD これで AとBのテーブルをつなぎAのみに存在するものを抽出するのに Aを元テーブルで対象テーブルをBにして、 BのほうにIs Nullを入力して、不一致分だけ抽出して新しいテーブルを作成してます。 同じようにその逆で、Bにのみ存在しているものを抽出してテーブルを作成しました。 最後に、同じようにAとBをリレーで繋ぎ、リレーのプロパティの「1」で、AとBで一致するものだけを抽出してテーブルを作成しました。 Aのみに存在(テーブルA') Bのみに存在(テーブルB') 両方に存在 (テーブルC) そこでテーブルC-テーブルA’の数と、テーブルC-テーブルB'の数を比較して、同じになると思ったんですが、数が異なってしまいました。 おそらく値の「DDC」の所の抽出が問題だと思い、 プロパティで「固有の値」を「はい」にしてみましたが変わりませんでした。 不一致で抜き出したいのは、「DDC」が、テーブルAには2つ、 テーブルBには1つ値があるので、テーブルB’に1つだけ不一致を抽出できればベストなんですが。 access初心者な為、根本的にやり方や考え方が間違っているかもしてませんし、状況説明も下手ですみません。 どなたかご教授いただければと思っております。

  • Accessの抽出

    今、何処へいくつ荷物を送るかのリストを 作成しています まず、テーブルAにデータが入っています クエリーBで日付にてデータ抽出させています クエリーCでクエリーBで抽出したデータの クロス集計をしています。 そして、その結果をレポートで印刷します。 ここまではいいんですが、 レポートで出したデータの中に レポートに出さなくてもよい荷物が数個あるんです その荷物がレポートに出ないようにする為には どうしたらいいのかわかりません。 ちなみにテーブルAは基本データなので いじりたくはありません。 このような条件で数個の印字しなくてよいデータを 出さずにどこへ荷物がいくついくのかがわかる リストを作成するにはどうしたらよいでしょうか? 説明がわかりずらいとは思いますが 宜しくお願い致します。

  • アクセスのデータ抽出

    現在テーブルA(支店コード、支店名、郵便番号、住所)とテーブルB(支店コード、社員番号、商品Aの売上数、商品Bの売上数・・・※商品名ごとにレコードを持っています。)の2つのテーブルを使っています。 これをクエリで抽出しているのですが、社員一人につきひとつのレコードしか抽出されません。 売上のない支店も全て抽出し、実績報告書として印刷するため、テーブルAとBに結合のプロパティでテーブルAの全てを選んでいるため、これ以外の方法でテーブルBのデータ全てを抽出したいのですが、何か方法はありますか?

  • 抽出条件に応じてテーブルを作り分ける方法

    抽出条件テーブル(a)があり、抽出条件が参照するテーブル(b)がある。(a)には複数の抽出条件が登録され、(a)を参照しつつ、(b)から抽出されるテーブル(c)を抽出条件に応じて複数作成したい。つまり、(a)に登録された抽出条件の数だけテーブル(c)が作成される。 これをクエリで実行できる方法をご教示願いたい。 なお、(b)からデータを抽出する場合、上記の抽出条件テーブル(a)に代えて、クエリ内に抽出条件を20~30個記述する方法でも可。 Access2010を使用しています。VBAは使用しません。

  • Access 抽出漏れ行をみつけるクエリ

    図のようなテーブル「TBL_A」がCSVファイルの形で提供されます。この「TBL_A」は全レコードのテーブルあり「正」データばかりのマスターと考えてください。 このCSVデータをACCESSによみこみテーブル「TBL_A」としてあります。 「TBL_A」をいろいろな人が加工したり、抽出作業をしているのですが、「TBL_B」のような抽出をかけて渡してきた人がいたので、「データ(レコード)が足りないので、不一致クエリで足りないのを見つけておいてください」と頼んだところ、何度やってもみつけられないというので、自分でも試してみました。 図でいえば、ピンク色のレコード(行)をみつければいいのですが、Accessで不一致クエリをかけてみたところ、図の下部のようなデータしか抽出できませんでした。 やったことは2つ 1) TBL_Aを左にし、右にTBL_Bを右に配置し、不一致クエリウィザードでの矢印(→)で商品コードを紐付けた 2) 最初にTBL_AとTBL\Bをクエリで「商品コード」「価格」ぞれぞれ結びつけ(つまり2つの線)、「商品コード」「価格」を「クエリ1」として抽出。その「クエリ1」を上のTBL_Bの位置にもってきて、不一致クエリ。 どちらとも、結果は図の下のようになってしまいます。 図の上部のピンクの部分を確実に抜き出すには、どのようなクエリ(またはSELECT文)が必要でしょうか。 メモ: ・商品コードは「テキスト型」です。 ・商品コードが同じでも販売場所やいろいろな経緯で価格が違っていたり、返品の場合は返金するためマイナス金額がつくことがあり、商品コードと価格はかならずしも合致しません。 ・Accessは2010か2013を使っています。 ※今回はVBAの質問ではありません。

  • Accessクエリの抽出条件

    Access2000を使用しています。 クエリの抽出条件にテーブルの値を使用したいのですが、その方法がわかりません。 テーブルAには、「日付」、「当者コード」 などの項目があります。 テーブルBの項目は「担当者コード」のみです。また、1レコードしか登録 されていません(2レコード以上になることはありません)。 そこで、テーブルAに対するデータ抽出条件を、テーブルBの「担当者」としたいのですが、 どのように記述すればよろしいでしょうか・・・? よろしくお願いします。

  • Access 選択クエリーの抽出条件

    Access2000を使っています。 選択クエリーの抽出条件にテーブルの値を設定することは可能でしょうか? たとえば、テーブルAに対して、抽出条件をテーブルBのデータでコード番号 ”B*”(コード番号にBのつくもの)を抽出したいのですが・・・。 よろしくお願いします。

専門家に質問してみよう