• 締切済み

レコードの一致方法

テーブルA(マスター) [コード]、[商品名]        ○○○、△△△ テーブルB [コード]、[商品名]       ○○○、△△△ テーブルC [コード]、[商品名]       ×××、△△△ 以上のように、3つのテーブルの不一致クエリーなどを 抽出する場合、テーブルAとB同士の場合は、一致しないのはコードを結合線で結べば、すぐに出てきますが、テーブルAとCの比較の場合は、コードを結合線で結んだところで、違うのでうまくできません。 商品名は△△△なので、コードが違っていても、商品名はあっているので、不一致ではなく、一致しているというように考えたいのです。 △△△についてのコードは×××、○○○というように2つ以上持っているような感じですれば、うまくいくとおもっているのですが、こういう場合はテーブルAにコードのフィールドを2つ作っておいて、結合線でつなぐときに切り替えてするしかないのでしょうか? テーブルA(マスター)で、このような、2つのコードを持っているとおもわれる商品はレコード100以上あって、それをそれぞれ選びながら入力していかないかとおもうと、大変な作業化とおもっているのですが、アドバイスあればお願いします。

みんなの回答

noname#182251
noname#182251
回答No.1

何をやりたいのか良く判りませんが(^^; 1.判定用のフィールド(ブーリアン)をテーブルAに用意する 2.判定用フィールドの初期化 3.AとBの比較で判定用フィールドを変化 4.AとCの比較で判定用フィールドを変化 みたいなことでできないでしょうか?

9nainai9
質問者

お礼

fuuten_no_nekoさん、参考にさせていただきます。ありがとうございました。ただ自分のスキルがまだそこに追いつけていないので、レコードを更新していくはめになるかもしれません。変化していくレコードをキーにしようというのが無理なんでしょうね。

関連するQ&A

  • 一致するレコードを削除したい。

    質問します。ACCESS(office2000)を使って下記の様に実行したいのですが。 テーブルA         テーブルB 商品名、 管理番号    単価、 管理番号 パソコンA   101      \1,200  112 パソコンB  102       \1,300  102 パソコンC  103      \1,500  123           ↓ テーブルA 商品名、  管理番号 パソコンA  101 パソコンC  103 削除クエリを実行して管理番号が一致するレコードをテーブルAから削除したいのですが、削除クエリどうやって設定すればいいのでしょうか。どうかご教授をお願い致します。

  • 【Access】部分一致で不一致データを抽出したい

    クエリで2つのテーブルから、不一致データを抽出したいのですが、 完全一致だけでなく部分一致のデータも一致データとして取り除きたいです。 [テーブルA]フィールド1 000-0001 000-0001A 000-0002 000-0003 000-0004 [テーブルB]フィールド2 000-0001 000-0002 というようなデータで、結果は [結果] 000-0003 000-0004 というふうにしたいです。 (000-0001だけでなく000-0001Aというデータも取り除きたいのです。) Access初心者で、クエリウィザードを使用した重複データ抽出、不一致データ抽出、 およびクエリデザインを使用した重複データ抽出が何とかできる程度です。 初心者でも分かるようにご回答いただければ大変助かります。 よろしくお願いいたします。

  • 不一致クエリでnullまで抽出されてしまいます

    質問です。 現在、accessにて不一致クエリを使用し、テーブルAをチェックし、 マスタテーブルに無い情報が書かれてしまっているフィールドがある場合 抽出して確認をする、というクエリを作りたいと考えています。 不一致クエリにて自動で入る「is null」を使用すると マスタテーブルに無い事が書いてあるレコードは抽出するのですが (逆になぜis nullで相違するレコードが抽出されるのか理解に苦しんでもいるのですが) is nullですので、nullのレコードも抽出されてしまいます。 抽出条件として、マスタテーブルと相違するもの&nullは抽出しない、としたいのですがお知恵を拝借出来ませんでしょうか。 よろしくお願いいたします。

  • Accessの不一致クエリについて

    Accessの初心者です。二つのテーブルの異なるフィールどを比較する方法について、教えてください。 例えば、"6523610"という数字が両方のテーブルにあるかどうか調べたいとします。 テーブルA 523(フィールド名:契約コード)+610(ID) テーブルB 6523(フィールド名:取引コード)+61(フィールド名:地域コード) と、それぞれ構成が違います。頭につく"6"と最後の"0"は共通の数字です。クエリで新たなフィールドを作って、"6523610"にするまではわかるのですが、どのフィールドを関連づけていいかわかりません。このような場合は、不一致クエリではできないのでしょうか? 仕事で、明日中にデータを調べなければいけないので困っています。 よろしくお願いします。

  • ACCESSクエリでの結合の仕方

    ACCESS 2003を使用しています。 テーブルA テーブルB テーブルC の3テーブルでクエリを作っています。結合的には・・・ テーブルAのフィールドX⇔テーブルCのフィールドX テーブルBのフィールドX⇔テーブルCのフィールドX です。 これで3テーブルに共通する一致データのみ抽出はできるのですが、 3テーブルに共通する一致データに加えて、テーブルAとテーブルBの不一致データ(テーブルCに対する)も一緒に抽出できるようにしたいのです。 2テーブルだけの結合であれば、結合プロパティを、 テーブルAのフィールドX⇒テーブルCのフィールドX のようにすることで実現できるのですが、3テーブルの結合の場合、どのようにすればよいでしょうか? テーブルAのフィールドX⇒テーブルCのフィールドX テーブルBのフィールドX⇒テーブルCのフィールドX のようにしてみましたが、「あいまいな外部結合が含まれているので、SQLステートメントを実行できません。云々。。。」と警告エラーがでてしまいます。 どなたが、ご教授いただけると助かります。 ご面倒ですが、よろしくお願い致します。

  • Access2000で一致しない値を抽出するには?

    仕事でAccess2000を使ってデータベースを作らなければならなくなりました。 Accessはほとんどさわったことがなく、素人です。 どなたかご教授ください。 よろしくお願いします。 テーブルがAとBふたつあります。 テーブルAには建物名Aと住所Aの2つのフィールド、 テーブルBには建物名Bと住所Bの2つのフィールドがあります。 この4つのフィールドでクエリを作成しました。 この中で、 ・AとBで建物名は同じだが住所が違うもの ・AとBで住所は同じだが建物名が違うもの ・どちらか一方にしかない建物名と住所 この3つを抽出したいのですが、抽出条件はどのようにすればいいのでしょうか? クエリで フィールド 建物名A   住所A  建物名B  住所B 抽出条件 <>建物名B  <>住所B とやってみたのですがうまくいきません。 言い換えれば、建物名Aと住所A、建物名Bと住所B、 この2つが完全に一致しているもの以外を抽出したいと思ってます。 どなたか、よろしくお願い致します。

  • ACCESSユニオンクエリでORDER BYエラー

    お世話になります。 クエリAとBがあり、それぞれのクエリでは製品コードの先頭6文字(製品コード先頭6文字: Left([マスター]![製品コード],6))の昇順で並び替えしてます。 個々のクエリでは問題なく並び替えされるのですが、この二つのクエリをユニオンクエリで結合するとエラーとなってしまいます。 『ORDER BY 式 (Left([マスター]![製品コード],6))にクエリに選択されていないフィールドが含まれています。ORDER BY 式 (Left([マスター]![製品コード],6))に含めることができるのは、最初のクエリで要求されたフィールドだけです。』 となります。 調べたところ、『ユニオン クエリで使用されるテーブルにおいて、1 つ以上のフィールド名を変更した場合に発生します。 』ということでした。 http://support.microsoft.com/kb/282322/ja 確かに、それぞれのクエリでフィールド名を変更しているのですが・・・このような場合、どのようにすればうまく結合できるのでしょうか。それとも不可能なのでしょうか。。 以上、よろしくお願い致します。

  • ACCESSクエリでの結合の仕方・・・SQL文かも

    ACCESS 2003を使用しています。 テーブルA テーブルB の2テーブルでクエリを作っています。 結合的には・・・ テーブルAのフィールドX ⇔ テーブルBのフィールドY です。 これで2テーブルに共通する一致データのみ抽出はできるのですが、 2テーブルに共通する一致データに加えて、 2テーブルの不一致データも一緒にクエリ表示されるようにしたいのです。 欲しいのは抽出イメージは、以下のような感じのクエリ結果です。 テーブルA:フィールドX|テーブルBのフィールドY a             |(空) (空)           |b c             |c d             |(空) (空)           |e f              |f  g             |(空) h             |h おそらく、SQL文を書く必要があるとは、想像できるのですが・・・ どなたか、ご教授いただけると助かります。 よろしくお願いします。

  • Accessの不一致クエリについて

    Accessの不一致クエリについて質問があります。 ある注文リストと商品マスタを比べ、 まずテーブル作成クエリで注文リストとマスタを比べ、常備品(商品マスタにある)は出荷日に本日日付をセットしテーブル作成、次に不一致クエリでマスタにない特注品は空欄のまま先程作成したテーブルに追加をするマクロを作成しました。 すると、注文が100件、特注が2件だった場合、最初は98件が作成されますが、不一致クエリをやっても0件になります。 ちなみに商品マスタには、商品コードと3種類の規格があり、注文リストの商品コード+規格を連結、商品マスタのそれを連結させて、一致か不一致かで見ています。 不一致がどうしても0件になるのですが、解決方法はないでしょうか。 お願いします。

  • 2つのテーブ2つのフィールド一致レコード抽出

    複数マッチングデータテーブル [フィールド1][フィールド2][フィールド3]   1      A      1      2      A      1      3      A      1      4      A      1    5      A      1      6      A      1   複数マッチング引抜テーブル [フィールド1][フィールド2][フィールド3]   1      A      1      2      A      1      3      A      1      4      A      1    5      A      1      6      B      1  クエリ(結果) [フィールド1][フィールド2][フィールド3]   1      A      1      2      A      1      3      A      1      4      A      1    5      A      1    上記のように [フィールド2][フィールド3]のデータが 一致したデータのみ 抽出したいのですが アドバイスいただけないでしょうか。 因みに 不一致クエリなら SELECT 複数マッチングデータ.* FROM 複数マッチングデータ LEFT JOIN 複数マッチング引抜 ON (複数マッチングデータ.[フィールド2] = 複数マッチング引抜.[フィールド3]) AND (複数マッチングデータ.[フィールド2] = 複数マッチング引抜.[フィールド3]) WHERE (((複数マッチング引抜.[フィールド1]) Is Null)); のような感じで対応できるのですが 一致データ抽出についてアドバイスお願い致します。