【发布时间】:2018-07-30 21:27:05
【问题描述】:
我正在尝试编写带有 where 子句的 DoCmd.RunSQL,其中包含从表单传递的日期值。
我编写的代码运行没有错误,但返回 0 值,因此我认为这是日期格式问题...
DoCmd.RunSQL ("SELECT [Field1], [Field2] INTO [tbl_recordset] FROM qry_1" _
& " WHERE (qry_1.Survey_Dt) >= #" & Format([Forms]![frm_Parameters]![txt_StartDate], "YYYY-MM-DD") & "# ;")
qry1.Survey_Dt是从SQL Server以默认格式(yyyy-mm-dd格式)传递过来的,Access是否会重新格式化父查询中的数据?
我尝试重新格式化父查询和子查询中的日期,但没有成功。
【问题讨论】:
-
看起来 txt_StartDate 是伪装成日期的文本,不会响应格式。将 sql 放入字符串类型 var 并 debug.print 。
-
当你
debug.print "SELECT [Field1], [Field2] INTO [tbl_recordset] FROM qry_1" _ & " WHERE (qry_1.Survey_Dt) >= #" & Format([Forms]![frm_Parameters]![txt_StartDate], "YYYY-MM-DD") & "# ;"时会发生什么? -
不客气。另外,由于您是 StackOverflow 的新手,我想通知您,您可以通过选中答案旁边的勾号来为好的答案投票并接受对您帮助最大的答案。在本网站上,点赞或接受的答案都算作“感谢”。