要打印所有连接字符串:
Dim tdf As TableDef
Dim db As Database
Set db = CurrentDb
For Each tdf In CurrentDb.TableDefs
If tdf.Connect <> vbNullString Then
Debug.Print tdf.Name; " -- "; tdf.SourceTableName; " -- "; tdf.Connect
End If
Next
要创建一个链接表:
With CurrentDb
''If the table does not have a unique index, you will need to create one
''if you wish to update.
Set tdf = .CreateTableDef("LocalName")
tdf.Connect = "ODBC;DRIVER=SQL Server;SERVER=10.0.0.1;" _
& "UID=testdb;APP=Microsoft Office 2003;WSID=abc;TABLE=dbo.user"
tdf.SourceTableName = "TABLE_NAME"
.TableDefs.Append tdf
.TableDefs.Refresh
End With
要更改链接:
Set db = CurrentDB
Set tdf = db.TableDefs("MyTable")
tdf.Connect = "ODBC;DRIVER=SQL Server;SERVER=10.0.0.1;" _
& "UID=testdb;APP=Microsoft Office 2003;WSID=abc;TABLE=dbo.user"
tdf.RefreshLink
您可以使用链接表管理器来更改连接。使用外部数据,ODBC来创建链接表。您可以使用VBA编辑连接。示例:http://stackoverflow.com/questions/4928134/changing-linked-table-location-programatically/4928209#4928209 – Fionnuala
无法在链接表管理器中更改dns-less连接字符串。此外,我搜索了整个项目(VBA代码),无法找到我提到dsn-less连接的连接字符串。 –