Вам не хватает некоторых скобок, которые влияют на порядок оценки, вызывая поведение, о котором вы сообщаете.
Вам нужно, чтобы каждая из BETWEEN
частей была полностью оценена перед * Опция 1004 * оценивается, и вам необходимо убедиться, что оценка выполнена, заключив выражения BETWEEN
в скобки, чтобы гарантировать порядок оценки.
Это должно исправить его (не проверено, поскольку вы не предоставили данные теста, необходимые для создания теста).
UPDATE WXObs SET WXObs.SnowFlag = 1
WHERE
(WXObs.StationID ="451409")
And
(
(WxObs.ObsDate Between #1/3/2003# AND #3/29/2003#) OR
(WxObs.ObsDate Between #11/16/2003# AND #5/7/2004#) OR
(WxObs.ObsDate Between #10/30/2004# AND #4/30/2005#)
);