アプリ版:「スタンプのみでお礼する」機能のリリースについて

初歩的な質問かもしれませんが、お願いします。

現在、テーブル1で、顧客情報を管理しています。
メールアドレスの登録もあり、その横に配信許可欄のチェック欄を設けています。

配信停止メールアドレスを、テーブル2にWEBからインポートしているのですが、テーブル2に並んでいるメールアドレスが、テーブル1のメールアドレスと重複した場合のみテーブル1のチェックボックスにチェックが入るというクエリはどのようにすればよろしいでしょうか。
更新クエリ等本を読んでみましたが、同じテーブル内の重複データのみ抽出になってしまい、別テーブルでの抽出、更新の仕方がよくわかりません。
お手数ですがご存知の方がおられましたらよろしくお願いいたします。

A 回答 (3件)

例として


社員1テーブル
ID番号氏名所属部
11山田営業部
22大山人事部
33山下労働部
44下田事務部
55上田営業部
66今井営業部
77井上人事部
88中田事務部
99木田営業部
1010北田事務部
社員2テーブル
ID氏名重複
1山田
2大島
3下田
4小出
5中田
----------------
クエリの新規で
選択クエリ
社員2
全項目選択
クエリのデザインを編集する
完了
社員2の選択ウイザードのデザイングリッドに
テーブルの表示
社員1
追加で
社員1と社員2の氏名フィールドを結合する。
IDの結合はDELETE
クエリ
更新
をクリックすると
デザイングリッドに
「レコードの更新」行が出現する
重複フィールドの「レコード更新」行に「A」など
文字列を入れる。
実行(!)
それで結果社員2は
ID氏名重複
1山田A
2大島
3下田A
4小出
5中田A
これを応用できませんか。
    • good
    • 0

文章だけではわからないところもあるのですが


テーブル2にある人はテーブル1のチェックを入れる・・・とすると

ふたつのテーブルの更新クエリでできます
わかりにくければ 「表示」→「SQLビュー」にて以下の2行コピーしてクエリ実行

UPDATE テーブル1, テーブル2 SET [テーブル1]![check] = On
WHERE ((([テーブル1]![mail])=[テーブル2]![mail]));

[mail]はアドレスフィールド、[check]はチェックボックスフィールド をそれぞれ指します
結果がよければ「デザインビュー」でも確認できます

なおこの更新クエリだと一度チェックが入ると二度と解除されないなので
(テーブル2からなくなってもチェックは入ったまま)

まず先に全部のチェックをはずす更新クエリを行う必要があります
以下も「SQLビュー」で参考になれば

UPDATE テーブル1 SET [テーブル1]![check] = Off;
    • good
    • 0

テーブル1とテーブル2をキーとなるメールアドレスでリンクさせたクエリを作成します。



つぎに結合方法を「テーブル1の全レコードとテーブル2の同じ結合フィールドのレコードだけ求める」に変更します。

出力項目はテーブル1全内容とテーブル2のメールアドレスにします。

SORT順をテーブル2のメールアドレス順にするとテーブル2になくテーブル1にあるメールアドレスが先頭になります。

このクエリのテーブル2のメールアドレスの値を判定してあげればマークがつけられると思います。

iif([テーブル2メールアドレス]is not NULL,"●","")
などとすればテーブル2、テーブル1にあるアドレスには●がつきます。応用すればチェックボックスにチェックが入るも対応できると思います。

何か不明、疑問点があればまた回答します。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!