编程方式更改链接表在MS Access连接(Programmatically change the

2019-08-18 03:11发布

我已经提到了我的问题,其他的网页,但我仍然不能得到这个工作。 我觉得有点慢,因为我有以下三个例子,但还是无法想出解决办法。

更改链接表的位置编程

链接表的MS Access 2010的改变连接字符串

更新的Access链接的表使用UNC路径

下面是我使用的代码:

Dim tdf As TableDef
Dim db As Database
Set db = CurrentDb
Set tdf = db.TableDefs("DeviceListT")
tdf.Connect = "ODBC;DATABASE=" & CurrentProject.path _
                               & "\HarmonicProfileDatabase_be.accdb"
tdf.RefreshLink

问题是,当我运行它会弹出一个窗口。

我并不完全相信我应该是做些什么我也不希望它在第一时间弹出,我会给予的MS Access文件给别人,他们将不知道如何处理这个窗口要么做。

Answer 1:

您正在使用SQL Server的引用,但链接的MS Access。 对于MS Access,您不需要一个ODBC链接,只需引用数据库:

DBFile = CurrentProject.path & "\HarmonicProfileDatabase_be.accdb
''Check the file exists
strFile = Dir(DBFile)
If strFile <> "" Then
    With CurrentDb
        For Each tdf In .TableDefs
            ''Check that this is a linked table
            ''It can be useful to use table of tables instead
            If tdf.Connect Like "*HarmonicProfileDatabase_be.accdb*" Then
                tdf.Connect = ";DATABASE=" & DBFile 
                tdf.RefreshLink
            End If
        Next
    End With
    MsgBox "Link HarmonicProfileDatabase_be.accdb" 
Else
    MsgBox "Problem"
End If

你也可以使用:

 sConnect = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
    & DBFile & ";Jet OLEDB:Database Password=pw;"


文章来源: Programmatically change the connection of a linked table in ms access