Access2010でテーブルの内容で検索する方法

このQ&Aのポイント
  • Access2010のAテーブルとBテーブルに対して、番号を検索する方法を解説します。
  • Aテーブルの全てのレコードの番号を取得し、Bテーブルに存在しないデータを表示する方法を紹介します。
  • Accessの初心者でも簡単に実行できる検索方法を詳しく解説します。
回答を見る
  • ベストアンサー

Access2010でテーブルの内容で検索

現在Accessの勉強をしています。 Aテーブル、Bテーブルとあり、 AテーブルはID(オートナンバー)、番号(数字)、名前(文字列)が入っています。 この番号は重複ありで、複数レコードあるとします。 Bテーブルも同じようなID、番号、名前が入っていて、ここの番号は重複していません。 いわばマスタテーブルのようなものです。 (IDと番号を別ける必要があるのかなど、細かいことはこの際気にしないでください。) Aテーブルの全てのレコードの番号を検索し、Bテーブルにない情報だけを表示したいと思います。 この場合どのようにすればよいでしょうか? まだAccessを勉強したてで、よくわかっていないのですが、シンプルな方法はどのようにすれば良いのか思案中です。 よろしくお願いします。

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.2

> シンプルな方法はどのようにすれば良いのか思案中です。 ご質問の内容でしたら、「不一致クエリ」を使用するのがよいかと 思います。 これについては、クエリの新規作成時に表示されるダイアログにも 「不一致クエリ ウィザード」という選択肢が用意されていますが、 ここではウィザードを使用しない場合の手順を説明してみたいと 思います。 1)新規クエリをデザインビューで開く 2)『テーブルの表示』ダイアログで、テーブルA、テーブルBを追加 3)検索(照合)を行うフィールド(今回は『番号』を一方のテーブル  から他方のテーブルにドラッグ&ドロップ)し、結合線を追加  ※上記フィールド間に自動で追加された場合はそのままでOk。    別のフィールドに結合線がある場合は、それをクリックして    太線表示にし、キーボードのDeleteキーを押して削除。 4)上記フィールド間の結合線をダブルクリックするなどして、  『結合プロパティ』ダイアログを開く  (マウスポインタが少しでもずれていると、クエリのプロパティシート   が開きますのでご注意を)  ※メニューで「表示(V)→結合プロパティ(J)」を指定してもOk。   (テーブルが2つの場合はいいのですが、3つ以上だとクセが    あって使いにくいのが・・・) 5)「'テーブルA'の全レコードと 'テーブルB'の同じ結合フィールドの  レコードだけを含める」のオプションボタンを選択し、『OK』ボタン  で閉じる 6)テーブルBの『番号』フィールドをダブルクリックするなどして、  クエリのデザインビュー下半分の領域に追加 7)上記フィールドの『表示:』のチェックボックスを外し、『抽出条件:』  欄に「Null」を指定(→自動で「Is Null」に変換されます) 8)テーブルAから、表示が必要なフィールドを適宜追加 9)クエリを保存して閉じる ・・・以上です。 以下にこちらで作成したクエリのSQL文を、画像に同じくデザイン ビューを、それぞれ貼付しますので、併せて参考まで。 SELECT テーブルA.* FROM テーブルA LEFT JOIN テーブルB ON テーブルA.番号 = テーブルB.番号 WHERE (((テーブルB.番号) Is Null));

ok-rjak
質問者

お礼

ありがとうございます。 クエリを使うのがベストなのでしょうかね。 試しに作ってみます。

その他の回答 (1)

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1
ok-rjak
質問者

お礼

ありがとうございます。 アクセス入門・・・ちょうど良いサイトです。勉強させていただきます。

関連するQ&A

  • アクセスでの複数のテーブルでのオートナンバーについて

    こんにちはアクセス2000で在庫管理をしています。 超初心者です 商品テーブルで 商品コードをオートナンバーにしていますが 仕入先でテーブルを分けることになり 商品マスタA、商品マスタBとわけたのですが 主キーである商品コードを AB重複しないようにすることは可能ですか? またやり方はどうすればいいのでしょうか? リレーションシップなどの設定かなと思い いじくってみましたが、どうもうまくいかず悩んでいます。 よろしくお願いいたします

  • [Access]テーブルに同じデータがあった場合にまとめる方法

    テーブルのデータの中にまったく同じ内容のレコードがあった場合に、 重複しているレコードを削除し、ダブりをなくしたいのですがどのように すればよいのでしょうか。 ◎テーブルのデータ ID:オートNo. 部門コード:テキスト 色コード:テキスト 色名:テキスト    ↓ 1 A1500 R01 あか 2 A1500 R01 あか 3 A1500 P02 ピンク 4 B1100 P02 ピンク 5 B1100 BR11 茶 6 B1100 BR11 茶 7 B1100 BR11 茶 上記の場合、1と2、5と6と7がそれぞれダブっているので重複している レコードを消して、1つだけ残したい。 要するに、以下のように同じレコードを1つにまとめたいのです。 1 A1500 R01 あか 3 A1500 P02 ピンク 4 B1100 P02 ピンク 5 B1100 BR11 茶 できる方法があれば、教えてください。よろしくお願いします(*゜д゜*)

  • Accessのテーブルへのデータインポートについて

    Accessのテーブルへのデータインポートについて Access2002で、A.mdbのTESTテーブルからB.mdbのTESTテーブル(構造は同じ)へテーブルデータをインポートしたいのです。 TESTテーブルの主キーはSEQ(オートナンバー)しかありません。 そのときに、コピー元とコピー先の主キーに重複があった場合、オートナンバーなので自動で再付番しデータが追加して欲しかったのですが、 Accessの機能のエクスポート、インポートでは、コピー先に主キーに重複があったデータは上書きされてしまいます。 テーブルを開き、データをコピー&ペーストしますと、ペーストしたときにオートナンバーで自動で再付番されます。 この方法でもいいのですが、データが数百万件あるので、現実的ではありません。 Accessのインポート・エクスポートで、オートナンバーで主キーを再付番してから、B.mdbのTESTテーブルにデータ追加する方法はないでしょうか? よろしくお願いいたします。

  • アクセスでテーブル内容を書き換えたい

    アクセスで商品管理を行っていますが、商品マスターのテーブルに商品毎のIDを付けて出荷データなどを入力していたのですが、その後商品が増えマスターの空き番号を使うと商品群がバラバラになってしまいます。 そこでIDを付け直したいのですが、番号を変えると当然過去の出荷データの整合性も取れなくなってしまいます。 うまく変更する方法があれば教えてください。 判りづらい質問で申し訳有りません。

  • フォームから2つのテーブルにデータを書き込みたい

    Accessで T_aテーブルとT_bテーブルがありそれぞれのフィールドが以下のようになっているとします。 T_a:フィールド名 データ型    ID  オートナンバー型    商品番号 テキスト型 主キー T_b:フィールド名 データ型    ID  オートナンバー型 主キー    商品番号 テキスト型 このときフォームから入力したデータをそれぞれのテーブルの商品番号に追加したいのですがどのようにすればよいのでしょうか。  よろしくお願いいたします。

  • Access2003 データ型 オートナンバーについて エクセルからテ

    Access2003 データ型 オートナンバーについて エクセルからテーブルをインポートする方法 主キーである、IDと名をつけたフィールドのデータ型は"オートナンバー"でレコード新規入力際、自動で番号がふられていくようにしています。 このテーブルにエクセルのレコードをインポートして追加したいのですが、インポートできません。 ※オートナンバーフィールドが原因と思われます。 どうすれば、エクセルからこのテーブルにレコードをインポートし、追加されたレコードにオートナンバーで番号を割り振る事が出来ますででしょうか? 最も、シンプルな方法をお教え願います。

  • Access 複数テーブルのレコード自動更新

    Access初心者です。会社で業務の進捗状況を、Access2002を使って管理しています。 フィールド数が増えたので、以下のようにテーブルを分けることになりました。 Aテーブル(メイン)   管理No.(主キー、オートナンバーではない)    カテゴリ    作業内容    : Bテーブル   管理No.(主キー、オートナンバーではない)    チェック項目B-1   チェック項目B-2    : Cテーブル   管理No.(主キー、オートナンバーではない)    チェック項目C-1   チェック項目C-2    : という形式で、AとB・Cはクエリのリレーションシップで、「管理No.」を1対1で関連づけています。 AテーブルのもとのデータはExcelからインポートしますが、 Aテーブルのレコード数は増えますが、クエリには反映されません。 Aのレコードが増えたら、BやCも同時に増やすことはできますか?

  • ACCESS テーブルの結合

    同じmdb内で複数テーブルがあります。(テーブル1から10まで)フィールド名はすべて同じです。それぞれのテーブルのIDは1からオートナンバーになってます。 【例】 テーブル1  フィールド名: ID A B C テーブル2   フィールド名:ID A B C  ・ ・ テーブル10   フィールド名:ID A B C  ひとつのテーブルで管理したいのですが・・・教えてください。

  • ACCESS 重複データ削除の順番について

    追加クエリを使って重複データを削除する時に、削除されるデータについて質問です。 重複レコードを含むテーブルの構造のコピーを作成し、重複レコードを含むすべてのフィールドの主キーを作成して、元のテーブルから新しいテーブルへの追加クエリを実行して、重複レコードを一括削除をしています。 [操作についての参考URL] http://support.microsoft.com/kb/879852/ja =========================================== (テーブル) [ID]  [クラス]  [名前]   [時間]     1     A     ああ   11:00 ←重複 2     B     鈴木   12:00    3     C     アア   13:00     ←重複  4     A     ああ   14:00 ←重複 5     B     森    15:00   6     C     アア   16:00     ←重複  7     B     青山   17:00   8     C     アア   18:00     ←重複     9     A     ああ   19:00 ←重複 =========================================== 上記のようなテーブルで「クラス」と「名前」の2つのフィールドを主キーにした場合、 「A」の「ああ」さんと、「C」の「アア」さんが各3件ずつ重複しています。 しかし、「ID」と「時間」はそれぞれ違っています。 このような場合に、削除されないデータと削除されるデータの違いは何なのでしょうか? ACCESSの仕様でとか、レコードの若い番号順で削除されるとか、明確なルールが あれば教えていただけると幸いでございます。 御手数お掛け致しますが、何卒よろしくお願いいたします。

  • アクセスで、通し番号を付けるには。

    アクセスで、データを蓄積する度にレコード毎に通し番号付けれればと思っています。 商品テーブル 商品id:オートナンバー型 商品:テキスト型 数量:数値型 検査No.:数値型 検査No.のフィールドに通し番号を使えればと思っています。 10個のレコードがあれば、最初が1で最後が10と言う風に通し番号が自動で付けばと思います。 宜しくお願いします。

専門家に質問してみよう