![]() |
Datenbank: dBase • Zugriff über: TQuery
Sortierung von Zahlen nach Wertigkeit (ohne führende 0!)
Wie laut Titel benötige ich die Möglichkeit, eine Sortierung der Ergebnisse hinzubekommen, sodass die Zahlen nach Ihrer Wertigkeit sortiert werden.
Beispielabfrage:
Delphi-Quellcode:
Beispielergebnisse (Klassen): R5a, R8b, R10c
Query1.Close;
Query1.SQL.Text := 'SELECT * FROM "VT'+sj+'"'; Query1.SQL.Add('WHERE S NOT IN ("M","E","H") '+abteilung+' AND DATUM=:today'); Query1.SQL.Add('ORDER BY '+order1); Query1.ParamByName('today').Value := today; Query1.Open; Nun möchte ich, dass die Klasse R10c auch passend zu Ihrer Bezeichnung erst am Ende erscheint, eben weil es sich hier um den Jahrgang 10 handelt. Leider ist mir bisher nur die Möglichkeit bekannt, an dieser Stelle mit einer führenden Null zu arbeiten. Mit:R05a, R08b, R10c Ohne: R10c, R5a, R8b Hat für diesen Fall jemand eine Möglichkeit, wie man das lösen könnte? |
Re: Sortierung von Zahlen nach Wertigkeit (ohne führende 0!)
Man müsste ja den String zerlegen umd die Zahl daraus zu extrahieren. Der einfachste weg wäre wohl die Klassenstufe in ein extra Spalte abzulegen
|
Re: Sortierung von Zahlen nach Wertigkeit (ohne führende 0!)
Hallo,
habs noch nie probiert, aber soviel ich weiß, gibt es auch bei TQuery berechnete Felder. Wenn du den String auf berechnetet Felder aufteilst oder noch besser in ein berechnetes Feld den String mit führenden Nullen schreibst sollte das Sortieren möglich sein. LG, HiWieGehts |
Re: Sortierung von Zahlen nach Wertigkeit (ohne führende 0!)
Für so etwas führt man eine Tabelle ein, die alle Klassen beinhaltet und nimmt diesen als Fremdschlüssel in deine VT...-Tabelle auf. In der Klassentabelle kannst du dann eine Spalte Reihenfolge anlegen.
So wäre das Datenbanktechnisch zu lösen. Gruss Thorsten |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz