在不使用DSN文件的情况下,我们可以通过下面的代码来创建对SQL SEVER2000的表链接。使用这个方法,可以防止用户知道您的数据库存放地址。
示例代码:
方法一:
DoCmd.TransferDatabase acLink, "ODBC", "ODBC;DRIVER=SQL Server;SERVER=IP地址;UID=用户名;PWD=密码;DATABASE=数据库名称", acTable, "目标表名称", "链接表名称", True
方法二:
Function LinkToPubsAuthorsDSNLess()
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim strConnect As String
Dim strServer As String
Dim strDatabase As String
Dim strUID As String
Dim strPWD As String
strServer = "IP地址"
strDatabase = "数据库名称"
strUID = "用户名"
strPWD = "数据库密码"
strConnect = "ODBC;DRIVER={SQL Server}" _
& ";SERVER=" & strServer _
& ";DATABASE=" & strDatabase _
& ";UID=" & strUID _
& ";PWD=" & strPWD & ";"
Set db = CurrentDb()
Set tdf = db.CreateTableDef("要创建的链接表名称")
tdf.SourceTableName = "目标表名称"
tdf.Connect = strConnect
db.TableDefs.Append tdf
db.TableDefs.Refresh
Set tdf = Nothing
Set db = Nothing
End Function
说明:上面代码中的IP地址,用户名,密码,数据库名称都不需要加引号。