【问题标题】:Run-time error 3265 Item not found in this collection运行时错误 3265 在此集合中找不到项目
【发布时间】:2013-03-01 17:08:19
【问题描述】:

我一直收到这个运行时 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)

【问题讨论】:

  • 哪一行报错?

标签: mysql ms-access vba


【解决方案1】:

我有点困惑,为什么您要尝试将QueryDef 设置为 SQL 查询的结果,该行不应该更像这样吗:

Set qdf3 = db.QueryDefs("queryname")

如果由于某种原因 query1 会返回查询的名称,那么我建议先确定适当的查询并将其名称传递给字符串,然后您可以在 querydef 调用中引用它。


另外,代码的最后一行:

Set rs = qdf3.OpenRecordset(dbOpenDynaset)

我认为您不能以这种方式设置记录集,我不确定您为什么要这样做,但也许这更符合您的要求:

Set rs = db.OpenRecordset(qdf3.Name, dbOpenDynaset)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多