Hello everyone or anyone,
below is my coding where i need to retrieved/list out items that have specific conditions(combo box). however i got an error that make me really confused.
"Run-time error 424, Object Required!" .
what caused it happen??. <excel newbie>
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 cmdShowData_Click()
'populate data
strSQL = "SELECT * FROM [INVENTORY&RET$] WHERE "
If cmbStatus.Text <> "" Then
strSQL = strSQL & " [STATUS]='" & cmbStatus.Text & "'"
End If
If cmbItem.Text <> "" Then
If cmbStatus.Text <> "" Then
strSQL = strSQL & " AND [ICT ITEM]='" & cmbItem.Text & "'"
Else
strSQL = strSQL & " [ICT ITEM]='" & cmbItem.Text & "'"
End If
End If
If cmbStatus.Text <> "" Or cmbItem.Text <> "" Then
'now extract data
closeRS
OpenDB
Set rs = New ADODB.Recordset
'rs.Open strSQL, cnn, adOpenKeyset, adLockOptimistic
With rs
.Source = strSQL
.ActiveConnection = CurrentProject.Connection
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open
If rs.RecordCount > 0 Then
Sheets("VIEW").Visible = True
Sheets("VIEW").Select
Range("dataSet").Select
Range(Selection, Selection.End(xlDown)).ClearContents
'Now putting the data on the sheet
ActiveCell.CopyFromRecordset rs
Else
MsgBox "I was not able to find any matching records.", vbExclamation + vbOKOnly
Exit Sub
End If
End With
End If
End Sub
Bookmarks