Applies ToAccess para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Pode utilizar as funções DMin e DMax para determinar os valores mínimo e máximo num conjunto especificado de registos (um domínio ). Utilize as funções DMin e DMax num módulo VBA (Visual Basic for Applications), um macro, uma expressão de consulta ou um controle calculado.

Por exemplo, pode utilizar as funções DMin e DMax em controlos calculados num relatório para apresentar as quantidades de encomendas mais pequenas e maiores para um determinado cliente. Em alternativa, pode utilizar a função DMin numa expressão de consulta para apresentar todas as encomendas com um desconto superior ao desconto mínimo possível.

Sintaxe

DMin ( expr , domínio [, critérios] )

DMax ( expr , domínio [, critérios] )

As funções DMin e DMax têm estes argumentos:

Argumento

Descrição

expr

Obrigatório. Uma expressão que identifica o campo para o qual pretende localizar o valor mínimo ou máximo. Pode ser um expressão de cadeia de caracteres identificar um campo numa tabela ou consulta, ou pode ser uma expressão que efetua um cálculo nos dados nesse campo. No 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. Uma expressão de cadeia que identifica o conjunto de registos 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 utilizada para restringir o intervalo de dados no qual a função DMin ou DMax é executada. Por exemplo, os critérios são muitas vezes equivalentes à cláusula WHERE numa expressão SQL, sem a palavra WHERE. Se os critérios forem omitidos, as funções DMin e DMax avaliam expr em relação a todo o domínio. Qualquer campo incluído nos critérios também tem de ser um campo no domínio, caso contrário, as funções DMin e DMax devolvem um Nulo.

Comentários

As funções DMin e DMax devolvem os valores mínimos e máximos que satisfazem os critérios. Se expr identificar dados numéricos, as funções DMin e DMax devolvem valores numéricos. Se expr identificar dados de cadeia, devolvem a cadeia que é a primeira ou a última alfabeticamente.

As funções DMin e DMax ignoram valores Nulos no campo referenciado por expr. No entanto, se nenhum registo satisfizer os critérios ou se o domínio não contiver registos, as funções DMin e DMax devolvem um Valor Nulo.

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

Pode utilizar a função DMin e DMax para especificar critérios na linha Critérios de uma consulta, numa expressão de campo calculado numa consulta ou na linha Atualizar Para de um atualizar consulta.

Observação: Pode utilizar as funções DMin e DMax ou as funções Min e Max numa expressão de campo calculado de um consulta de totais. Se utilizar a função DMin ou DMax , os valores são avaliados antes de os dados serem agrupados. Se utilizar a função Min ou Max , os dados são agrupados antes de os valores na expressão de campo serem avaliados.

Utilize a função DMin ou DMax num controlo calculado quando precisar de especificar critérios para restringir o intervalo de dados no qual a função é executada. Por exemplo, para apresentar o transporte máximo cobrado por uma encomenda enviada para a Califórnia, defina a propriedade OrigemDoControlo de uma caixa de texto para a seguinte expressão:

=DMax("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Se quiser simplesmente localizar o valor mínimo ou máximo de todos os registos no domínio, utilize a função Mín . ou Máx .

Pode utilizar a função DMin ou DMax num módulo ou macro ou num controlo calculado num formulário se o campo que precisa de apresentar não estiver na origem de registos em que o formulário se baseia.

dica

Embora possa utilizar a função DMin ou DMax para localizar o valor mínimo ou máximo de um campo num tabela estrangeira, pode ser mais eficiente criar uma consulta que contenha os campos de que precisa em ambas as tabelas e basear o formulário ou relatório nessa consulta.

Observação: As alterações não guardadas aos registos no domínio não são incluídas quando utiliza estas funções. Se pretender que a função DMax ou DMin se baseie nos valores alterados, primeiro tem de guardar as alterações ao clicar em Guardar Registo em Registos no separador Dados , ao mover o foco para outro registo ou ao utilizar o método Atualizar .

Exemplo

Observação: Os exemplos que se seguem demonstram a utilização desta função num módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência do Programador na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.

O exemplo seguinte devolve os valores mais baixos e mais altos do campo Transporte para encomendas enviadas para o Reino Unido. O domínio é uma tabela Encomendas. O argumento critérios restringe o conjunto resultante de registos àqueles para os quais ShipCountryRegion é igual a UK.

Dim curX As Currency
Dim curY As Currency
curX = DMin("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")
curY = DMax("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")

No exemplo seguinte, o argumento critérios inclui o valor atual de uma caixa de texto denominada OrderDate. A caixa de texto está vinculada a um campo OrderDate numa tabela Encomendas. Tenha em atenção que a referência ao controlo não está incluída nas aspas duplas (") que denotam as cadeias. Isto garante que sempre que a função DMax é chamada, o Access obtém o valor atual a partir do controlo.

Dim curX As Currency
curX = DMax("[Freight]", "Orders", "[OrderDate] = #" _
    & Forms!Orders!OrderDate & "#")

No exemplo seguinte, a expressão de critérios inclui uma variável, dteOrderDate. Tenha em atenção que os sinais de número (#) estão incluídos na expressão de cadeia, para que, quando as cadeias forem concatenadas, coloquem a data entre elas.

Dim dteOrderDate As Date
Dim curX As Currency
dteOrderDate = #03/30/2000#
curX = DMin("[Freight]", "Orders", _
    "[OrderDate] = #" & dteOrderDate & "#")

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.