Você pode usar a função DAvg para calcular a média de um conjunto de valores em um conjunto especificado de registros (um domínio ). Use a função DAvg em um módulo Visual Basic for Applications (VBA), em um macro, em uma expressão de consulta ou em um controle calculado.

Por exemplo, você pode usar a função DAvg na linha criteria de uma consulta selecionada sobre o custo do frete para restringir os resultados aos registros em que o custo do frete excede a média. Ou você poderia usar uma expressão incluindo a função DAvg em um controle calculado e exibir o valor médio das ordens anteriores ao lado do valor de uma nova ordem.

Sintaxe

DAvg ( expr , domain [ ,criteria] )

A sintaxe da função DAvg tem estes argumentos:

Argumento

Descrição

expr

Obrigatório. Uma expressão que identifica o campo que contém os dados numéricos que você deseja mediar. Pode ser uma expressão de cadeia de caracteres identificar um campo em uma tabela ou consulta, ou pode ser uma expressão que executa um cálculo sobre dados nesse campo. Em expr, você pode incluir o nome de um campo em uma tabela, um controle em um formulário, uma constante ou uma função. Se expr incluir uma função, ela poderá ser interna ou definida pelo usuário, mas não outra função agregada de domínio ou SQL agregada.

domínio

Obrigatório. 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 consulta para uma consulta que não exige um parâmetro.

critérios

Opcional. Uma expressão de cadeia de caracteres usada para restringir o intervalo de dados no qual a função DAvg é executada. Por exemplo, os critérios geralmente são equivalentes à cláusula WHERE em uma expressão SQL, sem a palavra WHERE. Se critérios for omitido, a função DAvg avaliará expr em relação a todo o domínio. Qualquer campo incluído em criteria também deve ser um campo no domínio; caso contrário, a função DAvg retorna um Null.


Comentários

Os registros que contêm valores Null não são incluídos no cálculo da média.

Se você usar a função DAvg em uma macro ou módulo, em uma expressão de consulta ou em um controle calculado, você deve construir o argumento criteria cuidadosamente para garantir que ele será avaliado corretamente.

Você pode usar a função DAvg para especificar critérios na linha Criteria de uma consulta. Por exemplo, suponha que você queira exibir uma lista de todos os produtos ordenados em quantidades acima da quantidade média de pedidos. Você pode criar uma consulta nas tabelas Pedidos, Detalhes do Pedido e Produtos e incluir o campo Nome do Produto e o campo Quantidade, com a seguinte expressão na linha Criteria abaixo do campo Quantidade:

>DAvg("[Quantity]", "Orders")

Você também pode usar a função DAvg em uma expressão de campo calculada em uma consulta ou na linha Atualizar para de um atualizar consulta.

Observação: Você pode usar a função DAvg ou Avg em uma expressão de campo calculada em um consulta de totais. Se você usar a função DAvg, os valores serão mediados antes que os dados sejam agrupados. Se você usar a função Avg, os dados serão agrupados antes que os valores na expressão de campo sejam mediados.

Use a função DAvg em um controle calculado quando precisar especificar critérios para restringir o intervalo de dados no qual a função DAvg é executada. Por exemplo, para exibir o custo médio de frete para remessas enviadas para a Califórnia, de definir a propriedade ControlSource de uma caixa de texto para a seguinte expressão:

=DAvg("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Se você quiser apenas fazer a média de todos os registros no domínio,use a função Avg.

Você pode usar a função DAvg em um módulo ou macro ou em um controle calculado em um formulário se um campo que você precisa exibir não estiver na fonte de registro na qual seu formulário está baseado. Por exemplo, suponha que você tenha um formulário com base na tabela Pedidos e queira incluir o campo Quantidade da tabela Detalhes do Pedido para exibir o número médio de itens pedidos por um cliente específico. Você pode usar a função DAvg para executar esse cálculo e exibir os dados em seu formulário.

Dicas

  • Se você usar a função DAvg em um controle calculado, talvez você queira colocar o controle no header do formulário ou rodapé para que o valor desse controle não seja recalculado sempre que você mover para um novo registro.

  • Se o tipo de dados do campo do qual expr é derivado for um número, a função DAvg retornará um tipo de dados Double. Se você usar a função DAvg em um controle calculado, inclua uma função de conversão de tipo de dados na expressão para melhorar o desempenho.

  • Embora você possa usar a função DAvg para determinar a média de valores em um campo em um tabela estrangeira, pode ser mais eficiente criar uma consulta que contenha todos os campos necessários e basear seu formulário ou relatório nessa consulta.

Observação: As alterações não savadas nos registros no domínio não são incluídas quando você usa essa função. Se você quiser que a função DAvg seja baseada nos valores alterados, primeiro salve as alterações clicando em Salvar Registro em Registros na guia Dados, movendo o foco para outro registro ou usando o método Update.

Exemplo

Observação: Exemplos a seguir demonstram o uso dessa função em um módulo Visual Basic for Applications (VBA). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência do Desenvolvedor na listada ao lado de Pesquisar e insira um ou mais termos na caixa de pesquisa.

A função a seguir retorna o custo médio de frete para pedidos enviados em ou após uma determinada data. O domínio é uma tabela Orders. O argumento criteria restringe o conjunto resultante de registros com base no determinado país/região e na data de lançamento. Observe que a palavra-chave AND está incluída na cadeia de caracteres para separar os vários campos no argumento criteria. Todos os registros incluídos no cálculo da função DAvg terão ambos esses critérios.

Public Function AvgFreightCost _
(ByVal strCountryRegion As String, _
ByVal dteShipDate As Date) As Double
AvgFreightCost = DAvg("[Freight]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & _
"'AND [ShippedDate] >= #" & dteShipDate & "#")
End Function

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

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

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar Microsoft Office Insider

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?

Obrigado pelos seus comentários!

×