Filtern von Daten
Mit Hilfe eines gefilterten Indexes können Sie die Datensätze, auf die Sie zugreifen, auf nur die gewünschten Daten begrenzen. Wenn Sie einen gefilterten Index erstellen, sind nur Datensätze, die dem Filterausdruck entsprechen, für Anzeige und Zugriff verfügbar.
So filtern Sie Daten mit Hilfe eines gefilterten Indexes
Klicken Sie im Tabellen-Designer auf die Registerkarte Indizes, und geben Sie im Feld Filter einen Filterausdruck für den zu filternden Index ein.
- Oder -
Wählen Sie im Projekt-Manager die Tabelle aus, der Sie einen Index hinzufügen möchten, und wählen Sie Ändern.
Erstellen Sie auf der Registerkarte Indizes einen Index, oder wählen Sie einen Index aus.
Geben Sie im Feld Filter einen Filterausdruck ein.
Sie können beispielsweise einen Filter erstellen, der nur die Datensätze zu Kunden in Kanada auswählt:
customer.country = "Canada"
Wählen Sie OK.
- Oder -
- Verwenden Sie den Befehl INDEX mit der optionalen FOR-Klausel.
Wenn Sie beim INDEX-Befehl die optionale FOR-Klausel einbeziehen, dient die Indexdatei als Filter für die Tabelle. Indexschlüssel werden in der Indexdatei nur für die Datensätze erstellt, die dem Filterausdruck entsprechen. Wenn Sie beispielsweise ein Schreiben an die Verkaufsrepräsentanten Ihrer Firma vorbereiten und das Schreiben nach Ländern sortieren möchten, könnten Sie einen Index erstellen, der die Tabelle employee
so filtert, dass nur die nach Ländern und Nachnamen sortierten Datensätze für Verkaufsrepräsentanten angezeigt werden. Der folgende Code erstellt einen gefilterten Index und zeigt die gefilterten Daten in einem Datenblattfenster an:
USE employee
INDEX ON country+last_name FOR title = "Sales Representative" ;
TAG reps_cntry
BROWSE
Im Datenblattfenster werden nur die Verkaufsrepräsentanten angezeigt. Die Datensätze der anderen Angestellten werden nicht angezeigt.
Ein gefilterter Index erstellt einen Index nur für Datensätze, die dem Filterausdruck entsprechen.
Temporäres Filtern von Daten
Mit dem SET FILTER-Befehl können Sie Daten temporär filtern, ohne einen speziellen gefilterten Index zu erstellen. Dieser Befehl ist besonders zweckmäßig, um eine temporäre Bedingung festzulegen, die Datensätze in einer Tabelle erfüllen müssen, damit auf sie zugegriffen werden kann. Um den Filter für die aktuelle Tabelle zu deaktivieren, geben Sie den SET FILTER TO-Befehl ohne einen Ausdruck ein. So könnten Sie beispielsweise den folgenden Befehl ausgeben, um die Tabelle customer
so zu filtern, dass sie nur die Kunden in Deutschland anzeigt:
USE customer
SET FILTER TO country = "Germany"
BROWSE
Der SET FILTER-Befehl akzeptiert jeden gültigen logischen Visual FoxPro-Ausdruck als Filterbedingung. Sobald der SET FILTER-Befehl ausgeführt wurde, sind nur noch die Datensätze in der Tabelle verfügbar, die die Filterbedingung erfüllen. Alle Befehle, die auf die Tabelle zugreifen, halten die SET FILTER-Bedingung ein. Für jede geöffnete Tabelle kann ein eigener Filter eingerichtet werden.
Siehe auch
Zugreifen auf Datensätze in absteigender Reihenfolge | Verbessern der Effizienz von Indizes | Arbeiten mit Datensätzen | Tabellen-Designer | INDEX | Erstellen eines Indexes | Erstellen mehrerer Indizes | Ordnen nach mehreren Feldern | Indexerstellung für Tabellen