這是我的代碼,我想從Excel中的另一張工作表中創建一個更新下拉列表,但該錯誤不會分散我的編碼,我想如何解決它?爲什麼我的vba編碼輸出是這樣的?
微軟ODBC Excel驅動程序;參數太少。預計1
此指令發生錯誤:
rs.Open strSQL, Cnn, adOpenKeyset, adLockOptimistic
這裏的周邊代碼:
Option Explicit
Public Cnn As New ADODB.Connection
Public Rs As New ADODB.Recordset
Public StrSQL As String
Public Sub OpenDB()
If Cnn.State = adStateOpen Then Cnn.Close
Cnn.ConnectionString = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" & _
ActiveWorkbook.Path & Application.PathSeparator & ActiveWorkbook.Name
Cnn.Open
End Sub
Public Sub CloseRS()
If Rs.State = adStateOpen Then Rs.Close
Rs.CursorLocation = adUseClient
End Sub
Private Sub CommandButton4_Click()
strSQL = "Select Distinct [Equipment] From [mechanical$] Order by [Equipment]"
CloseRS
OpenDB
ComboBox1.Clear
rs.Open strSQL, Cnn, adOpenKeyset, adLockOptimistic '<<< ERROR HERE
If rs.RecordCount > 0 Then
Do While Not rs.EOF
ComboBox1.AddItem rs.Fields(0)
rs.MoveNext
Loop
Else
MsgBox "I was not able to find any unique Products.", vbCritical + vbOKOnly
Exit Function
End If
'----------------------------
strSQL = "Select Distinct [SWEC] From [mechanical$] Order by [SWEC]"
CloseRS
OpenDB
ComboBox2.Clear
rs.Open strSQL, Cnn, adOpenKeyset, adLockOptimistic
If rs.RecordCount > 0 Then
Do While Not rs.EOF
ComboBox2.AddItem rs.Fields(0)
rs.MoveNext
Loop
Else
MsgBox "I was not able to find any unique Region(s).", vbCritical + vbOKOnly
Exit Function
End If
'----------------------
strSQL = "Select Distinct [Principal Name] From [mechanical$] Order by [Principal Name]"
CloseRS
OpenDB
ComboBox3.Clear
rs.Open strSQL, Cnn, adOpenKeyset, adLockOptimistic
If rs.RecordCount > 0 Then
Do While Not rs.EOF
ComboBox3.AddItem rs.Fields(0)
rs.MoveNext
Loop
Else
MsgBox "I was not able to find any unique Customer Type(s).", vbCritical + vbOKOnly
Exit Function
End If
End Function
我在這裏的輸出頁search form 我的數據庫databse
你說你得到一個錯誤,但你沒有告訴我們錯誤是什麼。 – Dai
rs.Open strSQL,Cnn,adOpenKeyset,adLockOptimistic - 這行錯誤 - 它彈出一條消息,寫入「運行時錯誤'424'對象需要 –
同一行上的另一個錯誤是運行時錯誤'-2147217904( 80040e10)':[Microsoft] [ODBC Excel Driver]太少參數。預計1 –