我正在开发一个现有的MS Access 2010项目,该项目具有到Sql Server数据库的链接表链接。
当我鼠标移到链接表时,我可以看到连接字符串'ODBC;DRIVER=SQL Server;SERVER=10.0.0.1;UID=testdb;APP=Microsoft Office 2003;WSID=abc;TABLE=dbo.user'
这看起来像一个无dsn链表。
问题
连接字符串位于何处?如何更改它(示例数据库名称)?
如何创建类似的无dsn链接表?任何时候我创建一个链接表Access 2010总是强迫我选择\创建一个dsn(文件或机器)。
答案 0 :(得分:28)
打印所有连接字符串:
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
答案 1 :(得分:21)
您可以使用以下指南(Original Source)更改连接字符串。
首先,获取现有的连接字符串。
其次更新连接字符串。