我一直得到这个运行时3265错误,说在qdf3的Sql集合中没有找到项目,我使用了很多方法,它仍然不起作用。所以我徘徊如果有人可以看看我的代码和帮助我在这里,谢谢!
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim Sql1 As String
Dim qdf3 As QueryDef
Dim prm3 As Parameter
Set db = CurrentDb
Set qdf3 = db.QueryDefs("SELECT [range] From [Query1] WHERE ( [range] ='NA');")
For Each prm3 In qdf3.Parameters
prm3.Value = Eval(prm3.Name)
Next prm3
Set rs = qdf3.OpenRecordset(dbOpenDynaset)
我有点困惑,为什么你试图将QueryDef
设置为SQL查询的结果,不应该这样读:
Set qdf3 = db.QueryDefs("queryname")
如果出于某种原因query1
有返回查询的名称,那么我建议首先确定适当的查询并将其名称传递给字符串,然后您可以在querydef调用中引用它。
同样,代码中的最后一行:
Set rs = qdf3.OpenRecordset(dbOpenDynaset)
我不认为你可以用这种方式设置记录集,我不知道你为什么要这样做,但也许这是你正在寻找的:
Set rs = db.OpenRecordset(qdf3.Name, dbOpenDynaset)