晚上,
我创建了一个查询,假设Date/Time
当一个人年满 89 岁时,只将字段的年份部分更改为 1900。随后的查询编译得很好,但是在运行时它会抱怨 aType Conversion failure
并从受影响的记录中删除整个值。
查询:
UPDATE tblTestForDOB
SET tblTestForDOB.[PT_BirthDate] = DateValue( (day([PT_BirthDate])/month([PT_BirthDate])/1900) )
WHERE Year(tblTestForDOB.[PT_BirthDate]) <= Year(Date())-"89";
根据MS Help(F1 over the function):
所需的日期参数通常是一个字符串表达式,表示从 100 年 1 月 1 日到 9999 年 12 月 31 日的日期。但是,日期也可以是可以表示该范围内的日期、时间或日期和时间的任何表达式.
这不是我在做什么吗?我还尝试" " &
在函数中放置值之前,DateValue
并且做了同样的事情(以确保它是一个被传递的字符串)
那么我该怎么做呢?我应该使用CDate
将值转换为日期然后继续吗?如果是这样,正确的语法是什么?
谢谢
PS 该字段是Short Date
格式的。另请注意,我不想花很长时间并在整个过程中使用 VBA,因为这将涉及打开记录集等等......