使用 Microsoft 登入
登入或建立帳戶。
您好:
選取其他帳戶。
您有多個帳戶
選擇您要用來登入的帳戶。

本文說明如何在 Access 中建立條件式 (也稱為布爾值) 表達式。 條件式表達式會評估為 True 或 False,然後會傳回符合您指定條件的結果。 如果您在條件表示式中使用函數,您也可以為符合表達式條件的值指定動作。 例如,您可以建立一個運算式,以 10% 或以下的利差來尋找所有銷售量,然後指定這些數位以紅色類型顯示,或以郵件取代值。

本文內容

了解條件式表達式

條件式表達式是一種表達式類型,它會測試您的數據以查看其是否符合條件,然後根據結果採取動作。 例如,表達式可以尋找比指定開始日期晚的日期值,然後在您嘗試輸入早於已定義開始日期的日期時顯示錯誤訊息。

條件式表達式採用相同的表單,並使用與其他運算式相同的基本語法,而且您可以使用與其他運算式相同的方式來使用這些語法:

  • 若是數據表欄位,您可以將表示式新增至欄位的 [驗證規則] 屬性。 用戶必須接著在符合表達式條件的欄位中輸入值。 例如,如果您在 [日期/時間] 字段中使用像是 >=#1/1/2000# 等運算式,用戶必須輸入等於或晚於 2000 年 1 月 1 日的值。

  • 對於表單上的控制項,您可以將表達式新增至控件的 [控件來源 ] 或 [ 驗證規則] 屬性。 一般說來,您會將條件式運算式新增至 驗證規則 屬性,然後將計算值的表達式新增至 Control Source 屬性。 例如,在控件的 [驗證規則] 屬性中使用 >=#1/1/2000# 可防止使用者輸入無效的日期。 在 [控件來源] 屬性中使用 [日期 () 等表達式,會將目前的日期顯示為預設值。

  • 針對查詢,您可以將條件式運算式新增至 [欄位 ] 資料列中的空白儲存格,或者您也可以在查詢的 [ 準則 ] 資料列中使用運算式。 當您在 [ 字段 ] 列中使用表達式時,結果會在查詢結果中顯示為數據行。 當您使用表達式做為現有欄位的準則時,表達式會做為篩選,並限制查詢傳回的記錄。

    例如,您可以在查詢的 [字段 ] 列中使用此表達式: =IIf ([訂單日期]<=#04/01/2018#,[訂單日期],“4 月 1 日之後輸入的訂單 ) 。 表達式會指定日期準則 (<=#04/01/2018#) 。 查詢執行時,會顯示符合準則的所有日期值,而任何不符合準則的日期值都會取代為「4 月 1 日之後輸入的訂單」訊息。 將 表達式新增至查詢一 節中的步驟說明如何在查詢中使用此表達式。

    相反地,在查詢的 [ 準則 ] 字段中使用此表達式,只會傳回符合準則的記錄: Between #04/01/2018# AND #05/15/2018#

如需建立及使用表達式的詳細資訊,請參閱 瞭解如何建立表達式一文。

頁面頂端

建立條件式表達式

本節中的步驟說明如何將條件式表達式新增至數據表、表單或報表上的控件,以及查詢。 每組步驟都使用稍微不同的表達式來測試 [日期/時間] 字段中的值,並根據日期值是否符合指定的條件來採取行動。

將表達式新增至數據表欄位

  1. 在 [瀏覽窗格] 中,以滑鼠右鍵按一下要變更的資料表,然後按一下捷徑功能表上的 [設計檢視]。

  2. 在 [ 數據類型] 欄中,按兩下 [日期/時間] 欄位。

  3. 在 [ 欄位屬性] 底下的 [ 一般 ] 索引標籤上,按兩下 [ 驗證規則 ] 屬性方塊,然後輸入下列運算式:

    >=#01/01/2000#

    附註: 您不需要使用美式日期格式。 您可以針對您的國家/地區或地區使用日期格式。 不過,您必須用井字型大小 (#) 來包圍日期值,如圖所示。

  4. 點選單擊 [ 驗證文字 ] 旁的欄,然後輸入此文字字串:

    日期必須大於 2000 年 1 月 1 日。

    同樣地,您可以使用本機日期格式。

  5. 儲存變更,然後切換到 [數據工作表檢視]。 若要這麼做,請以滑鼠右鍵單擊表格的檔索引標籤,然後按兩下快捷方式選單上的 [ 資料工作表檢視 ]。

  6. 在 2000 年 1 月 1 日之前的 [日期/時間] 字段中輸入日期值。 Access 會顯示 [ 驗證規則 ] 屬性方塊中指定的訊息,而且您無法離開欄位,除非您輸入表示式評估為 True 的值。

將表達式新增至控制件

  1. 在 [導航窗格] 中,以滑鼠右鍵按下要變更的表單,然後按下快捷方式功能表上的 [ 設計視圖 ]。

  2. 以滑鼠右鍵按兩下系結至 [日期/時間] 欄位的控件,然後按下快捷方式功能表上的 [ 內容 ]。

    控件的屬性表隨即出現。

  3. 在 [ 數據] 索 引標籤或 [ 全部] 索引 標籤上,按兩下 [驗證規則 ] 旁的欄位,然後輸入下列運算式:

    >=#01/01/2000#

    附註: 您不需要使用美式日期格式。 您可以針對您的國家/地區或地區使用日期格式。 不過,您必須用井字型大小 (#) 來包圍日期值,如圖所示。

  4. 點選單擊 [ 驗證文字 ] 旁的欄,然後輸入此文字字串:

    日期必須大於 2000 年 1 月 1 日。

  5. 儲存變更並切換回 [表單檢視]。 若要這麼做,請以滑鼠右鍵單擊窗體的檔索引標籤,然後按兩下快捷方式選單上的 [表 單檢視 ]。

新增表達式至查詢

  1. 在 [瀏覽窗格] 中,以滑鼠右鍵按一下要變更的查詢,然後按一下捷徑功能表上的 [設計檢視]。

  2. 點選此線[ 字段 ] 列中的空白儲存格,然後輸入下列表示式:

    =IIf ([Field_Name]<=#04/01/2018# , [Field_Name] , “Date later than 1 april, 2018”)

    當您輸入表示式時,請確定將這兩個Field_Name實例取代為 [日期/時間] 欄位的名稱。 此外,如果您的數據表不包含 2018 年 4 月 1 日之前的日期,請變更運算式中的日期以處理您的數據。

  3. 儲存變更,然後按兩下 [ 執行] 以檢視結果。

表達式的運作方式如下:第一個自變數 (=IIf ([Field_Name]<=#04/01/2018#) 指定數據必須符合的條件, 日期必須是 2018 年 4 月 1 日或早於 2018 年 4 月 1 日。 第二個自變數 ([Field_Name]) 指定當條件為 True 時,使用者會看到哪些內容 — 字段中的日期。 第三個自變數 (「2018 年 4 月 1 日之後的日期」) ) 指定使用者在數據不符合條件時看到的訊息。

繼續進行時,請記住,並非所有條件式運算式都會使用 If 函數。 此外,請記住, IIf 函數是表達式中需要自變數的部分,而不是表達式本身。

如需表達式及其使用方式的詳細資訊,請參閱 瞭解如何建立表達式一文。

頁面頂端

條件式表達式的範例

下表中的表達式顯示一些計算 True 和 False 值的方法。 這些表達式會使用 If 函數 (立即如果) 判斷條件為True 或 False,然後在條件為 True 時傳回一個值,如果條件為 False 則傳回另一個值。

如需詳細資訊,請參閱 IIf 函 數一文。

運算式

描述

=IIf([Confirmed] = "是", "訂單已確認", "訂單未確認")

如果 [確認] 欄位的值為 [是],則顯示「訂單已確認」訊息;否則,它會顯示「訂單未確認」訊息。

=IIf (IsNull ([Country/region]) 」 “, [Country/region])

如果 Country/region 字段的值為 Null,則顯示空白字串;否則,它會顯示 [國家/地區] 字段的值。

=IIf (IsNull ([Region]) ,[City]&“ ”& [PostalCode], [City]&“ ”&[Region]&“ ” &[PostalCode])

如果 Region 域值為 Null,則顯示 City 和 PostalCode 欄位的值;否則,它會顯示 [城市]、[地區] 和 [郵遞區號] 字段的值。

=IIf (IsNull ([RequiredDate] - [ShippedDate]) , “Check for a missing date”, [RequiredDate] - [ShippedDate])

如果 RequiredDate 字段減去 ShippedDate 字段值的結果為 Null,則顯示「檢查遺失日期」訊息;否則,它會顯示 RequiredDate 和 ShippedDate 字段值之間的差異。

頁面頂端

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?
按下 [提交] 後,您的意見反應將用來改善 Microsoft 產品與服務。 您的 IT 管理員將能夠收集這些資料。 隱私權聲明。

感謝您的意見反應!

×