Gibt einen Wert des Typs Variant (String) zurück, der einen Ausdruck enthält, der entsprechend der in einem Formatausdruck enthaltenen Anweisungen formatiert ist.
Warnung Bei der Verwendung dieser Funktion liegt ein Problem vor. Der letzte Montag in einigen Kalenderjahren kann als Woche 53 zurückgegeben werden, wenn es Woche 1 sein sollte. Weitere Informationen und eine Problemumgehung finden Sie unter Format oder DatePart-Funktionen können eine falsche Wochennummer für den letzten Montag im Jahr zurückgeben. |
Syntax
Format( Ausdruck [, Format ] [, ErsterTagDerWoche ] [, ErsteWocheDesJahres ] )
Die Syntax der Funktion Format weist die folgenden Argumente auf:
Argument |
Beschreibung |
Ausdruck |
Erforderlich. Ein beliebiger gültiger Ausdruck. |
Format |
Optional. Ein gültiger benannter oder benutzerdefinierter Formatausdruck. |
ErsterTagDerWoche |
Optional. Eine Konstante, die den ersten Tag der Woche bezeichnet. |
ErsteWocheDesJahres |
Optional. Eine Konstante, die die erste Woche des Jahres bezeichnet. |
Einstellungen
Das Format-Argument kann je nach Datentyp des Ausdrucksarguments eine Vielzahl von Einstellungen verwenden. In den in der folgenden Tabelle aufgeführten Artikeln finden Sie weitere Informationen zu gültigen Formatausdrücke.
Informationen zu Ausdrücken mit diesem Datentyp ... |
... finden Sie in diesem Artikel |
Beliebiger Datentyp |
|
Datum/Uhrzeit |
|
Zahl (numerisch) |
|
Text und Memo |
|
Ja/Nein |
Das Argument ErsterTagDerWoche verfügt über folgende Einstellungen:
Konstante |
Wert |
Beschreibung |
vbUseSystem |
0 |
NLS API-Einstellung verwenden |
VbSunday |
1 |
Sonntag (Standard) |
vbMonday |
2 |
Montag |
vbTuesday |
3 |
Dienstag |
vbWednesday |
4 |
Mittwoch |
vbThursday |
5 |
Donnerstag |
vbFriday |
6 |
Freitag |
vbSaturday |
7 |
Samstag |
Das Argument ErsteWocheDesJahres verfügt über folgende Einstellungen:
Konstante |
Wert |
Beschreibung |
vbUseSystem |
0 |
NLS API-Einstellung verwenden |
vbFirstJan1 |
1 |
Mit der Woche beginnen, in die der 1. Januar fällt (Standard). |
vbFirstFourDays |
2 |
Mit der ersten Woche beginnen, die mindestens vier Tage des neuen Jahres enthält. |
vbFirstFullWeek |
3 |
Mit der ersten vollen Woche des Jahres beginnen. |
Hinweise
Formatierung |
Vorgehensweise |
Zahlen |
Verwenden Sie vordefinierte benannte numerische Formate, oder erstellen Sie benutzerdefinierte numerische Formate. |
Datums- und Uhrzeitwerte |
Verwenden Sie vordefinierte benannte Datums-/Uhrzeitformate, oder erstellen Sie benutzerdefinierte Datums-/Uhrzeitformate. |
Datum und Uhrzeit, fortlaufende Nummern |
Verwenden Sie Datums-/Uhrzeitformate oder numerische Formate. |
Zeichenfolgen |
Erstellen Sie eigene benutzerdefinierte Zeichenfolgenformate. |
Wenn Sie versuchen, eine Zahl ohne Angabe des Formats zu formatieren, bietet Format ähnliche Funktionen wie die Str-Funktion , obwohl sie international bekannt ist. Positive Zahlen, die mit Format als Zeichenfolgen formatiert sind, enthalten jedoch kein führendes Leerzeichen, das für das Vorzeichen des Werts reserviert ist. die mit Str konvertierten Elemente behalten den führenden Bereich bei.
Wenn Sie eine nicht lokalisierte numerische Zeichenfolge formatieren, sollten Sie ein benutzerdefiniertes Zahlenformat verwenden, um sicherzustellen, dass das Ergebnis Ihren Vorstellungen entspricht.
Hinweis: Wenn für die Eigenschaft Calendar die Einstellung "Gregorian" verwendet wird und Format das Datumsformat angibt, muss für Ausdruck der Wert "Gregorian" angegeben werden. Wenn für die Visual Basic-Eigenschaft Calendar die Einstellung "Hijri" lautet, muss für Ausdruck der Wert "Hijri" angegeben werden.
Wenn der Kalender gregorianischer Art ist, bleibt die Bedeutung von Formatausdruckssymbolen unverändert. Wenn der Kalender Hijri ist, haben alle Datumsformatsymbole (z. B. dddd, mmmm, jjjj) dieselbe Bedeutung, gelten aber für den Hijri-Kalender. Formatsymbole bleiben auf Englisch; Symbole, die zur Textanzeige führen (z. B. AM und PM), zeigen die diesem Symbol zugeordnete Zeichenfolge (Englisch oder Arabisch) an. Der Bereich bestimmter Symbole ändert sich, wenn der Kalender Hijri ist.
Symbol |
Bereich |
d |
1-30 |
dd |
1-30 |
ww |
1-51 |
mmm |
Zeigt den vollständigen Monatsnamen an (Hijri-Monatsnamen haben keine Abkürzung). |
y |
1-355 |
yyyy |
100-9666 |
Beispiele
Verwenden der Format-Funktion in einem Ausdruck Sie können Format überall verwenden, wo Ausdrücke zulässig sind. Beispielsweise können Sie sie in einer Abfrage als Teil eines Feldalias oder in der Control Source-Eigenschaft eines Textfelds in einem Formular oder einem Bericht verwenden. Das folgende Beispiel zeigt einen Ausdruck, den Sie in einer Filter-Eigenschaft eines Berichts verwenden können, um die Ausgabe auf Datensätze der vorherigen Woche zu beschränken.
Format([Datum],"ww")=Format(Now(),"ww")-1
In diesem Beispiel verfügt die Datensatzquelle des Berichts über ein Feld namens "Datum", das das Datum enthält, an dem jeder einzelne Datensatz, der im Bericht verwendet wird, geändert wurde. Beim Ausführen des Berichts werden die Ergebnisse so gefiltert, dass nur die Datensätze angezeigt werden, bei denen der Wert im Feld "Datum" (Format([Datum],"ww")) der vorherigen Woche entspricht (Format(Now(),"ww")-1).
Verwenden der Format-Funktion in VBA-Code
Hinweis: Die folgenden Beispiele zeigen die Verwendung dieser Funktion in einem VBA-Modul (Visual Basic for Applications). Wenn Sie weitere Informationen zum Arbeiten mit VBA wünschen, wählen Sie Entwicklerreferenz in der Dropdownliste neben Suchen aus, und geben Sie einen oder mehrere Begriffe in das Suchfeld ein.
In diesem Beispiel werden unterschiedliche Verwendungsmöglichkeiten der Format-Funktion gezeigt, um Werte mithilfe von benannten und benutzerdefinierten Formaten zu formatieren. Für das Datumstrennzeichen (/), das Zeittrennzeichen (:) und das AM/PM-Literal hängt die tatsächliche formatierte, von Ihrem System angezeigte Ausgabe von den Gebietsschemaeinstellungen des Computers ab, auf dem der Code ausgeführt wird. Wenn Uhrzeit und Datum in der Entwicklungsumgebung angezeigt werden, wird das kurze Uhrzeit-/Datumsformat des Code-Gebietsschemas verwendet. Bei der Anzeige durch Ausführen des Codes wird das kurze Uhrzeit-/Datumsformat des System-Gebietsschemas verwendet, welches vom Code-Gebietsschema abweichen kann. Für dieses Beispiel verwenden wir Englisch (USA).
MyTime und MyDate werden in der Entwicklungsumgebung mit der kurzen Uhrzeit-/Datumseinstellung des Systems angezeigt.
Dim MyTime, MyDate, MyStr
MyTime = #17:04:23# MyDate = #January 27, 1993# ' Returns current system time in the system-defined long time format. MyStr = Format(Time, "Long Time") ' Returns current system date in the system-defined long date format. MyStr = Format(Date, "Long Date") MyStr = Format(MyTime, "h:m:s") ' Returns "17:4:23". MyStr = Format(MyTime, "hh:mm:ss AMPM") ' Returns "05:04:23 PM". MyStr = Format(MyDate, "dddd, mmm d yyyy") ' Returns "Wednesday, ' Jan 27 1993". ' If format is not supplied, a string is returned. MyStr = Format(23) ' Returns "23". ' User-defined formats. MyStr = Format(5459.4, "##,##0.00") ' Returns "5,459.40". MyStr = Format(334.9, "###0.00") ' Returns "334.90". MyStr = Format(5, "0.00%") ' Returns "500.00%". MyStr = Format("HELLO", "<") ' Returns "hello". MyStr = Format("This is it", ">") ' Returns "THIS IS IT".
Verwenden von Format mit leeren Zeichenfolgen
In Microsoft Access 2.0 und früher konnten Sie die Format-Funktion verwenden, um für eine Leere Zeichenfolge einen Wert und für einen Wert einen anderen Wert zurückzugeben. Sie konnten z. B. einen Formatausdruck wie etwa den folgenden mit der Format-Funktion verwenden, um den entsprechenden Zeichenfolgenwert aus Code zurückzugeben:
Dim varX As Variant
Dim varStrX As Variant ' Assign some value to varStrX and pass to Format function. varX = Format(varStrX, "@;ZLS;Null")
In Microsoft Access 97 und höher müssen Sie separat auf den Nullwert testen, und den entsprechenden Wert basierend auf dem Ergebnis zurückgeben. Sie könnten beispielsweise die IIf-Funktion in einem Ausdruck mit der Format-Funktion verwenden, wie im Folgenden dargestellt:
varX = IIf(IsNull(varStrX),"Null", Format(varStrX, "@;ZLS"))
Diese Änderung gilt nur dann, wenn Sie die Format-Funktion verwenden, um eine Zeichenfolge abhängig davon zu formatieren, ob es sich um eine leere Zeichenfolge oder einen NULL-Wert handelt. Andere mit der Format-Funktion verwendete Formatausdrücke funktionieren weiterhin wie in früheren Versionen.
Wenn Sie eine Datenbank von Microsoft Access 2.0 oder früher in Microsoft Access 2002 oder höher konvertieren, müssen Sie Code ändern, um separat auf NULL-Werte zu testen.