DCount 函數

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

您可以使用DCount函數來判斷的記錄 ( 範圍的) 一組中指定的記錄數目。使用DCount函數在 Visual Basic for Applications (VBA) 模組、 巨集、 查詢運算式或計算控制項。

比方說,您無法在模組中使用DCount函數,對應的訂單] 資料表中的記錄數目返回特定日期的訂單。

語法

DCount expr 、 網域 [,criteria] )

DCount函數語法具有下列引數︰

引數

描述

expr

所需。可識別您要計算記錄的欄位的運算式。可以是識別欄位欄位的資料表或查詢, 字串運算式或執行計算該欄位中的資料的運算式。在expr,您可以包含資料表、 表單、 常數或函數上的控制項中的欄位的名稱。如果expr包含函數,它可以是內建或使用者定義,但不是另一個範圍聚合函數或 SQL 彙總函數。

domain

必要。 識別構成範圍之記錄集的字串運算式。 它可以是資料表名稱,或不需要參數之查詢的查詢名稱。

criteria

選用。用來限制DCount函數會在其上執行的資料範圍的字串運算式。例如準則,通常會 WHERE 子句的 SQL 運算式,而 word 不相同位置。如果省略了準則,則DCount函數會評估expr針對整個網域。在準則中所包含任何欄位也必須網域; 中的欄位否則DCount函數會傳回Null。


註解

您可以使用DCount函數來計算網域中的記錄數目,當您不需要知道的特定值。雖然expr引數可以執行計算欄位, DCount函數只會計算記錄數。無法使用expr任何計算的值。

當您需要指定準則以限制執行函數的資料範圍時,請使用DCount函數計算控制項中。例如,若要顯示加州出貨訂單的數目,設定 [ ControlSou強制屬性文字方塊的下列運算式︰

=DCount("[OrderID]", "Orders", "[ShipRegion] = 'CA'")

如果您只想要計算網域中的所有記錄,而不用指定限制,請使用都 Count函數。

秘訣

Count 函數已經過最佳化速度計算查詢中的記錄。Count 函數的運算式中使用查詢,而不是 DCount 函數,並設定選擇性上強制執行任何限制結果的準則。必須在計算的範圍內的程式碼模組、 巨集或計算控制項中的記錄時,請使用 DCount 函數。

您可以使用DCount函數計算包含特定欄位不在您的表單或報表所依據的記錄來源中的記錄數目。例如,您可計算的產品資料表為基礎的表單上控制項中的 [訂單] 資料表顯示訂單的數目。

DCount函數不會計算包含Null值,除非expr星號 (*) 萬用字元參考expr欄位中的記錄。如果您使用星號, DCount函數會計算記錄,其中包含Null欄位的總數。下列範例會在 Orders 資料表中的記錄數目。

intX = DCount("*", "Orders")

如果網域主索引鍵的資料表,您也可以計數記錄總數設定expr主索引鍵欄位,因為絕對不會Null主索引鍵欄位。

如果expr識別多個欄位,欄位名稱以分隔串連運算子,表示連字號 (&) 或加法運算子 (+)。如果您使用連字號分隔欄位, DCount函數會傳回包含在任何列出的欄位中的資料的記錄數目。如果您使用的加法運算子, DCount函數會傳回只包含所有列出的欄位中的資料的記錄數目。下列範例會示範使用包含所有的記錄 (送貨) 中的資料的欄位與不包含資料 ([送貨地區]) 的欄位時,每個運算子的效果。

intW = DCount("[ShipName]", "Orders")
intX = DCount("[ShipRegion]", "Orders")
intY = DCount("[ShipName] + [ShipRegion]", "Orders")
intZ = DCount("[ShipName] & [ShipRegion]", "Orders")

附註: 連字號執行字串串連時慣用的運算子。您應避免使用加法運算子除了相加數字,除非您希望在運算式中移轉Null

使用此函數時,不包含未儲存的變更網域中的記錄。如果您想要變更的值為基礎DCount函數時,您必須先儲存所做的變更,即可儲存記錄[記錄] 底下,在 [資料] 索引標籤,將焦點移至其他記錄,或使用Update方法。

範例

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

下列函數會傳回運送至指定的國家/地區中,指定出貨日期之後的訂單的數目。Orders 資料表中的網域。

Public Function OrdersCount _
(ByVal strCountryRegion As String, _
ByVal dteShipDate As Date) As Integer
OrdersCount = DCount("[ShippedDate]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & _
"' AND [ShippedDate] > #" & dteShipDate & "#")
End Function

若要撥打電話函數,請使用下列程式碼即時視窗中︰

:OrdersCount "UK", #1/1/96#

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

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

這項資訊有幫助嗎?

感謝您的意見反應!

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

×