Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

webfuture

Probleminha com calculo: valor * quantidade em varios registros

Recommended Posts

Olá galera, estou com um probleminha com um calculo aqui.. vejam só. A estrutura de meu banco de dados esta assimvalor quantidade id_compra407 10 741027153 20 741027471 30 741027487 5 741027270 3 741027Preciso gerar um valor total fazendo o calculo do valor * quantidade de cada produto onde o id_compra seja igual, alguém conhece alguma forma de fazer isto ? Saber qual o valor total da compra destes produtos, fazendo o calculo do valor * quantidade do 1, 2, 3, 4 e 5 produtos ?WebFuture

Compartilhar este post


Link para o post
Compartilhar em outros sites

select (preco * qtd) as subtotal, ID from tabelaacho q isso resolve o pro, ai é so imprimir no laco do rs.Flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aconteceu a mesma coisa.. ele só fez o valor * quantidade do ultimo registro.WebFuture

você tem q botar dentro de um whileWHILE NOT rs.EOF 'aqui o codigo de pegar o valor e quantidaders.movenextWEND

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Matheus, foi exatamente isto que eu fiz mas não rolou.WebFuture

Estranho isso, testei aki e funfou beleza (SQL Server 2000)...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha meu código:<%Set Conexao = Server.CreateObject("ADODB.Connection")DSNtest="DRIVER={Microsoft Access Driver (*.mdb)}; "DSNtest=dsntest & "DBQ=c:/inetpub/wwwroot/pagina/dados/dados.mdb"Conexao.Open DSNtestSet rs = Server.CreateObject("AdoDB.Recordset")rs.open "Select (valor * quantidade) as valortotal, id from pedidos where id_compra = '827080' ", conexaowhile not rs.EOFvalortotal = RS("valortotal")response.write valortotalrs.movenextwendrs.closeset rs = nothing%>Será que estou fazendo algo errado ? WebFuture

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha meu código:<%Set Conexao = Server.CreateObject("ADODB.Connection")DSNtest="DRIVER={Microsoft Access Driver (*.mdb)}; "DSNtest=dsntest & "DBQ=c:/inetpub/wwwroot/pagina/dados/dados.mdb"Conexao.Open DSNtestSet rs = Server.CreateObject("AdoDB.Recordset")rs.open "Select (valor * quantidade) as valortotal, id from pedidos where id_compra = '827080' ", conexaowhile not rs.EOFvalortotal = RS("valortotal")response.write valortotalrs.movenextwendrs.closeset rs = nothing%>Será que estou fazendo algo errado ? WebFuture

Putz veio, se tu coloca no where pra pegar so aquele id CLARO q ele so vai imprimir uma linha ne. Tira a clausula where do select.Flw... :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

No banco de dados existem 3 cadastros com este id_compra e não um só, como também podem existir x cadastros com outros ids.. O certo não seria ele calcular todos os valores onde o id_compra for igual ao que eu colocar e jogar o valor total na tela ?WebFuture

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom estou meio sem tempo, por isso não analisei direito oque você quer, mas...

 

Pelo que vi nesta parte:

while not rs.EOFvalortotal = RS("valortotal")response.write valortotalrs.movenext
Você esta substiuindo a valor da variavel valortotal

 

Entao coloque:

While Not RS.Eofvalortotal = valortotal + Fix(RS("valortotal"))RS.MoveNextWendResponse.Write valortotal
Espero ter ajudado,

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

não sei se é issoSet rs = Server.CreateObject("AdoDB.Recordset")rs.open "Select SUM(quantidade) * valor as valortotal from pedidos WHERE id_compra =741027", conexao

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Marioufpa, na verdade era mais ou menos aquilo mesmo.. Só a multiplicação que tinha de ficar dentro dos () .. rs.open "Select SUM(quantidade * valor) as valortotal from pedidos WHERE id_compra =741027", conexaojá ta resorvido!!valeu,WebFuture

Compartilhar este post


Link para o post
Compartilhar em outros sites

de nada tiozinhoparabens

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.