問:在用MDB與SQL Server 2000鏈接時,有時需要刷新鏈接表,如何簡潔方便地完成?
答:通過以下代碼可以達到目的(此主題的解決參考了網友cwang的代碼,並得到了微軟工程師Billy Yao 的熱心幫助):
Function relink()
Dim db As Database
Dim tbl As TableDef
Dim a As String
Dim b As String
Dim d As String
a = "sa"'數據庫用戶
b = "abc"'數據庫口令
d = "abcde"'數據庫名稱
Set db = CurrentDb
For Each tbl In db.TableDefs
If tbl.Attributes = 536870912 Then
tbl.Connect = "FILEDSN=d:\demo\steel.dsn;UID=" & a & ";PWD=" & b & ";WSID=;DATABASE=" & d & ";Network=DBMSSOCN" '
tbl.Attributes = dbAttachSavePWD
tbl.RefreshLink
End If
Next
End Function
附上微軟工程師Billy Yao的解答說明:
根據您的描述,我對您的問題解答如下:
1. DSN=gnts 中gnts是系統DSN的文件名。
2. UID是用戶名,並且它的值由變量a的值決定。PWD是密碼,並且它的值由變量b的值決定。
3. WSID 是指工作站的ID號 (Workstation ID)。變量d的值表示數據庫的名稱。 Network=DBMSSOCN 指TCP/IP所使用的網絡庫(Network Library)。