Format 函數

會傳回VariantString),其中包含根據格式運算式中所含指示設定格式的 運算式 。

請參閱一些範例

語法

Format ( expression [,Format ] [firstdayofweek ] [firstweekofyear ]

Format函數語法具有下列引數:

引數

描述

expression

必要。 任何有效的運算式。

format

選用。 有效命名或使用者定義的格式運算式。

firstdayofweek

選用。 指定一周的第一天的 常數 。

firstweekofyear

選用。 一個常數,指定一年的第一周。


設定

根據expression引數的資料類型而定,引數格式可以使用各種設定。 如需有效格式運算式的詳細資訊,請參閱下表所列的文章。

對於使用此資料類型的運算式 .。。

請參閱文章

任何類型

Format 屬性

日期/時間

設定日期和時間欄位的格式

數值

設定數位或貨幣欄位的格式

文字和備忘

設定文字欄位的格式

是/否

Format 屬性 - 是/否資料類型


Firstdayofweek引數具有下列設定:

常數

描述

vbUseSystem

0

使用 NLS API 設定。

VbSunday

1

星期天(預設值)

vbMonday

2

星期一

vbTuesday

3

星期二

vbWednesday

4

星期三

vbThursday

5

星期四

vbFriday

6

星期五

vbSaturday

7

星期六


Firstweekofyear引數具有下列設定:

常數

描述

vbUseSystem

0

使用 NLS API 設定。

vbFirstJan1

1

從1月1日所在的周開始(預設)。

vbFirstFourDays

2

從一年中的第一周開始,最少四天。

vbFirstFullWeek

3

從一年中的第一個完整周開始。


註解

若要格式化

請執行此動作

數字

使用預先定義的命名數值格式,或建立使用者定義的數值格式。

日期及時間

使用預先定義的名稱日期/時間格式,或建立使用者定義的日期/時間格式。

日期和時間序列值

使用日期和時間格式或數值格式。

Strings

建立您自己的使用者定義字串格式。


如果您嘗試在不指定格式的情況下格式化數位, format會提供類似Str函數的功能,雖然它是國際感知的。 不過,使用Format格式化成字串的正數,不包含為值符號保留的前導空格;使用Str轉換的那些會保留前導空格。

如果您要格式化非當地語系化的數值字串,您應該使用使用者定義的數值格式,以確保您獲得想要的外觀。

附註: 如果行事屬性設定是西曆且格式指定日期格式,則提供的運算式必須是西曆。 如果 Visual Basic 行事屬性設定為回曆,則提供的運算式必須是回曆。

如果行事曆是西曆,則格式expression 符號的意義不會改變。 如果行事曆是回曆,所有日期格式符號(例如,dddd,mmmm,yyyy)都有相同的意義,但適用于回曆。 格式符號會保留英文;產生文字顯示的符號(例如 AM 和 PM)會顯示與該符號相關聯的字串(英文或阿拉伯文)。 當行事曆為回曆時,某些符號的範圍會變更。

符號

Range

d

1-30

dd

1-30

ww

1-51

mmm

顯示完整月份名稱(阿拉伯回曆月份名稱沒有縮寫)。

y

1-355

yyyy

100-9666

範例

在運算式中使用 Format 函數    您可以在任何可使用運算式的地方使用格式。 例如,您可以在查詢中使用它做為欄位別名的一部分,或是表單或報表上文字方塊的 [控制項來源] 屬性。 下列範例顯示您可以在報表的Filter屬性中使用的運算式,以將輸出限制為上周的記錄。

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

在這個範例中,報表的記錄來源有一個名為 [Date] 的欄位,其中包含每個特定記錄的修改日期,以及在報表上使用的日期。 當您執行報表時,會針對日期欄位(Format ([Date],"ww"))中的值,將其結果篩選為僅顯示那些記錄的周數(format ([日期]、"ww"))。

在 VBA 程式碼中使用 Format 函數    

附註: 下列範例示範如何在 Visual Basic for Applications (VBA) 模組中使用此函數。 如需使用 VBA 的詳細資訊,請在 [搜尋] 旁的下拉式清單中選取 [開發人員參考],並在 [搜尋] 方塊中輸入一個或多個字詞。

這個範例說明format函數如何使用命名格式和使用者定義的格式來格式化值。 針對日期分隔符號(/)、時間分隔符號(/)、時間分隔符號(),以及 AM/PM 文字,您系統所顯示的實際格式化輸出,取決於執行程式碼的電腦的地區設定。 當時間與日期顯示在開發環境中時,會使用程式碼區域設定的短時間格式和短日期格式。 在執行程式碼顯示時,會使用系統區域設定的短時間格式及短日期格式,這可能與程式碼區域設定不同。 在這個範例中,會假設美國英文區域設定。

MyTimeMyDate 會顯示在開發環境中,使用 [目前系統短時間] 設定和 [短日期] 設定。

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


使用格式與零長度字串

在 Microsoft Access 版本2.0 及更舊版本中,您可以使用Format函數,為 零長度字串 傳回一個值,而另一個值則傳回值。 例如,您可以使用 format 運算式(如下所示)與format函數,從程式碼傳回適當的字串值:

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

在 Microsoft Access 版本97及更新版本中,您必須針對Null情況單獨測試,然後根據結果傳回適當的值。 例如,您可以在運算式中使用IIf函數,其Format函數如下所示:

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

這個變更只有在您使用format函數來格式化字串,而該字串是由零長度字串或 Null 值所決定時才適用。 與format函數搭配使用的其他格式運算式,會像在舊版中一樣繼續運作。

如果您將資料庫從 Microsoft Access 版本2.0 及較舊版本轉換為 Microsoft Access 2002 或更新版本,您必須變更程式碼,以便針對 Null 情況單獨測試。

附註:  本頁面是經由自動翻譯而成,因此文中可能有文法錯誤或不準確之處。 讓這些內容對您有所幫助是我們的目的。 告訴我們這項資訊是否有幫助? 這裡是供您參考的英文文章

請參閱

字串函數及其使用方法

增進您的 Office 技巧
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與我們的其中一個 Office 支援專員連絡以深入了解您的意見。

×