Stefano Albrecht: SQL; LIKE- Abfrage

Beitrag lesen

Servus Nicole ;~)

SELECT vFN_Gerät_Händler.Fabriknummer, vFN_Gerät_Händler.Kundenauftragsnummer, vFN_Gerät_Händler.Endkundennummer, vEndkunden.Name, vEndkunden.Name_2, vEndkunden.Strasse, vEndkunden.PLZ, vEndkunden.Ort, vEndkunden.Kennzeichen, vFN_Gerät_Händler.Händlerschlüssel, vFN_Gerät_Händler.Name, vFN_Gerät_Händler.Name_2, vFN_Gerät_Händler.Strasse, vFN_Gerät_Händler.PLZ, vFN_Gerät_Händler.Ort, vFN_Gerät_Händler.Kennzeichen, vFN_Gerät_Händler.Geräteschlüssel, vFN_Gerät_Händler.Gerätebezeichnung, vFN_Gerät_Händler.Gerätetyp, vFN_Gerät_Händler.Gerätetypenbezeichnung, vFN_Gerät_Händler.Produktionsort, vFN_Gerät_Händler.Rechnungsnummer, vFN_Gerät_Händler.[Bestellnummer STB], vFN_Gerät_Händler.Bemerkung, vFN_Gerät_Händler.[im Umbau seit], vFN_Gerät_Händler.[Versand-Avis], vFN_Gerät_Händler.[Versandfertig seit:], vFN_Gerät_Händler.[Lieferdatum STB], vFN_Gerät_Händler.[Lieferdatum Endkunde], vFN_Gerät_Händler.Lieferkennzeichen, vFN_Gerät_Händler.[KZ H/E/I]

Währe hier ein Asterik evtl. nicht einfacher?

FROM vEndkunden RIGHT JOIN vFN_Gerät_Händler ON vEndkunden.Endkundennummer = vFN_Gerät_Händler.Endkundennummer

Soweit ich weiß, besagt der SQL-92+99-Standard, dass es "right outer join" heißt. Wohl wieder irgend eine Floskel der jeweiligen DBMS ;~)

WHERE (((vFN_Gerät_Händler.Geräteschlüssel) Like [bitte geben Sie einen gültigen Geräteschlüssel ein:]))

Wieso verwendest Du hier Like und nicht den "="-Operator?
Like ist für den Gebrauch von Wildcards und anderen Platzhaltern (_ und %) konzipiert worden. Das "=" wäre hier performanter.

die Abfrage funktioniert einwandfrei, nur wenn kein Datensatz vorhanden ist, erhalte ich ein leeres Formular. Ich möchte aber gerne, dass, falls kein DS voarhanden ist, dass eine Meldung hochkommt, dass zu dem eingegebenen Suchkriterium kein DS vorhanden ist.

Mit SQL kannst Du nicht direkt Meldungen in dem Sinne erzeugen, wie Du es Dir vorstellst (einige DBMS vielleicht schon eher). Ich nehme an, dass der Benutzer in einem Textfeld den Suchstring für "bitte geben Sie einen gültigen Geräteschlüssel ein:" eingibt. In diesem Fall könntest Du diese Funktion direkt in die Anwendung implementrieren. Oder soll der Benutzer etwa das SQL-Statement verwenden? Direkt an dem DBMS?

Freundliche Grüße
Stefano Albrecht