Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Avançado: Requer conhecimentos avançados sobre codificação, interoperabilidade e ambiente multi-utilizador.
Este artigo aplica-se a um ficheiro de base de dados do Microsoft Access (.mdb) ou a um ficheiro de base de dados do Microsoft Access (.accdb).Para obter uma versão deste artigo referente ao Microsoft Access 2000, consulte 208714
(http://support.microsoft.com/kb/208714/
)
.
Para obter uma versão deste artigo referente ao Microsoft Access 97, consulte 138911
(http://support.microsoft.com/kb/138911/
)
.
Este artigo demonstra dois métodos que pode utilizar para criar uma consulta de total parcial. Uma consulta de total parcial é uma consulta na qual o total de cada registo é uma soma desse registo com quaisquer registos anteriores. Este tipo de consulta é útil para apresentar o total cumulativo de um grupo de registos (ou ao longo de um período de tempo) num gráfico ou relatório.
Nota Poderá ver uma demonstração da técnica utilizada neste artigo no ficheiro de exemplo Qrysmp00.exe. Para obter informações sobre como obter este ficheiro de exemplo, consulte o seguinte artigo na Base de Dados de Conhecimento Microsoft:
207626
(http://support.microsoft.com/kb/207626/
)
ACC2000: Estão Disponíveis Consultas de Exemplo do Access 2000 no Centro de Transferências
O primeiro método utiliza uma função DSoma e critérios numa consulta para criar uma soma parcial ao longo do tempo. A função DSoma soma o registo actual com quaisquer registos anteriores. Quando a consulta passa para o registo seguinte, a função DSoma é executada novamente e actualiza o total cumulativo.
A consulta de exemplo seguinte utiliza a tabela Encomendas da base de dados de exemplo Adamastor para criar uma soma parcial dos custos de transporte incorridos em cada mês de 1997. Os dados de exemplo estão limitados a um ano por motivos de desempenho. Visto que a função DSoma é executada uma vez para cada registo na consulta, o respectivo processamento poderá demorar vários segundos (dependendo da velocidade do computador). Para criar e executar esta consulta, siga estes passos:
Abra a base de dados de exemplo Adamastor.
Crie uma nova consulta seleccionar e adicione a tabela Encomendas.
No menu Ver, clique em Totais.
Nota No Microsoft Office Access 2007, clique em Totais no grupo Mostrar/Ocultar do separador Estrutura.
Na primeira coluna da grelha de estrutura da consulta, introduza a seguinte expressão na caixa Campo e efectue as selecções seguintes nas caixas Total, Ordenar e Mostrar:
Campo: AAno: PartData("aaaa",[DataEncomenda])
Total: Agrupar por
Ordenar: Ascendente
Mostrar: Sim
A expressão existente na caixa Campo apresenta e ordena a parte do ano do campo DataEncomenda.
Na segunda coluna da grelha de estrutura da consulta, introduza a seguinte expressão na caixa Campo e efectue as selecções seguintes nas caixas Total, Ordenar e Mostrar:
Campo: AMês: PartData("m",[DataEncomenda])
Total: Agrupar por
Ordenar: Ascendente
Mostrar: Sim
A expressão existente na caixa Campo ordena e apresenta a parte do mês do campo DataEncomenda como um valor inteiro entre 1 e 12.
Na terceira coluna da grelha de estrutura da consulta, introduza a seguinte expressão na caixa Campo e efectue as selecções seguintes nas caixas Total e Mostrar.
NOTA: No exemplo seguinte, um carácter de sublinhado (_) no final de uma linha é utilizado como um carácter de continuação de linha. Remova o carácter de sublinhado do final da linha quando recriar este exemplo.
A expressão existente na caixa Campo utiliza a função DSoma() para somar o campo Transporte quando os valores existentes nos campos AMês e AAno são menores ou iguais ao registo actual que a consulta está a processar.
Na quarta coluna da grelha de estrutura da consulta, introduza a seguinte expressão na caixa Campo e efectue as selecções seguintes nas caixas Total, Ordenar e Mostrar:
Campo: FData: Formatar([DataEncomenda],"mmm")
Total: Agrupar por
Ordenar: Ascendente
Mostrar: Sim
A expressão existente na caixa Campo apresenta ecada mês num formato de texto (tal como Jan, Fev, Mar, etc.).
Na quinta coluna da grelha de estrutura da consulta, introduza a seguinte expressão na caixa Campo e efectue as selecções seguintes nas caixas Total, Critérios e Mostrar:
Campo: PartData("aaaa",[DataEncomenda])
Total: Onde
Critérios: 1997
Mostrar: Não
A expressão existente na caixa Campo filtra o conjunto de registos da consulta de modo a incluir apenas dados de 1997.
Execute a consulta.
Note que o campo TotParc apresenta os registos seguintes com uma soma parcial:
AAno AMês TotParc FData
--------------------------------------
1997 1 2238,98 Jan
1997 2 3840,43 Fev
1997 3 5729,24 Mar
1997 4 8668,34 Abr
1997 5 12129,74 Mai
1997 6 13982,39 Jun
1997 7 17729,29 Jul
1997 8 22204,73 Ago
1997 9 26565,26 Set
1997 10 32031,38 Out
1997 11 36192,09 Nov
1997 12 42748,64 Dez
O segundo método utiliza uma consulta de totais com uma função DSoma() para criar um total parcial ao longo de um grupo.
A consulta de exemplo seguinte utiliza a tabela Encomendas para somar os custos de transporte por empregado, bem como para calcular uma soma parcial do transporte. Para criar e executar a consulta, siga estes passos:
Abra a base de dados de exemplo Adamastor.mdb.
Crie uma nova consulta seleccionar e adicione a tabela Encomendas.
No menu Ver, clique em Totais.
Nota No Microsoft Office Access 2007, clique em Totais no grupo Mostrar/Ocultar do separador Estrutura.
Na primeira coluna da grelha de estrutura da consulta, adicione o seguinte campo na caixa Campo e efectue as selecções seguintes nas caixas Total e Mostrar:
Campo: AliasEmp: IDEmpregado
Total: Agrupar por
Mostrar: Sim
Este campo agrupa dados por IDEmpregado.
Na segunda coluna da grelha de estrutura da consulta, adicione o seguinte campo na caixa Campo e efectue as selecções seguintes nas caixas Total e Mostrar.
Campo: Transporte
Total: Soma
Mostrar: Sim
Este campo soma os dados do transporte.
Na terceira coluna da grelha de estrutura da consulta, introduza a seguinte expressão na caixa Campo e efectue as selecções seguintes nas caixas Total e Mostrar.
NOTA: No exemplo seguinte, um carácter de sublinhado (_) no final de uma linha é utilizado como um carácter de continuação de linha. Remova o carácter de sublinhado do final da linha quando recriar este exemplo.
A expressão existente na caixa Campo utiliza uma função DSoma() para somar o campo Transporte quando IDEmpregado é menor ou igual ao AliasEmp actual e, em seguida, formata o campo em Euros.
Execute a consulta. Note que o campo TotParc apresenta os registos seguintes com uma soma parcial:
Empregado SomaTransporte TotParc
-------------------------------------------------
Davolio, Nancy 8.836,64? 8.836,64?
Fuller, Andrew 8.696,41? 17.533,05?
Leverling, Janet 10.884,74? 28.417,79?
Peacock, Margaret 11.346,14? 39.763,93?
Buchanan, Steven 3.918,71? 43.682,64?
Suyama, Michael 3.780,47? 47.463,11?
King, Robert 6.665,44? 54.128,55?
Callahan, Laura 7.487,88? 61.616,43?
Dodsworth, Anne 3.326,26? 64.942,69?
Qual foi o esforço que despendeu pessoalmente para utilizar este artigo?
Muito baixo
Baixo
Moderado
Elevado
Muito elevado
Diga-nos porquê e o que podemos fazer para melhorar estas informações
Obrigado! Os seus comentários são utilizados para ajudar-nos a melhorar o conteúdo do nosso suporte. Para obter mais opções de assistência, visite a Home Page de Ajuda e Suporte.