Format-funksjon

Gjelder for
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Returnerer en variant (streng) som inneholder et uttrykk formatert i henhold til instruksjoner i et formatuttrykk.

Advarsel Det er et problem med bruken av denne funksjonen. Siste mandag i noen kalenderår kan returneres som uke 53 når det skulle vært uke 1. Hvis du vil ha mer informasjon og en midlertidig løsning, kan du se Format- eller DatePart-funksjoner kan returnere feil ukenummer for siste mandag i år.

Se noen eksempler

Syntaks

Format( *uttrykk [, format ] [, førstedag i uken ] [, første uke i året ] )

Syntaksen for funksjonen Format har disse argumentene:

Argumenter Beskrivelse
uttrykk Påkrevd. Et gyldig uttrykk.
Formater Valgfritt. Et gyldig navn 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 første uke i året.

    

Innstillinger

Formatargumentet kan bruke en rekke innstillinger, avhengig av datatypen for uttrykksargumentet. Se artiklene i tabellen nedenfor for mer informasjon om gyldige formatuttrykk.

For uttrykk som bruker denne datatypen... Se artikkelen
Alle typer Format, egenskap
Dato/klokkeslett Formater et dato- og tidsfelt
Numerisk Formatere et tall- eller valutafelt
Tekst og notat Formatere et tekstfelt
Ja/Nei Format-egenskapen for datatypen Ja/Nei

    

Argumentet første dag i uken har disse innstillingene:

Konstant Verdi 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 første uke i året har disse innstillingene:

Konstant Verdi 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.

    

Merknader

Hvis du vil formatere Gjør du følgende
Tall Bruk forhåndsdefinerte navngitte numeriske formater eller opprett brukerdefinerte numeriske formater.
Datoer og klokkeslett Bruk forhåndsdefinerte navngitte dato-/klokkeslettformater, 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 kjent. Positive tall som er formatert som strenger ved hjelp av Format , inkluderer imidlertid ikke et innledende mellomrom som er reservert for tegnet for verdien. 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 tallformat for å sikre at du får utseendet du vil bruke.

Obs!

Hvis egenskapsinnstillingen for Calendar er gregoriansk og format angir datoformatering, må det angitte uttrykket være gregoriansk. Hvis innstillingen for egenskapen 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) knyttet til dette symbolet. Området til bestemte symboler endres når kalenderen er Hijri.

Symbol Rekkevidde
d 1-30
DD 1-30
ww 1-51
mmm Viser fullstendige månedsnavn (Hijri-månedsnavn har ingen forkortelser).
y 1-355
åååå 100-9666

Eksempler

Bruke Format-funksjonen i et uttrykk Du kan bruke Format overalt der du kan bruke uttrykk. Du kan for eksempel bruke det i en spørring som en del av et feltalias, eller i egenskapen Kontrollkilde for en tekstboks i et skjema eller en rapport. Følgende eksempler viser et uttrykk du kan bruke i filteregenskapen i 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 som heter Dato, som inneholder datoen hver enkelt post ble endret, og som brukes i rapporten. Når du kjører rapporten, filtreres resultatene for å vise bare de postene der uken for verdien i datofeltet (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 måter Format-funksjonen brukes til å formatere verdier ved hjelp av både navngitte formater og brukerdefinerte formater. For datoskilletegnet (/), tidsskilletegnet (:) og AM/PM-bokstaven avhenger de faktiske formaterte utdataene som vises av systemet, av de nasjonale innstillingene på datamaskinen der koden kjører. Når klokkeslett og datoer vises i utviklingsmiljøet, brukes kort klokkeslettformatet og kort datoformat for den nasjonale koden. Når det vises ved å kjøre kode, brukes korttidsformatet og kort datoformat for de nasjonale innstillingene for systemet, som kan være forskjellig fra de nasjonale innstillingene. I dette eksemplet brukes den nasjonale innstillingen for amerikansk engelsk.

MyTime og MyDate vises i utviklingsmiljøet ved hjelp av gjeldende systeminnstilling for kort tid og kort dato.

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 eldre kan du bruke Format-funksjonen til å returnere én verdi for en tom streng og en annen for en verdi. Du kan for eksempel bruke et formatuttrykk som det følgende med Format-funksjonen til å returnere den riktige strengverdien fra kode:

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 nulltilfellet 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 avhengig av om det er en nullengdestreng eller en nullverdi. Andre formatuttrykk som brukes med Format-funksjonen , fortsetter å fungere slik 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.

Strengfunksjoner og hvordan du bruker dem