2015-02-10 39 views
1

我对用户的工作站有问题。 Access数据库的开发版本使用.bat文件分发到工作站。数据库在除一个之外的所有工作站上都​​能正常工作。如何强制Access在数据库打开时刷新引用

特定的工作站不会让用户运行特定的查询,从而产生3075错误。我已经穿过网络,并意识到这是一个与参考文献有关的问题。但是没有MISSING引用,但是如果我强制Access刷新其引用,通过检查未选择的引用,然后再次删除引用,数据库可以很好地工作。它完美地工作,直到用户再次运行.bat并接收最新版本的数据库。

我已经注册并使用Regsvr32.exe重新注册了引用,但问题仍然存在。

我已经完成了完整的Office安装,但问题仍然存在。

有没有办法强制Access在VBA打开时刷新其引用?

不及格我会被迫做一个干净的机器安装。

该机器在30分钟内开发出了这个问题,并且一直在2-3年前完美工作。

+0

信息喜欢什么版本的Access?什么架构? Windows操作系统?将有助于解决您的问题。另外,你有没有尝试反编译和重新编译? – 2015-02-10 15:02:05

回答

2

您表示可以通过检查未选定的参考手动解决问题“,然后再次删除参考”“。

您可以使用VBA代码添加和删除引用。有两种不同的方法可以添加参考:AddFromFile;和AddFromGuidAddFromFile需要提供参考文件的完整路径。 AddFromGuid需要GUID,主版本和次版本才是参考。

从现有参考中收集信息非常简单。我添加了对Excel类型库的引用,然后在即时窗口中检查其属性。

? References("Excel").FullPath 
C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE 
? References("Excel").Guid 
{00020813-0000-0000-C000-000000000046} 
? References("Excel").Major 
1 
? References("Excel").Minor 
7 

然后我就可以删除该参考,并与AddFromFile方法重新添加。

References.Remove References("Excel") 
References.AddFromFile "C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE" 

或者与AddFromGuid方法...

References.Remove References("Excel") 
References.AddFromGuid "{00020813-0000-0000-C000-000000000046}", 1, 7 

这些方法与我的数据库。但是,我的数据库没有引用问题开始。如果你的确如此,我不知道这是否会起作用。

相关问题