Stefan: Datum Sortierung

Hallo,
ich lasse ein Dropdownfeld mit Datumseinträgen füllen. Allerdings ist das kein wirkliches Datum, sondern nur ein String. Die Daten lasse ich in umgekehrter Reihenfolge sortieren. Nur leider zeigt er mir dann diese falsch an.

z.B.
01.01.2003
10.01.2003 (x)
02.01.2003
03.01.2003

(x)= Dieser Datensatz sollte erst nach dem 09.01.2003 kommen.

Leider kann ich die Einträge auch nicht nach der ID sortieren, da diese Einträge öfter vorkommen und ich sie aber nur einmal angezeigen möchte. Dies mache ich mit dem SQL-Befehl DISTINCT(datum).

Bin auch für alle anderen Vorschläge zu haben :-)

Also, vielen Dank schon mal.
mfg Stefan

  1. hallo!

    hier mal ein kleiner auszug aus der msdn library. vielleicht hilft der dir weiter.

    ------------------------------------------------
    SELECT *
        FROM tblInvoices
        WHERE CustomerID = 1 AND InvoiceDate > #01/01/98#

    Note that the date string is enclosed in number signs (#).
    ------------------------------------------------

    greetings
    rapha

    1. hallo!

      hier mal ein kleiner auszug aus der msdn library. vielleicht hilft der dir weiter.

      SELECT * FROM tblInvoices WHERE CustomerID = 1 AND InvoiceDate > #01/01/98#

      --> Erstmal Danke für die Hilfe, nur leider tut sich da gar nichts. Hier wird jetzt gar nichts mehr angezeigt.

      --> Was könnte ich noch machen?

      --> Danke.

  2. Hi, hallo

    ich lasse ein Dropdownfeld mit Datumseinträgen füllen. Allerdings ist das kein wirkliches Datum, sondern nur ein String.

    wieso, was macht das für einen Sinn, Datumse als Strings zu speichern, wenn du mal diese datumstechnisch behandeln willst?

    das Design deiner Datenbank ist schlecht - sorry, aber so ist es leider

    eine Grundlage der Modellierung von Datenbanken ist, so nah wie möglich mit dem Wert-Typ (String,Numeric,Blob,Datetime) an der Realität zu bleiben.

    Von deinem verwendeten Datenbanksystem hängt ab, ob du Konvertierungsfunktionen in SQL direkt verwenden kannst.

    Tschau, tschüß,
    Frank

    1. Also gut, ich lerne ja noch ;-)
      Ich habe in der DB das ganze jetzt als Datumsfeld gespeichert.
      Jetzt bekomme ich aber bei folgender Abfrage:

      Select * From allgemein where datum='"+datum+"' AND finger='"+finger+"' AND del = 'no' order by ID desc;

      diesen Fehler: Data type mismatch in criteria expression.

      ...und noch ein Kleinigkeit: Wie kann ich das Datum in diesem Format darstellen? tt.mm.jjjj?

      Danke.

      1. Hi, hallo

        also ...

        unter folgender URL findest du Infos zur Datumsproblematik mit Access / MS-SQL usw.:
        http://users.bigpond.net.au/abrowne1/ser-36.html

        ansonsten erhalte ich die selbe Fehlermeldung als wie du: Data Type Mismatch...
        das liegt dran, das Access Datumswerte zwar darstellt in der Access-Tabellen-GUI aber intern als Zahlenwert speichert ... wenn man engl. Access/MS SQL mit deutschem Datumsformat füttert kann es zum Konvertierungsproblem kommen... dabei hilft z.b. folgendes:

        SELECT CFG_Ident FROM tblTCRuns WHERE SW_Date > Format('" & "19.06.2002" & "', 'mm/dd/yyyy') ORDER BY ID DESC
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        man kann zur Umgehung des ganzen auch die DateSerial(year,month,day) Funktion nutzen

        das Problem liegt allgemein an den Spracheinstellungen des Systems ...

        die Ausgabe, Anzeige des Wertes kann dann wieder ASP selbst übernehmen durch die Funktion FormatDateTime(datum,vbKonstantenInteger)

        Infineon nutzt sicherlich wie wir hier auch Englisches Windows 2000 (samt Office) aber mit deutschem Layout??

        Tschau, tschüß,
        Frank