【緊急】部番コードの不一致を解決する方法

このQ&Aのポイント
  • Microsoft Access 2000を使用して部番コードの不一致を解決する方法についてお助けください。
  • デザインビューでクエリを作成する機能から、AテーブルとBテーブルの部番コードが一致しないレコードを抽出する方法を教えてください。
  • 部番コードがAテーブルにのみ存在する場合に出力するテーブルを作成する方法についてお教えください。
回答を見る
  • ベストアンサー

明日までに作成しないと^^; 不一致クエリー機能がついていないので困っています

こんばんは。いつもお世話になっております。Microsoft Access 2000 を使用して現在、にらめっこ状態で作業をしておりますが息詰ってしまって。。。 早速ですが、下記のような作業を【デザインビューでクエリを作成する】機能から入って処理したいと思っております。(当方のアクセスには不一致クエリウィザードが使えないのです…) Aテーブルにある部番コードと、Bテーブルにある部番コードが一致しないレコードをテーブルとして作成したいと思っております。但し、Aテーブルのみに入っている部番コードのみ出力したいという内容です。Bテーブルに入ってる部番コードがAテーブルに無い場合は、その部番コードは必要ありません。この逆でありますAテーブルに入っていてBテーブルに無い部番コードは出力しなくてはなりません。 上手く表現できなくて申し訳ございません…。結局の所は、出力されるテーブルに入ってくる部番コードはAテーブルにしか存在しないもの、という事になります。(一致しないものを出力する) どなたかお手すきの方、いらっしゃいましたらどうぞ宜しくお願い致します。

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

  • ベストアンサー
  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.1

テーブルAとBをクエリデザインに持ってきて、部番コードでリンクします。 リンクのプロパティから2番目の「Aの全部と、一致するB」を選びます。 クエリデザインで、Bの部番コードの条件に「Is Null」と入力します。 これで大丈夫だと思います。 SQL文まで必要でしたらまたおっしゃってください。 頑張ってください(^o^)丿

choko_late
質問者

お礼

出来ましたっ!有難うございます♪<(_ _)> でも…不安なのでSQLを下記に記載させて頂きますね。 SELECT [0413].[状態2], [0413].[部番], [0413].[業種], [0413].[子部番] FROM 0413 LEFT JOIN [削除対象一覧12380件(重複無し)] ON [0413].[部番]=[削除対象一覧12380件(重複無し)].[フィールド1] WHERE ((([削除対象一覧12380件(重複無し)].[フィールド1]) Is Null)); で、実は上記で説明しましたBテーブルというのは対象外となる部番コード一覧表でした。なのでBに入ってる部番コードは結果として出力してはならないものだったのです。 しかし実はこのBテーブルと申しましたのは実は元のファイルがあり、これには部番コードが重複されて入力されていました。 なので重複データは1件のみ出力で、という形にクエリー処理で作成したのがBテーブルと表現しておりました。ところで、このBテーブルなのですが、、、ちょっと不安が出て参りまして。 SELECT 削除対象一覧.* FROM 削除対象一覧 WHERE (((削除対象一覧.フィールド1)>"1")); のようなSQLで重複をなくしたファイルを作成したのですが、この記述、間違いないでしょうか。これが間違っていたら、今、お教え頂いた作業で出したデータは正しくない…という悲しい結果になってしまいます。 何度も恐縮ですが、ご覧頂いておりましたら是非とも宜しくお願い申し上げます。

choko_late
質問者

補足

こんばんは。早速のご回答、有難うございます。今からおっしゃって下さいましたことをやってみようと思います。 が、何せのろまというか、慎重になっちゃうので、もしかしたら20分くらいかかってから再度、こちらに状況を記載する形になってしまうかもしれません。。。 が、もしもその時、お手すきでしたらまたどうぞ宜しくお願い致します。 ん。頑張らねば^^;

その他の回答 (1)

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.2

どうですか・・・できましたか?一応SQL文を載せておきますね。 新規クエリのデザインで 表示→SQLビュー ここに下記のコードを貼り付けてもいいです。 SELECT テーブルA.* FROM テーブルA LEFT JOIN テーブルB ON テーブルA.部番コード = テーブルB.部番コード WHERE (((テーブルB.部番コード) Is Null)); 頑張ってください(^o^)丿

choko_late
質問者

お礼

う゛っ。。。行き違いのようでした。。。で、今からまた確認させて頂きますね。

choko_late
質問者

補足

おぉーっ。本当に有難うございます。合っていました。的確なご指導のお陰です。本当、感謝致します<(_ _)>

関連するQ&A

  • 選択クエリを基に不一致クエリを作成したけれど...

    識者の力をお借りしたく質問いたします。 質問ページから不一致クエリに関する内容を参考に、ある不一致クエリを作成しています。 しかし、出来るはずの方法で結果が正しく表示されず途方にくれています。 処理の内容としては、あるクエリのフィールドを参考に不一致クエリで差分レコードを抽出したいというものです。 通常不一致クエリはテーブルの主キーを基に作成するものと私は理解しているのですが、今回の処理では基のテーブルに主キーが無く、(作成できない事情があり)クエリで無理矢理主キーもどきのものを作りました。 クエリで作成したのは、数字6桁(最大で)の後ろにチェックディジットとしてアルファベット1文字を追加した計7文字のフィールドです。 例:131401A 不一致を抽出したい基となる2つのテーブルに対しこのクエリを作成しました。 この2つのクエリから不一致クエリで差分を抽出し、基のテーブルに追加クエリで追加したいのですが、どうやっても不一致項目が表示されません。 根本的にクエリからの不一致クエリは作成できないのでしょうか? よろしくお願いいたします。 ■状況 テーブル1/テーブル2(基となるテーブル、主キー無し) クエリ1/クエリ2(テーブル1/テーブル2のレコードにコードを追加するクエリ) コード1/コード2(クエリ1/クエリ2で作成したコード)例:131401A 不一致クエリ テーブル2 → テーブル1 (リレーションシップ) コード2 条件:Not Null ※テーブル2の方が最新レコードが入っているので、テーブル2の差分レコードをテーブル1に追加したいというのが基本的な内容です。 よろしくお願いいたします。

  • 複数テーブルの不一致クエリについて

    SQLで、下記selectを行いたいです。 テーブルA テーブルB テーブルC これら三つのテーブルには、同一のコードが振られています。 この三つのテーブルのひとつにでも、抜けているコードを抜き出したいです。 (テーブルAのコード=テーブルBのコード=テーブルCのコードになっていないコード) 例) テーブルAに入ってるコード(1.3.5) テーブルBに入っているコード(1.4.5) テーブルCに入っているコード(1.5.6) このとき、三つのテーブルにきちんと入っているコードは、1と5だけなので、それ以外のコードを抜き出す→3.4.6 これをSQLで行う場合、簡単なSQL文はありますでしょうか? 今、考えているのは、各テーブルすべてをinner joinしたviewを作成し(これにより三つとも入ってるコードの一覧ができる)、 そのviewと、テーブルA、テーブルB、テーブルCそれぞれをひとつづつleft joinして、不一致データを取り出す方法です。 でも、そうすると、viewを作成しなくてはいけず、また、SQLをテーブルの数分(今回は3回)投げなくてはいけなくて。。 もっと、単純にかけないものでしょうか? ご存知の方、教えてください。

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

    Accessの初心者です。 二つのテーブルのデータを比較したいのですが、それぞれ構成が違います。例えば”6523410”という数字が両方のテーブルにあるかどうかを調べたいとします。 テーブルA 523(契約コード),410(ID) テーブルB 6523(取引コード),41(地域コード) 頭の”6”と最後の”0”は共通の数字です。クエリで新たにフィールどを作り、”6523410”にするまではわかるのですが、2つのテーブルのリレーションシップはどのようにすればよいか、わかりません。 このような場合は、不一致クエリは使えないのでしょうか? 仕事で、明日中にデータを照合しなければいけないので困っています。 よろしくお願いします。

  • クエリ・テーブルについて教えてください。

    access2003です。 作業番号・部コード・課コード・氏名を作業番号をキーに各テーブルから取り出すテーブル作成クエリを作成しました(名称:作業番号クエリ)。 新しく部コード・課コード・フラグ(1~9)のテーブルがあります。 「作業番号クエリ」のテーブルからフラグが3・4・6・7の部コードのみを取り出すテーブル作成クエリをつくりたいのです。 どのようにすればよいのでしょうか?抽出条件は3or4or6or7だと思うのですが、これ以外わかりません。教えてください。 作業番号 部コード 課コード 氏名 100010 001 2001 森田 100012 003 2004 森本 100018 002 2003 山本 100019 001 2002 山田 部コード 課コード フラグ 001 2001 1 001 2002 4 002 2003 3 003 2004 2 004 2005 4 005 2006 5 005 2007 6 005 2008 7 003 2009 8

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

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

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

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

  • 【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初心者で、クエリウィザードを使用した重複データ抽出、不一致データ抽出、 およびクエリデザインを使用した重複データ抽出が何とかできる程度です。 初心者でも分かるようにご回答いただければ大変助かります。 よろしくお願いいたします。

  • 不一致クエリーを活用したい MS:ACCESSにつ

    ACCESSの不一致クエリーについて質問です。 不一致クエリーをウィザードで作成すると、1つの項目(列)に対して不一致な場合に その情報を抽出するというデザインになっていますが、 これを、もう少し厳しくして、3つ、ないしは4つの項目(列)が一致していないと、 不一致とする・・・といったようなデザイン(クエリー)は作れないでしょうか。

  • クエリの作成方法

    支店に月次の実績報告を毎月出すのですが、現在は全支店のテーブルAと実績内容のデータがあるテーブルBがあります。この2つのテーブルを使って、 (1)テーブルAとテーブルBを使ったクエリ1を作成しレポートIを作成 (2)テーブルAとテーブルBの差分クエリでレポートIIを作成 (3)(1)と(2)で作成したレポートを支店コード順に手作業で並び変えています。 ※上記レポートIとIIの様式は同様で、レポートIIには「今月の実績はなし」との文言が入っているだけです。 これをどうにかして、レポートをひとつだけにして最初から支店コード順に印刷できないものかと、試行錯誤を繰り返していますが、初心者の私ではいいアイディアが浮かびません。 皆さんのお知恵を拝借させてください。よろしくお願いします。

  • 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の質問ではありません。

専門家に質問してみよう