LittleRedHat
Instructor
I'm using exactly the same coding that has worked in other Access databases. The search and reset work perfectly, except that a "type mismatch" error is displayed on the search. Close that and the required/searched record is already displayed. The debugger highlights Set rst = Me.RecordsetClone. The RecordSource and type are correct.
Private Sub BtnFindByName_Click()
Dim FindByNameSQL As String
If IsNull(Me.FirstCriteria) Then
MsgBox "Please enter first name to search", , "Brown's"
Me.FirstCriteria.SetFocus
Exit Sub
End If
If IsNull(Me.LastCriteria) Then
MsgBox "Please enter last name to search", , "Brown's"
Me.LastCriteria.SetFocus
Exit Sub
End If
FindByNameSQL = "SELECT * FROM SUPPLIER WHERE First_Name LIKE "
FindByNameSQL = FindByNameSQL + "'" + Me.FirstCriteria + "*'"
FindByNameSQL = FindByNameSQL + " AND Last_Name LIKE"
FindByNameSQL = FindByNameSQL + "'" + Me.LastCriteria + "*'"
Me.RecordSource = FindByNameSQL
Dim rst As Recordset
Set rst = Me.RecordsetClone
If rst.RecordCount = 0 Then
MsgBox "No records matching the criteria", vbExclamation, "Brown's - supplier search"
Else
rst.MoveLast
MsgBox rst.RecordCount & " records found", vbInformation, "Brown's - supplier search"
End If
End Sub
Private Sub BtnResetFormRecordSource_Click()
Me.RecordSource = "Select * FROM SUPPLIER"
Me.LastCriteria = Null
Me.FirstCriteria = Null
Me.FirstCriteria.SetFocus
End Sub
Please has anyone any clues as to why the "type mismatch" message and/or how to avoid it?
WTA
LRH
Private Sub BtnFindByName_Click()
Dim FindByNameSQL As String
If IsNull(Me.FirstCriteria) Then
MsgBox "Please enter first name to search", , "Brown's"
Me.FirstCriteria.SetFocus
Exit Sub
End If
If IsNull(Me.LastCriteria) Then
MsgBox "Please enter last name to search", , "Brown's"
Me.LastCriteria.SetFocus
Exit Sub
End If
FindByNameSQL = "SELECT * FROM SUPPLIER WHERE First_Name LIKE "
FindByNameSQL = FindByNameSQL + "'" + Me.FirstCriteria + "*'"
FindByNameSQL = FindByNameSQL + " AND Last_Name LIKE"
FindByNameSQL = FindByNameSQL + "'" + Me.LastCriteria + "*'"
Me.RecordSource = FindByNameSQL
Dim rst As Recordset
Set rst = Me.RecordsetClone
If rst.RecordCount = 0 Then
MsgBox "No records matching the criteria", vbExclamation, "Brown's - supplier search"
Else
rst.MoveLast
MsgBox rst.RecordCount & " records found", vbInformation, "Brown's - supplier search"
End If
End Sub
Private Sub BtnResetFormRecordSource_Click()
Me.RecordSource = "Select * FROM SUPPLIER"
Me.LastCriteria = Null
Me.FirstCriteria = Null
Me.FirstCriteria.SetFocus
End Sub
Please has anyone any clues as to why the "type mismatch" message and/or how to avoid it?
WTA
LRH