Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi dBase - Sortieren mir mehreren Spalten (https://www.delphipraxis.net/53231-dbase-sortieren-mir-mehreren-spalten.html)

EDatabaseError 12. Sep 2005 18:41

Datenbank: dBase • Version: IV • Zugriff über: keine Ahnung

dBase - Sortieren mir mehreren Spalten
 
Kann mir mal bitte jemand auf die sprünge helfen... Ich hab drei spalten nach denen ich die Tabelle sortieren will (s1,s2,s3). Nun möchte ich das er erst s1 von 0 - n sortiert dann s2 und dann s3. Geht das mit dbase oder brauch ich paradox? Die Hilfe filft mir da nich so richtig da wird was von Index und so geschrieben aber ich weiß net wo ich was hinschreiben muss das es geht.

Danke schon mal im vorraus.

Bernhard Geyer 12. Sep 2005 19:10

Re: dBase - Sortieren mir mehreren Spalten
 
Wenn Du erst mit Datenbanken anfängst dann schmeiß dBase und Paradox mittels BDE gleich wieder weg.
Du handelst dir nur Ärger ein wenn du es später auf anderen PC's oder im Netz zum laufen bekommen willst.
Alternative (MySQL, ADS Local Server, Absolut Database) gibt es genug.

Und mit der Soriterung kannst Du überall einfach SQL-Queries abschicken.
SQL-Code:
SELECT * FROM MyTable ORDER BY Feld1, Feld2, Feld3
Indexe sind für Performance-Steigerung sinnvoll bzw. nötig.

EDatabaseError 12. Sep 2005 19:52

Re: dBase - Sortieren mir mehreren Spalten
 
Und mit dBase/Paradox gibt es keine Alternative???

marabu 12. Sep 2005 20:17

Re: dBase - Sortieren mir mehreren Spalten
 
Hi,

bei dBase musst du eine Index-Expression definieren - die 3 Felder einfach als fixed length strings hintereinander hängen.
Paradox kennt bereits den compound index - einfach die Indexfelder in der gewünschten Reihenfolge und Ordnung (auf- oder absteigend) festlegen.

Grüße vom marabu

PS: Aber dann wegschmeißen...

EDatabaseError 12. Sep 2005 20:22

Re: dBase - Sortieren mir mehreren Spalten
 
Soviel steht auch in der Hilfe aber wo muss ich was eingeben. Im Objektmanager bei der Tabelle oder in der Datenbankoberfläche etc.

marabu 12. Sep 2005 20:27

Re: dBase - Sortieren mir mehreren Spalten
 
Für den Anfang kriegst du das am besten in der Datenbankoberfläche hin, denke ich. Bei Paradox sind das die Sekundärindizes in der Combo Tabelleneigenschaften.

marabu

marabu 13. Sep 2005 06:46

Re: dBase - Sortieren mir mehreren Spalten
 
Auch für DBASE kannst du den gewünschten Index über die Datenbankoberfläche erzeugen. In deinem Fall mit den drei Feldern musst du einen berechneten Index erzeugen. Wenn s1 numerisch ist, s2 und s3 character fields sind, dann könnte die index expression so aussehen:

Code:
str(s1,8)+s2+s3
character fields kannst du einfach mit + verketten, andere Datentypen musst du zuerst in Zeichenketten umwandeln. Einen so erzeugten Index kannst du in deinem Programm verwenden, indem du seinen Namen der Eigenschaft IndexName der Dataset-Komponente zuweist. Bei Verwendung von MDX-Files (Index-Verbund-Dateien) trägst du vorher den Namen der MDX-Datei bei IndexFiles ein.

Zitat:

Zitat von EDatabaseError
Soviel steht auch in der Hilfe aber wo muss ich was eingeben

Alles und jedes steht irgendwo in der Hilfe. Man muss eigentlich immer nur an der richtigen Stelle suchen.

Freundliche Grüße vom marabu

EDatabaseError 13. Sep 2005 13:53

Re: dBase - Sortieren mir mehreren Spalten
 
Danke Marabu probiers glei aus!


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz