用代碼通過ODBC刷新鏈接(mdb+SQLSEVER2000)

字號(hào):

在用MDB與SQL SEVER2000鏈接時(shí),有時(shí)需要刷新鏈接表,通過以下代碼可以達(dá)到目的,
    此主題的解決參考了網(wǎng)友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"'數(shù)據(jù)庫用戶
     b = "abc"'數(shù)據(jù)庫口令
     d = "abcde"'數(shù)據(jù)庫名稱
     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的解答說明:
    根據(jù)您的描述,我對(duì)您的問題解答如下:
    1. DSN=gnts 中g(shù)nts是系統(tǒng)DSN的文件名。
    2. UID是用戶名,并且它的值由變量a的值決定。PWD是密碼,并且它的值由變量b的值決定。
    3. WSID 是指工作站的ID號(hào) (Workstation ID)。變量d的值表示數(shù)據(jù)庫的名稱。 Network=DBMSSOCN 指TCP/IP所使用的網(wǎng)絡(luò)庫(Network Library)。