我正在尝试使用带有.openrecordset的MS Access 2010中的查询,但它有一个需要填充的条件。我可以单独运行此查询并使用打开的表单,但是当我尝试将其作为记录集打开时,它似乎需要一个参数。
以下是查询:
SELECT tbl_equipmst.EquipmentNum, Sum(tbl_equipmentsummary.Miles) AS SumOfMiles
FROM tbl_equipmst INNER JOIN tbl_equipmentsummary ON tbl_equipmst.EquipmentNum = tbl_equipmentsummary.EquipmentNum
GROUP BY tbl_equipmst.EquipmentNum, tbl_equipmentsummary.BatchNo, tbl_equipmst.Z, tbl_equipmst.ZDisabled
HAVING (((tbl_equipmentsummary.BatchNo)=[batch]) AND ((tbl_equipmst.Z) Like "Z*") AND ((tbl_equipmst.ZDisabled) Is Not Null));
这是我的代码:
Dim rs As DAO.Recordset
Dim qd As DAO.QueryDef
Set qd = CurrentDb.QueryDefs("qry_Z_Equipment")
qd.Parameters(0).Value = BatchNo
Set rs = qd.OpenRecordset("qry_Z_Equipment")
但现在我得到“数据类型转换错误”。当我调试并将鼠标悬停在qd.Parameters(0).Value上时,我得到“3”,这应该只是一个整数。有没有我错过的东西,你传递了正确的数据类型?