in der Hilfe wird es zwar erklärt, aber dennoch bereitete es mir Probleme die Sortierung mit Parameter umzusetzen. Das größte Problem war, wie übergebe ich den Parameter (= Feldname und Sortierfolge einfach als Text), daher hier ein kurzes Beispiel:
Im Query Editor habe ich eine Query QRY_LG_Liste erzeugt, die SORT nach PARAMETER ausgewählt hat. Diesen Parameter habe ich den Namen SortOrder gegeben. Der Name ist natürlich frei wählbar und wird angezeigt.
Im Quellcode habe ich eine ComboBox die die Auswahl in die Variable gsLG_Sort speichert, nach dieser Auswahl setze ich die Sortierreihenfolge als Parameter SortOrder
Code: Alles auswählen
SWITCH gsLG_Sort
CASE "L" : QRY_LG_Liste.SortOrder = "Name ASC"
CASE "S" : QRY_LG_Liste.SortOrder = "Strasse ASC"
CASE "P" : QRY_LG_Liste.SortOrder = "PLZ ASC"
CASE "O" : QRY_LG_Liste.SortOrder = "ORT ASC"
CASE "D" : QRY_LG_Liste.SortOrder = "AbleseDatLG ASC"
OTHER CASE : QRY_LG_Liste.SortOrder = "LgNr ASC"
END
Code: Alles auswählen
IF HExecuteQuery(QRY_LG_Liste) THEN
HReadFirst(QRY_LG_Liste)
WHILE NOT HOut(QRY_LG_Liste)
info("Die Aktuelle Zeile: Name="+QRY_LG_Liste.Name+" ... " )
END
END
Ich kam darauf im Testmodus des Queryeditors, dort konnte ich rechts "mögliche Werte" anzeigen lassen und dort stand dann der Feldname mit Sortierfolge, diesen Wert habe ich ins Programm übernommen.
Viel Neuland für einen DBF - Xbase++ User ;-)