CLAUSULA HAVING
To com dificuldade na sql a seguir.
Quero somar o valor das duplicatas de cada cliente.
sql = "SELECT TBDUPLICATAS.CODCLIENTE, SUM(TBDUPLICATAS.VALOR) AS SOMA, TBCLIENTES.CODIGO " & _
"FROM TBDUPLICATAS INNER JOIN TBCLIENTES ON " & _
"TBDUPLICATAS.CODCLIENTE = TBCLIENTES.CODIGO WHERE TBDUPLICATAS.CODCLIENTE= " & CodigoCliente & _
"ORDER BY TBDUPLICATAS.CODCLIENTE HAVING SUM(TBDUPLICATAS.VALOR) AS SOMA"
Quero somar o valor das duplicatas de cada cliente.
sql = "SELECT TBDUPLICATAS.CODCLIENTE, SUM(TBDUPLICATAS.VALOR) AS SOMA, TBCLIENTES.CODIGO " & _
"FROM TBDUPLICATAS INNER JOIN TBCLIENTES ON " & _
"TBDUPLICATAS.CODCLIENTE = TBCLIENTES.CODIGO WHERE TBDUPLICATAS.CODCLIENTE= " & CodigoCliente & _
"ORDER BY TBDUPLICATAS.CODCLIENTE HAVING SUM(TBDUPLICATAS.VALOR) AS SOMA"
Cara acho q esse soma no final n existe..tentou assim:
sql = "SELECT TBDUPLICATAS.CODCLIENTE, SUM(TBDUPLICATAS.VALOR) AS SOMA, TBCLIENTES.CODIGO " & _
"FROM TBDUPLICATAS INNER JOIN TBCLIENTES ON " & _
"TBDUPLICATAS.CODCLIENTE = TBCLIENTES.CODIGO WHERE TBDUPLICATAS.CODCLIENTE= " & CodigoCliente & _
"HAVING TBDUPLICATAS.CODCLIENTE ORDER BY TBDUPLICATAS.CODCLIENTE "
sql = "SELECT TBDUPLICATAS.CODCLIENTE, SUM(TBDUPLICATAS.VALOR) AS SOMA, TBCLIENTES.CODIGO " & _
"FROM TBDUPLICATAS INNER JOIN TBCLIENTES ON " & _
"TBDUPLICATAS.CODCLIENTE = TBCLIENTES.CODIGO WHERE TBDUPLICATAS.CODCLIENTE= " & CodigoCliente & _
"HAVING TBDUPLICATAS.CODCLIENTE ORDER BY TBDUPLICATAS.CODCLIENTE "
Consertando
sql = "SELECT TBDUPLICATAS.CODCLIENTE, SUM(TBDUPLICATAS.VALOR) AS SOMA, TBCLIENTES.CODIGO " & _
"FROM TBDUPLICATAS INNER JOIN TBCLIENTES ON " & _
"TBDUPLICATAS.CODCLIENTE = TBCLIENTES.CODIGO WHERE TBDUPLICATAS.CODCLIENTE= " & CodigoCliente & _
"HAVING TBDUPLICATAS.CODCLIENTE = " & CodigoCliente & " ORDER BY TBDUPLICATAS.CODCLIENTE "
sql = "SELECT TBDUPLICATAS.CODCLIENTE, SUM(TBDUPLICATAS.VALOR) AS SOMA, TBCLIENTES.CODIGO " & _
"FROM TBDUPLICATAS INNER JOIN TBCLIENTES ON " & _
"TBDUPLICATAS.CODCLIENTE = TBCLIENTES.CODIGO WHERE TBDUPLICATAS.CODCLIENTE= " & CodigoCliente & _
"HAVING TBDUPLICATAS.CODCLIENTE = " & CodigoCliente & " ORDER BY TBDUPLICATAS.CODCLIENTE "
Da erro no group by
Group By? onde?
Dei uma diminuida na consulta:
sql = "SELECT TBDUPLICATAS.CODCLIENTE, SUM(TBDUPLICATAS.VALOR) AS SOMA " & _
"FROM TBDUPLICATAS WHERE TBDUPLICATAS.CODCLIENTE= " & CodigoCliente & _
" HAVING TBDUPLICATAS.CODCLIENTE = " & CodigoCliente & " GROUP BY TBDUPLICATAS.CODCLIENTE "
Mas continua dando o mesmo erro no order by
sql = "SELECT TBDUPLICATAS.CODCLIENTE, SUM(TBDUPLICATAS.VALOR) AS SOMA " & _
"FROM TBDUPLICATAS WHERE TBDUPLICATAS.CODCLIENTE= " & CodigoCliente & _
" HAVING TBDUPLICATAS.CODCLIENTE = " & CodigoCliente & " GROUP BY TBDUPLICATAS.CODCLIENTE "
Mas continua dando o mesmo erro no order by
sql = "SELECT A.CODCLIENTE, SUM(A.VALOR) AS SOMA " & _
"FROM TBDUPLICATAS A WHERE A.CODCLIENTE= '" & CodigoCliente & "' & _
"GROUP BY A.CODCLIENTE " & _
"HAVING A.CODCLIENTE = '" & CodigoCliente & "'"
Havind vem sempre depois de tudo... as váriaveis do VB vc tem que abri com ' depois " e ai & variavel &
"FROM TBDUPLICATAS A WHERE A.CODCLIENTE= '" & CodigoCliente & "' & _
"GROUP BY A.CODCLIENTE " & _
"HAVING A.CODCLIENTE = '" & CodigoCliente & "'"
Havind vem sempre depois de tudo... as váriaveis do VB vc tem que abri com ' depois " e ai & variavel &
sql = "SELECT SUM(TBDUPLICATAS.VALOR) AS SOMA, TBDUPLICATAS.CODCLIENTE " & _
"FROM TBDUPLICATAS WHERE TBDUPLICATAS.CODCLIENTE= " & CodigoCliente & _
" GROUP BY TBDUPLICATAS.CODCLIENTE "
Agora o erro é:
O item não pode ser encontrado na coleção correspondente ao nome ou ao ordinal solicitado.
"FROM TBDUPLICATAS WHERE TBDUPLICATAS.CODCLIENTE= " & CodigoCliente & _
" GROUP BY TBDUPLICATAS.CODCLIENTE "
Agora o erro é:
O item não pode ser encontrado na coleção correspondente ao nome ou ao ordinal solicitado.
CARA O TENTA ASSIM
ATT,
MARCELO BRESSAN
sql = "SELECT TBDUPLICATAS.CODCLIENTE, SUM(TBDUPLICATAS.VALOR) AS SOMA " & _
"FROM TBDUPLICATAS WHERE TBDUPLICATAS.CODCLIENTE= " & CodigoCliente & _
" GROUP BY TBDUPLICATAS.CODCLIENTE HAVING TBDUPLICATAS.CODCLIENTE = " & CodigoCliente & " ORDER BY TBDUPLICATAS.CODCLIENTE"
ATT,
MARCELO BRESSAN
Cara pensa comigo...essa sql..só deve mostrar um resultado certo? A SOMA DO CLIENTE cujo codigo esta na variavel CodigoCliente
então pq o ORDER BY?
3lcon o grup by tem que ter os mesmos campos que vc esta selecionando memos os de soma e na mesma order também viu
Tópico encerrado , respostas não são mais permitidas