|
Datenbankabfragen |
|
|
Letzte Änderung 01.11.2009 Filter-Bedingung generieren lassen Für dieses Beispiel benötigen Sie das Beispiel-Projekt fahrzeuge.xdev.
Für ein Such-Formular muss für jedes Eingabe- oder Auswahl-Feld eine Abfrage-Bedingung konstruiert werden. Bei größeren Such-Formularen ist dadurch der Aufwand für die Konstruktion der Datenbankabfrage enorm groß. Nicht selten müssen bis zu 30 oder mehr Bedingungen konstruiert werden. Diese müssen zudem bei jeder Änderung am Formular überarbeitet werden, u.a. wenn ein Suchkriterium hinzu kommt oder weg fällt, was darüber hinaus eine große Fehlerquelle darstellt.
Mit Hilfe der Komponente Formular können Sie sich die Abfrage-Bedingungen für ein ganzes Formular automatisch generieren lassen. Sie sparen sich dadurch eine Menge Tipparbeit, kostbare Zeit und schalten gleichzeitig eine erhebliche Fehlerquelle aus. Dazu bietet Ihnen das Formular die Methode
» Wahl des logischen Operators « Bei Verwendung der Methode müssen lediglich festlegen, wie die erzeugten Abfrage-Bedingungen miteinander verknüpft werden sollen, in dem Sie einen logischen Operator als Parameter übergben. I.d.R. soll jedes Suchkriterium das Treffer-Ergebnis weiter eingrenzen, z.B. Automarke = VW, Modell = Golf, Farbe = rot usw. Um die gewünschte Eingrenzung zu erreichen, muss jede einzelne Bedingung erfüllt werden, sprich wahr sein. Dies erreichen Sie nur, wenn Sie alle Abfrage-Bedingungen miteinander logisch UND verknüpfen. Der Methode müssen Sie dafür die englische Bezeichnung AND als Parameter übergeben. Der Parameter wird für die Verknüpfung aller Bedingungen des Such-Formulars verwendet.
» Ausschluss von Werten (NOT-Operator) « Manchmal sollen jedoch einzelne Suchkriterien explizit aus dem Abfrageergebnis ausgeschlossen werden, z.B. Automarke = VW, Modell NICHT Golf. Um einen entsprechenden Ausschluss zu erreichen, müssen Sie lediglich in den Eigenschaften der betreffenden Formular-Komponente bei Filter-Option die Einstellung Exklusive auswählen. Dadurch wird beim Erzeugen der Abfrage-Bedingung der Operator überschrieben, den Sie der Methode als übergeben haben.
» Filter-Genauigkeit « Auch die Filter-Genauigkeit, die Sie mit Hilfe der SQL-Operatoren = oder LIKE angegeben wird, lässt sich in den Eigenschaften der jeweiligen Formular-Komponenten bei Filter-Genauigkeit einstellen.
» Mapping « Da Formular-Komponenten ursprünglich keine Verbindung zu irgendwelchen Datenfeldern haben, müssen Sie alle Formular-Komponenten des Such-Formulars noch mit einem entsprechenden Datenfeld verknüpfen. Die Verknüpfung ist einfach und erfolgt per Drag&Drop.
Fortsetzung des Beispiels Abfrage mehrerer Datenbank-Tabellen (Joins):
Verknüpfung von Formular-Komponenten und Datenfelder:
Abfrage-Bedingung generieren lassen:
Basiswissen: Virtuelle Tabellen, Datenbankabfragen, Formulare, Formular-Komponenten
|