Se você algum dia já utilizou ou já ouviu falar na Função SOMASES do Excel, não vai entender muito bem o propósito da Função DSOMA no Access. Imagine que você precise calcular a soma de uma determinada variável, com base em algum(s) critério(s)??? Neste artigo, vamos aprender como usar a Função DSOMA no Access, tanto em Consultas, Formulários, Relatórios e até mesmo no VBA.
Lembrando que conhecer sobre Funções Internas do Access, pode resolver muitos problemas na utilização do Access, além de dar agilidade em suas soluções em projetos no Microsoft Access.
Vamos descobrir como fazer isso então???? Siga os passos a seguir.
Passo 1: Usando a Função DSOMA em Consultas
Suponhamos que conforme a tabela abaixo queiramos saber o Total de Parada por Equipamento e por Dia de Parada em uma Consulta?
Para criar uma consulta devemos seguir os seguintes passos:
👉 Ir na Guia CRIAR > DESIGN DA CONSULTA;
👉 Adicionar a tabela TBL_Paradas no campo de consultas;
👉Adicionar os campo: Equipamento e Data;
👉 Criar um Campo Calculado com o nome Total_Parado e incluir a seguinte função:
Agora vamos entender o que esta função faz?
Sintaxe: DSOMA(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
Sendo assim, o resultado da consulta que acabamos de criar será a seguinte:
Como você pode verificar os totais calculados, não estão em formato de número. Para isso, podemos colocar toda expressão que criamos na consulta, multiplicada pelo valor de (1). Dessa forma o resultado sempre será um número.
Sendo assim, o resultado da consulta recalculada será a seguinte:
Passo 2: Usando a Função DSOMA em Formulários
Para que possamos usar a Função DSOMA em Formulários do Access, vamos usar a mesma função que usamos no Passo 1. Para isso você precisa seguir a seguinte sequência:
👉 Com base na consulta que criamos no Passo 1, crie um Formulário Contínio com a fonte dde dados do formulário vinculado a esta consulta;
👉 No nosso caso, não é preciso colocar os 3 campos da consulta. Adicione apenas o campo ‘Equipamento’ e o campo ‘Data’, já que o Total calculado será o campo aonde iremos adicionar a nossa função;
👉Adicione uma Caixa de Texto não vinculada a tabela com o nome Total Parado;
👉Na Folha de Propriedade dessa caixa de texto criada, na proriedade Fonte de Controle, adicione a mesma função que criamos no Passo 1.
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 DSOMA em Relatórios
Para que possamos usar a Função DSOMA 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 no Passo 1, crie um Relatórios com a fonte dde dados do formulário vinculado a esta consulta;
👉 No nosso caso, não é preciso colocar os 3 campos da consulta. Adicione apenas o campo ‘Equipamento’ e o campo ‘Data’, já que o Total calculado será o campo aonde iremos adicionar a nossa função;
👉Adicione uma Caixa de Texto não vinculada a tabela com o nome Total Parado;
👉Na Folha de Propriedade dessa caixa de texto criada, na proriedade Fonte de Controle, adicione a mesma função que criamos no Passo 1.
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 DSOMA no VBA
Já no VBA a única mudança é em relação ao nome da Função DSOMA. No VBE ela passa a se chamar de DSUM, uma vez que lá é tudo inscrito em inglês, caso você não saiba.
Mas a lógica é a mesma! Vamos ao passo-a-passo.
👉 Crie um novo módulo no VBE;
👉 Adicione a seguinte sintaxe
Sub TotalParado()
Dim strEquipamento As String
Dim lngParado As Long
strEquipamento = InputBox("Digite o Nome do Equipamento!")
lngParado = DSum("TempoParado", "TBL_Paradas", "Equipamento='" & strEquipamento & "'")
Debug.Print lngParado
End Sub
Este código inicialmente possui 2 variáveis: a strEquipamento e a lngParado. A 1ª vai receber o nome do Equipamento, a partir de uma Caixa de Entrada que será exibida na tela. A segunda vai receber a soma, com base na Função DSUM. Por último será inscrito na Janela de Verificação Imediata o resultado da soma que será a variável lngParado.
Conclusão
Agora que você sabe como utilizar a Função DSOMA 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 DSOMA?
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!
Permalink
Excelente explicação
Permalink
Opa Antonio. Obrigado pela confiança! Nosso objetivo é fazer ccom que as pessoas entendam esta ferramenta