oreste.jr Postado Setembro 24, 2010 Denunciar Share Postado Setembro 24, 2010 Sei que esse tópico é bastante discutido e até já criei uma consulta para realizar tal função, mas esse novo caso tá me tirando o sono.Tenho uma tb onde eu cadastro meus registros com suas respectivas informações.Para obter o valor de dois capos desses registros eu criei uma consulta "CsFMS_tot" espelho dessa tb e acrescentei o campo "Total".Como feito anteriormente, se eu criar uma consulta com os campos: NFSM e Total. Assim a minha consulta para somar funciona perfeitamente bem.Ex:CsFMS_tot= NFSM 1, 1, 1, 1,2, 2, 2, 2 // Total 10, 10, 10,10, 20, 20, 20, 20CsFMS_res= NFSM 1, 2 // Total 40, 80.O problema é quando eu uso uma CsFMS_res com todos os campos da consulta CsFMS_tot.Aí fica mais ou menos assim: NFSM 1, 1, 2, 2 // Total 20, 20, 10, 40, 40.Todos os outros campos estão com o Total como: Agrupar por. NFSM que eatá como [CsFMS_tot]![NFMS] e Total está como soma.Algúem sabe me dizer o porque desta replicação de soma com NFMS iguais quando eu uso uma consulta com todos os campos?Como eu disse antes, se eu usar somente os dois campos esta soma de coluna funciona bem.Caso alguém possa me ajudar eu agradesso.Se for uma outra alternativa tipo sql por favor me explique de forma mais detalhada. É que eu sou iniciante.Aguardo resposta. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MrMALJ Postado Setembro 24, 2010 Denunciar Share Postado Setembro 24, 2010 Posta seu sql pra gente ver! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 oreste.jr Postado Setembro 24, 2010 Autor Denunciar Share Postado Setembro 24, 2010 MrMALJ, a cosntrução se deu da seguinte forma: 1º criei uma tab para receber o cadastro dos meus registros. 2º tendo a necessidade de um campo para totalizar alguns valores, criei a consulta CsFMS_tot. 3º para obter uma soma por resumo de registros eu criei a consulta CsFMSres com base na consulta CSFMS_tot.Dá uma olhada no SQL que o Access formou:SELECT CsFMS_tot.CP_SUB, CsFMS_tot.ETA1, CsFMS_tot.CP_ETA, CsFMS_tot.UNID5, CsFMS_tot.VALOR5, CsFMS_tot.DATA5, CsFMS_tot.AVANCO, Sum(CsFMS_tot.TOTALFMS) AS SomaDeTOTALFMS, CsFMS_tot.FISCAL, CsFMS_tot.NFMS, CsFMS_tot.FMS, CsFMS_tot.ENCARREGFROM CsFMS_totGROUP BY CsFMS_tot.CP_SUB, CsFMS_tot.ETA1, CsFMS_tot.CP_ETA, CsFMS_tot.UNID5, CsFMS_tot.VALOR5, CsFMS_tot.DATA5, CsFMS_tot.AVANCO, CsFMS_tot.FISCAL, CsFMS_tot.NFMS, CsFMS_tot.FMS, CsFMS_tot.ENCARREGHAVING (((CsFMS_tot.NFMS)=[CsFMS_tot]![NFMS]));Resalvo novamente que quando uso só dois campos: NFMS e TOTALFMS esta consulta funciona perfeitamente bem.Caro Mr.MALJ, Caso conheça alguma biografia sobre este assunto SQL x Access que se encaixe no meu nível de conhecimento ficaria agradecido pela indicação. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MrMALJ Postado Setembro 24, 2010 Denunciar Share Postado Setembro 24, 2010 No geral o SQL é identico para quase todas as ferramentas baseadas nele, então com poucas excessões o SQL básico serve para um tende a servir para os demais, claro que umas ferramentas teem um ou outro comando que não existe na outra e por ai a fora, eu usava muito esse site para ver sintaxe de comando SQLhttp://www.w3schools.com/SQl/Acho que vale a pena conferir.Quanto ao seu código num entendi muita coisa, então fica dificil de ajudar já que não conheço a função do campos na query. Mas va adicionando um campo de cada até que o agrupamento falhe dai você poderá analisar o porque disso ter ocorrido como valores diferenciados em algum campo da tupla. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 oreste.jr Postado Setembro 25, 2010 Autor Denunciar Share Postado Setembro 25, 2010 MrMALJ, a sua suspeita está correta. Existem dois campos: CP_SUB e DATA5 que estão fazendo o comando "HAVING" falhar (traz o resumo dos registros de forma parcial).Neste Sábado e Domingo dedicarei um tempo maior para avaliar a interferência.Vou deixar o tópico em aberto e assim que a tiver a solução, pedirei o encerramento do assunto. Até lá eu agradeço sugestões.Obrigado pela dica do site. Tive pouco tempo para avaliá-lo, mas com certeza vai me ajudar bastante.Até breve. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 oreste.jr Postado Setembro 27, 2010 Autor Denunciar Share Postado Setembro 27, 2010 MrMALJ, creio que consegui entender o motivo de alguns registros voltarem com resumos duplicados.O problema é que dois dos campos que apresentaram problema de dualidade tinham informações diferentes.EX: campo CP_SUBNFMS A- CP_SUB X... TOTAL= 2NFMS A- CP_SUB X... TOTAL= 2NFMS A- CP_SUB X... TOTAL= 2NFMS A- CP_SUB Y... TOTAL= 2Consusta resumo: estava assimNFMS A- CP_SUB X... TOTAL= 6NFMS A- CP_SUB Y... TOTAL= 2Consusta resumo: deveria está assimNFMS A- CP_SUB X... TOTAL= 8Conclusão: para que a "NFMS A" tenha um resumo com valor único, todos os campos, CP_SUB, DATA e outros devem ter valores idênticos, exceto os campo a serem avaliados: TOTAL e NFMS. Isto para a condição "agrupado por". Existem outras opções de Total que eu não chegei a estudar como: primeiro, média expressão e outros.Vou fazer testes diferentes com a condição total para entendê-la melhor.Nomais dou o caso por encerrado.Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
oreste.jr
Sei que esse tópico é bastante discutido e até já criei uma consulta para realizar tal função, mas esse novo caso tá me tirando o sono.
Tenho uma tb onde eu cadastro meus registros com suas respectivas informações.
Para obter o valor de dois capos desses registros eu criei uma consulta "CsFMS_tot" espelho dessa tb e acrescentei o campo "Total".
Como feito anteriormente, se eu criar uma consulta com os campos: NFSM e Total. Assim a minha consulta para somar funciona perfeitamente bem.
Ex:
CsFMS_tot= NFSM 1, 1, 1, 1,2, 2, 2, 2 // Total 10, 10, 10,10, 20, 20, 20, 20
CsFMS_res= NFSM 1, 2 // Total 40, 80.
O problema é quando eu uso uma CsFMS_res com todos os campos da consulta CsFMS_tot.
Aí fica mais ou menos assim: NFSM 1, 1, 2, 2 // Total 20, 20, 10, 40, 40.
Todos os outros campos estão com o Total como: Agrupar por.
NFSM que eatá como [CsFMS_tot]![NFMS] e Total está como soma.
Algúem sabe me dizer o porque desta replicação de soma com NFMS iguais quando eu uso uma consulta com todos os campos?
Como eu disse antes, se eu usar somente os dois campos esta soma de coluna funciona bem.
Caso alguém possa me ajudar eu agradesso.
Se for uma outra alternativa tipo sql por favor me explique de forma mais detalhada. É que eu sou iniciante.
Aguardo resposta.
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.