MS Access中日期字段中的年份无效

时间:2015-10-30 14:48:05

标签: date ms-access

我的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. 

有人可以帮我构建更新查询吗?

1 个答案:

答案 0 :(得分:2)

你可以这样做:

UPDATE 
    Table1 
SET 
    [DateField] = DateSerial(2000 + Year([DateField]) Mod 100, Month([DateField]), Day([DateField]))
WHERE 
    YEAR([DateField]) > YEAR(Now);