Geeft een variant (tekenreeks) als resultaat die een expressie bevat die is opgemaakt volgens de instructies in een notatie-expressie.
Waarschuwing Er is een probleem met het gebruik van deze functie. De laatste maandag in sommige kalenderjaren kan worden geretourneerd als week 53 wanneer deze week 1 moet zijn. Zie Format or DatePart functions can return wrong week number for last monday in Year (De functies Format or DatePart can return wrong week number for last monday in Year) voor meer informatie en een tijdelijke oplossing. |
Syntaxis
Format( expressie [, notatie ] [, eerstedagvanweek ] [, eersteweekvanjaar ] )
De syntaxis van de functie Format bevat de volgende argumenten:
Argument |
Beschrijving |
expressie |
Vereist. Een geldige expressie. |
notatie |
Optioneel. Een geldige benoemde of door de gebruiker gedefinieerde notatie-expressie. |
eerstedagvanweek |
Optioneel. Een constante die de eerste dag van de week aangeeft. |
eersteweekvanjaar |
Optioneel. Een constante die de eerste week van het jaar aangeeft. |
Instellingen
Het argument indeling kan verschillende instellingen gebruiken, afhankelijk van het gegevenstype van het expressieargument . Raadpleeg de artikelen die worden vermeld in de volgende tabel voor meer informatie over geldige notatie-expressies.
Voor expressies die dit gegevenstype gebruiken... |
Lees u dit artikel |
Elk type |
|
Datum/tijd |
|
Numeriek |
|
Tekst en memo |
|
Ja/nee |
Het argument eerstedagvanweek heeft deze instellingen:
Constante |
Waarde |
Beschrijving |
vbUseSystem |
0 |
NLS API-instelling gebruiken. |
VbSunday |
1 |
Zondag (standaard) |
vbMonday |
2 |
Maandag |
vbTuesday |
3 |
Dinsdag |
vbWednesday |
4 |
Woensdag |
vbThursday |
5 |
Donderdag |
vbFriday |
6 |
Vrijdag |
vbSaturday |
7 |
Zaterdag |
Het argument eersteweekvanjaar heeft deze instellingen:
Constante |
Waarde |
Beschrijving |
vbUseSystem |
0 |
NLS API-instelling gebruiken. |
vbFirstJan1 |
1 |
Beginnen met de week waarin 1 januari valt (standaard). |
vbFirstFourDays |
2 |
Beginnen met de eerste week die minimaal vier dagen in het jaar heeft. |
vbFirstFullWeek |
3 |
Beginnen met de eerste volledige week van het jaar. |
Opmerkingen
Voor de opmaak van |
Doet u dit |
Getallen |
Gebruik vooraf gedefinieerde, benoemde numerieke notaties of definieer zelf numerieke notaties. |
Datums en tijden |
Gebruik vooraf gedefinieerde, benoemde datum-/tijdnotaties of definieer zelf datum-/tijdnotaties. |
Datums en tijden als seriële getallen |
Gebruik datum- en tijdnotaties of numerieke notaties. |
Tekenreeksen |
Maak uw eigen tekenreeksnotaties. |
Als u probeert een getal op te maken zonder opmaak op te geven, biedt Opmaak functionaliteit die vergelijkbaar is met de functie Str , hoewel deze internationaal bekend is. Positieve getallen die zijn opgemaakt als tekenreeksen met opmaak , bevatten echter geen voorloopruimte die is gereserveerd voor het teken van de waarde; die met Str zijn geconverteerd, behouden de voorloopruimte.
Als u een niet-gelokaliseerde numerieke tekenreeks opmaakt, moet u een door de gebruiker gedefinieerde numerieke notatie gebruiken om het gewenste resultaat te krijgen.
Opmerking: Als de eigenschap Calendar is ingesteld op Gregoriaans en notatie een datumnotatie aangeeft, moet de opgegeven expressie verwijzen naar de Gregoriaanse kalender. Als de eigenschap Calendar van Visual Basic is ingesteld op Hijri, moet de opgegeven expressie verwijzen naar de Hijri-kalender.
Als de kalender Gregoriaans is, is de betekenis van opmaakexpressiesymbolen ongewijzigd. Als de kalender Hijri is, hebben alle datumnotatiesymbolen (bijvoorbeeld dddd, mmmm, jjjj) dezelfde betekenis, maar zijn ze van toepassing op de Hijri-kalender. Opmaaksymbolen blijven in het Engels; symbolen die resulteren in tekstweergave (bijvoorbeeld AM en PM) geven de tekenreeks (Engels of Arabisch) weer die aan dat symbool is gekoppeld. Het bereik van bepaalde symbolen verandert wanneer de kalender Hijri is.
Symbool |
Bereik |
d |
1-30 |
dd |
1-30 |
ww |
1-51 |
mmm |
Volledige maandnamen worden weergegeven (Hijri-maanden hebben geen afkortingen). |
j |
1-355 |
jjjj |
100-9666 |
Voorbeelden
De functie Format gebruiken in een expressie U kunt Format overal gebruiken waar expressies zijn toegestaan. Zo kunt u de functie gebruiken in een query als onderdeel van een veldalias, of in de eigenschap Control Source van een tekstvak in een formulier of rapport. De volgende voorbeelden laten een expressie zien die u kunt gebruiken in de eigenschap Filter van een rapport om de uitvoer te beperken tot records van de vorige week.
Format([Datum],"ww")=Format(Now(),"ww")-1
In dit voorbeeld bevat de recordbron van het rapport een veld met de naam datum, met daarin de datum waarop elke record is gewijzigd, en die wordt gebruikt in het rapport. Wanneer u het rapport uitvoert, worden de resultaten gefilterd om alleen de records weer te geven waar de week voor de waarde in het veld Datum (Format([Datum],"ww")) gelijk is aan de vorige week (Format(Now(),"ww")-1).
De functie Format in VBA-code
Opmerking: In de volgende voorbeelden wordt het gebruik van deze functie in een VBA-module (Visual Basic for Applications) toegelicht. Meer informatie over het werken met VBA vindt u door in de vervolgkeuzelijst naast Zoeken de optie Referentie voor ontwikkelaars te selecteren en een of meer termen in het zoekvenster te typen.
In dit voorbeeld ziet u verschillende toepassingen van de functie Format voor het opmaken van waarden met zowel benoemde notaties als door de gebruiker gedefinieerde notaties. De uiteindelijke weergave van het datumscheidingsteken (/), het tijdscheidingsteken (:) en de letterlijke waarden AM/PM wordt bepaald door de landinstellingen van de computer waarop de code wordt uitgevoerd. Wanneer tijden en datums worden weergegeven in de ontwikkelomgeving, worden de korte tijdnotatie en de korte datumnotatie van de landinstelling van de code gebruikt. Wanneer de datum en tijd worden weergegeven door de code uit te voeren, worden de korte tijdnotatie en de korte datumnotatie van de landinstelling van de computer gebruikt, die kan verschillen van de landinstelling van de code. In dit voorbeeld wordt uitgegaan van de landinstelling Engels (Verenigde Staten).
MyTime en MyDate worden in de ontwikkelomgeving weergegeven met behulp van de huidige instelling voor de korte tijdnotatie en de korte datumnotatie.
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".
Format gebruiken met tekenreeksen met de lengte nul
In Microsoft Access versie 2.0 was het mogelijk om met Format een bepaalde waarde te retourneren voor tekenreeks met lengte 0 en andere waarde voor een waarde. Zo was het bijvoorbeeld mogelijk om een notatie-expressie zoals hieronder te gebruiken met de functie Format om de juiste tekenreekswaarde te retourneren uit code:
Dim varX As Variant
Dim varStrX As Variant ' Assign some value to varStrX and pass to Format function. varX = Format(varStrX, "@;ZLS;Null")
Vanaf Microsoft Access 97 en hoger moet u afzonderlijk testen op Null en vervolgens op basis van het resultaat de gewenste waarde retourneren. U kunt bijvoorbeeld de functie IIf gebruiken in een expressie met de functie Format zoals de volgende:
varX = IIf(IsNull(varStrX),"Null", Format(varStrX, "@;ZLS"))
Deze wijziging geldt alleen als u de functie Format gebruikt voor het opmaken van een tekenreeks afhankelijk van het feit of de tekenreeks de lengte nul heeft of een Null-waarde bevat. Andere notatie-expressies die u gebruikt in combinatie met de functie Format blijven werken zoals in eerdere versies.
Als u een database van Microsoft Access versie 2.0 en eerder converteert naar Microsoft Access 2002 of hoger, moet u code aanpassen om apart te testen op Null-waarden.