位置:海鸟网 > IT > mySQL >

刷新数据库链接表的代码

代码如下:

Private Sub c_connect_Click()
    
    Err = 0
    On Error Resume Next
    
    Dim wrkODBC As Workspace
    Dim conPubs As Connection
    Dim mydb As Database, mytable As TableDef
    Dim I As Integer, j As Integer
    Dim connectstr As String
    
    DoCmd.Hourglass True
    DoCmd.SetWarnings False

    Set mydb = DBEngine.Workspaces(0).Databases(0)
    
    Dim passdb As String, ww As Integer
    Dim f As Integer, g As Integer
    passdb="pass"
    connectstr = "ODBC;DSN=" & Me.dsn & ";"
    connectstr = connectstr & "UID=" & Me.dbuser_id & ";"
    connectstr = connectstr & "PWD=" & passdb & ";"
    'connectstr = connectstr & "PWD=" & Me.dbpass_id & ";"
           
    Set wrkODBC = CreateWorkspace("NewODBCWorkspace", "", "", dbUseODBC)
    Set conPubs = wrkODBC.OpenConnection("sam_user", dbDriverNoPrompt, , connectstr)
    If Err <> 0 Then GoTo dbuser_sam_err
    
    On Error GoTo dbuser_conn_err
    
    I = mydb.TableDefs.count     'tables count
    For j = 0 To I - 1
        Set mytable = mydb.TableDefs(j)
        If mytable.Attributes = DB_ATTACHEDODBC Or mytable.Attributes = DB_ATTACHEDODBC 
+ DB_ATTACHSAVEPWD Then
             mytable.connect = connectstr
             mytable.RefreshLink
        End If
    Next
    On Error Resume Next
    
    DoCmd.Hourglass False
    MsgBox "数据表连接完成!", , "天鸣"
    Err = 0
    Exit Sub

dbuser_sam_err:
    DoCmd.Hourglass False
    MsgBox "数据库用户,口令错误,重新登录!", , "天鸣"
    Err = 0
    Exit Sub
    
dbuser_conn_err:
    DoCmd.Hourglass False
    MsgBox Error$(Err), 16, "天鸣"
    Err = 0
    Exit Sub

End Sub