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查询插入时间而不是日期的主要内容,如果未能解决你的问题,请参考以下文章

使用 Hive 日期函数而不是硬编码日期字符串时,Hive 查询性能很慢?

使用vba将一列日期循环到url行中以进行Web查询并从xe.com/currencytables中检索汇率表

Ruby活动记录在mysql中插入日期时间而不是时间

基于控件名称而不是控件源(字段)的 MS Access 计算

在列中包含今天日期的 VBA 查询数据

VBA中日期之间的SQL查询