2017-10-16 10 views
0

アクセスデータベース内のHey guys 'Contacts''StatusList'の2つのテーブルがあります。

StatusListは1列とラベルされた4行で構成されていますSQLクエリを使用して別のテーブルからドロップダウンリストであるフィールドを更新する方法

StatusDescription
容疑
プロスペクト
お問い合わせ
申請

コンタクト以下で構成されています

姓メールステータス電話番号

[連絡先]の[ステータス]フィールドは、StatusListテーブルのフィードをドロップダウンボックスで表示します。連絡先テーブルのすべての行は、最初はSuspectに設定されています。

連絡先のメールフィールドは、固有のメールのみを許可するように設定されています。

連絡先テーブルと同じフィールドを持つExcelImportというラベルのテーブルがあります。

最終的に、ExcelImportテーブルのデータを連絡先に挿入したいとします。 ExcelImportと連絡先の間に電子メールの一致がある場合は、[ステータス]フィールドの連絡先の行をSuspectからProspectに更新する必要があります。私はこれが唯一の私に一致するメールを示して知っ

SELECT Contacts.contactEmail 
FROM Contacts 
Inner Join ExcelImport on Contacts.contactEmail = ExcelImport.contactEmail; 

これまでのところ、私はこれを持っています。プロスペクトに一致する特定の行のステータスリストを更新する方法はありますか?

+0

選択クエリではなく、更新「クエリ」を使用する必要があります。また、StatusListテーブルを使用してドロップダウンリストを設定するという事実は、実際の質問は、一致する電子メールフィールドを持つ別のテーブルから1つのテーブルを更新することと関係がないようです。 –

答えて

1

前述のとおり、UPDATEアクションクエリで値を変更するだけで、ドロップダウンが適宜変更されます。私があなたを理解している場合のドロップダウンは、おそらくテーブルデザインで設定するルックアップコンボボックスです。入力された値を制御するだけです。

UPDATE Contacts INNER JOIN ExcelImport 
    ON Contacts.contactEmail = ExcelImport.contactEmail 
SET Contacts.[Status] = 'Prospect'; 

はまた、あなたが私はあなたがそうの独自性を維持行うことができます連絡先に私ExcelImportテーブルからデータを挿入したい言及:UPDATEクエリは、テーブルの値が変更されているドロップダウンを変更します追加クエリでNOT EXISTS 句を実行して、フィールドにメールを送信します。

INSERT INTO Contacts ([First], [Last], [Email]], [Status], [Phone]) 
SELECT e.[First], e.[Last], e.[Email]], e.[Status], e.[Phone] 
FROM ExcelImport e 
WHERE NOT EXISTS 
    (SELECT 1 FROM Contacts c WHERE c.[Email] = e.[Email]) 

したがって、ユニークメールをインポートして、繰り返しメールため、ステータスを更新するために、両方のアクションクエリを実行します。

関連する問題