Sortierfolge

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Antworten
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2471
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 104 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Sortierfolge

Beitrag von Koverhage »

Hatte schon mal vor ewiger zeit danach gefragt, finde es aber über die
Suchfunktion nicht mehr.

Habe ein Char Feld mit numerischen Werten
Sortierung ist
1
10
2
3
4

wie kann ich das in die Reihenfolge
1
2
3
4
10
bringen ?
Gruß
Klaus
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9394
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 105 Mal
Danksagung erhalten: 364 Mal
Kontaktdaten:

Re: Sortierfolge

Beitrag von Tom »

Mit Val(). :wink:

Es hängt davon ab, was Du mit "in Reihenfolge bringen" meinst. Simpel wäre ein Index dieser Art:

Code: Alles auswählen

INDEX ON Str(Val(db->meinfeld),10,0) TO irgendwas // String-Index
INDEX ON Val(db->meinfeld) TO irgendwas // numerischer Index
SET INDEX TO irgendwas
Die entscheidende Frage ist, wie anschließend gesucht werden soll.

Mit DbSort geht das auch, aber dann müsste man nach jeder Änderung sortieren.

Du könntest aber auch das Feld durchlaufen und mit PadL() ersetzen. Oder so. Es gibt zig Möglichkeiten.
Herzlich,
Tom
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2471
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 104 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Sortierfolge

Beitrag von Koverhage »

Hallo Tom,

PadL(rtrim(artnr),12)

so mache ich das momentan, aber da wird nur dann was gefunden, wenn man die Nummer schon bekannt ist.

Val fällt in dem Fall Weg, da auch Buchstaben enthalten sein können.
Gruß
Klaus
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15710
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 73 Mal
Danksagung erhalten: 38 Mal
Kontaktdaten:

Re: Sortierfolge

Beitrag von brandelh »

Hi,

ich würde strzero(nVal,12) statt führender Blanks verwenden, da einfacher zu zählen sind :-)
Wenn aber die Zahl hinter Text kommt, dann hast du ein Problem, denn VAL() wird dann immer 0 liefern.
Gruß
Hubert
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Sortierfolge

Beitrag von Herbert »

Du hast nicht genau genug gefragt
Habe ein Char Feld mit numerischen Werten
Falls du linksbündig immer Zahlen hast, kannst du, wie Hubert sagt, mit Val arbeiten. Gemäss Hansbuch: "Die Auswertung endet, wenn Val() auf ein Zeichen stößt, das keine Ziffer ist, oder wenn ein zweiter Dezimalpunkt auftaucht. "

Falls die nichtnumerischen Zeichen irgendwo auftauchen können, wird das Ganze schwieriger.
Grüsse Herbert
Immer in Bewegung...
Antworten