Microsoft Office Online
Iniciar sessão no Meu Office Online (O que é isto?) | Iniciar sessão

 
 
Microsoft Office Access
Procurar
Procurar
 
 
 
 
Aviso: está a visualizar esta página com um browser não suportado. Este Web site funciona melhor com o Microsoft Internet Explorer 6.0 ou posterior, o Firefox 1.5 ou o Netscape Navigator 8.0 ou posterior. Mais informações sobre browsers suportados.

Função DContar
 

Pode utilizar a função DContar para determinar o número de registos que estão num conjunto especificado de registos (um domínio (domínio: conjunto de registos definido por uma tabela, consulta ou expressão SQL. As funções de agregação de domínio devolvem informações estatísticas sobre um domínio específico ou um conjunto de registos.)). Utilize a função DContar num módulo do Visual Basic for Applications (VBA), numa macro (macro: acção ou conjunto de acções que podem ser utilizadas para automatizar tarefas. As macros são gravadas na linguagem de programação Visual Basic for Applications.), numa expressão de consulta ou num controlo calculado (controlo calculado: controlo utilizado num formulário, relatório ou página de acesso a dados para apresentar o resultado de uma expressão. O resultado é calculado de novo sempre que houver uma alteração em qualquer dos valores nos quais a expressão se baseia.).

Por exemplo, poderá utilizar a função DContar num módulo para devolver o número de registos numa tabela Encomendas que corresponda às encomendas efectuadas numa data específica.

Sintaxe

DContar(expr, domínio [, critérios] )

A sintaxe da função DContar tem os seguintes argumentos:

Argumento Descrição
expr Obrigatório. Uma expressão que identifica o campo para o qual pretende contar registos. Pode ser uma expressão da cadeia (expressão de cadeia: expressão que equivale a uma sequência de caracteres contíguos. Os elementos da expressão podem ser: funções que devolvem uma cadeia ou uma Variante de cadeia (VarType 8); uma cadeia literal, uma constante, uma variável ou Variante.) que identifique um campo numa tabela ou consulta ou uma expressão que efectue um cálculo dos dados nesse campo. No argumento expr, pode incluir o nome de um campo numa tabela, um controlo num formulário, uma constante ou uma função. Se o argumento expr incluir uma função, esta pode ser incorporada ou definida pelo utilizador, mas não outra função de domínio agregado ou de agregação SQL.
domínio Obrigatório. Uma expressão da cadeia que identifica o conjunto de registos que constituem o domínio. Pode ser o nome de uma tabela ou consulta para uma consulta que não necessite de um parâmetro.
critérios Opcional. Uma expressão da cadeia utilizada para restringir o intervalo de dados em que a função DContar é executada. Por exemplo, o argumento critérios é frequentemente equivalente à cláusula WHERE numa expressão SQL, sem a palavra WHERE. Se omitir o argumento critérios, a função DContar avalia o argumento expr em relação a todo o domínio. Qualquer campo incluído em critérios também tem de ser um campo em domínio; caso contrário, a função DContar devolve um valor Nulo (Null: valor que pode introduzir num campo ou utilizar em expressões ou consultas para indicar dados em falta ou desconhecidos. No Visual Basic, a palavra-chave Null indica um valor nulo (Null). Alguns campos, como campos de chave primária, não podem conter Null.).

Observações

Utilize a função DContar para contar o número de registos num domínio quando não precisar de saber os respectivos valores específicos. Embora o argumento expr possa efectuar um cálculo num campo, a função DContar simplesmente conta o número de registos. O valor de qualquer cálculo efectuado pelo argumento expr fica indisponível.

Utilize a função DContar num controlo calculado quando necessitar de especificar critérios para restringir o intervalo de dados em que a função DContar é executada. Por exemplo, para visualizar o número de encomendas a expedir para o Porto, defina a propriedade OrigemDoControlo de uma caixa de texto com a seguinte expressão:

=DContar("[CódigoDaEncomenda]", "Encomendas", "[RegiãoDeEnvio] = 'CA'")
		

Se pretender simplesmente contar todos os registos no domínio sem especificar quaisquer restrições, utilize a função Contar.

MostrarSugestão

A função Contar foi optimizada para acelerar a contagem de registos em consultas. Utilize a função Contar numa expressão de consulta em vez da função DContar e defina critérios opcionais para aplicar quaisquer restrições aos resultados. Utilize a função DContar quando tiver de contar registos num domínio de um módulo de código ou macro, ou num controlo calculado.

Pode utilizar a função DContar para contar o número de registos que contenham um campo específico que não se encontre na origem do registo em que o formulário ou relatório se baseia. Por exemplo, poderá apresentar o número de encomendas na tabela Encomendas num controlo calculado num formulário baseado na tabela Produtos.

A função DContar não conta registos que contenham valores Nulo no campo referenciado pelo argumento expr, a menos que expr consista no carácter universal asterisco (*). Se utilizar um asterisco, a função DContar calcula o número total de registos, incluindo os que contêm campos Nulo. O exemplo seguinte calcula o número de registos numa tabela Encomendas.

intX = DContar("*", "Encomendas")
		

Se o domínio for uma tabela com uma chave primária (chave primária: um ou mais campos (colunas) cujos valores identificam única e exclusivamente cada registo numa tabela. Uma chave primária não permite valores nulos (Null) e tem de ter sempre um índice exclusivo. Uma chave primária é utilizada para relacionar uma tabela com as chaves externas noutras tabelas.), também pode contar o número total de registos definindo expr como o campo chave primária, dado que nunca existirá um valor Nulo no campo chave primária.

Se o argumento expr identificar vários campos, separe os nomes dos campos com um operador de concatenação, que poderá ser um "E" comercial (&) ou o operador de adição (+). Se utilizar um "E" comercial para separar os campos, a função DContar devolve o número de registos que contenham dados em qualquer um dos campos listados. Se utilizar o operador de adição, a função DContar devolve apenas o número de registos que contenham dados em todos os campos listados. O exemplo seguinte demonstra os efeitos de cada operador quando utilizado com um campo que contenha dados em todos os registos (NomeDoDestinatário) e com um campo que não contenha dados (RegiãoDeDestino).

intW = DContar("[NomeDoDestinatário]", "Encomendas")
intX = DContar("[RegiãoDeEnvio]", "Encomendas")
intY = DContar("[NomeDoDestinatário] + [RegiãoDeEnvio]", "Encomendas")
intZ = DContar("[NomeDoDestinatário] & [RegiãoDeEnvio]", "Encomendas")
		

 Nota    O "E" comercial é o operador preferencial para concatenar cadeias. Deve evitar a utilização do operador de adição em operações que não consistam em adições numéricas, a menos que pretenda especificamente propagar valores Nulos numa expressão.

As alterações não guardadas de registos no domínio não são incluídas quando utilizar esta função. Se pretender que a função DContar se baseie nos valores alterados, primeiro tem de guardar as alterações clicando em Guardar Registo em Registos no separador Dados, movendo o foco para outro registo ou utilizando o método Actualizar.

Exemplo

 Nota   Os exemplos que se seguem demonstram a utilização desta função num módulo do Visual Basic for Applications (VBA). Para mais informações sobre como trabalhar com VBA, seleccione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de procura.

A função seguinte devolve o número de encomendas expedidas para um país/região específico após uma data de envio especificada. O domínio é uma tabela Encomendas.

Public Function OrdersCount _
    (ByVal strCountryRegion As String, _
    ByVal dteShipDate As Date) As Integer

    OrdersCount = DContar("[DataDeEnvio]", "Encomendas", _
        "[ShipCountryRegion] = '" & strCountryRegion & _
        "' AND [DataDeEnvio] > #" & dteShipDate & "#")
End Function

		

Para chamar a função, utilize a seguinte linha de código na janela Immediate:

:ContagemDeEncomendas "UK", #1/1/96#
		
anúncio