Resourcen
Übersicht
Programmierung
Schulungen
Projektabwicklung
Consulting & Coaching
Tools und AddOns zu FoxPro
Frameworks für Visual FoxPro
Grafik und Berichtsausgabe
Installation und Dokumentation
Sicherheit und Übertragung
Standardsoftware in FoxPro
Bücher und Zeitschriften
dFPUG Service
dFPUG Regionaltreffen
dFPUG Online
MS Most Valuable Professionals
Microsoft Certified Professionals
Bücher
Übersicht
Visual FoxPro 8.0
Visual FoxPro 7.0
Visual FoxPro 6.0
Visual FoxPro 5.0
Visual FoxPro 3.0
dFPUG Service
Objektorientierung
Softwareentwicklung
Visual FoxPro Mac
FoxPro f. Windows
FoxPro f. Mac
FoxPro f. DOS
SQL Server
Buchlisten
Buchhandlung
Presse
A bis B
C
D
E bis H
I bis L
M
N bis O
P
Q bis Z
Stellen
Übersicht
FoxPro München
FoxPro Rhein Main Gebiet
FoxPro Ruhrgebiet
FoxPro Hannover
FoxPro Hamburg
FoxPro Stuttgart
FoxPro Sonstige
FoxPro Schweiz
FoxPro Österreich
FoxPro Kapazitäten frei
Sonstige Angebote
Sonstige Gesuche
Tipps
Übersicht
Visual FoxPro 8.0
Visual FoxPro 7.0
Visual FoxPro 6.0
Alle Visual FoxPro Versionen
Visual FoxPro 5.0
Visual FoxPro 3.0
Visual FoxPro Mac
Alle FoxPro-Versionen
Alle Windows-Versionen
FoxPro DOS FoxPro Win
FoxPro DOS
FoxPro Mac
Sonstige Tips

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.