![]() |
Datenbank: Access • Version: 7 • Zugriff über: ADO
Währung in Stringfeld sortieren
Hallo,
ich habe folgendes Problem: Ich habe in einem Stringfield Geldbeträge gespeichert. Wenn ich diese nun sortieren möchte, stimmt die Sortierreihenfolge nicht. Beispiel: 14,59 2,96 21,93 3,98 Wieso das so ist, ist mir klar, da es ein Stringfield ist. Ich muß das aber so machen, da in dem Feld auch stehen kann: 'Auf Anfrage', oder ähnliches. Frage: Wie muß mein ORDER BY Statemnet aussehen ? ( ADO auf Access ) Gruß Winni |
Re: Währung in Stringfeld sortieren
SQL-Code:
Du solltest aber vorher die Textbeschreibungen ausblenden
...order by cast(feld as numeric(15,2)) ...
|
Re: Währung in Stringfeld sortieren
Zitat:
Alternative 1: Du kannst auch ein Currency-Feld verwenden und ein spezielle Vereinbarung treffen: -1.0 bedeutet "Auf Anfrage" -2.0 bedeutet "nicht mehr lieferbar" Im Event OnGetText des Felds wird in diesen Fällen die Zahl durch obigen Text ersetzt. Die Benutzeroberfläche zeigt also etwas anderes an, als in dem Feld steht. Alternative 2: Du kannst auch ein zusätzliches Feld (z.B. ArtikelStatus) einführen. Dieses Feld gibt an, ob der Geldbetrag gültig ist oder ob ein anderer Status gilt ("Auf Anfrage"). Das ist die sauberste Lösung, da man so den ArtikelStatus abfragen kann und z.B. über die Where-Bedingung einen Filter setzen kann. |
Re: Währung in Stringfeld sortieren
Hallo,
ich lese die Preislisten aus CSV Dateien ein. In dem Währungsfeld kann alles mögliche stehen. Z. B. auch ein Punkt oder Komma in einem Satz, sodas ich beim einlesen schlecht feststellen kann, ob das nun ein Preis ider eine Bemerkung ist. |
Re: Währung in Stringfeld sortieren
Dann mußt du den Inhalt versuchen zu interpretieren. U.U. reicht ja Val()
|
Re: Währung in Stringfeld sortieren
|
Re: Währung in Stringfeld sortieren
Zitat:
bzw ihm war nicht bewusst, dass ein Feld nur einen Datentyp und nur eine Bedeutung haben soll. (Stichwort: ![]() Ich würde das Feld in 2 Felder aufsplitten, (ein Cuurency und ein Stringfeld) und den Inhalt jeweils in das passende Feld übernehmen. Die Parameter code der Procedure Val() sagt dir, ob es eine gültige Zahl oder ein String ist. |
Re: Währung in Stringfeld sortieren
Das sind Preislisten von Internet - Shops.
Da hat jede Preisliste ein anderes Format. Man weiß ja nicht, was die Programmierer sich gedacht haben, als die den CSV Export gemacht haben :-D Und mein Kunde möchte jetzt nun mal, das die Bemerkungen auch im Preisfeld angezeigt werden. Aber mit VAL() ist schon mal ne gute Idee. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:27 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 by Thomas Breitkreuz