Palauttaa muuttujan (merkkijonon), joka sisältää muotoilulausekkeessa olevien ohjeiden mukaan muotoillun lauseke.
Varoitus Tämän funktion käytössä on ongelma. Joidenkin kalenterivuosien viimeinen maanantai voidaan palauttaa viikkona 53, jolloin sen pitäisi olla viikko 1. Lisätietoja ja vaihtoehtoinen menetelmä on artikkelissa Muotoile- tai DatePart-funktiot voivat palauttaa väärän viikkonumeron viime maanantaille vuonna. |
Syntaksi
Format( lauseke [, muoto ] [, viikonensimmäinenpäivä ] [, vuodenensimmäinenviikko ] )
Format-funktion syntaksilla on seuraavat argumentit:
Argumentti |
Kuvaus |
lauseke |
Pakollinen. Mikä tahansa kelvollinen lauseke. |
muoto |
Valinnainen. Kelvollinen nimetty tai käyttäjän määrittämä muotolauseke. |
viikonensimmäinenpäivä |
Valinnainen. vakio, joka määrittää viikon ensimmäisen päivän. |
vuodenensimmäinenviikko |
Valinnainen. Vakio, joka määrittää vuoden ensimmäisen viikon. |
Asetukset
Muotoiluargumentti voi käyttää erilaisia asetuksia lausekeargumentin tietotyypin mukaan. Lisätietoja kelvollisista muotolausekkeista saat seuraavassa taulukossa luetelluista artikkeleista.
Lausekkeet, joissa käytetään tätä tietotyyppiä... |
Katso artikkeli |
Mikä tahansa tyyppi |
|
Päivämäärä/kellonaika |
|
Numeerinen |
|
Teksti ja muistio |
|
Kyllä/Ei |
Viikonensimmäinenpäivä-argumentilla on seuraavat asetukset:
Vakio |
Arvo |
Kuvaus |
vbUseSystem |
0 |
Käytä NLS API -asetusta. |
VbSunday |
1 |
Sunnuntai (oletus) |
vbMonday |
2 |
Maanantai |
vbTuesday |
3 |
Tiistai |
vbWednesday |
4 |
Keskiviikko |
vbThursday |
5 |
Torstai |
vbFriday |
6 |
Perjantai |
vbSaturday |
7 |
Lauantai |
Vuodenensimmäinenviikko-argumentilla on seuraavat asetukset:
Vakio |
Arvo |
Kuvaus |
vbUseSystem |
0 |
Käytä NLS API -asetusta. |
vbFirstJan1 |
1 |
Aloita viikosta, jossa on 1. tammikuuta (oletus). |
vbFirstFourDays |
2 |
Aloita ensimmäisestä viikosta, jossa on vähintään neljä kyseisen vuoden päivää. |
vbFirstFullWeek |
3 |
Aloita vuoden ensimmäisestä täydestä viikosta. |
Huomautuksia
Muotoileminen |
Tee näin |
Numerot |
Käytä ennalta määritettyjä nimettyjä numeromuotoiluja tai luo käyttäjän määrittämiä numeromuotoiluja. |
Päivämäärät ja kellonajat |
Käytä ennalta määritettyjä nimettyjä päivämäärä- ja aikamuotoiluja tai luo käyttäjän määrittämiä päivämäärä- ja aikamuotoiluja. |
Päivämäärän ja kellonajan järjestysluvut |
Käytä päivämäärä- ja kellonaikamuotoiluja tai numeerisia muotoiluja. |
Merkkijonot |
Luo omat käyttäjän määrittämät merkkijonomuotoilut. |
Jos yrität muotoilla lukua määrittämättä muotoilua, Formatissa on Str-funktion kaltainen toiminto, vaikka se on kansainvälisesti tietoinen. Muotoilu-funktion avulla merkkijonoiksi muotoillut positiiviset luvut eivät kuitenkaan sisällä alussa olevaa välilyöntiä, joka on varattu arvon merkille. Str-toiminnolla muunnetut säilyttävät alussa olevan tilan.
Jos muotoilet lokalisoimatonta numeerista merkkijonoa, käytä käyttäjän määrittämää numeromuotoa sen varmistamiseksi, että saat haluamasi ulkoasun.
Huomautus: Jos Kalenteri-ominaisuusasetus on gregoriaaninen ja päivämäärän muotoilu määritetään Format-funktiolla, annetun lausekkeen on oltava gregoriaaninen. Jos Visual Basicin Kalenteri-ominaisuusasetus on islamilainen, annetun lausekkeen on oltava islamilainen.
Jos kalenteri on gregoriaaninen, muotoilulausekesymbolien merkitys ei muutu. Jos kalenteri on Hijri, kaikilla päivämäärämuotosymboleilla (esimerkiksi dddd, mmmm, yyyy) on sama merkitys, mutta ne koskevat Hijri-kalenteria. Muotoilusymbolit säilyvät englanniksi. Merkit, jotka johtavat tekstin näyttämiseen (esimerkiksi AM ja PM), näyttävät kyseiseen symboliin liittyvän merkkijonon (englanti tai arabia). Tiettyjen merkkien alue muuttuu, kun kalenteri on Hijri.
Symboli |
Alue |
p |
1–30 |
pp |
1–30 |
vv |
1–51 |
kkk |
Näyttää kuukausien koko nimet (islamilaisessa kalenterissa kuukausien nimillä ei ole lyhenteitä). |
v |
1–355 |
vvvv |
100–9666 |
Esimerkkejä
Format-funktion käyttäminen lausekkeessa Voit käyttää Format-funktiota niissä kohdissa, missä voit käyttää lausekkeitakin. Voit käyttää sitä esimerkiksi kyselyssä kentän tunnuksen osana tai lomakkeella tai raportissa tekstiruudun Ohjausobjektin lähde -ominaisuutena. Seuraavissa esimerkeissä näytetään lauseke, jota voit käyttää raportin Suodatin-ominaisuutena rajoittamaan tulokset edellisen viikon tietueisiin.
Format([Päivämäärä],"vv")=Format(Nyt(),"vv")-1
Tässä esimerkissä raportin tietuelähteessä on Päivämäärä-kenttä, joka sisältää kunkin tietueen muokkauspäivämäärän ja jota käytetään raportissa. Kun suoritat raportin, sen tulokset suodatetaan näyttämään vain ne tietueet, joissa Päivämäärä-kentän arvon viikko (Format([Päivämäärä],"vv")) vastaa edellistä viikkoa (Format(Nyt(),"vv")-1).
Format-funktion käyttäminen VBA-koodissa
Huomautus: Seuraavissa esimerkeissä kerrotaan, kuinka tätä funktiota käytetään Visual Basic for Applications (VBA) -moduulissa. Jos haluat lisätietoja VBA:n käytöstä, valitse Sovelluskehittäjän opasHaku-kentän viereisestä luettelosta ja anna yksi tai useampi hakuehto hakukenttään.
Tässä esimerkissä näytetään, miten Format-funktion avulla voidaan muotoilla arvoja käyttämällä sekä nimettyjä muotoiluja että käyttäjän määrittämiä muotoiluja. Päivämääräerottimen (/), aikaerottimen (:) ja AM/PM-literaalien osalta järjestelmän näyttämä todellinen muotoiltu tulos riippuu koodia suorittavan tietokoneen aluekohtaisista asetuksista. Jos kellonajat ja päivämäärät näytetään kehitysympäristössä, käytetään koodin aluekohtaisten asetusten lyhyttä kellonajan muotoa ja lyhyttä päivämäärän muotoa. Suoritettava koodi näyttää järjestelmän aluekohtaisten asetusten lyhyen kellonajan muodon ja lyhyen päivämäärän muodon, ja ne saattavat poiketa koodin aluekohtaisista asetuksista. Tässä esimerkissä käytetään Yhdysvaltojen englannin kielen aluekohtaisia asetuksia.
MyTime ja MyDate näkyvät kehitysympäristössä, kun käytetään nykyisen järjestelmän lyhyttä aika-asetusta ja lyhyttä päivämääräasetusta.
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-funktion käyttäminen tyhjissä merkkijonoissa
Microsoft Accessin versiossa 2.0 ja aiemmissa versioissa Format-funktion avulla voi palauttaa yhden arvon tyhjä merkkijono ja toisen arvoksi. Voit käyttää esimerkiksi seuraavaa muotolauseketta Format-funktion kanssa ja palauttaa vastaavan merkkijonoarvon koodista:
Dim varX As Variant
Dim varStrX As Variant ' Assign some value to varStrX and pass to Format function. varX = Format(varStrX, "@;ZLS;Null")
Microsoft Accessin versiossa 97 ja uudemmissa versioissa sinun on testattava erikseen Tyhjäarvo-tapaus ja palautettava sitten vastaava arvo tuloksen perusteella. Voit esimerkiksi käyttää IIf-funktiota lausekkeessa Format-funktion kanssa, kuten seuraavassa:
varX = IIf(IsNull(varStrX),"Null", Format(varStrX, "@;ZLS"))
Tämä muutos koskee vain sellaisia tapauksia, kun käytät Format-funktiota merkkijonon muotoiluun riippuen siitä, onko se tyhjä merkkijono vai tyhjäarvo. Muut Format-funktion kanssa käytettävät muotolausekkeet toimivat edelleen samaan tapaan kuin aiemmissa versioissa.
Jos muunnat tietokannan Microsoft Accessin versiosta 2.0 tai sitä aiemmasta versiosta Microsoft Access 2002 -versioon tai sitä uudempaan versioon, sinun on muutettava koodia, jotta voit testata erikseen Tyhjäarvo-tapauksen.