0

我有一些 VBA 代码可以根据查询的内容生成 HTML 报告。查询日期是通过使用以下标准的框的内容确定的。

 Forms![frmImport]![Flash] 

当我以这种方式设置时,它给了我参数太少的错误。如果我设定标准说,2013 年 2 月 20 日,它工作得很好。我假设这与 VBA 解释查询条件的方式有关。

下面是我的代码中 VBA 似乎不喜欢的部分。

Dim db As DAO.Database
Dim QUERY As DAO.Recordset

Set QUERY = db.OpenRecordset("qryFlash")

我不确定是否需要在 Set 行中添加更多内容,以便 VBA 能够很好地处理此查询。

4

2 回答 2

1

尝试

Dim qdf As DAO.QueryDef
Dim prm As DAO.Parameter
Dim rs As DAO.Recordset

Set qdf = CurrentDb.QueryDefs("qryFlash")
For Each prm In qdf.Parameters
    prm.Value = Eval(prm.Name)
Next prm
Set rs = qdf.OpenRecordset(dbOpenDynaset)
于 2013-02-25T18:45:19.717 回答
0

最终只是构建 SQL 字符串而不是使用查询。解决了我的问题。

于 2013-02-25T21:13:37.807 回答