Returnerar ett värde av datatypen Variant (Sträng) som innehåller ett uttryck som formaterats enligt instruktionerna i ett formatuttryck.
Varning! Det finns ett problem med användningen av den här funktionen. Den sista måndagen i vissa kalenderår kan returneras som vecka 53 när det ska vara vecka 1. Mer information och en lösning finns i Formatera eller DatumDel-funktioner kan returnera fel veckonummer för förra måndagen i år. |
Syntax
Format( uttryck [, format ] [, förstadagiveckan ] [, förstaveckapååret ] )
Syntaxen för funktionen Format har följande argument:
Argument |
Beskrivning |
uttryck |
Obligatoriskt. Valfritt giltigt uttryck. |
format |
Valfritt. Ett giltigt namngivet eller användardefinierat formatuttryck. |
förstadagiveckan |
Valfritt. En konstant som anger veckans första dag. |
förstaveckapååret |
Valfritt. En konstant som anger årets första vecka. |
Inställningar
Argumentet format kan använda en mängd olika inställningar, beroende på datatypen för argumentet uttryck . Läs artiklarna i tabellen nedan för mer information om giltiga uttryck.
För uttryck med den här datatypen ... |
Läser du artikeln |
Alla typer |
|
Datum/tid |
|
Numerisk |
|
Text och PM |
|
Ja/Nej |
Argumentet förstadagiveckan har följande inställningar:
Konstant |
Värde |
Beskrivning |
vbUseSystem |
0 |
Använd API-inställningen NLS. |
VbSunday |
1 |
Söndag (standard) |
vbMonday |
2 |
Måndag |
vbTuesday |
3 |
Tisdag |
vbWednesday |
4 |
Onsdag |
vbThursday |
5 |
Torsdag |
vbFriday |
6 |
Fredag |
vbSaturday |
7 |
Lördag |
Argumentet förstaveckapååret har följande inställningar:
Konstant |
Värde |
Beskrivning |
vbUseSystem |
0 |
Använd API-inställningen NLS. |
vbFirstJan1 |
1 |
Börja med den vecka då den 1 januari infaller (standard). |
vbFirstFourDays |
2 |
Börja med den första veckan som omfattar minst fyra dagar på det nya året. |
vbFirstFullWeek |
3 |
Börja med den första veckan som enbart omfattar dagar på det nya året. |
Anmärkningar
Om du vill formatera |
Gör så här |
Tal |
Använd fördefinierade namngivna talformat eller skapa användardefinierade talformat. |
Datum och tider |
Använd fördefinierade namngivna datum- och tidsformat eller skapa användardefinierade datum- och tidsformat. |
Datum- och tidserienummer |
Använd datum- och tidsformat eller numeriska format. |
Strängar |
Skapa egna användardefinierade strängformat. |
Om du försöker formatera ett tal utan att ange format ger Format funktioner som liknar funktionen Str , även om det är internationellt medvetet. Positiva tal som formaterats som strängar med Format innehåller dock inte ett inledande blanksteg som är reserverat för tecknet på värdet. de som konverteras med Str behåller det inledande blanksteget.
Om du formaterar en ickelokaliserad numerisk sträng ska du använda ett användardefinierat numeriskt format för att få det utseende du vill ha.
Obs!: Om egenskapsinställningen Kalender är gregoriansk och format anger datumformatering måste det angivna uttrycket vara gregorianskt. Om Visual Basic-egenskapsinställningen Kalender är hijri måste det angivna uttrycket vara hijri.
Om kalendern är gregoriansk ändras inte innebörden av formatuttryckssymboler. Om kalendern är Hijri har alla symboler för datumformat (till exempel dddd, mmmm, åååå) samma betydelse men gäller för Hijri-kalendern. Formatsymboler finns kvar på engelska. symboler som resulterar i textvisning (till exempel FM och EM) visar strängen (engelska eller arabiska) som är kopplad till symbolen. Intervallet för vissa symboler ändras när kalendern är Hijri.
Symbol |
Område |
d |
1-30 |
dd |
1-30 |
ww |
1-51 |
mmm |
Visar fullständiga månadsnamn (hijri-månadsnamn förkortas inte). |
å |
1-355 |
yyyy |
100-9666 |
Exempel
Använda funktionen Format i ett uttryck Du kan använda Format var som helst där du kan använda uttryck. Till exempel kan du använda den i en fråga som en del av ett fältalias eller i egenskapen Kontrollkälla för en textruta i ett formulär eller en rapport. I följande exempel visas ett uttryck som du kan använda i en rapports Filter-egenskap för att begränsa resultatet till poster från föregående vecka.
Format([Date],"ww")=Format(Now(),"ww")-1
I det här exemplet har rapportens datakälla ett fält som heter Date som innehåller datumet då respektive post ändrades och som används i rapporten. När du kör rapporten filtreras resultaten för att endast visa de posterna där veckan för värdet i fältet Date (Format([Date],"ww")) är lika med föregående vecka (Format(Now(),"ww")-1).
Använda funktionen Format i VBA-kod
Obs!: I exemplen nedan visar vi hur du använder den här funktionen i en Visual Basic for Applications-modul (VBA). Om du vill läsa mer om hur man använder VBA, kan du välja Info för utvecklare i listrutan bredvid Sök och sedan skriva en eller flera söktermer i sökrutan.
I det här exemplet visas olika sätt för att använda funktionen Format för att formatera värden genom att använda både namngivna format och användardefinierade format. För datumavgränsaren (/), tidsavgränsaren (:) och AM/ PM beror faktiska formaterade utdata som visas på datorn på de nationella inställningarna på datorn som koden körs på. När tider och datum visas i utvecklingsmiljön används det korta tidsformatet och det korta datumformatet i kodens språk. Vid visning genom att kod körs används det korta tidsformatet och det korta datumformatet för datorns språk, som kan skilja sig från kodens språk. I det här exemplet används språket amerikansk engelska.
MyTime och MyDate visas i utvecklingsmiljön med den aktuella systeminställningen för kort tid och kort datum.
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".
Använda Format med nollängdssträngar
I Microsoft Access version 2.0 och tidigare kunde du använda Format för att returnera ett värde för en nollängdssträng och en annan för ett värde. Du kunde till exempel använda ett formatuttryck såsom följande med funktionen Format för att returnera rätt strängvärde från kod:
Dim varX As Variant
Dim varStrX As Variant ' Assign some value to varStrX and pass to Format function. varX = Format(varStrX, "@;ZLS;Null")
I version 97 och senare av Microsoft Access måste du testa separat för fallet Null och sedan returnera rätt värde baserat på resultatet. Du kan till exempel använda funktionen OOM i ett uttryck med funktionen Format enligt följande:
varX = IIf(IsNull(varStrX),"Null", Format(varStrX, "@;ZLS"))
Den här ändringen gäller endast när du använder funktionen Format för att formatera en sträng beroende på om det är en nollängdssträng eller ett Null-värde. Andra formatuttryck som används med funktionen Format fortsätter att fungera som de gjorde i tidigare versioner.
Om du konverterar en databas från Microsoft Access version 2.0 och tidigare till Microsoft Access 2002 eller senare måste du ändra koden och testa Null-fallen separat.