2014-02-25 15 views
0

我想檢查一個表中的值與另一個表中的值,然後在第一個表中的字段不匹配時更新第一個表中的字段,但我不能讓代碼工作。基於不匹配Valies的更新字段

我到目前爲止所嘗試過的;

DoCmd.RunSQL "UPDATE Issues SET Message='There is an issue at or before the sex code Field' WHERE Issues.[Sex Code] = Ref.[Sex Code] AND Ref.[Sex Code] Is Null));" 

DoCmd.RunSQL "UPDATE Issues SET Message = 'There is an issue at or before the Sex Code field' LEFT JOIN Ref ON Issues.[Sex Code] = Ref.[Sex Code] WHERE ((Ref.[Sex Code]) Is Null);" 

DoCmd.RunSQL "SELECT Issues.[Sex Code] FROM Issues LEFT JOIN Ref ON Issues.[Sex Code] = Ref.[Sex Code] WHERE Ref.[Sex Code] Is Null UPDATE Issues SET Message='There is an issue at or before the Sex Code Field'" 

回答

1

使用您的上述思想,你需要的是類似於下面的東西不過你確定你只需要加入對性別代碼,並沒有其他領域(如姓名,編號等)?

UPDATE Issues LEFT JOIN Ref ON Issues.[Sex Code] = Ref.[Sex Code] SET Issues.Message = 'There is an issue at or before the Sex Code field' 
WHERE (((Ref.[Sex Code]) Is Null)); 

以允許多個錯誤,你可以追加到「信息」領域,如以下(防止任何先前消息):

UPDATE Issues LEFT JOIN Ref ON Issues.[Sex Code] = Ref.[Sex Code] 
SET Issues.Message = [Issues]![Message] & 'The Sex Code field is Null' & '; ' 
WHERE (((Ref.[Sex Code]) Is Null)); 
+0

我需要有一個不同的消息對於每個問題,和我不能找到一種方法來拋出if/else if語句像我可以在C# – user1787114

+0

我更新了答案,以顯示如何將消息連接到一個字段。所以如果你有另外一個檢查別的東西的查詢,它會保存消息。 –