Access VBA添加引用正在重复

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Access VBA添加引用正在重复相关的知识,希望对你有一定的参考价值。

我正在处理我的应用程序的主Access数据库,每当我使用VBA添加引用时,它似乎会在项目窗口下加倍引用。

以下是我正在使用的以下代码:

Private Sub AddRef()    
     Application.References.AddFromFile ("C:DatabasesDatabase2.accdb")
End Sub

如果我手动添加引用工具>引用,它只添加一个引用实例。

如果我在另一个新数据库中使用这个确切的代码,它只加载一次引用。

我知道Access数据库被破坏并不是很难,这是什么,或者是否有其他人遇到过这个问题,并且知道如何解决这个问题?

这是我刚创建和运行的程序,在项目窗口中仍然加倍。如果我去删除参考(工具菜单),它只显示一次

Private Sub Test2() 
Dim ref As Reference 
Dim refExists As Boolean 
refExists = False With CurrentProject.Application.References 

For Each ref In References 
    If ref.name = "ARS" Then 
        refExists = True 
    End If Next 
End With 

If refExists = False Then 
    CurrentProject.Application.References.AddFromFile (CurrentProject.Path & "SectionsARS.accdb") 
End If 
End Sub

更新5/7/18:所以我想出了另一个难题。如果我将数据库移动到任何其他目录,则过程正确运行,并且引用的数据库仅在项目窗口中出现一次。所以我不知道为什么它会在这个特定的目录中执行它,但至少当我进行更新时不应该这样做。

答案

尝试

If Dir("C:DatabasesDatabase2.accdb") <> "" And Not refExists("access") Then
    Access.References.AddFromFile ("C:DatabasesDatabase2.accdb")

功能定义:refExists()

Private Function refExists(naam As String)
Dim ref As Reference
refExists = False
For Each ref In References
    If ref.Name = naam Then
        refExists = True
    End If
Next
End Function

检查答案由TheLaurens:Add references programmatically

以上是关于Access VBA添加引用正在重复的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Access VBA 中声明对 ActiveX“ListView”控件的引用?

对象变量或块变量未设置访问vba [重复]

使用 VBA 将 Access 查询链接到 Excel [重复]

Access VBA:关闭表单会导致表中的重复条目

如何在 Access VBA 中设置对正在运行的对象的引用

比较 VBA Access 中的表