Método Application.DAvg (Access)
Use a função DAvg para calcular a média de um conjunto de valores em um conjunto especificado de registros (um domínio).
Sintaxe
expressão. DAvg (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 que contém os dados numéricos que você deseja ter em média. 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. 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 o 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 SQL. |
Domínio | Obrigatório | String | Uma expressão formada por 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 | Variantes | Uma expressão de cadeia de caracteres opcional utilizada para restringir o intervalo de dados no qual a função DAvg é executada. Por exemplo, critérios geralmente são equivalentes à cláusula WHERE em uma expressão SQL, sem a palavra WHERE. Se Critérios forem omitidos, a função DAvg avaliará Expr em relação a todo o domínio. Qualquer campo incluído em Critérios também deve ser um campo no Domínio; caso contrário, a função DAvg retorna um Null. |
Valor de retorno
Variant
Comentários
Por exemplo, você poderia utilizar a função DAvg na linha de critérios de uma consulta seleção sobre custo de frete para restringir os resultados aos registros nos quais o custo do frete está acima da média. Você poderia também utilizar uma expressão incluindo a função DAvg em um controle calculado e exibir o valor médio de pedidos anteriores ao lado do valor de um novo pedido.
Os registros contendo valores Null não são incluídos no cálculo da média.
Se você usa 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 Critérios cuidadosamente para garantir que ele seja avaliado corretamente.
Use a função DAvg para especificar critérios na linha Critérios de uma consulta. Suponha, por exemplo, que você queira visualizar uma lista de todos os produtos encomendados em quantidades acima da quantidade média dos 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 Critérios abaixo do campo Quantidade:
>DAvg("[Quantity]", "Orders")
Você também pode usar a função DAvg dentro de uma expressão de campo calculada em uma consulta ou na linha Atualizar para de uma consulta de atualização.
Observação
Use a função DAvg ou Avg em uma expressão de campo calculada em uma consulta total. Se você utilizar a função DAvg, será feita uma média dos valores antes de os dados serem agrupados. Se você utilizar a função Avg, os dados serão agrupados antes de ser feita a média dos valores na expressão do campo.
Utilize a função DAvg em um controle calculado quando precisar especificar os critérios para restringir o intervalo de dados nos quais a função DAvg será efetuada. Por exemplo, para exibir o custo médio do frete para remessas enviadas para a Califórnia, defina a propriedade ControlSource de uma caixa de texto como a expressão a seguir:
=DAvg("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Se você simplesmente quiser fazer a média de todos os registros no Domínio, use a função Avg .
Use 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 se baseia. Por exemplo, suponha que você tenha um formulário baseado na tabela Pedidos e queira incluir o campo Quantidade da tabela Detalhes do Pedido para exibir o número médio de itens ordenados por um cliente específico. Use a função DAvg para executar esse cálculo e exibir os dados em seu formulário.
Dica
- Se você utilizar a função DAvg em um controle calculado, convém colocar o controle no cabeçalho ou rodapé do formulário para que o valor desse controle não seja recalculado sempre que você passar para um novo registro.
- Se o tipo de dados do campo do qual o Expr é derivado for um número, a função DAvg retornará um tipo de dados Double . Se você usa 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 utilizar a função DAvg para determinar a média dos valores em um campo de uma tabela externa, talvez seja mais eficiente criar uma consulta que contenha todos os campos que você precisa e, depois, basear seu formulário ou relatório nessa consulta.
Exemplo
A função a seguir retorna o custo de frete médio dos pedidos enviados em ou a partir de uma determinada data. O domínio é uma tabela Orders. O argumento Critérios restringe o conjunto resultante de registros com base na data de envio e país fornecidos. Observe que a palavra-chave AND está incluída na cadeia de caracteres para separar os vários campos no argumento Critérios . Todos os registros incluídos no cálculo da função DAvg terão esses critérios.
Public Function AvgFreightCost(ByVal strCountry As String, _
ByVal dteShipDate As Date) As Double
AvgFreightCost = DAvg("[Freight]", "Orders", _
"[ShipCountry] = '" & strCountry & _
"'AND [ShippedDate] >= #" & dteShipDate & "#")
End Function
Os exemplos a seguir mostram como usar vários tipos de critérios com a função DAvg .
' ***************************
' Typical Use
' Numerical values. Replace "number" with the number to use.
variable = DAvg("[FieldName]", "TableName", "[Criteria] = number")
' Strings.
' Numerical values. Replace "string" with the string to use.
variable = DAvg("[FieldName]", "TableName", "[Criteria]= 'string'")
' Dates. Replace "date" with the string to use.
variable = DAvg("[FieldName]", "TableName", "[Criteria]= #date#")
' ***************************
' ***************************
' Referring to a control on a form
' Numerical values
variable = DAvg("[FieldName]", "TableName", "[Criteria] = " & Forms!FormName!ControlName)
' Strings
variable = DAvg("[FieldName]", "TableName", "[Criteria] = '" & Forms!FormName!ControlName & "'")
' Dates
variable = DAvg("[FieldName]", "TableName", "[Criteria] = #" & Forms!FormName!ControlName & "#")
' ***************************
' ***************************
' Combinations
' Multiple types of criteria
variable = DAvg("[FieldName]", "TableName", "[Criteria1] = " & Forms![FormName]![Control1] _
& " AND [Criteria2] = '" & Forms![FormName]![Control2] & "'" _
& " AND [Criteria3] =#" & Forms![FormName]![Control3] & "#")
' Use two fields from a single record.
variable = DAvg("[LastName] & ', ' & [FirstName]", "tblPeople", "[PrimaryKey] = 7")
' Expressions
variable = DAvg("[Field1] + [Field2]", "tableName", "[PrimaryKey] = 7")
' Control Structures
variable = DAvg("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.