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?
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
Ao executar esta consulta teríamos o seguinte resultado:
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
Ao executar esta consulta teríamos o seguinte resultado:
Agora vamos entender o que esta função faz?
Sintaxe: DMAX(Exprressão, Domínio, Crité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;
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.
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’;
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.
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!