VBA Querydef参数

时间:2015-10-21 15:39:25

标签: parameters access-vba ms-access-2010

我在MSAccess中有一个查询对象“qryQueueSum”,我正在尝试打开记录集并从第一行获取值。此查询是另一个查询“qryQueue”的聚合查询,该查询具有基于表单对象值的参数。

在VBA中,当我尝试打开记录集时,我得到“运行时错误'3061':参数太少,预计5”。

因此,似乎我需要重新定义已在查询上设置的参数。有没有办法解决这个问题?我希望只在一个地方定义这些参数。

无论如何,这是我试图运行的代码,但我在查询中没有得到任何结果。有什么建议吗?

Dim rs As DAO.Recordset
Dim qdf As DAO.QueryDef
Dim db As DAO.Database
Dim prm As DAO.Parameter
Set db = CurrentDb

Set qdf = db.QueryDefs("qryQueueSum")

qdf.Parameters(0) = "Like *"
qdf.Parameters(1) = "Like *"
qdf.Parameters(2) = "Like *"
qdf.Parameters(3) = "Like *"
qdf.Parameters(4) = "Like *"

Set rs = qdf.OpenRecordset(dbOpenDynaset)

If Not (rs.EOF And rs.BOF) Then
    rs.MoveFirst
    txtDCBO = Nz(rs!SumOfDom_CBO_Qty)
    txtECBO = Nz(rs!SumOfExp_CBO_Qty)
    txtDBO = Nz(rs!SumOfDom_BO_Qty)
    txtEBO = Nz(rs!SumOfExp_BO_Qty)
End If

0 个答案:

没有答案