Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Soma Colunas


oreste.jr

Pergunta

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

  • 0

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.ENCARREG

FROM CsFMS_tot

GROUP 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.ENCARREG

HAVING (((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.

Link para o comentário
Compartilhar em outros sites

  • 0

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 SQL

http://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.

Link para o comentário
Compartilhar em outros sites

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0

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_SUB

NFMS A- CP_SUB X... TOTAL= 2

NFMS A- CP_SUB X... TOTAL= 2

NFMS A- CP_SUB X... TOTAL= 2

NFMS A- CP_SUB Y... TOTAL= 2

Consusta resumo: estava assim

NFMS A- CP_SUB X... TOTAL= 6

NFMS A- CP_SUB Y... TOTAL= 2

Consusta resumo: deveria está assim

NFMS A- CP_SUB X... TOTAL= 8

Conclusã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.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...