Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Use a função DMax para determinar o valor máximo em um conjunto de registros especificado (um domínio).
Sintaxe
mais simples. DMax (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 no qual você deseja localizar o valor mínimo ou máximo. Pode ser uma expressão de cadeia de caracteres identificando um campo em uma tabela ou consulta ou uma expressão que executa um cálculo nos dados desse campo. Na expr, você pode incluir o nome de um campo em uma tabela, um controle em um formulário, em uma constante ou em 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 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 DMax é executada. Por exemplo, criteria costuma ser equivalente à cláusula WHERE em uma expressão SQL, sem a palavra WHERE. Se criteria for omitido, a função DMax avaliará expr em relação ao domínio inteiro. Qualquer campo incluído nos critérios também deve ser um campo no domínio; caso contrário, a função DMax retornará um Null. |
Valor de retorno
Variant
Comentários
Por exemplo, você pode usar a função DMax em controles calculados em um relatório para exibir o maior valor do pedido para um cliente específico.
A função DMax retorna o valor máximo que atende aos critérios. Se expr identificar dados numéricos, a função DMax retornará valores numéricos. Se expr identificar dados de cadeia de caracteres, eles retornarão a cadeia de caracteres que for a primeira ou a última em ordem alfabética.
A função DMax ignora valores Nulos no campo referenciado por expr. No entanto, se nenhum registro atender aos critérios ou se o domínio não contiver registros, a função DMax retornará um Null.
Use a função DMax para especificar critérios na linha Critérios de uma consulta, em uma expressão de campo calculado em uma consulta ou na linha Atualizar para de uma consulta de atualização.
Observação
Use a função DMax ou a função Max em uma expressão de campo calculado de uma consulta de totais. Se você usar a função DMax, os valores serão avaliados antes de os dados serem agrupados. Se você usar a função Max, os dados serão agrupados antes de os valores na expressão de campo serem avaliados.
Use a função DMax 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 o máximo de frete cobrado de um pedido enviado para a Califórnia, defina a propriedade ControlSource de uma caixa de texto como a expressão a seguir:
=DMax("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Se você simplesmente deseja localizar o valor mínimo ou máximo de todos os registros no domínio, use a função Mín. ou Máx .
Embora seja possível usar a função DMin ou DMax para encontrar o valor mínimo ou máximo de um campo em uma tabela estrangeira, pode ser mais eficiente criar uma consulta que contém os campos necessários de ambas as tabelas e basear seu formulário ou relatório nessa consulta.
Exemplo
O exemplo a seguir retorna os valores mais baixo e mais alto do campo Freight para pedidos enviados para o Reino Unido. O domínio é uma tabela Orders. O argumento criteria restringe o conjunto de registros resultante para os quais ShipCountry é igual a Reino Unido.
Dim curX As Currency
Dim curY As Currency
curX = DMin("[Freight]", "Orders", "[ShipCountry] = 'UK'")
curY = DMax("[Freight]", "Orders", "[ShipCountry] = 'UK'")
No exemplo a seguir , o argumento criteria inclui o valor atual de uma caixa de texto denominada DataDoPedido. A caixa de texto é associada a um campo DatadoPedido em uma tabela Pedidos. Observe que a referência ao controle não está incluída nas aspas duplas (") que indicam a cadeia de caracteres. Isso garante que sempre que a função DMax for chamada, o Microsoft Access obterá o valor atual por meio do controle.
Dim curX As Currency
curX = DMax("[Freight]", "Orders", "[OrderDate] = #" _
& Forms!Orders!OrderDate & "#")
Os exemplos a seguir mostram como usar os diversos tipos de critérios com a função DMax.
' ***************************
' Typical Use
' Numerical values. Replace "number" with the number to use.
variable = DMax("[FieldName]", "TableName", "[Criteria] = number")
' Strings.
' Numerical values. Replace "string" with the string to use.
variable = DMax("[FieldName]", "TableName", "[Criteria]= 'string'")
' Dates. Replace "date" with the string to use.
variable = DMax("[FieldName]", "TableName", "[Criteria]= #date#")
' ***************************
' ***************************
' Referring to a control on a form
' Numerical values
variable = DMax("[FieldName]", "TableName", "[Criteria] = " & Forms!FormName!ControlName)
' Strings
variable = DMax("[FieldName]", "TableName", "[Criteria] = '" & Forms!FormName!ControlName & "'")
' Dates
variable = DMax("[FieldName]", "TableName", "[Criteria] = #" & Forms!FormName!ControlName & "#")
' ***************************
' ***************************
' Combinations
' Multiple types of criteria
variable = DMax("[FieldName]", "TableName", "[Criteria1] = " & Forms![FormName]![Control1] _
& " AND [Criteria2] = '" & Forms![FormName]![Control2] & "'" _
& " AND [Criteria3] =#" & Forms![FormName]![Control3] & "#")
' Use two fields from a single record.
variable = DMax("[LastName] & ', ' & [FirstName]", "tblPeople", "[PrimaryKey] = 7")
' Expressions
variable = DMax("[Field1] + [Field2]", "tableName", "[PrimaryKey] = 7")
' Control Structures
variable = DMax("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.