我在MS-Access 2007中尝试以下查询,但在时间字段上失败.
INSERT INTO LOG ( EMPLOYEECODE,STATUSID,LOCATIONID,TIME,DURATION,SHIFTID,LATECOMING,EARLYGOING,LOGDATE,STATIONID ) VALUES ( 1,1,'4/21/2009 2:25:53 PM',8,'1/1/2009',1 )
TIME字段被定义为datetime.
没有TIME字段,查询工作正常!
我已经尝试了许多不同的东西,例如将哈希,引号等的日期时间包围起来.但是,查询在时间字段上仍然失败.
感谢你们!几乎让我完全在那里我仍然不断收到insert语句的语法错误,但是随后进一步的搜索,我意识到TIME可能是一个保留的关键字,所以把它放在框方括号[TIME]的工作!
解决方法
日期&时间输入访问使用#,因为访问不能自动从char / text转换为日期或时间在SQL查询(或访问调用它查询),并且您最好使用国际标准输入日期时间是YYYY-MM- DD HH:NN:SS(4位数年份,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格式,并在使用前尝试使用单引号(‘),就像我上面说的那样