Von MS Access-Abfrage-Designer, ich baue bisher eine funktionierende Abfrage.Wie erstellt man einen "Not Having" SQL-Befehl
Neue Anforderungen kommt hinzu, wo die Ergebnisse der Abfrage weiter gefiltert werden müssen.
SELECT Sum(0) AS [#], Contacts.COMPANY, Proposals.[PROP NAME], Projects.[START DATE], Projects.DESCRIPTION, Projects.[TOTAL FEE], Projects.[PROJ ID], Contacts.[FULL NAME], Projects.COUNTRY
FROM (Contacts INNER JOIN Proposals ON Contacts.[CON ID] = Proposals.[CON ID]) INNER JOIN Projects ON Proposals.[PROP ID] = Projects.[PROP ID]
GROUP BY Contacts.COMPANY, Proposals.[PROP NAME], Projects.[START DATE], Projects.DESCRIPTION, Projects.[TOTAL FEE], Projects.[PROJ ID], Contacts.[FULL NAME], Projects.COUNTRY, Projects.[PROJECT STATUS]
HAVING ((((Proposals.[PROP NAME]) Like "*" & [forms]![TempUI]![SrchText] & "*")) AND ((Projects.[START DATE]) Between [Forms]![TempUI]![txtRptDateStart] And [Forms]![TempUI]![txtRptDateEnd]) AND ((Projects.[PROJECT STATUS]) Like [forms]![TempUI]![cmb_scope]));
Diese Abfrage wird die Datensätze filtern basierend auf dem Inhalt von srchtxt (Textbox)
Lassen Sie uns das Ergebnis übernehmen, wenn srchtxt das Wort „Feuer“ enthalten diese
Prop Name
----------
Fire Pump repair
Fire damage repair
Wall restructure due to building fire
Fire water pump
Roof repair due to fire
sind Jetzt brauche ich um dies weiter zu filtern, um das Wort "Pumpe" auszuschließen, weil die Feuerlöschpumpe eine Maschine ist und nichts mit Strukturen zu tun hat, die durch Feuer beschädigt werden
Ich habe versucht,zu verwendenNOT LIKE
wie diese
HAVING ((((Proposals.[PROP NAME]) Like "*" & [forms]![TempUI]![SrchText] & "*") AND ((Proposals.[PROP NAME]) NOT LIKE [forms]![TempUI]![txtRPTexlude])) AND ((Projects.[START DATE]) Between [Forms]![TempUI]![txtRptDateStart] And [Forms]![TempUI]![txtRptDateEnd]) AND ((Projects.[PROJECT STATUS]) Like [forms]![TempUI]![cmb_scope]));
Aber es keine Ergebnisse zurück.
Jede Idee, was ist die richtige HAVING-Klausel, um alle Datensätze mit dem Wort "Pumpe" aus den Ergebnissen auszuschließen?
Dank
vielleicht ist es Maske wegen fehlender zu nutzen versuchen? 'HAVING ((((Vorschläge. [PROP NAME]) Wie" * "& [Formulare]! [TempUI]! [SrchText] &" * ") UND ((Vorschläge. [PROP NAME]) NICHT WIE" * "& [forms]! [TempUI]! [txtRPTexlude] & "*")) UND ((Projekte. [START DATUM]) Zwischen [Forms]! [TempUI]! [txtRptDateStart] und [Forms]! [TempUI]! [txtRptDateEnd ]) AND ((Projects. [PROJECT STATUS]) Wie "*" & [forms]! [TempUI]! [Cmb_scope] & "*")); ' – user5226582
immer noch leeres Ergebnis – Wayne
Alle Ihre' habing' Klauseln sollten tatsächlich in 'where' Klauseln ...' Having' ist, um Bedingungen auf den aggregierten Wert anzuwenden. – JohnHC