Public dbcnn As New ADODB.Connection
dbcnn.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\wintrans price\WinTransPrice.mdb"
dbcnn .Open
dbcnn.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\wintrans price\WinTransPrice.mdb"
dbcnn .Open
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
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成功
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
这里
但是如果我直接把连接字符窜加过来就不错 了
为什么呢?
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
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
成功了呀。