• 締切済み

ACCESS テーブル同士の照合

テーブルAとテーブルBの照合がしたいのですが (AとBはフィールド名、データ型等全てが同じ) 項目が多く、クエリーの結合プロパティで一つ一つ設定するのが面倒です AとBを単純に照合出来る方法は無いでしょうか?

みんなの回答

  • tossy005
  • ベストアンサー率38% (7/18)
回答No.3

Aテーブルのすべてのフィールドを主キーに設定したあと、 Bテーブルの中身をAテーブルにINSERT INSERTできたもの=1つ以上の項目が不一致

kaieda460
質問者

お礼

回答有難うございます テーブルのフィールド数が少ないのであれば、このやり方で 問題無いのですが、何せフィールド数が多すぎて・・・ でも、最後の最後はこのやり方を使うと思います 回答を待つと同時に自分でもいろいろ調べてみます

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.2

> AとBが照合か不照合かの結果が欲しいだけですが > 照合しテーブルCが出来るやり方でも、構いません > 宜しくお願いします。 う~ん、ごめん 照合って日本語で言えば、調べることで、調べるのはOKとしても、何をするのか?よく判らないのよ・・・簡易的な話をすれば、Where条件でIn演算子を使うと言うことになるのかな? 例えば、クエリのデザインビューでテーブルAのみ設置、フィールドをすべて貼り付けて、SQLビューに切り替えて Select A, B, C, D, ..., Z From テーブルA; と出てくるとして、 メモ帳などで、A~Zのフィールド名をコピー後、「,」を「 &」等に変更し、 「A, B, C, D, ..., Z」 を 「A & B & C & D & ... & Z」 と言う感じに切り替えて、From の後ろの「;」を消して Select A, B, C, D, ..., Z From テーブルA Where A & B & C & D & ... & Z In (Select A & B & C & D & ... & Z From テーブルB); と、文字を打ち込むと、データ状況にもよるけど、一致するレコードが抽出される Select A, B, C, D, ..., Z From テーブルA Where A & B & C & D & ... & Z Not In (Select A & B & C & D & ... & Z From テーブルB); と、Not を Inの前に追記すれば、テーブルAに含まれるが、テーブルBには、無いものが抽出される と、言うこんな感じの話をしているの? 具体的に言えば テーブルA A B C D E F テーブルB D E F G H I とした時に、 Cテーブルが D E F を出すのか? A B C を出すのか? A B C D E F G H I を出すのか? と、言う話ね

kaieda460
質問者

補足

度々すいません テーブルA 商品名1  あ    |   |   | 商品名50 ん テーブルB 商品名1  あ    |   |   | 商品名50 わ (商品名はフィールド名、”あ~ん”はデータ) で、この場合比較して 商品名50が不照合なので、「テーブルAとテーブルBは不照合です」 と言う、結果が欲しいんです なので、別にテーブルCを作成する必要も無いのですが (True,Falseの結果でも良いです) 照合の結果として、テーブルCが作成されるやり方でも良いかな と言う意味で前回書きました。

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

う~ん、質問の意図が判りかねますが・・・ Unionクエリでテーブル同士を結合したいと言うことなのでしょうか? それとも、排他クエリみたいに含んで無いレコードを検出したいと言うことでしょうか? 何を行いたいのか?同じフィールド名、同じデータ型で、結合して、何を出したいのか?よく判りませんが・・・ > AとBを単純に照合出来る方法は無いでしょうか? の、やりたい事が判りかねますので、補足をお願いできますか?

kaieda460
質問者

補足

確かに解り難いですね、申し訳ないです AとBが照合か不照合かの結果が欲しいだけですが 照合しテーブルCが出来るやり方でも、構いません 宜しくお願いします。

関連するQ&A

  • ACCESSのフィールドデータの照合について

    テーブルAのフィールドAとテーブルBのフィールドBの文字をAを基準に1文字づつ全文字を照合しアンマッチ文字が3文字以上発生したら-1を1及び2文字発生は1を全て照合OKなら数字の0をクエリで行いたいのですが・・・ 最大21文字照合となります。 テーブルBのデータは手書文字をOCR変換した物でACCESS2000のマスターデータと照合しています。

  • テーブルとテーブルを結合したい

    同じフィールドを持つテーブル同士のデータを結合して、別のテーブル又はクエリに表示させたいのですが、こんなことできますか?できるとすればどうすればよいのですか? 例:テーブルAの商品フィールドのデータとテーブルBの商品フィールドのデータを一つにまとめてテーブルC又はクエリCに表示させたい。

  • ACCESS2000を使って複数のテーブルを照合する方法について

    ACCESS2000を使用して下記のような3つのテーブルがあったとします。 1.メインテーブル   商品名   コード 1 りんご   012 2 りんご   022 3 バナナ   200 4 バナナ   201 5 イチゴ   100 2.A商店テーブル   商品名   コード 1 りんご   012 2 バナナ   200 3 バナナ   201 3.B商店テーブル 1 りんご   022 2 バナナ   201 テーブル1~3を照合して作製したいクエリ   商品名   コード  A  B 1 りんご   012  ○  × 2 りんご   022  ×  ○ 3 バナナ   200  ○  × 4 バナナ   201  ○  ○ 5 イチゴ   100  ×  × のように複数のテーブルを参照し、テーブル1のフィールドにある内容と同一のものがどのテーブルに存在するまたは、存在しないをがわかるような一覧リストを作成したいのですが、具体的にはどのようにしたら良いのでしょうか。 よろしくおねがいいたします。

  • Access 結合プロパティについて

    Access2010ですが、クエリの結合プロパティについて教えて下さい。 【テーブルA】 1 A1 2 A2 3 A3 【テーブルB】 2 B2 3 B3 4 B4 と言うテーブルから 【結合クエリ】 1 A1 2 A2 B2 3 A3 B3 4 B4 を作りたいです。 ところが、結合プロパティでは、 ・テーブルAのレコードを全部 ・テーブルBのレコードを全部 と言うのは選べるのですが、 両方のテーブルいずれかにあればデータを持ってくる と言う設定が分かりません。 すみません。どなたか教えて下さい。 よろしくお願いいたします。

  • アクセス テーブル、クエリーについて

     アクセスでソフト作成中です。そこで教えてほしいことがあります。 たとえば下記のように2つのテーブルがあります。 テーブル1   テーブル2   フィールドA    フィールドB  a1       10  b1       20  c1       30          テーブル1の数値は固定します。そこで下記のようなクエリーを作成したいのです。 クエリー1 フィールドA フィールドB a1 10 b1 20 c1 30 テーブル2に数字を入れていくと テーブル1   テーブル2   フィールドA    フィールドB  a1       10  b1       20  c1       30           40 クエリー1 フィールドA フィールドB a1 40 b1 20 c1 30 このように数字が上書きされていくようなクエリーは作成できないでしょうか。(あくまでテーブル1の数値は固定、フィールドAとフィールドBにリレーションシップは設定されていない。) よろしくおねがいします。

  • 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ステートメントを実行できません。云々。。。」と警告エラーがでてしまいます。 どなたが、ご教授いただけると助かります。 ご面倒ですが、よろしくお願い致します。

  • Accessのテーブルの結合

    AのテーブルとBのテーブルがあります。各テーブルにナンバリングの項目を設定したとして、そのナンバリングをもとにAとBのテーブルを結合したいのですが、どのようにしたらいいのでしょうか?結果的にAの1とBの1を1データとして出したいのですが・・・。データ件数は各60件ほどです。よろしくお願いします.

  • ACCESSの結合

    よろしくお願いします。 ACCESS2000で、AテーブルのA'フィールドとBテーブルのB’フィールドを結合させ、同一でないものを表示させる(クエリーで)方法を教えてください。 よろしく、お願いいたします。

  • Accessのフォームとテーブルについて教えてください。

    Access2003を使用しています。 既存のフォームAにフィールド3個を増やしました。 フォームAはテーブル(1)と連動していました。 追加したフィールドはテーブル(6)のものです。 ところがフォーム上で追加フィールドに入力が出来なくなりました。3フィールドのうち、ひとつはコンボボックスです。表示はされますが確定ができません。 フォームAのSQLステートメントではテーブル(1)・(6)以外にテーブル(2)・(3)・(4)・(5)が結合されています。 フォームAからするとテーブル(2)・(3)・(4)・(5)のデータはIDの名称を見るための参照用です。 テーブル(6)は、追加フィールドのコンボボックスが参照用で、他の2追加フィールドは、フォームから入力してテーブル(6)に反映させたいものです。 テーブル(6)の画面では入力できます。 フォーム上からは入力できません。 設定が何か欠けているからでしょうか? 他の質問では2つのテーブルをひとつのフォームにする場合は、クエリを別に設けた方がいいとなっています。フォームが出来上がっているので、できればクエリを設けずに行いたいのですが、よくない方法でしょうか? 手順なども踏まえて教えていただけると助かります。 よろしくお願いいたします。

  • ACCESSのクエリで表示されるデータについて

    クエリで表示されるデータの範囲について教えてください。 <状況例> 例えばなのですが、取引先会社の管理データベースとして「テーブルA」と「テーブルB」があったとします。 「テーブルA]のフィールドは「会社ID」、「会社名」、「住所」とします。 「テーブルB]のフィールドは「連絡先ID」、「会社ID」、「担当者名」とします。 そして、「会社ID」をリレーションシップで繋いで、クエリで「テーブルA」「テーブルB」の全てのフィールドを表示したとします。 この時、「テーブルA」にデータが5つあり、「テーブルB」にはデータが2つしかなく、結果リレーションシップを通じて対をなすデータが2つしかない場合には、クエリでは2つしかデータが表示されないと思います。 <質問> クエリではリレーションシップで対をなさないデータは無効となるようですが、対をなさないデータも全てクエリで表示する方法はないのでしょうか。 上記例でいうと、「テーブルA」のデータ5件全てについて表示させたいのですが。もちろん、「テーブルA」のデータ中対をなしていないものについては、「テーブルB」のフィールド内容については「空白」での表示となりますが。

専門家に質問してみよう