我的Access数据库中有一些无效日期被Access视为有效,因为从技术上讲这些只是未来的日期。所以有些年份分别以“11/20/3014”或“12/01/4015”而不是“11/20/2014”或“12/01/2015”输入。不幸的是Access认为它们有效。我使用此查询来识别错误的日期:
SELECT * FROM Table1
WHERE YEAR(Table1.[DateField]) > YEAR(Now);
我想使用更新查询来修复这些日期,并想知道是否有一种方法可以包含逻辑来覆盖Access查询中的许多组合。我想要像
这样的东西If Year(DateField) starts with "3" then use "2" instead of "3" etc.
有人可以帮我构建更新查询吗?
答案 0 :(得分:2)
你可以这样做:
UPDATE
Table1
SET
[DateField] = DateSerial(2000 + Year([DateField]) Mod 100, Month([DateField]), Day([DateField]))
WHERE
YEAR([DateField]) > YEAR(Now);