我在MS-Access 2007中尝试以下查询,但在时间字段上失败。
INSERT INTO LOG (
EMPLOYEECODE, STATUSID, LOCATIONID, TIME, DURATION,
SHIFTID, LATECOMING, EARLYGOING, LOGDATE, STATIONID
)
VALUES (
1, 1, 0, '4/21/2009 2:25:53 PM', 0,
8, 0, 1, '1/1/2009', 1
)
TIME
字段定义为日期时间。
没有TIME
字段,查询工作正常!
我尝试了很多不同的东西,例如将日期时间括在哈希值,引号等中。但是,查询在时间字段上仍然失败。
谢谢你们!这几乎让我完全在那里。我仍然一直在为insert语句获取语法错误,但是在进一步的谷歌搜索中,我意识到TIME
可能是一个保留关键字,所以把它放在方括号上[TIME]
工作了!
答案 0 :(得分:21)
日期&访问中的时间输入使用#,因为访问不能在SQL查询中自动从char / text转换为日期或时间(或访问调用它查询),并且最好使用国际标准输入日期时间 YYYY-MM-DD HH:NN:SS (4位数年份,2位数月份,2位数日期,2位数小时,2位数分钟,2位数秒)
所以 4/21/2009 2:25:53 PM 使用#2009-04-21 14:25:53#
或者如果仍然失败,您可以使用#'2009-04-21 14:25:53'#
编辑:如果您启用ANSI 92或使用ADO / OLEDB作为数据库接口,则上面可能正常工作,感谢David指出
我建议您使用YYYY-MM-DD HH:NN:SS格式并在使用之前使用单引号(')尝试#就像我上面说的那样