我正在尝试编写一个带有DoCmd.RunSQL
子句的where
,并带有从表单传递的日期值。
我编写的代码运行无错误,但返回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是否重新格式化父查询中的数据?
我尝试重新格式化父查询和子查询中的日期,但是没有成功。
答案 0 :(得分:0)
有这样一个转换日期的功能吗?
Format(CDate([txt_StartDate]), "mm/dd/yyyy")
通用解决方案如下。
Dim sql As String
sql = "SELECT * " & _
" FROM Table1 " & _
" WHERE DateTimeValue >= #" & Format(aDateTimeVariable, "yyyy-mm-dd hh:nn:ss") & "#;"
请参阅下面的链接以获取其他想法。
https://codekabinett.com/rdumps.php?Lang=2&targetDoc=date-time-data-type-vba-access