Ingrid: Sql Syntax

Hallo

Ich habe eine Access-DB. Da drin hats eine Kolonne mit Zahlen (z.b. 301.11 etc.), leider wurde die Kolonne als Text definiert.
Nun soll ich die Zahlen selektieren und richtig (d.h. numerisch) sortiert darstellen.
Mein letzter Versuch:
select  distinct ID from object order by cast(ID as numeric)
Die Error-Message dazu:
Syntax error (missing operator) in query expression 'cast(ID as numeric)'.
Kann mir bitte jemand helfen!

Dank&Gruss
Ingrid

  1. Hallo,

    Ich habe eine Access-DB. Da drin hats eine Kolonne mit Zahlen (z.b. 301.11 etc.), leider wurde die Kolonne als Text definiert.
    Nun soll ich die Zahlen selektieren und richtig (d.h. numerisch) sortiert darstellen.
    Mein letzter Versuch:
    select  distinct ID from object order by cast(ID as numeric)

    ID ist der Name der Spalte, in der die Zahlen stehen?
    cast? Access?

    Die Error-Message dazu:
    Syntax error (missing operator) in query expression 'cast(ID as numeric)'.
    Kann mir bitte jemand helfen!

    Nehmen wir an, eine Tabelle1 enthält eine Spalte mit dem Feldnamen Text und dem Datentyp Text. Darin steht sowas:
    Text
    123
    123.68
    13423.67
    2234.67
    23.67
    234
    234.60
    24.78
    257.8
    3.55
    34
    345.78
    456.70

    Die Abfrage:
    SELECT Text, Val([Text]) AS Zahl FROM Tabelle1 ORDER BY Val([Text]);
    ergibt dann sowas:

    Text    Zahl
    3.55    3,55
    23.67    23,67
    24.78    24,78
    34    34
    123    123
    123.68    123,68
    234    234
    234.60    234,6
    257.8    257,8
    345.78    345,78
    456.70    456,7
    2234.67    2234,67
    13423.67   13423,67

    Anmerkung   Die Val-Funktion erkennt nur den Punkt (.) als gültiges Dezimalzeichen. Wenn Sie ein anderes Dezimalzeichen verwenden möchten (zum Beispiel bei internationalen Anwendungen), sollten Sie statt dessen die Funktion CDbl verwenden, um eine Zeichenfolge in eine Zahl umzuwandeln.

    Gruß

    Axel