【问题标题】:Error on Access Import - Run-time error '3265': Item not found in this collection访问导入错误 - 运行时错误“3265”:在此集合中找不到项目
【发布时间】:2015-11-10 15:46:39
【问题描述】:

我已经接管了由其他人创建的 Access 数据库,但我几乎没有 Access 经验。当我尝试运行导入 xml 文件的代码时,我收到 Run-time error '3265': Item not found in this collection. 错误。当我调试时,下面代码的第 4 行以黄色突出显示。您能否就通常导致这种情况的原因提供任何提示?此过程每天使用新的馆藏文件运行,因此我们删除前一天的 Analytics 表并创建一个新表。提前致谢。

'import holdings file
DoCmd.DeleteObject acTable, "ANALYTICS"
Application.ImportXML XmlHoldingsFile, acAppendData
CurrentDb.TableDefs("INSTRUMENT").Name = "ANALYTICS"

【问题讨论】:

  • 如果没有名为 INSTRUMENT 的表,则会发生该错误。它存在吗?
  • 你是对的。以前该文件总是导入到一个名为“INSTRUMENT”的新表中,但现在由于某种原因,该表被命名为与 xml 文件名相同。有很多桌子,所以我没有看到这个。谢谢。

标签: xml ms-access vba runtime-error


【解决方案1】:

在自动化过程中,每当在一个集合中编辑/删除/重新创建对象(如 Access 的 Tabledef、Forms、Querydef 或 Reports)时,循环遍历整个集合以找到所需的对象并有条件地编辑或删除它是很有帮助的.

这类似于重命名或删除 Excel 工作簿中的工作表(遍历所有工作表并在存在此类工作表时重命名):

Dim db As Database
Dim tbldef As TableDef

Set db = CurrentDb

For each tbldef in db.TableDefs
  If tbldef.Name = "INSTRUMENT" Then
       tbldef.Name = "ANALYTICS"
  End if    
Next tbldef

' UNINITIALIZE OBJECTS
Set tbldef = Nothing
Set db = Nothing

【讨论】:

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