Zwraca wartość typu wariant (ciąg) zawierającą wyrażenie sformatowane według instrukcji zawartej w wyrażeniu formatowania.
| Ostrzeżenie Wystąpił problem z użyciem tej funkcji. Ostatni poniedziałek w niektórych latach kalendarzowych może zostać zwrócony jako tydzień 53, podczas gdy powinien to być tydzień 1. Aby uzyskać więcej informacji i obejść ten problem, zobacz Funkcje Format lub DatePart mogą zwrócić nieprawidłowy numer tygodnia dla ostatniego poniedziałku w roku. |
|---|
Składnia
Format( *wyrażenie [, format ] [, pierwszy_dzień_tygodnia ] [, pierwszy_tydzień_roku])
W składni funkcji Format występują następujące argumenty:
| Argumenty argumentów | Opis |
|---|---|
| wyrażenie | Argument wymagany. Dowolne prawidłowe wyrażenie. |
| format | Argument opcjonalny. Prawidłowe nazwane wyrażenie formatu lub wyrażenie formatu zdefiniowane przez użytkownika. |
| pierwszy dzień tygodnia | Argument opcjonalny. Stała określająca pierwszy dzień tygodnia. |
| pierwszy tydzień_roku | Argument opcjonalny. Stała określająca pierwszy tydzień roku. |
Ustawienia
Argument format może korzystać z różnych ustawień, w zależności od typu danych argumentu wyrażenia . Więcej informacji na temat prawidłowych wyrażeń formatu można znaleźć w artykułach wymienionych w poniższej tabeli.
| W przypadku wyrażeń używających tego typu danych... | Zobacz artykuł |
|---|---|
| Dowolny typ | Właściwość Format |
| Data/godzina | Formatowanie pola daty i godziny |
| Liczba | Formatowanie pola liczbowego lub walutowego |
| 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 |
| vbwtorek | 3 | Wtorek |
| vbWednesday | 4 | Środa |
| vbczwartek | 5 | Czwartek |
| vbFriday | 6 | Piątek |
| vbSaturday | 7 | Sobota |
Argument pierwszy_tydzień_roku ma następujące ustawienia:
| Stała | Wartość | Opis |
|---|---|---|
| vbUseSystem | 0 | Użyj ustawienia interfejsu API NLS. |
| vbFirstJan1 | 1 | Zacznij od tygodnia, w którym występuje 1 stycznia (domyślnie). |
| vbFirstFourDays | 2 | Zacznij od pierwszego tygodnia, który ma co najmniej cztery dni w roku. |
| vbFirstFullWeek | 3 | Zacznij od pierwszego pełnego tygodnia roku. |
Uwagi
| Aby sformatować | Czynność |
|---|---|
| Cyfry | Można używać wstępnie zdefiniowanych nazwanych formatów liczbowych lub tworzyć formaty liczb zdefiniowane przez użytkownika. |
| Daty i godziny | Można używać wstępnie zdefiniowanych nazwanych formatów daty/godziny lub tworzyć zdefiniowane przez użytkownika formaty daty/godziny. |
| Liczby kolejne daty i godziny | Użyj formatów daty i godziny lub liczb. |
| Ciągi znaków | Tworzenie własnych formatów ciągów zdefiniowanych przez użytkownika. |
Jeśli spróbujesz sformatować liczbę bez określania formatu, funkcja Format udostępnia funkcje podobne do funkcji Str , ale jest rozpoznawana międzynarodowo. Jednak liczby dodatnie sformatowane jako ciągi znaków za pomocą funkcji Format nie zawierają spacji wiodącej zarezerwowanej dla znaku wartości; te konwertowane za pomocą Str zachowują spację wiodącą.
W przypadku formatowania niezlokalizowanego ciągu liczbowego należy użyć formatu liczb zdefiniowanego przez użytkownika, aby uzyskać oczekiwany wygląd.
Uwaga
Jeśli ustawieniem właściwości Calendar jest kalendarz gregoriański, a format określa format daty, podawane wyrażenie musi być gregoriańskie. Jeśli ustawieniem właściwości języka Visual Basic Calendar jest Hijri, podawanym wyrażeniem musi być Hijri.
W przypadku kalendarza gregoriańskiego znaczenie symboli wyrażeń formatu pozostaje bez zmian. Jeśli kalendarz jest kalendarzem Hidżry, wszystkie symbole formatu daty (na przykład dddd, mmmm, rrrr) mają to samo znaczenie, ale odnoszą się do kalendarza Hidżry. Symbole formatu pozostają w języku angielskim; symbole powodujące wyświetlenie tekstu (na przykład AM i PM) wyświetlają ciąg znaków (angielski lub arabski) skojarzony z tym symbolem. Zakres niektórych symboli zmienia się, gdy kalendarz jest kalendarzem Hidżra.
| Symbol | Zasięg |
|---|---|
| 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żeniuPolecenia Format można używać wszędzie tam, gdzie są używane wyrażenia. Można go na przykład użyć w zapytaniu jako części aliasu pola albo we właściwości Źródło kontrolki pola tekstowego w formularzu lub raporcie. W poniższych przykładach pokazano wyrażenie, którego można użyć we właściwości Filter raportu, aby ograniczyć dane wyjściowe 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 Data, które zawiera datę modyfikacji każdego określonego rekordu i które jest używane w raporcie. Po uruchomieniu raportu wyniki są filtrowane w taki sposób, aby wyświetlić tylko te rekordy, w których tydzień określony dla wartości pola Data (Format([Data],"ww")) jest taki sam jak tydzień poprzedni (Format(Now(),"ww")-1).
Używanie funkcji Format w kodzie języka 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 jak i zdefiniowanych przez użytkownika. W przypadku separatora daty (/), separatora godziny (:) i literału AM/PM rzeczywisty sformatowany wynik wyświetlany przez system zależy od ustawień regionalnych komputera, na którym kod jest uruchomiony. Gdy godziny i daty są wyświetlane w środowisku programistycznym, używane są formaty godziny krótkiej i daty krótkiej określone w ustawieniach regionalnych kodu. W przypadku wyświetlania przez uruchomiony kod są używane formaty godziny krótkiej i daty ustawień regionalnych systemu, które mogą się różnić od ustawień regionalnych kodu. W tym przykładzie przyjęto założenie, że są używane ustawienia regionalne Angielski Stany Zjednoczone.
MyTime i MyDate są wyświetlane w środowisku programistycznym przy użyciu bieżącego systemowego ustawienia krótkiej godziny i ustawienia krótkiej daty.
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 wcześniejszych można było użyć funkcji Format w celu zwrócenia jednej wartości dla ciągu o zerowej długości i innej dla wartości. Na przykład w celu zwrócenia odpowiedniej wartości ciągu z kodu można użyć poniższego wyrażenia formatu, podobnego do poniższego:
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 wersji 97 i nowszych należy przeprowadzić oddzielny test dla wielkości liter Null , a następnie zwrócić odpowiednią wartość na podstawie wyniku. Funkcji IIf można na przykład użyć w wyrażeniu z funkcją Format w następujący sposób:
varX = IIf(IsNull(varStrX),"Null", Format(varStrX, "@;ZLS"))
Ta zmiana dotyczy tylko sytuacji, gdy używasz funkcji Format do formatowania ciągu w zależności od tego, czy jest to ciąg o zerowej długości, czy o wartości null. Pozostałe wyrażenia formatów używane z funkcją Format działają tak samo jak w poprzednich wersjach.
W przypadku konwertowania bazy danych z programu Microsoft Access w wersji 2.0 lub wcześniejszej do programu Microsoft Access 2002 lub nowszego należy zmienić kod tak, aby przeprowadzić oddzielne testy dla przypadku Null.