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中检索汇率表