Format 函數

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

警告    使用此函數時出現問題。 部分行事歷年中的最後一個星期一可以在第1周時傳回為周53。 如需詳細資訊及因應措施,請參閱Format 或 DatePart 函數可能會傳回第一年的最後一個星期一的周數錯誤

請參閱一些範例

語法

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

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

引數

說明

expression

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

format

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

firstdayofweek

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

firstweekofyear

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


設定

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

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

請參閱文章

任何類型

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 支援專員連絡以深入了解您的意見。

×