Dim mDbfName As StringPrivate Const DBFNAME = "contract.mdb"Public pAdoCn As ADODB.Connection               '全局的数据库连接对象
Public Function OpenDb(ByRef cn As ADODB.Connection) As Boolean
    '''本过程打开数据库,可在关闭之后重新打开
    #If Not DEBUGFLAG Then
    On Error GoTo Errorhandle
    #End If
    GetDbInfor
    Set pAdoCn = New ADODB.Connection
    cn.CursorLocation = adUseClient
    Dim strCon As String
    strCon = "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
            & "Data Source=" & mDbfName & ";"
    cn.Open strCon
    
    OpenDb = True
    Exit Function
Errorhandle:
    MsgBox "打开数据库错误:" & Err.Number & vbCrLf & Err.Description, vbCritical
End Function

解决方案 »

  1.   

    Set cn = New ADODB.Connection
        cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\VBTemp.mdb;Persist Security Info=False"
        cn.CommandTimeout = 15
        cn.Open
        Set Rs = New ADODB.Recordset
        StrSQL = "Select *From VBTempTable1"
        Rs.Open StrSQL, cn, adOpenKeyset, adLockOptimistic'打开表1
        do while not rs.eof
           text1.text=rs("a") '表1中字段a的值给textbox
           ...
           rs.movenext
        loop
        rs.colse
       StrSQL = "Select *From VBTempTable2"'打开表2
        Rs.Open StrSQL, cn, adOpenKeyset, adLockOptimistic
        do while not rs.eof
           text2.text=rs("b") '表2中字段b的值给textbox
           ...
           rs.movenext
        loop
        rs.colse
      

  2.   

    ADO 教程 (VB) 
    Public Sub main()Dim conn As New ADODB.Connection
    Dim cmd As New ADODB.Command
    Dim rs As New ADODB.Recordset
    ‘步骤 1
    conn.Open "DSN=pubs;uid=sa;pwd=;database=pubs"
    ‘步骤 2
    Set cmd.ActiveConnection = conn
    cmd.CommandText = "SELECT * from authors"
    ‘步骤 3
    rs.CursorLocation = adUseClient
    rs.Open cmd, , adOpenStatic, adLockBatchOptimistic
    ‘步骤 4
    rs("au_lname").Properties("Optimize") = True
    rs.Sort = "au_lname"
    rs.Filter = "phone LIKE '415 5*'"
    rs.MoveFirst
    Do While Not rs.EOF
        Debug.Print "Name: " & rs("au_fname") & " "; rs("au_lname") & _
            "Phone: "; rs("phone") & vbCr
        rs("phone") = "777" & Mid(rs("phone"), 5, 11)
        rs.MoveNext
    Loop‘步骤 5
    conn.BeginTrans‘步骤 6 - A
    On Error GoTo ConflictHandler
    rs.UpdateBatch
    On Error GoTo 0conn.CommitTransExit Sub‘ 步骤 6 - B
    ConflictHandler:rs.Filter = adFilterConflictingRecords
    rs.MoveFirst
    Do While Not rs.EOF
        Debug.Print "Conflict: Name: " & rs("au_fname"); " " & rs("au_lname")
        rs.MoveNext
    Loop
    conn.Rollback
    Resume NextEnd SubVisual Basic 教程到此结束。