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 ?
Sortierfolge
Moderator: Moderatoren
- Tom
- 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
Mit Val().
Es hängt davon ab, was Du mit "in Reihenfolge bringen" meinst. Simpel wäre ein Index dieser Art:
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.
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
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
Tom
- Koverhage
- 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
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.
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
Klaus
- brandelh
- 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
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.
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
Hubert
- Herbert
- 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
Du hast nicht genau genug gefragt
Falls die nichtnumerischen Zeichen irgendwo auftauchen können, wird das Ganze schwieriger.
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. "Habe ein Char Feld mit numerischen Werten
Falls die nichtnumerischen Zeichen irgendwo auftauchen können, wird das Ganze schwieriger.
Grüsse Herbert
Immer in Bewegung...
Immer in Bewegung...