Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date MS Access中日期字段中的年份无效_Date_Ms Access - Fatal编程技术网

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

Date MS Access中日期字段中的年份无效,date,ms-access,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数据库中有一些无效日期,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. 
有人能帮我建立更新查询吗?

您可以:

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

很好的解决方案,请告诉我。修复数据后,为
DateField
添加验证规则以拒绝未来的日期。