1

我想将一个参数传递给 MS Access 2010 中保存的查询,然后还从查询中获取结果:它是我保存的查询:

SELECT Count(*)
FROM tb_KonzeptDaten
WHERE ( Konzept=[fzg_ID] and (DCMFile is null or (DCMFile='')));

这是我调用此查询的 VBA 代码:

Dim db As DAO.Database
Dim qry As DAO.QueryDef
Set qry = db.QueryDefs("Test_qr_emptyDCM")
qry.Parameters("fzg_ID").Value = ID
Set rs = qry.OpenRecordset("Test_qr_emptyDCM")

VBA 代码中的 ID 类型也为,Konzept 的字段为长整数 为什么我会收到此错误,我该如何解决?

4

1 回答 1

3

你的问题出在qry.OpenRecordset声明上。的第一个参数QueryDef.OpenRecordset[Type](例如,dbOpenSnapshot)。您不需要提供查询名称,因为您在创建QueryDef对象时已经提供了该名称。

尝试使用

Set rs = qry.OpenRecordset
于 2013-06-21T12:10:44.133 回答