如果满足以下要求,底部查询的目标是更新 FullComplDate 字段。我不确定这是否是语句或括号的排列问题,但我尝试更改语句的顺序并添加括号,但没有运气。
这两种说法都是正确的:
并且这两个陈述中的任何一个是正确的:
相反,正在发生的事情是,任何满足前三个语句的记录都将被更新,并且任何满足第 4 个语句的记录都将被更新。
UPDATE tblSubscribers SET tblSubscribers.FullComplDate = Format(Date(),"mmmm" & " " & "yyyy")
WHERE (((tblSubscribers.FullComplDate) Is Null) AND ((tblSubscribers.SubscrComplDate) Is Not Null) AND (((tblSubscribers.CoverageLevel)="Employee Only")) OR (((tblSubscribers.CoverageLevel)="Employee + Child(ren)")));
我认为问题出在括号上......如果你回避它们并且只让它们包装 OR 条件它应该工作得更好。
UPDATE tblSubscribers SET tblSubscribers.FullComplDate = Format(Date(),"mmmm" & " " & "yyyy")
WHERE tblSubscribers.FullComplDate Is Null
AND tblSubscribers.SubscrComplDate Is Not Null
AND (tblSubscribers.CoverageLevel="Employee Only" OR tblSubscribers.CoverageLevel ="Employee + Child(ren)")
您可以尝试使用 IN 子句来避免 OR
UPDATE tblSubscribers SET tblSubscribers.FullComplDate = Format(Date(),"mmmm" & " " & "yyyy")
WHERE tblSubscribers.FullComplDate Is Null
AND tblSubscribers.SubscrComplDate Is Not Null
AND tblSubscribers.CoverageLevel IN ("Employee Only" ,"Employee + Child(ren)")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句