Returnerer en variant (streng) som inneholder en uttrykk formatert i henhold til instruksjonene i et formatuttrykk.
Advarsel! Det er et problem med bruken av denne funksjonen. Den siste mandagen i noen kalenderår kan returneres som uke 53 når det skal være uke 1. Hvis du vil ha mer informasjon og en løsning, kan du se Format- eller DatePart-funksjoner som kan returnere feil ukenummer for forrige mandag i år. |
Syntaks
Format( uttrykk [, format ] [, firstdayofweek ] [, firstweekofyear ] )
Syntaksen for formatfunksjonen har følgende argumenter:
Argument |
Beskrivelse |
uttrykk |
Obligatorisk. Alle gyldige uttrykk. |
format |
Valgfritt. Et gyldig navngitt eller brukerdefinert formatuttrykk. |
første dag i uken |
Valgfritt. En konstant som angir første dag i uken. |
første uke i året |
Valgfritt. En konstant som angir den første uken i året. |
Innstillinger
Formatargumentet kan bruke en rekke innstillinger, avhengig av datatypen for uttrykksargumentet. Se artiklene som er oppført i tabellen nedenfor for mer informasjon om gyldige formatuttrykk.
For uttrykk som bruker denne datatypen... |
Se artikkelen |
Alle typer |
|
Dato/klokkeslett |
|
Numerisk |
|
Tekst og notat |
|
Ja/Nei |
Argumentet første dag i uken har disse innstillingene:
Konstant |
Value |
Beskrivelse |
vbUseSystem |
0 |
Bruk NLS API-innstillingen. |
Vbsunday |
1 |
Søndag (standard) |
Vbmonday |
2 |
Mandag |
vbTuesday |
3 |
Tirsdag |
vbWednesday |
4 |
Onsdag |
vbThursday |
5 |
Torsdag |
vbFriday |
6 |
Fredag |
vbSaturday |
7 |
Lørdag |
Argumentet for første uke i året har disse innstillingene:
Konstant |
Value |
Beskrivelse |
vbUseSystem |
0 |
Bruk NLS API-innstillingen. |
vbFirstJan1 |
1 |
Start med uken der 1. januar forekommer (standard). |
vbFirstFourDays |
2 |
Start med den første uken som har minst fire dager i året. |
vbFirstFullWeek |
3 |
Start med den første hele uken i året. |
Kommentarer
Slik formaterer du |
Gjør du dette |
Tall |
Bruk forhåndsdefinerte navngitte tallformater eller opprett brukerdefinerte numeriske formater. |
Datoer og klokkeslett |
Bruk forhåndsdefinerte format for dato/klokkeslett, eller opprett brukerdefinerte dato-/klokkeslettformater. |
Serienumre for dato og klokkeslett |
Bruk dato- og klokkeslettformater eller numeriske formater. |
Strenger |
Opprett dine egne brukerdefinerte strengformater. |
Hvis du prøver å formatere et tall uten å angi format, gir Format funksjonalitet som ligner på Str-funksjonen , selv om det er internasjonalt bevisst. Positive tall som er formatert som strenger ved hjelp av Format , inneholder imidlertid ikke et innledende mellomrom som er reservert for verdiens fortegn. de som konverteres ved hjelp av Str , beholder det innledende mellomrommet.
Hvis du formaterer en ikke-lokalisert numerisk streng, bør du bruke et brukerdefinert numerisk format for å sikre at du får ønsket utseende.
Obs!: Hvis innstillingen for kalenderegenskapen er gregoriansk og formatet angir datoformatering, må det angitte uttrykket være gregoriansk. Hvis egenskapsinnstillingen for Visual Basic Calendar er Hijri, må det angitte uttrykket være Hijri.
Hvis kalenderen er gregoriansk, forblir betydningen av formatuttrykkssymboler uendret. Hvis kalenderen er Hijri, har alle datoformatsymboler (for eksempel dddd, mmmm, åå) samme betydning, men gjelder for Hijri-kalenderen. Formatsymboler forblir på engelsk. symboler som resulterer i tekstvisning (for eksempel AM og PM), viser strengen (engelsk eller arabisk) som er knyttet til dette symbolet. Området med bestemte symboler endres når kalenderen er Hijri.
Symbol |
Område |
d |
1-30 |
DD |
1-30 |
ww |
1-51 |
mmm |
Viser fullstendige månedsnavn (Navn på hijrimåneder har ingen forkortelser). |
y |
1-355 |
åååå |
100-9666 |
Eksempler
Bruke Format-funksjonen i et uttrykk Du kan bruke Format der du kan bruke uttrykk. Du kan for eksempel bruke den i en spørring som en del av et feltalias, eller i kontrollkildeegenskapen for en tekstboks i et skjema eller en rapport. Eksemplene nedenfor viser et uttrykk du kan bruke i filteregenskapen for en rapport for å begrense utdataene til poster fra forrige uke.
Format([Date],"ww")=Format(Now(),"ww")-1
I dette eksemplet har rapportens postkilde et felt kalt Dato, som inneholder datoen hver bestemt post ble endret, og som brukes i rapporten. Når du kjører rapporten, filtreres resultatene slik at de bare viser postene der uken for verdien i Dato-feltet (Format([Date],"ww")) er lik forrige uke (Format(Now(),"ww")-1).
Bruke Format-funksjonen i VBA-kode
Obs!: I eksemplene nedenfor vises bruken av denne funksjonen i en VBA-modul (Visual Basic for Applications). Hvis du vil ha mer informasjon om hvordan du arbeider med VBA, velger du Utviklerreferanse fra rullegardinlisten ved siden av Søk og skriver inn ett eller flere søkeord i søkeboksen.
Dette eksemplet viser ulike bruksområder for Format-funksjonen til å formatere verdier ved hjelp av både navngitte formater og brukerdefinerte formater. For datoskilletegnet (/), tidsskilletegnet (:) og AM/PM-litteralen avhenger de faktiske formaterte utdataene som vises av systemet, av de nasjonale innstillingene for datamaskinen som koden kjører på. Når klokkeslett og datoer vises i utviklingsmiljøet, brukes det korte klokkeslettformatet og det korte datoformatet for kodeinnstillingen. Når den vises ved å kjøre kode, brukes det korte klokkeslettformatet og det korte datoformatet for de nasjonale innstillingene for systemet, noe som kan være forskjellig fra de nasjonale kodeinnstillingene. I dette eksemplet antas nasjonal innstilling for amerikansk engelsk.
MyTime og MyDate vises i utviklingsmiljøet ved hjelp av gjeldende systeminnstilling for kort tid og kort datoinnstilling.
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".
Bruke Format med tomme strenger
I Microsoft Access versjon 2.0 og tidligere kan du bruke Format-funksjonen til å returnere én verdi for en nullengdestreng og en annen for en verdi. Du kan for eksempel bruke et formatuttrykk som følgende med Format-funksjonen for å returnere den riktige strengverdien fra koden:
Dim varX As Variant
Dim varStrX As Variant ' Assign some value to varStrX and pass to Format function. varX = Format(varStrX, "@;ZLS;Null")
I Microsoft Access versjon 97 og nyere må du teste separat for Null-saken , og deretter returnere den riktige verdien basert på resultatet. Du kan for eksempel bruke IIf-funksjonen i et uttrykk med Format-funksjonen , for eksempel følgende:
varX = IIf(IsNull(varStrX),"Null", Format(varStrX, "@;ZLS"))
Denne endringen gjelder bare når du bruker Format-funksjonen til å formatere en streng som er avhengig av om det er en tom streng eller en nullverdi. Andre formatuttrykk som brukes med Format-funksjonen , fortsetter å fungere som de gjorde i tidligere versjoner.
Hvis du konverterer en database fra Microsoft Access versjon 2.0 og tidligere til Microsoft Access 2002 eller nyere, må du endre kode for å teste separat for nulltilfellet.