運算式簡介

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

您可以在 Microsoft Access 中用運算式進行多種工作,像是進行數學計算、合併或擷取文字,或是驗證資料。 本文提供運算式的相關背景資訊 ,包括使用時機、與 Microsoft Excel 公式相互比較,以及其組成部分等等。

本文內容

運算式概觀

為何使用運算式?

Access 運算式和 Excel 公式比一比

運算式的組成

運算式的範例

運算式概觀

運算式是部分或所有動作的組合: 內建或使用者定義函數、 識別項、 運算子和常數的單一值。

運算式的組成

例如,以下運算式包含所有四個組成元素:

=Sum([購買價格])*0.08

在此範例中, Sum()內建函數、 [購買價格]是識別項、 *是數學運算子,而0.08是常數。這個運算式可以在頁尾表單或報表尾的文字中用來計算營業稅群組的項目。

運算式可能比這個範例複雜得多,也可能簡單得多。例如,這個布林值運算式只包含一個運算子和一個常數:

>0

這個運算式會傳回True時,會大於 0,且會為 False時,會比較的數字的數字小於 0。您可以使用 [控制項] 或 [資料表欄位的 [驗證規則] 屬性中的此運算式,以確保只有正值輸入。

在 Access 中,運算式所用的許多地方,來執行計算、 處理數字或測試的資料。資料表、 查詢、 表單、 報表和巨集所有已接受運算式的內容。例如,您可以使用 [控制項資料來源預設值] 屬性中運算式控制項。您也可以使用 [驗證規則] 屬性中的運算式的資料表欄位。此外,當您撰寫 Microsoft Visual Basic for Applications (VBA) 程式碼事件程序或模組時,您經常使用與您在 Access 物件,例如資料表或查詢中使用的運算式。

附註: 如需運算式的組成的相關資訊,請參閱本文稍後的運算式的組成一節。

頁面頂端

為何使用運算式?

在 Access 中,您可以使用運算式進行下列任何一項作業:

  • 計算並非直接存在資料中的值。 您可以計算資料表和查詢內欄位中的值,也可以計算表單和報表上控制項中的值。

  • 為資料表欄位或表單或報表上的控制項設定預設值。 每當您開啟資料表、表單或報表時,就會顯示這些預設值。

  • 建立驗證規則。 驗證規則會控制使用者可以輸入欄位或控制項中的值。

  • 指定查詢的準則。

Access 中最常見的一種運算式使用方式,就是計算並非直接存在資料中的值。 例如,您可以在資料表或查詢中建立計算明細項目合計的欄,然後將該值用於表單或報表中。 在資料表或查詢中,此類計算所產生的欄稱為計算欄位。 例如,查詢中的下列運算式會計算加上折扣的明細項目合計:

ExtendedPrice : CCur ([訂單詳細資料]。 [單價] * [數量] *(1-[Discount])/100) * 100

這個運算式會產生的欄或導出的欄位命名為 ExtendedPrice

當您需要對兩個以上資料表欄位中的資料加以計算或執行作業時,就可以建立計算欄位。 例如,許多資料表會將名字和姓氏儲存於不同的欄位。 如果想合併這些名字和姓氏,並將結果顯示在一個欄位中,可以在資料表或查詢中建立計算欄位。

結合名字和姓氏的導出的欄位會看起來像這樣: [名字] &"「 & [姓氏]。在此案例中,連字號 (&) 合併 [名字] 欄位、 空格字元 (用引號括住一個空格) 及 [姓氏]欄位中的值中的值。

您也可以在 Access 中使用運算式,若要在表格中的欄位或控制項提供的預設值。例如,若要設定成目前日期的日期欄位的預設值,您輸入date ()該欄位的預設值] 屬性方塊中。

此外,您可以使用運算式來設定驗證規則。例如,您可以使用驗證規則中的控制項或,要求輸入的日期的資料表欄位大於或等於目前的日期。您在此情況下,在 [驗證規則] 屬性方塊中設定的值> = date ()

最後,您可以用運算式來設定查詢的準則。 例如,假設您想查看某段時間內出貨的訂單產品銷售情形。 您可以輸入準則來定義日期範圍,Access 只會傳回符合準則的列。 例如,運算式可能看起來會像這樣:

之間 #1/1/20 11 #,#12/31/20 11 #

當您將準則新增到查詢中,接著執行查詢時,只會傳回符合指定日期的值。

頁面頂端

Access 運算式和 Excel 公式比一比

Access 運算式與 Excel 公式的近似之處在於兩者使用相仿的元素產生結果。 Excel 公式和 Access 運算式都包含下列一或多個項目:

  • 識別項   在 Excel 中,識別項是個別的儲存格的名稱或活頁簿,例如A1B3:C6工作表 2 中的儲存格範圍 !C32。在 Access 中,識別項是資料表欄位的名稱 (例如[連絡人] ! [第一個名稱]),在表單或報表上的控制項 (例如表單 ! [工作清單] ![描述]),這些欄位或控制項的屬性 (例如Forms ! [工作清單] ![描述]。)。

  • 運算子   在 Access 和 Excel 中,若要比較的值,或在您的資料上執行簡單的計算用運算子。範例包括+ (加號) 或- (減號 (-))。

  • 函數和引數   在 Access 和 Excel 函數和引數用來完成工作時,您無法使用了解單獨使用運算子,,例如,您可以在欄位中,尋找值的平均值,或計算的結果轉換成以貨幣格式。函數的範例包括SUM標準差。引數是提供資訊給函數的值。Access 和 Excel 有許多功能,可供選擇,但有時候不同的程式類似的函數名稱。例如,在 Excel 中AVERAGE函數會對應到AVG函數在 Access 中。

  • 常數    在 Access 和 Excel 中,常數是不會變的值 — 例如不能用運算式計算的文字或數字字串。

Access 運算式所使用的運算子和常數與 Excel 公式很相似,但 Access 運算式使用不同的識別項和函數。 Excel 公式通常只會在工作表儲存格中派上用場,而 Access 運算式在 Access 中則常會用來進行多種工作,包括下列各項工作:

  • 在表單和報表上建立計算控制項

  • 在資料表和查詢中建立計算欄位

  • 做為查詢中的準則

  • 驗證輸入欄位或表單控制項的資料

  • 在報表中群組資料

您可以使用運算式 Access 或 Excel 公式來計算數字或日期/時間值使用數學運算子。例如,若要計算折扣的價格的客戶,您可以使用 Excel 公式=C2*(1-D2)或 Access 運算式= [單位 Price]*(1-[Discount])

您可以也使用 Access 運算式或 Excel 公式來合併分割,或使用字串運算子來操作字串。例如,若要合併成一個字串的第一個和最後一個名稱,您可以使用 Excel 公式= D3 & 」 「 & D4或 Access 運算式= [名字] & 」 「 & [姓氏]

頁面頂端

運算式的組成

運算式可以包含識別項、運算子、函數和引數、常數和值。 下列各節更詳細描述這些組成項目。 這些小節中的範例也會提供運算式使用語法的簡短說明。

識別項

識別項是欄位、 屬性或控制項的名稱。您使用的識別碼在運算式中參照的欄位、 屬性或控制項相關聯的值。例如,請考慮運算式= [要求]-[出貨日期]。此運算式減去出貨日期欄位或控制項日期] 欄位或控制項的值中的值。在此運算式中,要求] 與 [出貨日期做為識別碼。

運算子

Access 支援各種不同的運算子,包括常見的算術運算子,例如+-* (乘),及/ (除以)。您也可以使用比較運算子,例如< (小於) 或> (大於) 來比較值、 文字] 和 [ +運算子來串連 (合併) 文字與邏輯運算子判斷 true 或 false 的值,存取特定的其他運算子。

函數和引數

函數是內建的程序,您可以在運算式中使用。您使用各種不同的作業,例如計算的值,處理文字與日期,和摘要資料。例如,一個常用的函數是日期,傳回目前的日期。您可以使用中各種不同的方式, Date函數,例如在運算式中設定表格中的欄位的預設值。在此範例中,每當有人將新記錄中,欄位的值是目前日期來設定預設值。

某些功能需要引數。引數是提供給函數的值。如果函數需要多個引數,會以逗號分隔引數。例如,請考慮下列範例運算式中的日期函數:

= Format(Date(),「 mmmm d,yyyy")

此範例使用兩個引數。第一個引數是date ()函數,傳回目前日期。第二個引數 ("mmmm d,yyyy"),這從第一個引數並以逗號,指定要指示Format函數如何設定傳回的日期值的格式的文字字串。請注意必須以引號括住的文字字串。此運算式也會說明您通常可以使用另一個函數傳回一個函數做為引數的值。在此情況下, date ()做為引數。

您可以在 <請參閱> 一節中找到有關函數和運算式語法的詳細資訊連結。

常數

常數是 Access 執行時,不會變更其值的項目。經常在運算式中使用,則為 True,則為FalseNull常數。您也可以在您可以使用 VBA 程序中的 VBA 程式碼中定義自己的常數。VBA 是 Access 會使用的程式設計語言。

附註: 在運算式中使用的自訂函數裡,您無法使用 VBA 常數。 例如,VBA 有用於一週各天的常數:vbSunday 代表星期日,vbMonday 代表星期一,依此類推。 上述每個常數都有對應的數值。 例如,vbSunday 的數值為 1,vbMonday 的數值為 2。 您無法在從運算式內部呼叫的自訂函數中使用這些常數, 而必須改用數值。

您可以在運算式中使用常值,例如數字 1,254 或字串 "Enter a number between 1 and 10"。您也可以使用數值,數值可以是包含正負號和小數點 (如有需要) 的一串數字。 沒果沒有加上正負號,Access 會假設數字為正值。 如果要使用負值,請加上減號 (-)。 您也可以使用科學記號標記法。 若要這麼做,請加入 "E" 或 "e" 以及指數符號 (例如 1.0E-6)。

當您使用文字字串做為常數時,請用引號括住,Access 才更能正確地解譯。 在某些情況下,Access 會為您加上引號。 例如,當您在驗證規則或查詢準則運算式中輸入文字時,Access 會自動為您的文字字串加上引號。

例如,如果您輸入的文字輸入辦公室電話時,Access 會在運算式中顯示"巴黎"。如果您想要產生實際以引號括住的字串運算式,以單一(') 括住或三個點組內圍繞巢狀的字串 (") 括住。例如,下列運算式是相同的:

表單 ![連絡人] ![城市]。 [預設值 = '"巴黎"'

表單 ![連絡人] ![城市]。 [預設值 ="""巴黎"」 「

若要使用日期/時間值,請使用井號 (#) 將值括住。 例如,#3-7-11#、#7-Mar-11# 和 #Mar-7-2011# 都是有效的日期/時間值。 當 Access 遇到用 # 字元括住的有效日期/時間值時,會自動將值視為「日期/時間」資料類型。

頁面頂端

運算式的範例

下表示範一些 Access 運算式,以及它們的常見使用方式:

運算式

目的

=[要求日期]-[出貨日期]

計算報表上兩個文字方塊控制項 (名稱為 [要求日期] 和 [出貨日期]) 中資料值之間的差異。

Date()

將「日期/時間」資料表欄位的預設值設為目前日期。

ExtendedPrice: CCur([訂單詳細資料].單價*[數量]*(1-[折扣])/100)*100

在查詢中建立名為 ExtendedPrice 的計算欄位。

Between #2011/1/1# And #2011/12/31#

指定查詢中「日期/時間」欄位的準則。

=[訂單子表單].Form!OrderSubtotal

傳回訂單表單之訂單子表單上 OrderSubtotal 控制項的值。

>0

為資料表中的數值欄位設定驗證規則 — 使用者必須輸入大於零的值。

部分運算式開始使用等號 (=) 運算子,而有些沒有。當您計算表單或報表上控制項的值時,請使用=運算子來運算式的開頭。在其他的情況下,當您輸入運算式在查詢中或在[預設值][驗證規則] 屬性中的欄位或控制項,例如您不使用=運算子,除非您要新增至文字欄位的資料表中的運算式。在某些情況,例如當您將運算式新增至查詢,Access 會自動移除=運算子。

附註: 機器翻譯免責聲明︰本文係以電腦系統翻譯而成,未經人為介入。Microsoft 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

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

這項資訊有幫助嗎?

感謝您的意見反應!

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

×