ich die folgende Abfrage in Access VBA laufenAccess VBA Kriterien von AND und &
Case "Customer Name"
strSQL = "SELECT CustomerID, Customer_Name, Industry FROM TBLCUSTOMERSNEW WHERE ucase(Customer_Name) Like '*" & UCase(tempStr) & "*'" & " ORDER BY Customer_Name"
Me.lstSearchResults.ColumnCount = 4
Me.lstSearchResults.ColumnWidths = "1cm;7cm;12cm;"
Ist es möglich, diese Abfrage zu ändern, so dass, wenn der Wert für (tempStr
) gesucht wird enthält eine „&“ die Datensätze zurückgegeben enthalten auch Datensätze, wobei customer_name
enthält "und", und umgekehrt?
Ja, das ist mit einer einfachen 'If' Aussage möglich. Bitte teilen Sie den Code, der die Abfrage aufruft, und teilen Sie ihn im Format in VBA (mit umgebenden Anführungszeichen und ähnlichem). (Sie wollen nur _John & Jack_ mit _John und Jack_, wie ich es verstehe?) –
Kurze Antwort ja - Sie müssten Instr verwenden, um die & oder Und zu finden und eine zweite ähnliche Anweisung mit der zusätzlichen Suche zu erstellen, dann hinzufügen es als ein OR zu Ihrer Where-Klausel. Zwei Dinge - Access ist standardmäßig nicht case sensitive, so dass Sie die UCase nicht benötigen, und die Verwendung von * zu Beginn der Suche bedeutet, dass Indizes für das gesuchte Feld nicht verwendet werden können, wenn es sich um ein großes Recordset handelt sehr langsam. – Minty
@ErikvonAsmuth - "John & Jack zu John und Jack" - das ist richtig, ja – user1936588