TurboPL Referenz filter Kommando |
Top Previous Next |
Syntax .filter Filterdefinition Kategorie Erklärung Explizite Filterdefinition In den meisten Fällen liefert das AF (= automatischer Filter)-System des TurboDB Studio optimale Suchstrategien für alle Formen der Datenabfrage. Es gibt freilich Fälle, in denen der Anwender die Automatik überschreiben will, um eine noch effizientere Suche zu ermöglichen. Das trifft vor allem dann zu, wenn ein Filter über mehrere Hierarchiestufen eines Index gebildet werden kann. Das AF-System benutzt grundsätzlich nur die ersten beiden Stufen. Eine explizite Filterdefinition besteht in der Angabe eines Indexbereiches. Bei der Bearbeitung der Tabelle wird der Startindex gesucht, und die Bearbeitung beginnt mit dem zugehörigen Datensatz. Falls auch ein Endindex angegeben wird, beendet TurboDB Studio die Arbeit, wenn ein Satz mit einer (ordnungsgemäß) späteren Indexinformation gelesen wird. Daraus ergibt sich die Voraussetzung für einen sinnvollen Filtereinsatz: Der Zugriff muss auf einem Index stehen, und die Bereichsangabe muss sich auf diesen Index beziehen. Mit Beispiel Die Tabelle KUNDEN enthält die Felder "Land" und "PLZ". Es sollen alle deutschen Kunden im Postleitzahlbereich von 2 bis 4 bearbeitet werden. Es besteht ein Index LANDPLZ.IND mit der Beschreibung "Land, PLZ". Eine Selektion der Form "Land='D', PLZ von '2' bis '49999'" liefert zwar das gewünschte Ergebnis, benötigt allerdings unnötig viel Zeit, weil das AF-System nur die erste Hierarchiestufe (=Land) des Index verwendet, also sämtliche Kunden mit Land="D" zur Verfügung stellt. Hier die genauere Filterdefinition: primtableis KUNDEN Mit diesem Filter setzt die Bearbeitung direkt beim ersten Datensatz mit der angegebenen Bedingung auf und hebt nach dem letzten Satz auch wieder ab. |