Public dbcnn As New ADODB.Connection
  dbcnn.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\wintrans price\WinTransPrice.mdb"
dbcnn .Open

解决方案 »

  1.   

    Public Sub Connect()
        Dim strCon  As String
         strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\wintrans price\WinTransPrice.mdb;Persist Security Info=False"
        Set dbcnn = New ADODB.Connection
        With dbcnn
            .ConnectionString = strCon
            .CursorLocation = adUseclient
            .Open
        End With
        Exit Sub
    End Sub
      

  2.   

    改为.CursorLocation = adUseclient
      

  3.   


    Const c_strConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Password='';Data Source=C:\Program Files\Microsoft Visual Studio\VB98\Nwind.mdb;Persist Security Info=false"
    Public dbcnn As ADODB.ConnectionPublic Function funConnect() As Boolean
    On Error GoTo errLabel    Set dbcnn = New ADODB.Connection
        With dbcnn
            .ConnectionString = strConnectString
            .ConnectionTimeout = 5
            .Properties("PROMPT") = adPromptNever
            .CursorLocation = adUseServer
            .Open
        End With
        
        funConnect = TrueerrLabel:
        If Err <> 0 Then
            funConnect = False
        End If
    End Functionform中测试:
    Private Sub Command1_Click()
        If funConnect() Then
            MsgBox "Success"
        Else
            MsgBox "False"
        End If
        
        If Not dbcnn Is Nothing Then
            If Not dbcnn.State = adStateClosed Then
                dbcnn.Close
            End If
            
            Set dbcnn = Nothing
        End If
    End Sub成功
      

  4.   

    转贴中错误:.ConnectionString = c_strConnectString会不会是你的Mdac_typ.exe版本同ACCESS文件版本不对?
      

  5.   

    Private Sub Cmb_mc_GotFocus()
    Dim rs As New ADODB.Recordset
    Dim ado_command As New ADODB.Command
     Cmb_mc.Clear
    ' Call Connect
     With ado_command
           .ActiveConnection = dbcnn
           .CommandType = adCmdText
           .CommandText = "select  distinct name from wharfs"
                  If rs.State = adStateOpen Then
                    rs.Close
                  End If
           Set rs = .Execute
       End With
       While Not rs.EOF
           Cmb_mc.AddItem rs.Fields("name")
           rs.MoveNext
        Wend
    End Sub
    我用上面的程序调试的时候
    错误出在
    Set rs = .Execute
    这里
    但是如果我直接把连接字符窜加过来就不错 了
    为什么呢?
      

  6.   

    你的连接函数这样写试试:
    Public function Connect() as adodb.connection
        Dim strCon  As String
         strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\wintrans price\WinTransPrice.mdb;Persist Security Info=False"
        dim dbcnn as New ADODB.Connection
        With dbcnn
            .ConnectionString = strCon
            .ConnectionTimeout = 5
            .Properties("PROMPT") = adPromptNever
            .CursorLocation = adUseServer
            .Open
        End WithEnd function
      

  7.   


    Public dbcnn As ADODB.ConnectionPublic Sub Connect()
        Dim strCon  As String
         strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Password='';Data Source=C:\Program Files\Microsoft Visual Studio\VB98\Nwind.mdb;Persist Security Info=false"
        Set dbcnn = New ADODB.Connection
        With dbcnn
            .ConnectionString = strCon
            .ConnectionTimeout = 5
            .Properties("PROMPT") = adPromptNever
            .CursorLocation = adUseServer
            .Open
        End With
        Exit Sub
    End Subform中:
    Private Sub Cmb_mc_GotFocus()
    Dim rs As New ADODB.Recordset
    Dim ado_command As New ADODB.Command
     
      Cmb_mc.Clear
     Call Connect
     With ado_command
           .ActiveConnection = dbcnn
           .CommandType = adCmdText
           .CommandText = "select  distinct LastName from employees"
                  If rs.State = adStateOpen Then
                    rs.Close
                  End If
           Set rs = .Execute
       End With
       While Not rs.EOF
           Cmb_mc.AddItem rs.Fields("LastName")
           rs.MoveNext
        Wend
    End Sub
    成功了呀。