我目前正在处理我的应用程序的主Access数据库,每当我使用VBA添加引用时,它似乎会在项目窗口下加倍引用。
以下是我正在使用的代码:
Private Sub AddRef()
Application.References.AddFromFile ("C:\Databases\Database2.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 & "\Sections\ARS.accdb")
End If
End Sub
更新5/7/18:所以我想出了另一个难题。如果我将数据库移动到任何其他目录,则过程正确运行,并且引用的数据库仅在项目窗口中出现一次。所以我不知道为什么它会在这个特定的目录中进行,但至少在我进行更新时不会发生这种情况。
答案 0 :(得分:2)
尝试
If Dir("C:\Databases\Database2.accdb") <> "" And Not refExists("access") Then
Access.References.AddFromFile ("C:\Databases\Database2.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