Frage von wein234, 31

Wie kann ich mittels Abfrage in Access nach einem Datum suchen ?

Antwort
von wotan38, 13

Vorausgesetzt, Deine Datenbank wurde ordentlich konzipiert, geht das ganz einfach:

SELECT * FROM tabelle WHERE datumsfeld = '20.09.2016'

oder für den heutigen Tag:

SELECT * FROM tabelle WHERE datumsfeld = CURRENT DATE

dazu muss datumsfeld als Typ DATE konzipiert worden sein. Wenn das der Fall ist, hast eine Menge Möglichkeiten Datum zu verarbeiten, z.B. Rechnen und nach Datum sortieren. So kannst Du z.B. nach einem Datum suchen, das gerade eine Woche alt ist:

...WHERE DAYS(datenfeld) = DAYS(CURRENT DATE - 7)

oder gleichbedeutend:

...WHERE DAYS(datenfeld + 7) = DAYS(CURRENT DATE)

Wenn Du Dein Datumsfeld vom Typ CHAR oder VARCHAR (als Text) festgelegt hast, bist arm dran. Die Datenbank erkennt dann nicht, dass es sich um ein Datum handelt.

Kommentar von wein234 ,

Hallo,

folgenden Fehler bekomme ich bei diesem Code: 2 Parameter wurden erwartet, aber es wurden zu wenig übergeben.

strSQLCmd = "SELECT tblRechnungen.ID, tblRechnungen.EINGEREICHT, tblRechnungen.KZ, tblRechnungen.FNAME, " _
& "tblRechnungen.RDAT, tblRechnungen.RBETR, tblRechnungen.KBETR " _
& "FROM tblRechnungen " _
& "WHERE (((tblRechnungen.EINGEREICHT) = [Forms]![frmErstattung]![SDATUM]) And ((tblRechnungen.KZ) = [Forms]![frmErstattung]![SKZ])) " _
& "ORDER BY tblRechnungen.EINGEREICHT;"

Was ist falsch ?

Gruss

Kommentar von wotan38 ,

Der Fehlermeldung bezieht sich offenbar auf den Aufbau der SQL-Anweisung, nicht auf die Anweisung selbst. Das ist ein Programm- und kein Datenbankfehler. Ich arbeite nicht mit Access und könnte mich nur zur SQL-Anweisung äußern, die erzeugt und an die Datenbank geschickt wird. Soweit kommt es aber in Deinem Programm nicht. Der Fehler liegt beim Aufbau der Anweisung.

Hast Du keine Testumgebung, wo Du den Programmlauf verfolgen und die Anweisung anschauen kannst, die evtl. generiert wird? Normalerweise sieht man dann, was das Programm macht und warum es nicht funktioniert.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten