Compartilhar via


Método Application.DAvg (Access)

Utilize a função DAvg para calcular a média de um conjunto de valores num conjunto especificado de registos (um domínio).

Sintaxe

expressão. DAvg (Expr, Domain, Criteria)

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 pretende colocar 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_, pode incluir o nome de um campo numa tabela, um controlo num formulário, uma constante ou 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 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 Variant 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 é frequentemente equivalente à cláusula WHERE numa expressão SQL, sem a palavra WHERE. Se Critérios for omitido, a função DAvg avalia 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 DAvg devolve um Valor Nulo.

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.

Quer utilize a função DAvg numa macro ou módulo, numa expressão de consulta ou num controlo calculado, tem de construir cuidadosamente o argumento Critérios para garantir que será avaliado corretamente.

Utilize 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. Pode criar uma consulta nas tabelas Encomendas, Detalhes da Encomenda 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")

Também pode utilizar a função DAvg numa expressão de campo calculado numa consulta ou na linha Atualizar Para de uma consulta de atualização.

Observação

Utilize a função DAvg ou Média numa expressão de campo calculado numa consulta de totais. 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 quiser simplesmente fazer a média de todos os registos no Domínio, utilize a função Média .

Utilize a função DAvg num módulo ou macro ou num controlo calculado num formulário se um campo que precisa de apresentar não estiver na origem de registos em que o formulário se baseia. Por exemplo, suponha que tem um formulário baseado na tabela Encomendas e pretende incluir o campo Quantidade da tabela Detalhes da Encomenda para apresentar o número médio de itens encomendados por um determinado cliente. Utilize a função DAvg para efetuar este cálculo e apresentar os dados no 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 a partir do qual Expr é derivado for um número, a função DAvg devolve um tipo de dados Duplo . 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 registos com base no país e data de envio especificados. Tenha em atenção que o palavra-chave AND está incluído na cadeia para separar os múltiplos 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 seguintes mostram como utilizar 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.