在MS-Access中使用Datetime插入SQL命令

les*_*ego 12 ms-access ms-access-2007

我在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
)
Run Code Online (Sandbox Code Playgroud)

TIME字段定义为日期时间.

没有该TIME字段,查询工作正常!

我尝试了很多不同的东西,比如将日期时间括在哈希,引号等中.但是,查询仍然在时间字段上失败.


感谢你们!这几乎让我完全在那里.我仍然继续获取insert语句的语法错误,但随后进一步使用googling,我意识到这TIME可能是一个保留关键字,所以把它放在方括号上[TIME]就行了!

Del*_*els 21

访问使用#中的日期和时间输入,因为访问不能在SQL查询(或访问调用查询)中从字符/文本自动转换为日期或时间,并且您最好使用国际标准输入日期时间,即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格式并在使用前用单引号(')试试#就像我上面说的那样