Bedingungen (4)
In diesem Folder werden die Bedingungen des Query erstellt. Grundsätzlich sind die Bedingungen von OpenEdge Progress einzuhalten.

| Wert | Beschreibung |
|---|---|
| gewählte DB Tabellen | Hier werden alle ausgewählten DB-Tabellen angezeigt, auch diejenigen aus der zu Grunde liegenden Selektions-Vorgabe |
| DB-Index | Hier werden die Datenbank-Indexe zur angewählten Tabelle angezeigt im Format Indexname: feld1 + feld2 + ... Es ist wichtig, dass wenn immer möglich die Bedingungen so formuliert werden, dass nach Möglichkeit ein Index verwendet werden kann; andernfalls kann es bei Tabellen-Verknüpfungen zu endlosen Selektionsläufen kommen. Besonders zu beachten ist, dass die meisten Tabellen an erster Stelle die Firma haben und dieses Feld auch unbedingt bei der WHERE-Klausel verwendet wird, unabhängig davon ob in der Datenbank mehrere Firmen vorhanden sind! |
| DB-Tabelle | Beschreibung der Tabelle gemäss Datenbank Schema |
| DB-Felder | Anzeige der Felder zur angewählten Tabelle. Diese Felder können in der Where-Klausel verwendet werden |
| DB-Feld | Beschreibung des Feldes gemäss Datenbank Schema |
| Buttons für Bedingungen | Mit diesen Buttons können Bedingungen in der Where-Klausel eingefügt werden: ![]() |
| Where-Klausel | Bedingungen können gemäss Regeln von OpenEdge Progress verwendet werden; es können auch die definierten Platzhalter verwendet werden. Ausser bei der ersten Bedingung zu einer Tabelle muss immer zuerst eine Bedingung UND oder OR angewählt werden. Zu beachten ist, dass für zusätzliche Bedingungen zu Tabellen aus einer Selektions-Vorlage immer mit einem dieser Schlüsselwörter beginnen muss. Die Erfassungsreihenfolge pro Zeile ist deshalb normalerweise: 1. AND / OR (ausser bei erster Bedingung zu einer Tabelle) 2. erster Feldname für Vergleich 3. Vergleichsbedingung (> , < , ...) 4. zweiter Feldname oder konstanter Wert Nach Erfassung der Bedingung kann in einem Zusatzfenster erfasst werden: - Konstanter Wert - Platzhalter via Button Platzhalter - Bei Datum-Felder kann mit TODAY +/- Anzahl Tage gearbeitet werden - Bei Feld Firma: Mandant = aktueller Mandant - Beliebiges verknüpftes DB-Feld nach Eingabe von 'Abbruch' Bei Bedarf kann unmittelbar nach dem Tabellen-Name der gewünschte Index angegeben werden mit USE-INDEX Indexname; dies ist notwendig, wenn die automatische Auswahl den falschen Index verwendet und somit lange Selektionen produziert. Dies ist z.B. bei Zugriff auf die Tabelle abo der Fall wenn in der Bedingung sowohl das Feld artnr wie auch vorgnr verwendet wird; hier wird normalerweise mit key artkey gesucht, was sehr lange Laufzeiten gibt im Vergleich zu Vorgnummer Beispiel in WHERE-Clause: faros.abo USE-INDEX kundkey WHERE abo.firma = Mandant AND ... Grundsätzlich sind alle Indexe ersichtlich im Feld DB-Index. |
| Buttons zu Where-Klausel | ![]() |

