
2つの名簿テーブルを比較してどちらのテーブルにも含まれている個人を抽出したいと考えております。
テーブル名とフィールドは以下のとおりです。
====================
テーブル名「名簿A」
氏名
電話番号
住所
メールアドレス
====================
テーブル名「名簿B」
姓
名
電話番号
住所
メールアドレス
====================
たとえば、この2つの名簿をメールアドレスで一致したものを抽出する場合は選択クエリのデザインビューで「名簿A」のフィールドを読み込ませ、
メールアドレスフィールドの抽出条件として
Like [名簿B].[メールアドレス]
を入れれば抽出ができたのですが、メールアドレスは、名簿ごとに記入されていたりしなかったりするので、名前での一致を行いたいと思っています。
ここで問題なのが、名簿Aは「氏名」で入力されているのに対し、名簿Bでは「姓」と「名」が別フィールドになっております。
そこで自分なりにやってみたのが、選択クエリのデザインビューで「氏名」のフィールドの抽出条件として
Like (*[名簿B].[姓]*)
を設定するものでした。
これがうまくいけば最終的には
Like (*[名簿B].[姓]*) And Like (*[名簿B].[名]*)
という風にして、名簿Aの「氏名」フィールドに名簿Bの「姓」も「名」も入っているものを抽出できるかな?と考えたのですが、上記のように入力すると、自動的に
Like ("*[名簿B].[姓]*")
となってしまい、何も抽出されなくなってしまいました。
このような方法では希望する抽出は行えないのでしょうか?
お分かりのかた、よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
> 名簿Aの「氏名」欄には姓と名の間にスペースが入っているものがあり
[名簿B].[姓] & [名簿B].[名]を使った時のクエリで考えてみます。
クエリをSQLビューで表示した時、抽出条件のところは
[名簿A].[名前] Like [名簿B].[姓] & [名簿B].[名]
とか
[名簿A].[名前] = [名簿B].[姓] & [名簿B].[名]
になっていると思います。
[名簿A].[名前]の部分に細工して、Replace([名簿A].[名前]," ","")に書き換えます。
(Replace で空白を削除してあげます)
それをもとに
Replace([名簿A].[名前]," ","") = [名簿B].[姓] & [名簿B].[名]
としてみるとどうなりますか。
※バージョンによっては、クエリ内で Replace が使えないものがあったかと思います。
その時には、補足なりに記述してください。
(対処方法はあります)
できました!
とてもわかりやすい解説ありがとうございました。
クエリをSQLビューで書き換えるというのは初めてやりました。
大変勉強になりました。
最後の解決までお付き合いいただきましてありがとうございました!!
No.1
- 回答日時:
> Like ("*[名簿B].[姓]*")
↓
Like "*" & [名簿B].[姓] & "*"
でどうなりますか。
[名簿B].[姓] & [名簿B].[名] でもよいと思います。
※同姓同名には適用できないかと。
ありがとうございます!
なるほど、&を使えばいいのですね。
Like "*" & [名簿B].[姓] & "*"
こちらの方法だと、表示はされるようになったのですが、特に一致しているものだけではなく、名簿Aの内容が全て表示されてしまいました。
[名簿B].[姓] & [名簿B].[名]
こちらの方法ではうまく抽出されました!
ただ、名簿Aの「氏名」欄には姓と名の間にスペースが入っているものがあり、それはやはり抽出されませんでした。
[名簿B].[姓] & "*" & [名簿B].[名]
Like([名簿B].[姓] & "*" & [名簿B].[名])
などを試してみましたが、うまくいきませんでした。
やはり難しい作業なのでしょうか…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
アクセス 部分一致の抽出
その他(Microsoft Office)
-
ACCESS クエリの抽出条件に他のテーブルの値を参照する方法
Access(アクセス)
-
<ACCESS>別テーブルのレコードのテキストデータが中に含まれるレコードを抽出する方法を教えてください
Access(アクセス)
-
-
4
ACCESS クエリで重複データを最新の1件だけ表示
Access(アクセス)
-
5
ACCESS テーブルを見比べて、一致したレコードを抽出したいです
Access(アクセス)
-
6
ACCESSで2つのテーブル比較で一致データのみ抽出したい
その他(データベース)
-
7
ACCESS 複数テーブル・複数フィールドを参照する不一致クエリ
Access(アクセス)
-
8
2つのテーブルに共通するレコードを削除したい
Access(アクセス)
-
9
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
10
アクセスの初心者の質問です(空白の場合に他のフィールドを表示させたい。)
Access(アクセス)
-
11
Accessで、1つの項目に複数の置換えを1度でするには?
Access(アクセス)
-
12
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
13
Access フィールド内の値で、右端から5桁目の値だけを抽出する方法について
その他(Microsoft Office)
-
14
Access 複数フィールドの一致
その他(Microsoft Office)
-
15
Accessにインポートしたら並び順が変わっちゃった
Access(アクセス)
-
16
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
17
アクセスで入力したデータの順番が変わってしまいます
その他(ビジネス・キャリア)
-
18
アクセスで『0の値以外』を表示する方法
Access(アクセス)
-
19
Accessのテーブルデータを一気にVBAで追加したい・・
その他(データベース)
-
20
「データベースまたはオブジェクトは読み取り専用なので、更新できません」エラーについて
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教員採用の名簿登載について
-
Accessでレコードを別テーブル...
-
同窓会名簿で、亡くなった方の記載
-
Access]2つのテーブルを比較し...
-
エクセルで指定した割合でグルーピング...
-
同盟の名簿作成方法
-
新橋の名簿図書館について
-
建築会社はセクハラとかいじめ...
-
派遣社員です。私語がおおいと...
-
「○日までに」の意味、その日は...
-
補足ありがとうございますと 補...
-
派遣社員です。仕事がこなせず...
-
退職した人にいつでも戻ってき...
-
自動車業界で使用する「バルク...
-
少し調べたら、結婚相談所の相...
-
「日本テクノ」という会社って...
-
見学してみたいです。は敬語で...
-
県庁と一流企業って一般的にど...
-
社会福祉法人の略語は(株)のよ...
-
不動産業者から個人情報をLINE...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
亡くなられた方の表現
-
差し込み印刷 1ページに複数の...
-
同窓会名簿で、亡くなった方の記載
-
Access]2つのテーブルを比較し...
-
エクセルで学年クラスが変わっ...
-
Accessでレコードを別テーブル...
-
同窓会の名簿に欠席者・物故者...
-
名簿図書館って
-
大学の同窓会名簿に載らないと...
-
教員採用の名簿登載について
-
名簿に載る個人情報について
-
保護者名簿を作成したいが、依...
-
Excel.名簿一覧表から別シート...
-
新橋の名簿図書館について
-
携帯のアドレス帳に「山田さん...
-
卒業者名簿にメールアドレスを...
-
柔道整復師名簿はみれますか?
-
国立病院機構の採用者名簿に、...
-
クラス名簿
-
メールの件名の書き方をお願い...
おすすめ情報