|
alle öffnen
alle schließen
Nicht compiliert - . . geändert
|
|
Index auf alle Felder INDEX AUF ALLE FELDER
von Rainer Becker
Bei größeren Programmen hat man häufig eine große Anzahl von Hilfsdateien für diverse Vorgabewerte. Typische Beispiele sind Branchen, Anreden, Titel oder Länder. Bei solch kleinen Dateien werden meist fast alle Felder indiziert. Beim Einspielen eines Backups oder beim Auftreten eines Indexfehlers ("CDX-Datei nicht gefunden" o.ä.) ist es deshalb einfacher, alle Felder der Datenbank auf die Schnelle zu indizieren:
Function Invert
Private nAnzahl,nZaehl, cFeld, cArt
If Empty(Alias())
Wait Window "Aufruffehler!" Nowait
Return .F.
Endif
Delete Tag All
m.nAnzahl = FCount()
For m.nZaehl = 1 to m.nAnzahl
m.cFeld = Field(m.nZaehl)
m.cArt = Type(m.cFeld)
If m.cArt != "M" and m.cArt != "L"
Index on (m.cFeld) Tag (m.cFeld)
Endif
Next
Index on Deleted() Tag Geloescht
Return
In meiner eigenen Version habe ich noch eine Sicherheitsabfrage eingebaut, falls die Datei aus mehr als 20 Feldern besteht. Im Netzwerkbetrieb darf die Funktion nur aufgerufen werden, wenn die Datenbank exklusiv geöffnet ist.
|
|