Ändern von Datumsangaben mithilfe von Funktionen und Operatoren in Access

Dieser Artikel bezieht sich auf Microsoft Access-Datenbankdateien (.mdb) oder Microsoft Access-Datenbankdateien (.accdb), und auch auf Microsoft Access-Projektdateien (.adp).

Moderat: Erfordert grundlegende Makro-, Programmier- und Interoperabilitätskenntnisse.

Zusammenfassung

In diesem Artikel werden die Funktionen und Operatoren beschrieben, die in Microsoft Office Access 2007, in Microsoft Office Access 2003 und in Microsoft Access 2002 verfügbar sind. Sie können die Funktionen und operatoren verwenden, um eine Änderung am Datentyp Datum/Uhrzeit vorzunehmen, indem Sie Beispielabfragen verwenden. Die Beispielabfragen, die Sie zum Ändern der Datumswerte verwenden können, verwenden die Tabellen in der Northwind.mdb Beispieldatenbank.

Hinweis

Die Northwind-Beispieldatenbank für Access 2007 verwendet nicht die gleichen Felder wie die früheren Versionen der Northwind-Beispieldatenbank. Die Tabelle "Employees" enthält keine Felder "HireDate" und "BirthDate", die in der Northwind-Beispieldatenbank für Access 2007 enthalten ist. Das Feld EmployeeID wurde in ID umbenannt, und das Feld FirstName wurde in Vorname umbenannt.

Weitere Informationen

Access stellt Operatoren und Funktionen bereit, um die Felder mit dem Datentyp Datum/Uhrzeit zu überprüfen oder zu ändern. In den folgenden Beispielabfragen werden die Datumsbearbeitungen, die Berechnungsfunktionen und die In Access verfügbaren Vergleichsoperatoren verwendet.

Die Verwendung der hier aufgeführten Informationen, Makro- oder Programmcodes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diese Informationen sowie Makro- und Programmlistings ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionsfähigkeit sowie ohne Anspruch auf Support zur Verfügung. Die zur Verfügung gestellten Makro- und Programmierungsbeispiele sollen lediglich exemplarisch die Funktionsweise des Beispiels aufzeigen. Die Mitarbeiter der Microsoft Product Support Services erklären Ihnen gerne die Funktionsweise einer bestimmten Prozedur. Die Mitarbeiter werden diese Beispiele jedoch weder modifizieren, um zusätzliche Funktionalität zu schaffen, noch Prozeduren entwickeln, die auf Ihre spezifischen Bedürfnisse zugeschnitten sind.

Date()-Funktion, Now()-Funktion und Format()-Funktion

SELECT Date(), Now();

Die Date()-Funktion gibt das aktuelle Datum im Kurzdatumsformat zurück. Die Now()-Funktion gibt das aktuelle Datum mit der Uhrzeit zurück.

SELECT Format(Now(), "tt mmmm yyyy");

Sie können die Format()-Funktion mit Datumswerten verwenden, um das Datumsformat anzugeben, das Sie für das Datum verwenden möchten. Diese Beispielabfrage gibt das aktuelle Datum im Langen Datumsformat (01. Dezember 2003) zurück.

Day()-Funktion, WeekDay()-Funktion, Month()-Funktion und Year()-Funktion

SELECT HireDate, Day(HireDate) AS Day,
Weekday(HireDate) AS WeekDay,
Month(HireDate) AS Month, Year(HireDate) AS Year 
FROM Employees;

Aus der Tabelle Employees gibt diese Abfrage das Datum der Einstellung, den Einstellungstag, den Tag der Einstellung, den Tag der Woche der Einstellung, den Monat der Einstellung und das Jahr der Einstellung für jeden Mitarbeiter zurück. Beachten Sie, dass die WeekDay()-Funktion einen numerischen Wert zurückgibt, der den Wochentag angibt.

DatePart()-Funktion

SELECT *  FROM Employees
WHERE DatePart("yyyy", BirthDate) < 1960;

Aus der Tabelle Employees gibt diese Abfrage alle Mitarbeiter zurück, die vor dem Jahr 1960 geboren wurden. Die DatePart()-Funktion kann verwendet werden, um den Teil des angegebenen Datums zu extrahieren, z. B. den Tag, den Monat oder das Jahr.

DateDiff()-Funktion

SELECT EmployeeID, FirstName, BirthDate,
DateDiff("yyyy", BirthDate, Date()) AS Age
FROM Employees;

Aus der Tabelle Employees gibt diese Abfrage die Mitarbeiter-ID, den Vornamen, das Geburtsdatum und das Alter der einzelnen Mitarbeiter zurück. Die DateDiff()-Funktion gibt die Differenz oder die Zeitverzögerung zwischen den beiden angegebenen Datumswerten (in Bezug auf den Tag, den Monat, das Jahr oder die Zeiteinheiten wie Stunden, Minuten und Sekunden) zurück.

DateAdd()-Funktion

SELECT EmployeeID, FirstName, HireDate,
DateAdd("yyyy", 10, HireDate)
FROM Employees;

Aus der Tabelle Employees gibt diese Abfrage die Mitarbeiter-ID, den Vornamen, das Einstellungsdatum und das Datum zurück, an dem der Mitarbeiter 10 Jahre im Unternehmen abgestellt hat. Die DateAdd()-Funktion erhöht ein Datum um eine angegebene Anzahl von Zeiteinheiten, z. B. einen Tag, einen Monat oder ein Jahr, und gibt dann den resultierenden Wert zurück.

Sie können einem Datumswert direkt einen numerischen Wert hinzufügen. Gehen Sie so vor, um den Datumswert um einen Tag zu inkrementieren, wie im folgenden Beispiel gezeigt:

SELECT Date() + 1 ;

Diese Abfrage erhöht das aktuelle Datum um einen Tag und gibt dann den resultierenden Datumswert zurück.

DateValue()-Funktion

SELECT DateValue("20 Nov 2003") AS ValidDate;

Die DateValue()-Funktion überprüft, ob die Eingabezeichenfolge ein gültiges Datum ist. Wenn die Eingabezeichenfolge als gültiges Datum erkannt wird, wird das Datum im Kurzdatumsformat zurückgegeben. Wenn die Eingabezeichenfolge nicht als gültiges Datum erkannt wird, wird die Anweisung "Datentypkonflikt in Kriterienausdruck" zurückgegeben. Die DateValue()-Funktion erkennt eine Vielzahl von Datumsformaten, z. B. mm tt jjjj, tt mm yyyyy, tt mmm yyyyy und tt mmm jjjj hh:mm:ss langes Datumsformat.

DateSerial()-Funktion

SELECT DateSerial( 2003, 03, 1-1);

Die DateSerial()-Funktion gibt den Datumswert für die angegebenen Eingabeparameter Jahr, Monat und Tag zurück. Bei den Eingabeparametern kann es sich um Ausdrücke handeln, die arithmetische Vorgänge umfassen. Die DateSerial()-Funktion wertet die Ausdrücke in den Eingabeparametern aus, bevor sie den resultierenden Datumswert zurückgibt.

Diese Beispielabfrage gibt den letzten Tag im Monat Februar für das Jahr 2003 zurück. Der letzte Eingabeparameter für den Tag mit dem Wert 1 wird um 1 verringert. Das Ergebnis ist, dass der month-Parameter als 2 ausgewertet wird.

Verwenden von Vergleichsoperatoren mit Datumswerten

Sie können die folgenden Vergleichsoperatoren verwenden, um Datumswerte in Ausdrücken und Abfragen zu vergleichen:

  • < (kleiner als)
  • > (größer als)
  • <= (kleiner oder gleich)
  • >= (größer als oder gleich)
  • <> (ungleich)
SELECT * FROM Employees
WHERE HireDate >= DateValue(" 10/01/1993")
AND HireDate <= DateValue("12/31/1993");

Diese Abfrage verwendet den >Vergleichsoperator = und den <= Vergleichsoperator, um zu überprüfen, ob das Einstellungsdatum des Mitarbeiters in den Bereich der beiden angegebenen Datumsangaben fällt. Diese Abfrage ruft die Datensätze aller Mitarbeiter ab, die im letzten Quartal des Kalenderjahres 1993 eingestellt wurden.

SELECT * FROM Employees
WHERE HireDate <> Date();

Diese Abfrage verwendet den Ungleichheitsvergleichsoperator, um die Datensätze aller Mitarbeiter abzurufen, deren Einstellungsdatum ungleich dem aktuellen Datum ist.

WeekdayName()-Funktion

SELECT WeekdayName(1, False, 1) AS FirstWeekDayName;

Die WeekdayName()-Funktion gibt eine Zeichenfolge zurück, die den Wochentag angibt, wie im ersten Parameter angegeben. Die zurückgegebene Zeichenfolge für den Wochentag hängt vom dritten Parameter ab. Dieser Parameter legt den ersten Tag der Woche fest. Der zweite Parameter wird auf False festgelegt, um anzugeben, dass der Wochentagsname nicht abgekürzt werden darf.

Diese Beispielabfrage gibt den Wert Sonntag als ersten Tag der Woche zurück.

MonthName()-Funktion

SELECT MonthName(1);

Die MonthName()-Funktion gibt eine Zeichenfolge zurück, die den Monatsnamen für die angegebene Monatszahl von 1 bis 12 angibt. Der Eingabeparameter kann auch ein Ausdruck sein, wie in der folgenden Abfrage:

SELECT MonthName( DatePart("m", Date()) );

Diese Abfrage gibt den Namen des aktuellen Monats zurück.

References

Weitere Informationen finden Sie, indem Sie auf die folgenden Artikelnummern klicken, um die Artikel in der Microsoft Knowledge Base anzuzeigen:

  • 290178 Erstellen einer Abfrage mit Parametern zum Auswerten komplexer Kriterien in Microsoft Access
  • 290190 Erstellen von zwei Funktionen zum Berechnen des Alters in Monaten und Jahren in Microsoft Access