Applies ToAccess за Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Можете да използвате функцията DCount , за да определите броя на записите, които са в указан набор от записи ( домейн ). Използвайте функцията DCount в модул на Visual Basic for Applications (VBA), макрос, израз на заявка или изчисляема контрола.

Можете например да използвате функцията DCount в модул, за да върнете броя на записите в таблица "Поръчки", които съответстват на поръчките, направени на определена дата.

Синтаксис

DCount ( expr , domain [, criteria] )

Синтаксисът на функцията DCount има следните аргументи:

Аргумент

Описание

expr

Задължителен. Израз, който идентифицира полето, за което искате да преброите записите. Това може да бъде низов израз, идентифициращ поле в таблица или заявка, или израз, който извършва изчисление върху данните в това поле. В expr можете да включите името на поле в таблица, контрола на формуляр, константа или функция. Ако expr съдържа функция, тя може да бъде вградена или дефинирана от потребителя, но не и друга агрегатна функция на домейн или SQL агрегатна функция.

domain

Задължителен. Низов израз, идентифициращ набора от записи, който съставлява домейна. Това може да бъде името на таблица или името на заявка за заявка, която не изисква параметър.

criteria

По желание. Израз във формата на низ, използван за ограничаване на диапазона от данни, върху който се изпълнява функцията DCount . Например критерият често е еквивалентен на клаузата WHERE в SQL израз, без думата WHERE. Ако criteria е пропуснато, функцията DCount изчислява expr спрямо целия домейн. Всяко поле, което е включено в критериите , трябва също да бъде поле в domain; в противен случай функцията DCount връща Null.

Забележки

Използвайте функцията DCount , за да преброите записите в домейн, когато не е нужно да знаете техните конкретни стойности. Въпреки че аргументът expr може да извърши изчисление в поле, функцията DCount просто изчислява броя на записите. Стойността на всяко изчисление, извършвано от израз , не е налична.

Използвайте функцията DCount в изчисляема контрола, когато трябва да зададете критерии за ограничаване на диапазона от данни, върху който се изпълнява функцията. Например за да покажете броя на поръчките, които трябва да бъдат експедирани за Калифорния, задайте свойството ControlSource на текстово поле на следния израз:

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

Ако просто искате да преброите всички записи в домейна , без да задавате ограничения, използвайте функцията Count .

Съвет Функцията Count е оптимизирана за скорост на преброяване на записите в заявки. Използвайте функцията Count в израз за заявка вместо функцията DCount и задайте незадължителни критерии, за да наложите ограничения върху резултатите. Използвайте функцията DCount, когато трябва да преброите записите в домейн от модул с код или макрос или в изчисляема контрола.

Можете да използвате функцията DCount , за да преброите записите, съдържащи конкретно поле, което не е в източника на записи, на който се базира вашият формуляр или отчет. Можете например да покажете броя на поръчките в таблицата "Поръчки" в изчисляема контрола във формуляр, базиран на таблицата "Продукти".

Функцията DCount не брои записите, съдържащи стойности Null в полето, адресирано от expr , освен ако израз не е заместващ символ звездичка (*). Ако използвате звездичка, функцията DCount изчислява общия брой записи, включително тези, които съдържат полета Null . Следващият пример изчислява броя на записите в таблицата "Поръчки".

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

Ако domain е таблица с първичен ключ, можете също да преброите общия брой записи, като зададете израз в полето за първичен ключ, тъй като никога няма да има Null в полето за първичен ключ.

Ако expr идентифицира няколко полета, отделете имената на полетата с оператор за конкатенация – или амперсанд (&), или оператора за събиране (+). Ако използвате амперсанд за отделяне на полетата, функцията DCount връща броя на записите, съдържащи данни в някое от изброените полета. Ако използвате оператора за събиране, функцията DCount връща само броя на записите, съдържащи данни във всички изброени полета. Следващият пример показва ефектите от всеки оператор, когато се използва с поле, съдържащо данни във всички записи ("ИмеЕкспедиране") и поле, което не съдържа данни (ShipRegion).

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

Забележка:  Амперсандът е предпочитаният оператор за извършване на конкатенация на низове. Трябва да избягвате използването на оператора за събиране за нещо различно от цифрово събиране, освен ако не искате да разпространите Null в израз.

Незаписаните промени в записите в domain не се включват, когато използвате тази функция. Ако искате функцията DCount да се базира на променените стойности, трябва първо да запишете промените, като щракнете върху Запиши записа под Записи в раздела Данни , преместите фокуса върху друг запис или използвате метода Update .

Примери за заявки

Израз

Резултати

SELECT DCount("ProductID";"Продажби на продукти";"Отстъпка=0") КАТО израз1 FROM ProductSales GROUP BY DCount("ProductID";"Продажби на продукти";"Отстъпка=0");

Връща броя на стойностите в полето "ИД на продукт" на таблицата "Продажби продукти", където стойността "Отстъпка" е "0".

SELECT DCount("ProductID";"Продажби на продукти";"DateofSale=Date()-1") AS YesterdaySale FROM ProductSales GROUP BY DCount("ProductID";"ПродажбиПродажби на продукти";"DateofSale=Date()-1");

Връща броя на стойностите в полето "ProductID" на таблицата "ProductSales", където "DateofSale" е ден преди текущата дата.

Пример на VBA

Забележка: Примерите по-долу илюстрират използването на тази функция във Visual Basic for Applications (VBA). За повече информация относно работата с VBA изберете Справочни материали за разработчици в падащия списък до Търсене и въведете един или няколко термина в полето за търсене.

Следващата функция връща броя на поръчките, експедирани за зададена страна/регион след зададена дата на експедиране. Домейнът е таблицата "Поръчки".

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#

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.