tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
647
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Frarr Frarr ist offline Mitglied
    Registriert seit
    Feb 2004
    Ort
    Braunschweig
    Beiträge
    22
    Hallo,
    ich habe ein Problem beim auslesen einer Tabelle aus MS Access 2000.
    Meine Tabelle hat n Spalten wobei eine davon ein Datum beinhaltet . Ich möchte nun alle Spalten der 4 Einträge erhalten die am nächsten zum aktuellen Datum stehen.
    Das Aktuelle Datum soll mit dem in der Tabelle befindlichen abgeglichen werden.

    Beispiel:

    Ursprungstabelle

    Name------------------- Datum
    Müller--------------------12.04.1980
    Holz----------------------24.11.1975
    Schwarz----------------15.08.1960
    Gelb---------------------21.04.1953
    Grün---------------------01.02.1940

    Ausgabe der Abfrage soll so aussehen

    Name---------------------Datum
    Müller---------------------12.04.1980
    Holz-----------------------24.11.1975
    Schwarz-----------------15.08.1960
    Gelb-----------------------21.04.1953


    Ich habe leider keine Lösung für dieses Problem finden können und hoffe das mir jemand helfen kann der in dieser richtung mehr bewandert ist.
    vielen Dank
     

  2. #2
    vop vop ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Beiträge
    676
    Du meinst n Zeilen, nicht Spalten.

    Für MySql verwendest Du am besten die Funktion curDate() zur Ermittlung des aktuellen Tagesdatums, dann solltest du

    hiermit ALLE Einträge, sortiert nach Abstand zum Tagesdatum erhalten
    SELECT * FROM TABELLE
    ORDER BY CurDate()-DATUM

    Wenn Du nur die ersten x Einträge wünscht könntest du unter MySql LIMIT verwenden.
    vop
     

  3. #3
    Frarr Frarr ist offline Mitglied
    Registriert seit
    Feb 2004
    Ort
    Braunschweig
    Beiträge
    22
    Erstmal danke für deine Antwort!

    Das erste Problem "das sortieren" wäre damit gelöst....
    Das andere leider nicht da es in Access ja kein limits gibt....
    Existiert die Möglichkeit "direkt" eine Zeile auszulesen
    Gib mir die zweite Zeile ?
    Kann so etwas ausgegeben werden?
    Oder gibt es noch einen cleveren Weg um die ausgabe auf eine bestimmte Menge zu beschränken?
     

  4. #4
    stpimi stpimi ist offline Rookie
    Registriert seit
    Apr 2004
    Beiträge
    5
    SELECT TOP n .....

    sollte Dir weiterhelfen.

    Die n-te Zeile findest Du, wenn Du ein Recordset verwendest, und Dich darin mittels Move-Methode bewegst.


    Mfg, Michael
     

  5. #5
    vop vop ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Beiträge
    676
    Du kannst natürlich auch die maximale Differenz zum aktuellen Datum mit in die WHERE-Bedingung schreiben

    SELECT....

    WHERE CurDate()-Datum < 123

    würde nur die Daten liefern, die nicht älter als 123 Tage sind.

    Übrigens CurDate() wird by Access sicher anders heißen
    Sysdate, sysdatetime, date, time, now oder irgendwie
    Bin leider kein Access-User
    vop
     

  6. #6
    Frarr Frarr ist offline Mitglied
    Registriert seit
    Feb 2004
    Ort
    Braunschweig
    Beiträge
    22
    hi,
    vielen dank für eure Hilfe, habe mein Problem lösen können



    Der Befehl heißt in Access date und das ganze funktioniert wunderbar.


    nochmal danke
     

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 24.10.08, 09:53
  2. Anzahl der Datensätze einer bestimmten Zeitspanne (Woche, Monat, etc.) abfragen
    Von SchwarzerWolf im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 25.08.06, 07:46
  3. Antworten: 5
    Letzter Beitrag: 28.04.04, 21:00
  4. Antworten: 2
    Letzter Beitrag: 13.08.02, 00:09
  5. Antworten: 3
    Letzter Beitrag: 06.05.02, 16:01