此主題的解決參考了網友cwang的代碼,並得到了微軟工程師BillyYao的熱心幫助,在此致謝!
Functionrelink()
DimdbAsDatabase
DimtblAsTableDef
DimaAsString
DimbAsString
DimdAsString
a="sa"'數據庫用戶
b="abc"'數據庫口令
d="abcde"'數據庫名稱
Setdb=CurrentDb
ForEachtblIndb.TableDefs
Iftbl.Attributes=536870912Then
tbl.Connect="FILEDSN=d:/demo/steel.dsn;U;PWD="&b&";WSID=;DATABASE="&d&";Network=DBMSSOCN"
'
tbl.Attributes=dbAttachSavePWD
tbl.RefreshLink
EndIf
Next
EndFunction
附上微軟工程師BillyYao的解答說明:
根據您的描述,我對您的問題解答如下:
1.DSN=gnts中gnts是系統DSN的文件名。
2.UID是用戶名,並且它的值由變量a的值決定。PWD是密碼,並且它的值由變量b的值決定。
3.WSID是指工作站的ID號(WorkstationID)。變量d的值表示數據庫的名稱。Network=DBMSSOCN指TCP/IP所使用的網絡庫(NetworkLibrary)。