Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Sortierung von Zahlen nach Wertigkeit (ohne führende 0!) (https://www.delphipraxis.net/114260-sortierung-von-zahlen-nach-wertigkeit-ohne-fuehrende-0-a.html)

Svenkan 22. Mai 2008 12:35

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:
  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;
Beispielergebnisse (Klassen): R5a, R8b, R10c

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?

mkinzler 22. Mai 2008 12:44

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

HiWieGehts 22. Mai 2008 16:43

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

omata 22. Mai 2008 17:47

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 20:30 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