感谢前一个问题的帮助。
内容:
我正在尝试在Access 2003中打开Access 2000文件,但缺少Microsoft Access 9.0对象库。任何想法??
背景:
我最近继承了包含许多自动报告的访问2000文件。当我尝试打开时,我收到以下错误:
Visual Basic for Applications(VBA)在尝试访问属性或方法时遇到问题。问题可能是以下之一: 缺少参考。 有关恢复缺少引用的帮助,请参阅Microsoft知识库文章283806。 表达式拼写错误。 检查事件属性中使用的所有表达式是否正确拼写。
我阅读了知识库artice,它不是很有帮助。建议我删除标记为MISSING的图书馆。但没有一个!
我们在旧机器上检查了引用的库,它们是:
Visual Basic for Applications Microsoft Access 9.0对象库 OLE自动化 Microsoft ActiveX数据对象2.1库
除Microsoft Access 9.0对象库外,所有版本都存在于Access 2003中。
根据这里:
http://allenbrowne.com/ser-38.html
该文件应该存在于
中C:\ Program Files \ Microsoft Office \ Office \ msacc9.olb
我从旧机器上获得了该文件的副本(不确定这是否严格犹太洁食)并尝试导入但无效。
任何人都可以帮忙吗?
答案 0 :(得分:1)
您可能已经注意到以前的Access mdb引用了Microsoft ActiveX Data Objects 2.1 Library,并且未引用任何Microsoft DAO对象库。如果在Access 2003文件中,您在ADO库之前引用DAO库,并且原始代码写得不好,则以这种方式声明特定记录集:
dim rs as recordset
而不是
dim rs as ADODB.recordset
您通常会遇到错误,程序会认为它使用的是DAO记录集,而代码是为ADO编写的。说明如下:
rs.open
rs.fields(0).definedSize
会引发您的错误