Aprenda a usar a Função DMAX no Access

A Função DMAX no Access tem o como objetivo determinar o valor máximo em um campo de uma tabela, obedecendo um ou mais critérios para esta determinação.

A Funão DMAX no Access retorna o valor máximo que satisfazem  os critérios estabelecidos. Se a função identificar dados numéricos, elas retornam valores numéricos. Se ela identificar caracteres , retornam a cadeia que é a primeira ou a última alfabeticamente.

Vamos ver como ela funciona na prática???? Siga os passos a seguir.

Passo 1: Usando a Função DMAX em Consultas

Suponhamos que conforme a tabela abaixo queiramos saber o Valor Máximo pago do Centro de Custo “Contas a Pagar”? Como poderíamos representar em uma Consulta?

Figura 01

Na verdade, poderíamos resolver esta pendência de 2 maneiras. A primeira seria utilizar a Função de Agregação da seguinte forma:

👉 Ir na Guia CRIAR > DESIGN DA CONSULTA;

👉 Adicionar a tabela tblGastos no campo de consultas;

👉 Adicionar o campo: CCusto e Valor;

👉 Colocar no critério do campo CCusto “Contas a Pagar”;

👉 Clicar na opção de Mostrar/Ocular Totais das Colunas;

👉 Escolher no Total do Campo Valor a Função de Agregação Máx

Figura 02

Ao executar esta consulta teríamos o seguinte resultado:

Figura 03

A segunda opção poderíamos fazer da seguinte forma:

👉 Ir na Guia CRIAR > DESIGN DA CONSULTA;

👉 Adicionar a tabela tblGastos no campo de consultas;

👉 Adicionar o campo: CCusto;

👉 Colocar no critério do campo CCusto “Contas a Pagar” ;

👉 Criar um campo calculado com o nome Valor_Máximo e criar a função abaixo

Figura 04

Ao executar esta consulta teríamos o seguinte resultado:

Figura 05

Agora vamos entender o que esta função faz?

Sintaxe: DMAX(ExprressãoDomínioCritérios)

Onde:

👉 Expressão (Obrigatório): Uma expressão que identifica os valores do campos numérico, valores os quais você deseja totalizar.

👉 Domínio (Obrigatório): Uma expressão formada por cadeia de caracteres que identifica o conjunto de registros que constitui o domínio.

👉 Critérios (Opcional): Uma expressão de cadeia de caracteres opcional usada para restringir o intervalo de dados 

Passo 2: Usando a Função DMAX em Formulários

Para que possamos calcular o Valor Máximo do Centro de Custo do tipo “Contas a Pagar”, a melhor alternativa é utilizar a Função de Agregação do Access, ao invés de utilizar a Função DMAX do Access. Para isso você precisa seguir a seguinte sequência:

👉 Criar uma consulta com os campos CCusto e Valor;

👉 Escolher no Total do Campo Valor a Função de Agregação Máx;

👉Salvar esta consulta (Vamo dizer que você salvou como qry_Gastos);

👉 Criar um Formulário Contínuo e vincular a fonte de controle nesta consulta que acabamos de criar;

👉Adicione os dois campos no formulário;

Figura 06

Se você conseguiu executar todos os passos até aqui, certamente o seu formulário ficará parecido com o figura abaixo. Caso tenha dado erro na função, verifique as referências utilizadas dentro da função. Pode ser que o Access não esteja compreendendo o que foi parametrizado.

Figura 07

Passo 3: Usando a Função DMAX em Relatórios

Para que possamos usar a Função DMAX em Relatórios do Access, vamos usar os mesmos passos no Passo 2. Para isso você precisa seguir a seguinte sequência:

👉 Com base na consulta que criamos, crie um Relatórios com a fonte de dados do relatório vinculado a esta consulta;

👉 Adicione apenas o campo ‘CCusto’ e o campo ‘MaxDeValor’;

Figura 08

Se você conseguiu executar todos os passos até aqui, certamente o seu formulário ficará parecido com o figura abaixo. Caso tenha dado erro na função, verifique as referências utilizadas dentro da função. Pode ser que o Access não esteja compreendendo o que foi parametrizado, como relatamos no Passo 2.

Figura 09

Passo 4: Usando a Função DMAX no VBA

Mas a lógica é a mesma! Vamos ao passo-a-passo.

👉 Crie um novo módulo no VBE;

👉 Adicione a seguinte sintaxe

Sub ValorMaximo()

    Dim strCC As String
    Dim lngValorMax As Long
    
    strCC = InputBox("Digite o Nome do Centro de Custo!")
    
    lngValorMax = DMax("Valor", "tblGastos", "CCusto='" & strCC & "'")
    
    Debug.Print lngValorMax
    
End Sub

Este código inicialmente possui 2 variáveis: a strCC e a lngValorMax. A 1ª vai receber o nome do Centro de Custo, a partir de uma Caixa de Entrada que será exibida na tela. A segunda vai receber o valor máximo, com base na Função DMAX. Por último será inscrito na Janela de Verificação Imediata o resultado da soma que será a variável lngValorMax.

Conclusão

Agora que você sabe como utilizar a Função DMAX no Access em Consultas, Formulários, Relatórios e no VBA, saiba que ela e as outras função internas possuem a finalidade de permitir que os usuários realizem uma variedade de operações e cálculos diretamente dentro do banco de dados, facilitando a manipulação de dados, a automação de tarefas e a criação de consultas mais sofisticadas. Essas funções são essenciais para melhorar a produtividade e a eficiência ao trabalhar com dados no Access.

Perguntas Frequentes

1 – Qual é a vantagem de utilizar Funções Internas do Access em Projetos?
R: Elas agilizam os cálculos e facilitam a distribuição dos resultados no Banco de Dados.

2 – Posso utilizar mais de um critério na Função DMAX?
R: Sim, basta você utilizar operadores, tais como AND/OR para encadear os seus critérios.

3 – É necessário ter conhecimento avançado em Access, para dominar as Funções Internas?
R: Sim, uma vez que existem várias funções que possuem argumentos diferentes. Isso se faz muito importante no momento de aplicar a função desejada.

4 – Onde posso encontrar mais informações sobre Funções Interna do Microsoft Access?
R: Você pode encontrar mais informações e documentação detalhada no site oficial da Microsoft.

Aproveite o poder das Funções Internas do Access agora mesmo!

Curso de Access VBA Completo: Do Básico ao Avançado.

Quer aprender a programar no Access? Clique na imagem abaixo:

Se você quiser aprender mais sobre o assunto ou tiver alguma dúvida, não hesite em deixar um comentário abaixo. Estamos aqui para ajudar!

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *