Método Application.DCount (Access)
Use a função DCount para determinar o número de registros que estão em um conjunto especificado de registros (um domínio).
Sintaxe
expressão. DCount (Expr, Domínio, Critérios)
expressão Uma variável que representa um Aplicativo objeto.
Parâmetros
Nome | Obrigatório/Opcional | Tipo de dados | Descrição |
---|---|---|---|
Expr | Obrigatório | String | Uma expressão que identifica o campo para o qual você deseja contar registros. Pode ser uma expressão de cadeia de caracteres que identifica um campo em uma tabela ou consulta ou pode ser uma expressão que executa um cálculo com os dados naquele campo. Na expr, você pode incluir o nome de um campo em uma tabela, um controle em um formulário, em uma constante ou em uma função. Se expr incluir uma função, ela poderá ser interna ou definida pelo usuário, mas não outra função de agregação de domínio ou de agregação de SQL. |
Domínio | Obrigatório | String | Uma expressão de cadeia de caracteres que identifica o conjunto de registros que constitui o domínio. Pode ser um nome de tabela ou um nome de uma consulta que não exija um parâmetro. |
Criteria | Opcional | Variant | Uma expressão de cadeia de caracteres opcional usada para restringir o intervalo de dados no qual a função DCount é executada. Por exemplo, criteria com frequência é equivalente à cláusula ONDE em uma expressão SQL, sem a palavra ONDE. Se criteria for omitido, a função DCount avalia expr em relação ao domínio inteiro. Qualquer campo incluído nos critérios também deve ser um campo no domínio; caso contrário, a função DCount retorna um Null. |
Valor de retorno
Variant
Comentários
Por exemplo, você poderia usar a função DCount em um módulo para retornar o número de registros em uma tabela Pedidos que correspondem a pedidos feitos em uma data em particular.
Use a função DCount para contar o número de registros em um domínio quando você não precisar saber quais são os valores particulares deles. Embora o argumento expr possa executar um cálculo em um campo, a função DCount simplesmente conta o número de registros. O valor de qualquer cálculo executado por expr está indisponível.
Use a função DCount em um controle calculado quando for necessário especificar critérios para restringir o intervalo de dados no qual a função é executada. Por exemplo, para exibir o número de pedidos a serem enviados para a Califórnia, defina a propriedade ControlSource de uma caixa de texto para a seguinte expressão:
=DCount("[OrderID]", "Orders", "[ShipRegion] = 'CA'")
Se você simplesmente quiser contar todos os registros no domínio sem especificar nenhuma restrição, use a função Count . A função Count foi otimizada para acelerar a contagem de registros em consultas. Use a função Count em uma expressão de consulta em vez da função DCount e defina critérios opcionais para impor as restrições aos resultados.
Use a função DCount quando for necessário contar registros em um domínio de dentro de um módulo ou de uma macro de código, ou em um controle calculado.
Use a função DCount para contar o número de registros que contêm um campo específico que não está na fonte de registro na qual seu formulário ou relatório se baseia. Por exemplo, você poderia exibir o número de pedidos na tabela Pedidos em um controle calculado em um formulário baseado na tabela Produtos.
A função DCount não conta registros que contêm valores nulos no campo referenciado por expr , a menos que expr seja o caractere curinga asterisco (*). Se você usar um asterisco, a função DCount calculará o número total de registros, incluindo os que contêm campos Null. O exemplo a seguir calcula o número de registros em uma tabela Pedidos.
intX = DCount("*", "Orders")
Se o domínio for uma tabela com uma chave primária, você também poderá contar o número total de registros definindo expr para o campo de chave primária, pois nunca haverá um Null no campo de chave primária.
Se expr identificar vários campos, separe os nomes de campo com um operador de concatenação, um ampersand (&) ou o operador de adição (+). Se você usar um E comercial para separar os campos, a função DCount retornará o número de registros com os dados em todos os campos listados. Se você usar o operador de adição, a função DCount retornará somente o número de registros com dados em todos os campos listados. O exemplo a seguir demonstrará os efeitos de cada operador quando usado com um campo com dados em todos os registros (ShipName) e um campo que não contenha dados (ShipRegion).
intW = DCount("[ShipName]", "Orders")
intX = DCount("[ShipRegion]", "Orders")
intY = DCount("[ShipName] + [ShipRegion]", "Orders")
intZ = DCount("[ShipName] & [ShipRegion]", "Orders")
Observação
O e comercial é o operador preferencial para a execução da concatenação de cadeias de caracteres. Evite o uso do operador de adição para tudo o que não for adição numérica, a menos que você queira especificamente propagar Nulls por meio de uma expressão.
Exemplo
A função a seguir retorna o número de pedidos enviados para um país ou região especificado após uma data de remessa especificada. O domínio é uma tabela Pedidos.
Public Function OrdersCount(ByVal strCountry As String, _
ByVal dteShipDate As Date) As Integer
OrdersCount = DCount("[ShippedDate]", "Orders", _
"[ShipCountry] = '" & strCountry & _
"' AND [ShippedDate] > #" & dteShipDate & "#")
End Function
Os exemplos a seguir mostram como usar diversos tipos de critérios com a função DCount.
' ***************************
' Typical Use
' Numerical values. Replace "number" with the number to use.
variable = DCount("[FieldName]", "TableName", "[Criteria] = number")
' Strings.
' Numerical values. Replace "string" with the string to use.
variable = DCount("[FieldName]", "TableName", "[Criteria]= 'string'")
' Dates. Replace "date" with the string to use.
variable = DCount("[FieldName]", "TableName", "[Criteria]= #date#")
' ***************************
' ***************************
' Referring to a control on a form
' Numerical values
variable = DCount("[FieldName]", "TableName", "[Criteria] = " & Forms!FormName!ControlName)
' Strings
variable = DCount("[FieldName]", "TableName", "[Criteria] = '" & Forms!FormName!ControlName & "'")
' Dates
variable = DCount("[FieldName]", "TableName", "[Criteria] = #" & Forms!FormName!ControlName & "#")
' ***************************
' ***************************
' Combinations
' Multiple types of criteria
variable = DCount("[FieldName]", "TableName", "[Criteria1] = " & Forms![FormName]![Control1] _
& " AND [Criteria2] = '" & Forms![FormName]![Control2] & "'" _
& " AND [Criteria3] =#" & Forms![FormName]![Control3] & "#")
' Use two fields from a single record.
variable = DCount("[LastName] & ', ' & [FirstName]", "tblPeople", "[PrimaryKey] = 7")
' Expressions
variable = DCount("[Field1] + [Field2]", "tableName", "[PrimaryKey] = 7")
' Control Structures
variable = DCount("IIf([LastName] Like 'Smith', 'True', 'False')", "tableName", "[PrimaryKey] = 7")
' ***************************
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.