Método Application.DMax (Access)
Use a função DMax para determinar o valor máximo em um conjunto de registros especificado (um domínio).
Sintaxe
expressão. 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 de agregação de 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 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 retorna 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 de pedido para um cliente específico.
A função DMax retorna o valor máximo que atende aos critérios. Se o 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 calculada 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 calculada de uma consulta total. 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 quiser encontrar o valor mínimo ou máximo de todos os registros no domínio, use a função Min ou Max .
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 seguinte, o argumento de critérios inclui o valor atual de uma caixa de texto chamada OrderDate. A caixa de texto está vinculada a um campo OrderDate em uma tabela Orders. 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.