SOMAR VALORES DIFERENTES
Boas gente, blz? bom, é o seguinte, to com um problemão, eu tenho uma tabela com qtdeproduto, valor produto, o valor produto, pode variar, sendo assim, eu preciso fazer com que o VB, some por exemplo, passe uma varredura no banco e veja, por exemplo...
QtdeProd | ValorProd
--------------------------------------
2 | 10,00
3 | 15,00
2 | 10,00
Preciso somar quantos produtos foram vendidos á 10,00 e quantos produtos foram vendidos á 15,00, e me retornar o valor
4 Produtos á 10,00
3 Produtos á 15,00
Eu tentei fazer com um Loop, não sei se esse é o método certo, no primeiro valor eu consegui, que ele verifica o primeiro e sai somando quantos estão lá, más aà eu me embananei do segundo pra frente, estou tentando aqui, se conseguir algo mais concreto posto pra gente discutir sobre, mas por enquanto, alguém me ajuda por favor, obrigado.
QtdeProd | ValorProd
--------------------------------------
2 | 10,00
3 | 15,00
2 | 10,00
Preciso somar quantos produtos foram vendidos á 10,00 e quantos produtos foram vendidos á 15,00, e me retornar o valor
4 Produtos á 10,00
3 Produtos á 15,00
Eu tentei fazer com um Loop, não sei se esse é o método certo, no primeiro valor eu consegui, que ele verifica o primeiro e sai somando quantos estão lá, más aà eu me embananei do segundo pra frente, estou tentando aqui, se conseguir algo mais concreto posto pra gente discutir sobre, mas por enquanto, alguém me ajuda por favor, obrigado.
Gente, matutando aqui, consegui isso, até que funcionou, mas vou ter que fazer isso com cada produto e deixar reservado uns 5 valores, creio que mais que isso não vá ter, mas foi isso que eu bolei aqui, será que tem outro meio mais simples?
DATAINI = Format(txtdtini.Text, [Ô]YYYY/MM/DD[Ô])
DATAFIN = Format(txtdtfin.Text, [Ô]YYYY/MM/DD[Ô])
[ô]************************************* (Primeiro valor Bag) *****************************************************************
sSQL = [Ô]SELECT * FROM lancamentofuncionario WHERE dtlanc BETWEEN [ô][Ô] & DATAINI & [Ô][ô] AND [ô][Ô] & DATAFIN & [Ô][ô][Ô]
Set rs1 = Conexao.Execute(sSQL)
[ô]-------------------------------------Soma Valor 1---------------------------------------------------------------------------
vSomar1 = rs1!valorbag
[ô]----------------------------------------------------------------------------------------------------------------------------
Do While Not rs1.EOF = True
If rs1!valorbag = vSomar1 Then
QTDE = QTDE + rs1!bag
List1.AddItem rs1!dtlanc
List2.AddItem rs1!valorbag
End If
rs1.MoveNext
Loop
List3.AddItem QTDE & [Ô] Bags de [Ô] & vSomar1
QTDE = 0
[ô]============================================================================================================================
[ô]************************************* (Segundo valor Bag) *****************************************************************
sSQL = [Ô]SELECT * FROM lancamentofuncionario WHERE dtlanc BETWEEN [ô][Ô] & DATAINI & [Ô][ô] AND [ô][Ô] & DATAFIN & [Ô][ô][Ô]
Set rs2 = Conexao.Execute(sSQL)
[ô]-------------------------------------Soma Valor 1---------------------------------------------------------------------------
Do While Not rs2.EOF = True
If Not vSomar1 = rs2!valorbag Then
vSomar2 = rs2!valorbag
Exit Do
End If
rs2.MoveNext
Loop
[ô]----------------------------------------------------------------------------------------------------------------------------
sSQL = [Ô]SELECT * FROM lancamentofuncionario WHERE dtlanc BETWEEN [ô][Ô] & DATAINI & [Ô][ô] AND [ô][Ô] & DATAFIN & [Ô][ô][Ô]
Set rs2 = Conexao.Execute(sSQL)
[ô]................................
Do While Not rs2.EOF = True
If rs2!valorbag = vSomar2 Then
QTDE = QTDE + rs2!bag
List1.AddItem rs2!dtlanc
List2.AddItem rs2!valorbag
End If
rs2.MoveNext
Loop
List3.AddItem QTDE & [Ô] Bags de [Ô] & vSomar2
QTDE = 0
[ô]============================================================================================================================
Tente o seguinte: Select SUM (QtdeProd * ValorProd) as ValorTotal FROM Tabela Where ValorProd = 10.00[Ô]
vlw
vlw
OU asssim: Select SUM (QtdeProd * ValorProd) as ValorTotal, ValorProd FROM Tabela Group By ValorProd[Ô]
Testa ai e nos dê uma posicão.
vlw
Testa ai e nos dê uma posicão.
vlw
Sim, mas vai QtdeProd era só um exemplo, no real mesmo, vai ter varios produtos, então não posso agrupar por valorprod
Coloque ai a estrutura de sua tabela para analisarmos.
vlw
vlw
Citação::
Sim, mas vai QtdeProd era só um exemplo, no real mesmo, vai ter varios produtos, então não posso agrupar por valorprod
Coloque o código do produto na query e agrupe por ele também:
Select SUM (QtdeProd * ValorProd) as ValorTotal, ValorProd, IdProduto FROM Tabela Group By ValorProd, IdProduto[Ô]
Acho que eu não expliquei direito, bom, oque eu consegui é perfeito, só acho que existe outra forma pra se fazer isso, eu adicionei 2 listview, esse é o resultado perfeito.
QtdeProd | ValorProd
--------------------------------------
2 | 10,00
3 | 15,00
2 | 10,00
De acordo com os dados acima, essa consulta --> SELECT SUM(QtdeProd) as Quantidade, ValorProd FROM Tabela Group By ValorProd está retornando os seguintes dados:
QtdeProd | ValorProd
--------------------------------------
4 | 10,00
3 | 15,00
vlw
--------------------------------------
2 | 10,00
3 | 15,00
2 | 10,00
De acordo com os dados acima, essa consulta --> SELECT SUM(QtdeProd) as Quantidade, ValorProd FROM Tabela Group By ValorProd está retornando os seguintes dados:
QtdeProd | ValorProd
--------------------------------------
4 | 10,00
3 | 15,00
vlw
Mas para adicionar no grid seria como? Porque não entendi direito oque você disse...
Como seria pra adicionar no Grid?
Como seria pra adicionar no Grid?
é algo parecido com isso aqui:
SQL = [Ô]SELECT SUM(QtdeProd) as Quantidade, ValorProd FROM Tabela Group By ValorProd[ô][Ô]
Set rs = Conexao.Execute(sSQL)
Do While Not rs.EOF = True
List1.AddItem rs!Quantidade & [Ô]/[Ô] & rs!ValorProd
rs.MoveNext
Loop
Como você está fazendo para preencer ai? È a mesma coisa
SQL = [Ô]SELECT SUM(QtdeProd) as Quantidade, ValorProd FROM Tabela Group By ValorProd[ô][Ô]
Set rs = Conexao.Execute(sSQL)
Do While Not rs.EOF = True
List1.AddItem rs!Quantidade & [Ô]/[Ô] & rs!ValorProd
rs.MoveNext
Loop
Como você está fazendo para preencer ai? È a mesma coisa
Tópico encerrado , respostas não são mais permitidas