0
Ich habe ein Formular erstellt, in dem ein Mitarbeiter nach Name oder ID eines Kunden suchen kann. Ich versuche, die Möglichkeit hinzuzufügen, auch Kontrollkästchen mit "Kundentypen/Opportunity-Typen" zu aktivieren, um die Suchergebnisse weiter zu filtern. Ich bekomme Laufzeitfehler 3075 Jede Hilfe wird geschätzt.Wie aktualisiere ich diesen Code und erhalte Laufzeitfehler 3075 nicht?
Private Sub btnSearch_Click()
'Code to show results based on keyword entered and checkbox selected
Dim strSearch As String
Dim strText As String
Dim NewBuild As String
Dim Winback As String
Dim Renewal As String
If IsNull(Me.txtSearch) Or Me.txtSearch = "" Then
MsgBox "You must enter a Name or ID to search!", vbOKOnly, "Keyword Needed"
Me.txtSearch.SetFocus
Else
If Me.chkNewBuild = True Then
NewBuild = "New Build"
End If
If Me.chkWinback = True Then
Winback = "Winback"
End If
If Me.chkRenewal = True Then
Renewal = "Renewal"
End If
strText = txtSearch.Value
strSearch = "SELECT * FROM qryPropertiesALL " _
& "WHERE ((([OpportunityType] = " _
& NewBuild & ")or ([OpportunityType] = " _
& Winback & ") or ([OpportunityType] = " _
& Renewal & ") AND (PropertyName like ""*" & strText & "*"") or (Property_ID like ""*" & strText & "*"")))"
Me.RecordSource = strSearch
End If
End Sub
Auf einer Seite zur Kenntnis, empfehle ich den Verzicht auf all den zusätzlichen Klammern und Klammern, wenn möglich. Die Klammern sind nur notwendig, wenn im Feldnamen ein Leerzeichen steht. Es erleichtert die Fehlersuche in solchen Situationen erheblich. –
@ Steve W Das hat das Problem gelöst - danke! Ich werde über Ihren Code schauen, um zu verstehen, warum das funktioniert, anstatt was ich hatte. Das einzige Problem ist, dass die Kontrollkästchen die Schlüsselwortsuche außer Kraft setzen, anstatt die Ergebnisse mit der Schlüsselwortsuche zu filtern. Irgendeine Idee, warum das der Fall sein könnte? Ich kann zusätzliche Details bei Bedarf bereitstellen. Nochmals vielen Dank für die Antwort. – New2This
Denken Sie daran, wie und/oder Beziehungen funktionieren. Wenn in Ihrer WHERE-Klausel ein OR vorhanden ist, muss nur eines der Kriterien erfüllt sein, damit die Aussage wahr ist. In Ihrem Programm funktioniert die Verwendung mehrerer Checkbooks für dieselbe Abfrage möglicherweise nicht wie geplant. Könnten Sie stattdessen eine Optionsgruppe versuchen, die nur eines der drei Suchkriterien zulässt? –