你可以在 Access 資料庫中對表單和報告使用計算控制來顯示計算結果。 例如,如果你有一個報告顯示每件商品的銷售數量和價格,你可以新增一個計算出的文字框,將這兩個欄位相乘以顯示總價。 計算出的文字框中的 控制來源 屬性包含一個表達式,將兩個 (欄位乘以商品數量乘以單價) 以得到結果。
您想要做什麼?
建立計算控制項
此程序幫助您在不使用控制精靈的情況下建立計算好的控制。
在導覽窗格中右鍵點擊表單或報表,然後點選 「設計檢視」。
在 設計 標籤的 控制 群組中,點選你想建立的控制類型工具。
關於可用於計算控制的控制類型列表,請參閱 「了解哪些控制類型可用作計算控制」章節。將指標放在你想放置控制項的位置,然後點擊表單或報告插入控制項。
如果啟動控制精靈,點擊 取消 以關閉它。
選擇控制項,按 F4 顯示屬性表,然後在 控制來源 屬性框輸入表達式。 要使用 Expression Builder 建立表達式,請點擊控制源屬性框旁的
。切換到表單檢視或報告檢視,並確認計算出的控制是否如你所預期運作。
注意
- 每個表達式前加 = 運算子。 例如: =[單位價格]*0.75。
- 如需建立運算式的詳細資訊,請參閱了解如何建立運算式一文。
- 如果你需要更多空間在 控制來源 屬性框中輸入表達式,按 SHIFT+F2 開啟 Zoom 視窗。
- 若您的表單或報表是根據查詢而建立,建議您將運算式放在查詢中,而不是放在計算控制項中。 這樣做可以提升效能,而且如果你要計算紀錄群組的總數,使用計算欄位名稱在彙總函數中會比較方便。
- 當你在表單或報告中排序計算控制時,請確保控制的 格式 屬性設定得正確。 否則,計算出的數字或日期值可能會依字母順序排序,而非數字排序。
將綁定控制改為計算控制
建立計算控制的好方法是先建立綁定控制 (,例如將欄位從 欄位清單 窗格拖到表單或報告) ,然後編輯綁定控制 的控制來源 屬性以建立表達式。 只要你確保控制的名稱不會與表達式中的任何欄位名稱衝突,這個方法就很有效。 欲了解更多關於從 欄位清單 窗格拖曳欄位建立綁定控制項的資訊,請參閱「 將欄位加入表單或報告」條目。
假設你已經建立了綁定控制,請使用以下程序將其改為計算控制,避免名稱衝突。
- 在導覽窗格中右鍵點擊表單或報表,然後點選 「設計檢視」。
- 點擊你想更改的欄位,然後按 F4 開啟屬性表。
- 在屬性表的 All 標籤中,如果 Name 屬性與 Control Source 屬性相符,請編輯 Name 屬性,使兩個屬性不匹配。 請確保你輸入的名稱不是保留字或資料庫中其他欄位的名稱。 欲了解更多保留詞的資訊,請參閱文章 《了解存取保留詞與符號》。
- 編輯 控制來源 屬性框中的字串,使其包含你想要的表達式。
- 按 CTRL+S 儲存您的變更。
- 切換到版面檢視或表單檢視,確認計算出的控制是否如你所願運作。
例如,如果控制項無法顯示你想要 (的資料,例如在控制) 中顯示 #Name? ,請檢查表單或報告的記錄來源,確保你在表達式中使用的所有欄位都可用。 如果記錄來源是查詢,你可能需要先在查詢中加入一個或多個欄位,表達式才會生效。
注意
- 每個表達式前加 = 運算子。 例如: =[單位價格]*0.75。
- 如果你需要更多空間在 控制來源 屬性框中輸入表達式,按 SHIFT+F2 開啟 Zoom 視窗。
- 若您的表單或報表是根據查詢而建立,建議您將運算式放在查詢中,而不是放在計算控制項中。 這樣做可以提升效能,而且如果你要計算紀錄群組的總數,使用計算欄位名稱在彙總函數中會比較方便。
- 當你在表單或報告中排序計算控制項時,請確保控制項的 格式 屬性設定正確。 否則,計算出的數字或日期數值可能會依字母順序排序,而非數字排序。
了解哪些類型的控制可以作為計算控制
文字框是計算控制中最受歡迎的選擇,因為它們能顯示多種不同類型的資料。 然而,任何具有 控制源 屬性的控制都可以用作計算控制。 在很多情況下,使用某種控制類型作為計算控制並不合理,因為你無法像更新綁定或未綁定控制那樣更新該控制。 例如,如果您在表單上放置勾選框控制項,然後在該勾選框的 控制來源 屬性中輸入表達式,您就無法再透過點擊該勾選框來選擇或清除該勾選框。 根據表達式的結果,勾選框會顯示已選中或清除。 如果你點選勾選方塊,Access 狀態列會顯示警示: Control 無法編輯;它綁定在<你的表達>式上。 然而,在報告上,基於計算結果設置勾取框控制可能會很有用,因為報告上的控制僅用於顯示資訊。