Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Utilize a função BDContar para determinar o número de registos que estão num conjunto especificado de registos (um domínio).
Sintaxe
expressão. BDContar (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, pode ser incorporada ou definida pelo utilizador, mas não outra agregação de domínio ou função de agregação SQL. |
| Domínio | Obrigatório | String | Uma expressão de cadeia que identifica o conjunto de registos 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 tem de ser um campo no domínio; caso contrário, a função BDContar devolve um Valor Nulo. |
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 quiser simplesmente contar todos os registos no domínio sem especificar restrições, utilize a função Contar . 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.
Utilize a função BDContar para contar o número de registos que contêm um campo específico que não está na origem de registos na qual o 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 BDContar não conta registos que contenham valores Nulos no campo referenciado por expr, a menos que expr seja o caráter universal 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, também pode contar o número total de registos ao definir expr para o campo de chave primária, uma vez que nunca haverá um Nulo no campo de chave primária.
Se expr identificar vários campos, separe os nomes dos campos com um operador de concatenação, um e comercial (&) 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.