VBA查询插入时间而不是日期

Posted

技术标签:

【中文标题】VBA查询插入时间而不是日期【英文标题】:VBA query Inserting Time instead of Date 【发布时间】:2014-07-23 10:46:06 【问题描述】:

我的查询需要一些帮助,我正在尝试插入到表中,请参见上面的代码:

CurrentDb.Execute ("INSERT INTO tblWarehouseItem ( whiwrhID, whiItemName, whivatName," whiVatRate, whiimtID, whiQty, whiPrice, whisupID, whiDateIn, whiExpiryDate,whiwhiID ) " & _
                                   " Values (" & rs!WID & "," & Chr(34) & rs!N & Chr(34) & "," & Chr(34) & rs!VN & Chr(34) & "," & rs!VR & "," & rs!IID & "," & intQtyForm & "," & rs!PR & "," & rs!SID & "," & CDate(rs!DIN) & "," & CDate(rs!EXD) & "," & rs!ID & ")")

在我的表中,CDate(rs!EXD)CDate(rs!DIN) 存储为时间。

当我在即时窗口中编译查询时,我会得到日期。

INSERT INTO tblWarehouseItem ( whiwrhID, whiItemName, whivatName, whiVatRate, whiimtID, whiQty, whiPrice, whisupID, whiDateIn, whiExpiryDate,whiwhiID )  Values (2,"ITEM10","A",19,14,4,20,10,21/07/14,26/05/14,60)

如何进行查询以在表格中插入日期?

提前致谢

【问题讨论】:

您使用记录集来填充查询而不是执行INSERT INTO ... SELECT 是否有特殊原因可以回避整个问题?或者,您可以Format(rs!DIN,'dd/mm/yyyy HH:MM')TimeValue() 【参考方案1】:

如果您运行 21/07/14 将传递给 Access 并解释为从 12 divide by 7 divide by 14 产生的整数,当转换为日期时只是一个时间。

#分隔日期:

.. ",#" & CDate(rs!DIN) & "#," ..

【讨论】:

以上是关于VBA查询插入时间而不是日期的主要内容,如果未能解决你的问题,请参考以下文章