Access Datumsabfrage
Guten Morgen an alle Access-Profis,
aktuell versuche ich mich mit dem Thema Access auseinanderzusetzen und stolpere gerade über folgendes Thema.
Ich habe eine Tabelle [tbl_Übersicht] u.a. mit einer Spalte [Frist], die als Datum deklariert ist.
Über eine Abfrage versuche ich mit alle Zeilen dieser Tabelle anzeigen zu lassen, die in [Frist] ein Datum stehen haben, welches in 2 Monaten abläuft. Also aktueller Monat Februar bis einschließlich April.
Leider finde ich im WWW nichts passendes bzw. hab´s bis jetzt nicht finden können.
Hätte einer einen Vorschlag?
Wäre für jede Hilfe dankbar.
Gruß
M
aktuell versuche ich mich mit dem Thema Access auseinanderzusetzen und stolpere gerade über folgendes Thema.
Ich habe eine Tabelle [tbl_Übersicht] u.a. mit einer Spalte [Frist], die als Datum deklariert ist.
Über eine Abfrage versuche ich mit alle Zeilen dieser Tabelle anzeigen zu lassen, die in [Frist] ein Datum stehen haben, welches in 2 Monaten abläuft. Also aktueller Monat Februar bis einschließlich April.
Leider finde ich im WWW nichts passendes bzw. hab´s bis jetzt nicht finden können.
Hätte einer einen Vorschlag?
Wäre für jede Hilfe dankbar.
Gruß
M
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 6068274912
Url: https://administrator.de/contentid/6068274912
Ausgedruckt am: 22.11.2024 um 00:11 Uhr
6 Kommentare
Neuester Kommentar
Moin,
Versuch mal ein
Damit wird aus dem heutigen Tag der Monat und das Jahr extrahiert und auf den 1. gesetzt. Anschließend 3 Monate addiert und zu guter letzt 1Tag subtrahiert.
Also:
21.02.2023 -> 01.02.2023 -> 01.05.2023 -> 30.04.2023
Bin mir aber nicht ganz sicher, ob MS Access auch die MS SQL-Syntax komplett kann
Versuch mal ein
Where Frist <=
Dateadd(Day, -1, Dateadd(Month, 3, Convert(Date, Concat('1', GetMonth(Current_Timestamp), GetYear(Current_Timestamp)))))
Damit wird aus dem heutigen Tag der Monat und das Jahr extrahiert und auf den 1. gesetzt. Anschließend 3 Monate addiert und zu guter letzt 1Tag subtrahiert.
Also:
21.02.2023 -> 01.02.2023 -> 01.05.2023 -> 30.04.2023
Bin mir aber nicht ganz sicher, ob MS Access auch die MS SQL-Syntax komplett kann
Bin kein ACCESS-Pro (hab das letzte mal vor > 8 Jahren an ACCESS gesessen), aber versuch mal
Evtl. lag es an einem Fehler bei mir oben: hier die Korrektur (es fehlte der . nach der 1)
Falls das auch nicht klappen sollte:
Hinweis: es kann Sein, dass ACCESS die Schreibweise MM/DD/YYYY erwartet, daher mal umgestellt.
Evtl. lag es an einem Fehler bei mir oben: hier die Korrektur (es fehlte der . nach der 1)
Convert(Date, Concat('1.', GetMonth(Current_Timestamp), GetYear(Current_Timestamp)))
Falls das auch nicht klappen sollte:
CDATE(Concat(GetMonth(Current_Timestamp), '/1/', GetYear(Current_Timestamp)))
Hallo hab' mal gegoogelt: DatDiff ("jjjj"; [Geburtsdatum]; Datum()) > 30*2
could be the soulution.
support.microsoft.com/de-de/office/beispiele-f%C3%BCr-abfragekriterien-3197228c-8684-4552-ac03-aba746fb29d8
could be the soulution.
support.microsoft.com/de-de/office/beispiele-f%C3%BCr-abfragekriterien-3197228c-8684-4552-ac03-aba746fb29d8
Servus.
Grafisch über Abfrage-Ausdruck
oder als Access SQL
Beides jeweils bis zum Ende des 2 Monats, so habe ich das zumindest aus der Frage interpretiert.
Wenn Daten aus der Vergangenheit auch noch ausgefiltert werden sollen ergänzt man halt noch ein >=Datum() mit "und" bzw. "and" mit der obigen Bedingungen verknüpft.
Als Abfrageausdruck (Deutsch)
bzw. SQL
Grüße Uwe
Grafisch über Abfrage-Ausdruck
oder als Access SQL
SELECT *
FROM tbl_Übersicht
WHERE (((tbl_Übersicht.Frist)<DateAdd("m",3,DateSerial(Year(Date()),Month(Date()),1))));
Wenn Daten aus der Vergangenheit auch noch ausgefiltert werden sollen ergänzt man halt noch ein >=Datum() mit "und" bzw. "and" mit der obigen Bedingungen verknüpft.
Als Abfrageausdruck (Deutsch)
>=Datum() Und < DatAdd("m";3;DatSeriell(Jahr(Datum());Monat(Datum());1))
SELECT *
FROM tbl_Übersicht
WHERE (((tbl_Übersicht.Frist)>=Date() And (tbl_Übersicht.Frist)<DateAdd("m",3,DateSerial(Year(Date()),Month(Date()),1))));
Grüße Uwe