Martin T.: Sortieren nach eigenem Datum

Hallo Experten,

ich hab eine wahrscheinlich simple Frage, aber irgendwie ne kleine Blockade, ich hoffe ihr könnt mir helfen...

In meiner Datenbank wird (bedingt durch ein bestimmtes Formular), das Datum erfasst in 3 Zahlen (Zahl 1 = Tag, Zahl 2 = Monat, Zahl 3 = Jahr). Diese 3 Zahlen werden in 3 verschiedene Felder der Tabelle geschrieben.

Nun möchte ich bei der Ausgabe aber natürlich auch die Option anbieten, per Datums zu sortieren. Hat jemand eine Idee, wie ich das am geschicktesten machen könnte?

Grüße
Martin

  1. Hallo,

    das es in 3 verschiedenen feldern gehalten wird ist schlecht...

    kannst du nicht die einzelnes strings der 3 eingabefelder des vorangehenden forms zusammenpacken und in ein datumsfeld der db schreiben? dann wäre das sortieren mit einer sql-abfrage sehr einfach...

    Odium

    1. Hallo,

      Hallo,

      das es in 3 verschiedenen feldern gehalten wird ist schlecht...

      Warum?

      kannst du nicht die einzelnes strings der 3 eingabefelder des vorangehenden forms zusammenpacken und in ein datumsfeld der db schreiben? dann wäre das sortieren mit einer sql-abfrage sehr einfach...

      SELECT Name, Jahr, Monat, Tag FROM Tabelle1 ORDER BY Jahr, Monat, Tag;

      ergibt die "normale" Reihenfolge (der Älteste zuerst).

      SELECT Name, Jahr, Monat, Tag FROM Tabelle1 ORDER BY Monat, Tag;

      ergibt die "Geburtstagslistenreihenfolge". Da ist es nämlich egal, in welchem Jahr man geboren ist. Und:

      SELECT Name, DateSerial([Jahr],[Monat],[Tag]) AS Datum FROM Tabelle1 ORDER BY DateSerial([Jahr],[Monat],[Tag]);

      ergibt ein neues Feld mit dem Datum.

      Gruß

      Axel

      1. Das wars!

        super, vielen Dank!!!!

        grüße
        Martin

  2. Holla

    In meiner Datenbank wird (bedingt durch ein bestimmtes Formular), das Datum erfasst in 3 Zahlen (Zahl 1 = Tag, Zahl 2 = Monat, Zahl 3 = Jahr). Diese 3 Zahlen werden in 3 verschiedene Felder der Tabelle geschrieben.

    SELECT ... , mktime (0,0,0, Zahl 2,Zahl 1,Zahl 3) AS Datum FROM ... WHERE ... ORDER BY Datum

    Für neueste zuerst DESC hintendran.

    Reihenfolge mktime(,,,MONAT,TAG,JAHR) !