SOMAR VALORES DA COLUNA?

SERGIO 29/12/2009 00:54:21
#330630
pessoal estou fazendo um projeto e presiço somar o valor total de uma coluna é assim tenho a tabela movimento(CodigoLocacao,CodigoCliente,CodigoFilme,Locacao,Devolucao , valor)
o valor tem um tamanho fixo de 2,50
então queria fazer assim se tiver por exemplo na tabela movimento o CodigoCliente 2 fez quer dizer que ele fez duas locações então o total seria de R$ 5 certo, mas como fazer esse select? eu queria fazer essa soma na hora da devolução do filme meu codigo do botão registraLocação está assim.

    myCmd = New MySql.Data.MySqlClient.MySqlCommand([Ô]update movimento set devolucao = [ô][Ô] & System.DateTime.Now & [Ô][ô] where CodigoCliente = [ô][Ô] & txtCodCli.Text & [Ô][ô][Ô], myCon) [ô] faz um update na tabela movimento inserindo a data de devolução do filme
myDrr = myCmd.ExecuteReader
myCmd.Dispose()
myDrr.Close()

Dim info As String [ô] variavel que vai mudar o status do filme para disponivel no bd
info = [Ô]Disponivel[Ô]
Dim somar As Double [ô] variavel que faz uma soma com o valor da variavel armazenar (somar = 1 )
somar = 1
Dim armazenar As String [ô] variavel que pega o valor do estoque do filme pelo codigo do filme inserido no txt correspondente

myCmd = New MySql.Data.MySqlClient.MySqlCommand([Ô]select * from filme where CodigoFilme = [ô][Ô] & txtCodFilme.Text & [Ô][ô][Ô], myCon)
myDrr = myCmd.ExecuteReader
If myDrr.HasRows = True Then
myDrr.Read()
armazenar = myDrr.Item([Ô]Estoque[Ô]).ToString
End If
myCmd.Dispose()
myDrr.Close()


Dim quantidade As Double = Val(armazenar) + Val(somar) [ô] variavel que vai somar o valor armazenado(estoque) + 1 unidade que vem da variavel somar
myCmd = New MySql.Data.MySqlClient.MySqlCommand([Ô]update filme set Estoque = [ô][Ô] & quantidade & [Ô][ô],Status = [ô][Ô] & info & [Ô][ô] where CodigoFilme = [ô][Ô] & txtCodFilme.Text & [Ô][ô][Ô], myCon)
myDrr = myCmd.ExecuteReader
myCmd.Dispose()
myDrr.Close()

myCmd = New MySql.Data.MySqlClient.MySqlCommand([Ô]select * from movimento where CodigoCliente = [ô][Ô] & txtCodCli.Text & [Ô][ô][Ô], myCon)
Dim adapter As MySql.Data.MySqlClient.MySqlDataAdapter
Dim table As DataTable

adapter = New MySql.Data.MySqlClient.MySqlDataAdapter(myCmd) [ô] preenche o datagrid com o cliente selecionado mostrando suas locações efetuadas
table = New DataTable

adapter.Fill(table)
DataGridView1.DataSource = table
myDrr = myCmd.ExecuteReader
MsgBox([Ô]Devolução Registrada com sucesso[Ô], MsgBoxStyle.Information)
myCmd.Dispose()
myDrr.Close()
[txt-size=2] [/txt-size]
desde já agredeço o pessoal
SERGIO 29/12/2009 01:13:02
#330631
outra coisa pessoal eu fiz um teste no mysql query e fiz assim:
select sum(valor) from movimento where CodigoCliente = 1
o resultado sai 4???? era pra ser 5?? pq isso , o valor está gravado assim 2,50 o campo é varchar e eu tentei substituir o , por . mais não consegui somar pra substituir eu fiz assim
select replace(valor, [ô] , [ô] , [ô].[ô]) from movimento ae aparece 2.50 mais não consigo somar awwww
SERGIO 02/01/2010 12:12:18
#330867
boum pessoal como faço para verificar se na mesma coluna tem valores iguais então soma estou fazendo assim:
   If DataGridView1.Rows(0).Cells([Ô]CodigoCliente[Ô]).Value = DataGridView1.Rows(1).Cells([Ô]CodigoCliente[Ô]).Value Then 
lblValorTotal.Text = Val(DataGridView1.Rows(0).Cells([Ô]valor[Ô]).Value) + Val(DataGridView1.Rows(1).Cells([Ô]valor[Ô]).Value)
Else
lblValorTotal.Text = DataGridView1.Rows(0).Cells([Ô]valor[Ô]).Value
End If


só que deste geito só faz soma se for 2 valores ou 1 só , como faço para somar a coluna CodigoCliente por indeterminadas vezes????
SERGIO 06/01/2010 02:25:37
#331126
boum enquanto a soma já resolvi , como faço para o mysql fazer a soma certa no campo valor em gravo com ponto os valores ex(2.50) agora na soma desse valor em 3 ficaria 7,50 só que quando eu faço o select sum no bd ele me retorna 7.5???woww shit
ROBSON220BASS 06/01/2010 11:25:26
#331167
Resposta escolhida
tente formatar os valores antes de mandar para o campo

exemplo :

text1.text=format(valorsomado,[Ô]###,#0.00[Ô])

depois disso ficara assim : 7,50



duvidas post novamente..
SERGIO 06/01/2010 12:52:44
#331174
obrigado ROBSON220BASS funcionou
Tópico encerrado , respostas não são mais permitidas