从较新版本打开后访问参考库丢失
Access reference library goes missing after opened from newer version
我建立了一个在公司网络上共享的 Access 数据库。网络上的大多数用户都安装了 Access 2010,但有些用户安装了 Access 2016。当数据库被 Access 2016 的人打开,然后又被 Access 2010 的人打开时,他们收到一条错误消息,因为 Microsoft Excel 16.0对象库被标记为 "Missing"。
我可以通过选择“14.0 库”来临时解决这个问题,但是一旦在更高版本中再次打开它,错误就会再次出现。我能做些什么来阻止这种情况发生吗?
谢谢
您可以使用late binding,这可以帮助您避免该问题。具有后期绑定的代码适用于任何合适的对象库,以可用者为准。
您需要更改对象初始化:
Dim excelApp As Excel.Application
Set excelApp As New Excel.Application
到
Dim excelApp As Object
Set excelApp = CreateObject("Excel.Application")
请注意,如果您使用后期绑定,智能感知将不可用。我通常的做法是开发使用early binding,一做完就改成late binding
您是共享未拆分的数据库还是共享拆分数据库的前端?
访问本质上是多用户的,但必须正确分配。数据库必须拆分为 2 个文件(这是功能区中的一项功能),然后每个用户都有自己的前端文件,该文件链接到通用的单个后端文件。
一旦为用户环境设置了引用,引用就不会发生任何变化。
我建立了一个在公司网络上共享的 Access 数据库。网络上的大多数用户都安装了 Access 2010,但有些用户安装了 Access 2016。当数据库被 Access 2016 的人打开,然后又被 Access 2010 的人打开时,他们收到一条错误消息,因为 Microsoft Excel 16.0对象库被标记为 "Missing"。
我可以通过选择“14.0 库”来临时解决这个问题,但是一旦在更高版本中再次打开它,错误就会再次出现。我能做些什么来阻止这种情况发生吗?
谢谢
您可以使用late binding,这可以帮助您避免该问题。具有后期绑定的代码适用于任何合适的对象库,以可用者为准。
您需要更改对象初始化:
Dim excelApp As Excel.Application
Set excelApp As New Excel.Application
到
Dim excelApp As Object
Set excelApp = CreateObject("Excel.Application")
请注意,如果您使用后期绑定,智能感知将不可用。我通常的做法是开发使用early binding,一做完就改成late binding
您是共享未拆分的数据库还是共享拆分数据库的前端?
访问本质上是多用户的,但必须正确分配。数据库必须拆分为 2 个文件(这是功能区中的一项功能),然后每个用户都有自己的前端文件,该文件链接到通用的单个后端文件。
一旦为用户环境设置了引用,引用就不会发生任何变化。