Funkcja Format

Zwraca wartość typu wariant(ciąg)zawierającą wyrażenie sformatowaną zgodnie z instrukcjami zawartymi w wyrażeniu formatu.

Ostrzeżenie    Występuje problem z używaniem tej funkcji. Ostatni poniedziałek w niektórych latach kalendarzowych może zostać zwrócony jako tydzień 53, gdy powinien to być tydzień 1. Aby uzyskać więcej informacji i obejść ten problem, zobacz funkcje Format lub DatePart, któremogą zwrócić nieprawidłowy numer tygodnia w ostatni poniedziałek w roku.

Zobacz kilka przykładów

Składnia

Format( wyrażenie [, format ] [, firstdayofweek ] [, firstweekofyear ] )

W składni funkcji Format występują następujące argumenty:

Argument

Opis

wyrażenie

Argument wymagany. Dowolne prawidłowe wyrażenie.

format

Argument opcjonalny. Prawidłowe nazwane lub zdefiniowane przez użytkownika wyrażenie formatu.

pierwszy dzień tygodnia

Argument opcjonalny. Wartość stała określająca pierwszy dzień tygodnia.

pierwszyweekofyear

Argument opcjonalny. Stała określająca pierwszy tydzień roku.


Ustawienia

Argument format może stosować różne ustawienia, w zależności od typu danych argumentu wyrażenia. Aby uzyskać więcej informacji na temat prawidłowych wyrażeń formatów, zapoznaj się z artykułami wymienionymi w poniższej tabeli.

W przypadku wyrażeń, które używają tego typu danych...

Zobacz artykuł

Dowolny typ

Właściwość Format

Data/godzina

Formatowanie pola daty i godziny

Liczba

Formatowanie pola liczby lub waluty

Tekst i nota

Formatowanie pola tekstowego

Tak/Nie

Właściwość Format — typy danych Tak/Nie


Argument pierwszy dzień tygodnia ma następujące ustawienia:

Stała

Wartość

Opis

vbUseSystem

0

Użyj ustawienia interfejsu API NLS.

VbSunday

1

Niedziela (domyślnie)

vbMonday

2

Poniedziałek

vbTuesday

3

Wtorek

vbWednesday

4

Środa

vbThursday

5

Czwartek

vbFriday

6

Piątek

vbSaturday

7

Sobota


Argument pierwszyotygodniowy roku ma następujące ustawienia:

Stała

Wartość

Opis

vbUseSystem

0

Użyj ustawienia interfejsu API NLS.

vbFirstJan1

1

Rozpoczynanie od tygodnia, w którym występuje 1 stycznia (domyślnie).

vbFirstFourDays

2

Rozpoczynanie od pierwszego tygodnia, który ma co najmniej cztery dni w roku.

vbFirstFullWeek

3

Zacznij od pierwszego pełnego tygodnia roku.


Spostrzeżenia

Do formatowania

Czynności

Cyfry

Użyj wstępnie nazwanych formatów liczb lub utwórz zdefiniowane przez użytkownika formaty liczb.

Daty i godziny

Użyj wstępnie nazwanych formatów daty/godziny lub utwórz zdefiniowane przez użytkownika formaty daty/godziny.

Numery seryjne dat i godzin

Użyj formatów daty i godziny lub formatów liczb.

Ciągi

Utwórz własne formaty ciągów zdefiniowane przez użytkownika.


Jeśli spróbujesz sformatować liczbę bez określania formatu, funkcjaFormat udostępnia funkcje podobne do funkcji Str, chociaż jest znana na całym poziomie. Liczby dodatnie sformatowane jako ciągi przy użyciu formatu nie zawierają jednak spacji wiodącej zarezerwowanej na znak wartości. Przekonwertowane przy użyciu Str zachowują spację wiodącą.

Podczas formatowania nie zlokalizowanych ciągów liczbowych należy użyć zdefiniowanego przez użytkownika formatu liczbowego, aby uzyskać odpowiednie formatowanie.

Uwaga: Jeśli ustawieniem właściwości Kalendarz jest kalendarz gregoriański, a format określa formatowanie daty, podane wyrażenie musi mieć gregoriański. Jeśli ustawienie właściwości Kalendarz języka Visual Basic to Hijri, podane wyrażenie musi mieć wartość Hijri.

Jeśli kalendarz jest kalendarzem gregoriańskim, znaczenie symboli formatowania wyrażeń pozostaje bez zmian. Jeśli kalendarz to Hidżry, wszystkie symbole formatu daty (na przykład dddd, mmmm yyyy) mają to samo znaczenie, ale mają zastosowanie do kalendarza Hidżry. Symbole formatu pozostają w języku angielskim. symbole, które w wyniku wyświetlenia tekstu (na przykład AM i PM) wyświetlają ciąg (angielski lub arabski) skojarzony z tym symbolem. Zakres niektórych symboli zmienia się, gdy kalendarz to Hidżry.

Symbol

Zakres

d

1-30

dd

1-30

ww

1-51

mmm

Wyświetla pełne nazwy miesięcy (nazwy miesięcy Hidżry nie mają skrótów).

y

1-355

rrrr

100-9666

Przykłady

Używanie funkcji Format w wyrażeniu    Formatu można używać w dowolnym miejscu, w którym można używać wyrażeń. Można go na przykład użyć w zapytaniu jako części aliasu pola lub we właściwości Źródło kontrolki pola tekstowego w formularzu lub raporcie. W poniższych przykładach pokazano wyrażenie, które można użyć we właściwości Filtr raportu w celu ograniczenia wyników do rekordów z poprzedniego tygodnia.

Format([Data],"ww")=Format(Now(),"ww")-1

W tym przykładzie źródło rekordów raportu zawiera pole o nazwie Date, które zawiera datę modyfikacji każdego określonego rekordu i które jest używane w raporcie. Po uruchomieniu raportu jego wyniki są filtrowane w celu pokazania tylko tych rekordów, w których tydzień wartości pola Data (Format([Data];"ww")) jest równy poprzedniemu tygodniu (Format(Now(),"ww")-1).

Używanie funkcji Format w kodzie VBA    

Uwaga: Poniższe przykłady przedstawiają sposób użycia tej funkcji w module języka Visual Basic for Applications (VBA). Aby uzyskać dodatkowe informacje na temat pracy w języku VBA, wybierz pozycję Dokumentacja dewelopera z listy rozwijanej obok przycisku Wyszukaj i wprowadź odpowiednie terminy w polu wyszukiwania.

W tym przykładzie pokazano różne zastosowania funkcji Format do formatowania wartości przy użyciu formatów nazwanych i zdefiniowanych przez użytkownika. W przypadku separatora daty(/),separatora godziny(:)i literału AM/PM rzeczywiste sformatowane dane wyjściowe wyświetlane przez system zależą od ustawień regionalnych komputera, na którym działa kod. Gdy godziny i daty są wyświetlane w środowisku programistyki, używany jest format krótkiej daty i format daty krótkiej kodu. Podczas wyświetlania kodu uruchomionego używany jest format krótkiej daty i format daty krótkiej systemu, który może różnić się od regionalnych kodów. W tym przykładzie zakłada się, że jest przyjmowana angielska wersja angielska (Stany Zjednoczone).

MyTime i MyDate są wyświetlane w środowisku programistyki przy użyciu bieżącego ustawienia czasu krótkiego systemu i ustawienia daty krótkiej.

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".


Używanie formatu z ciągami znaków o zerowej długości

W programie Microsoft Access w wersji 2.0 i starszych można użyć funkcji Format w celu zwrócenia jednej wartości dla ciąg znaków o zerowej długości drugiej dla wartości. W celu zwrócenia odpowiedniej wartości ciągu z kodu można na przykład użyć wyrażenia formatu, takiego jak następujące wyrażenie z funkcją Format:

Dim varX As Variant
Dim varStrX As Variant
' Assign some value to varStrX and pass to Format function.
varX = Format(varStrX, "@;ZLS;Null")

W programie Microsoft Access w wersjach 97 i nowszych należy przetestować oddzielnie wartość null, a następnie zwrócić odpowiednią wartość na podstawie wyniku. Można na przykład użyć funkcji IIf w wyrażeniu z funkcją Format, taką jak:

varX = IIf(IsNull(varStrX),"Null", Format(varStrX, "@;ZLS"))

Ta zmiana ma zastosowanie tylko w przypadku użycia funkcji Format w celu sformatowania ciągu w zależności od tego, czy jest to ciąg o zerowej długości, czy wartość null. Inne wyrażenia formatów używane z funkcją Format nadal działają tak samo jak w poprzednich wersjach.

W przypadku konwertowania bazy danych z programu Microsoft Access w wersji 2.0 i wcześniejszej na program Microsoft Access 2002 lub nowszy należy zmienić kod w celu przetestowania oddzielnie dla przypadku wartości Null.

Zobacz też

Funkcje tekstowe i ich zastosowanie

Potrzebna dalsza pomoc?

Rozwijaj umiejętności związane z pakietem Office
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×