VBA访问带有条款日期值的条款

时间:2018-07-30 21:27:05

标签: vba ms-access

我正在尝试编写一个带有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是否重新格式化父查询中的数据?

我尝试重新格式化父查询和子查询中的日期,但是没有成功。

1 个答案:

答案 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