eliok10 Posted March 12, 2015 at 10:26 PM Report Share #579269 Posted March 12, 2015 at 10:26 PM Boa noite, estou com um problema que à partida é básico mas não estou a conseguir resolver. Estou a editar um relatório no Access, onde por trás desse relatório tem uma consulta que gera os resultados. O que se passa é o seguinte: A consulta vai buscar os nomes dos clientes, as vendas no ano, os custos no ano e a margem de lucro o ano. Eu tenho que acrescentar um Total Geral, que soma todas as vendas de todos os registos, os custos e calcule a margem geral mediante o total de vendas de todos os clientes e de custos. O problema é que quando eu faço p.ex: Sum(totvenda-ano) ele não me mostra o total de todas mas sim o total por linha, ou seja, por cliente. Como eu faço para ele me somar todos os registos mesmo e não a soma por linha? Obrigado Link to comment Share on other sites More sharing options...
passarito Posted March 12, 2015 at 11:58 PM Report Share #579288 Posted March 12, 2015 at 11:58 PM mostra todo código sql q usas para obteres o SUM Link to comment Share on other sites More sharing options...
eliok10 Posted March 13, 2015 at 03:02 PM Author Report Share #579334 Posted March 13, 2015 at 03:02 PM (edited) Boa tarde, antes de mais obrigado pela resposta. Por meios de consultas já consegui obter os totais que necessitava, contudo resta-me um problema: Tenho que comparar estes totais com uma tabela que gera uns códigos, faço 2 LEFT JOINS e resulta, quando tento fazer o terceiro LEFT JOIN não consigo. Aqui abaixo fica o código (que resulta) com 2 LEFT JOIN FROM (teste LEFT JOIN taxas ON (left((teste.globalmrg),3)>=taxas.Margem) AND (left((teste.globalmrg),3)<=taxas.Margem)) LEFT JOIN taxas2 ON (left((teste.somadesomademrg),3)>=taxas2.Margem) AND (left((teste.somadesomademrg),3)<=taxas2.Margem); Quando tento juntar ao código acima o 3º LEFT JOIN seguindo a mesma lógica: FROM (teste LEFT JOIN taxas ON (left((teste.globalmrg),3)>=taxas.Margem) AND (left((teste.globalmrg),3)<=taxas.Margem)) LEFT JOIN taxas2 ON (left((teste.somadesomademrg),3)>=taxas2.Margem) AND (left((teste.somadesomademrg),3)<=taxas2.Margem) LEFT JOIN taxas3 ON (left((teste.somadesomademrg2),3)>=taxas3.Margem) AND (left((teste.somadesomademrg2),3)<=taxas3.Margem) ; Dá-me o erro (no access): Erro de sintaxe (operador em falta) Já vi e revi e não encontro o problema. Basta eu apagar uma condição de left join (seja a segunda ou a terceira) e ficar com 2 left join e ja funciona. Se alguém me puder ajudar agradeço imenso.. Mil obrigados. Edited March 13, 2015 at 03:12 PM by eliok10 Link to comment Share on other sites More sharing options...
Rechousa Posted March 17, 2015 at 11:33 PM Report Share #579670 Posted March 17, 2015 at 11:33 PM Viva, O teu código SQL não está completo, falta a parte inicial (SELECT ....) Pedro Martins Sharing is Knowledge! http://www.linkedin.com/in/rechousa Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now