尝试使用“参数”集打开选择查询时,我感到沮丧。我完全怀疑我正在建立所有错误的查询。我想要一个带有未绑定日期文本框的表单,供用户输入日期(我有这个)。然后,我希望该日期传递给预存储的参数选择查询,然后打开查询。如果我手动打开查询,它将要求按预期输入[比较日期]。当我使用表单时,单击一个按钮以打开查询qdf.execute失败。
虚拟查询演示
PARAMETERS [Compare Date] DateTime;
SELECT [Compare Date] AS Compare_date;
我知道“参数”通常在WHERE子句中,但是同样,如果手动运行,此查询也可以工作。
然后下面是调用代码
Private Sub btnRunReport_Click()
Const pstr_CURRENCY_QRY As String = "Query12"
Const pstr_DATA_PARAM As String = "Compare Date"
Dim db As DAO.Database: Set db = CurrentDb()
Dim qdf As DAO.QueryDef
Set qdf = db.QueryDefs(pstr_CURRENCY_QRY)
With qdf
.Parameters(pstr_DATA_PARAM).Value = CDate(Me.txtCompareDate.Value)
.Execute dbFailOnError ' <<<< Fails here
.Close
End With ' qdf
Set qdf = Nothing
Set db = Nothing
End Sub
有人可以告诉我如何解决此问题,也可以通过其他方法解决此问题,以便查询可以通过表格手动进行吗?
您不能使用该DAO Execute
方法进行SELECT
查询。这就是Access抱怨“无法执行选择查询”的原因。
参数问题与此处无关。
确定您要对参数查询返回的结果集执行的操作。如果要将其加载到记录集中,则可以使用QueryDef
的OpenRecordset
方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句