Você pode usar as funções DVar e DVarP para estimar a variação em um conjunto de valores em um conjunto especificado de registros (um domínio ). Use as funções DVar e DVarP em um módulo VBA (Visual Basic for Applications), um macro, uma expressão de consulta ou um controle calculado em um formulário ou relatório.
Use a função DVarP para avaliar a variação entre uma população e a função DVar para avaliar a variação entre uma amostra populacional.
Por exemplo, você pode usar a função DVar para calcular a variação entre um conjunto de notas de teste dos alunos.
Sintaxe
DVar ( expr , domínio [, critérios] )
DVarP ( expr , domínio [, critérios] )
As funções DVar e DVarP têm esses argumentos:
Argumento |
Descrição |
expr |
Obrigatório. Uma expressão que identifica o campo numérico no qual você deseja encontrar a variação. Pode ser um expressão de cadeia de caracteres identificar um campo de uma tabela ou consulta, ou pode ser uma expressão que executa um cálculo sobre dados nesse campo. No ex-pr, você pode incluir o campo nome 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 de agregação de domínio ou de agregação de SQL. Qualquer campo incluído no expr deve ser um campo numérico. |
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 requer 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 DVar ou DVarP é executada. Por exemplo, os critérios geralmente são equivalentes à cláusula WHERE em uma expressão SQL, sem a palavra WHERE. Se os critérios forem omitidos, as funções DVar e DVarP avaliarão expr em relação a todo o domínio. Qualquer campo incluído nos critérios também deve ser um campo no domínio; caso contrário, as funções DVar e DVarP retornam um Null. |
Comentários
Se o domínio se referir a menos de dois registros ou se menos de dois registros atenderem a criteria, as funções DVar e DVarP retornarão um Null, indicando que uma variação não pode ser calculada.
Se você usa a função DVar ou DVarP em uma macro, módulo, expressão de consulta ou controle calculado, você deve construir o argumento de critério cuidadosamente para garantir que ele seja avaliado corretamente.
Você pode usar a função DVar e DVarP para especificar critérios na linha Critérios de uma consulta selecionada, em uma expressão de campo calculada em uma consulta ou na linha Atualizar para de uma consulta de atualização.
Observação: Você pode usar as funções DVar e DVarP ou as funções Var e VarP em uma expressão de campo calculada em um consulta de totais. Se você usar a função DVar ou DVarP , os valores serão calculados antes que os dados sejam agrupados. Se você usar a função Var ou VarP , os dados serão agrupados antes que os valores na expressão de campo sejam avaliados.
Use as funções DVar e DVarP em um controle calculado quando precisar especificar critérios para restringir o intervalo de dados no qual a função é executada. Por exemplo, para exibir uma variação para que os pedidos sejam enviados para a Califórnia, defina a propriedade ControlSource de uma caixa de texto como a seguinte expressão:
=DVar("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Se você simplesmente quiser encontrar o desvio padrão em todos os registros no domínio, use a função Var ou VarP .
Observação: Alterações não salvas nos registros no domínio não são incluídas quando você usa essas funções. Se você quiser que a função DVar ou DVarP 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 de consulta
Expressão |
Resultados |
SELECT DVar("unitprice","productSales","unitprice>140") AS DVar_Value, DVarP("unitprice","productSales","unitprice<140") AS DVarP_Value FROM productSales GROUP BY DVar("unitprice","productSales","unitprice>140"), DVarP("unitprice","productSales","unitprice<140"); |
Calcula a variação de "UnitPrice" da tabela "ProductSales" em que "unitprice" é maior que 140 e exibe o resultado em DVar_Value. Também calcula a Variação de "UnitPrice" (considerando os dados dados como população inteira) em que "unitprice" é menor que 140 e exibe os resultados em DVarP_Value. |
Exemplos de VBA
Observação: Exemplos a seguir demonstram o uso dessa função em um módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência do Desenvolvedor na lista suspensa ao lado de Pesquisar e insira um ou mais termos na caixa de pesquisa.
O exemplo a seguir retorna estimativas da variação para uma população e uma amostra populacional para pedidos enviados para o Reino Unido. O domínio é uma tabela Orders. O argumento critério restringe o conjunto resultante de registros àqueles para os quais ShipCountryRegion é igual ao Reino Unido.
Dim dblX As Double
Dim dblY As Double ' Sample estimate. dblX = DVar("[Freight]", "Orders", _ "[ShipCountryRegion] = 'UK'") ' Population estimate. dblY = DVarP("[Freight]", "Orders", _ "[ShipCountryRegion] = 'UK'")
O próximo exemplo retorna estimativas usando uma variável, strCountryRegion, no argumento de critérios . Observe que as aspas individuais (') são incluídas na expressão de cadeia de caracteres, de modo que, quando as cadeias de caracteres forem concatenadas, o literal da cadeia de caracteres UK será colocado entre aspas.
Dim strCountryRegion As String
Dim dblX As Double strCountryRegion = "UK" dblX = DVar("[Freight]", "Orders", _ "[ShipCountryRegion] = '" & strCountryRegion & "'")