SOMAR COLUNA DO DATAGRID
Boa tarde a todos
Tenho um combobox que está carregado com um datareader.Nele aparece o nome do produto.
Depois que escolho o produto, aparece em outros textbox, o código,o valor e a quantidade no estoque.
Após isso a pessoa escolhe a quantidade desejada do produto.
Feito essa escolha clico no botão INCLUIR e aparece no datagrid
Na coluna 1 o código do produto
Na coluna 2 o nome do produto
Na coluna 3 o Preço unitário do produto
Na coluna 4 a quantidade desejada que foi escolhida e
Na Última coluna o valor Total.
Até aà tudo bem
Eu gostaria que conforme fosse clicando no botão incluir a soma aparecesse num label.Do jeito que postei sempre aparece uma soma errada.Desde já agradeço aos amigos
vou postar o Código
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIncluir.Click
sqlInsert = [Ô] Insert into RotacaoProdutos(Codigo,Quantidade)Values([ô][Ô] & txtCodigo.Text & [Ô][ô],[ô][Ô] & txtPedido.Text & [Ô][ô])[Ô]
Comando = New MySqlCommand(sqlInsert, Conexao)
Comando.ExecuteNonQuery()
Total = CDbl(txtPedido.Text) * CDbl(txtPrecoVenda.Text)
Codigo = txtCodigo.Text
Produto = cboVendas.Text
Preco = txtPrecoVenda.Text
Quantidade1 = txtPedido.Text
Dim linha As New DataGridViewRow
linha.CreateCells(dgvVendas)
With dgvVendas
linha.Cells(0).Value = Codigo
linha.Cells(1).Value = Produto
linha.Cells(2).Value = Preco
linha.Cells(3).Value = Quantidade1
linha.Cells(4).Value = Format(Total, [Ô]Currency[Ô])
.Rows.Add(linha)
End With
For i = 1 To dgvVendas.Columns.Count
Soma = Soma + (linha.Cells(4).Value)
Next
lblTotal.Text = Soma
End Sub
Tenho um combobox que está carregado com um datareader.Nele aparece o nome do produto.
Depois que escolho o produto, aparece em outros textbox, o código,o valor e a quantidade no estoque.
Após isso a pessoa escolhe a quantidade desejada do produto.
Feito essa escolha clico no botão INCLUIR e aparece no datagrid
Na coluna 1 o código do produto
Na coluna 2 o nome do produto
Na coluna 3 o Preço unitário do produto
Na coluna 4 a quantidade desejada que foi escolhida e
Na Última coluna o valor Total.
Até aà tudo bem
Eu gostaria que conforme fosse clicando no botão incluir a soma aparecesse num label.Do jeito que postei sempre aparece uma soma errada.Desde já agradeço aos amigos
vou postar o Código
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIncluir.Click
sqlInsert = [Ô] Insert into RotacaoProdutos(Codigo,Quantidade)Values([ô][Ô] & txtCodigo.Text & [Ô][ô],[ô][Ô] & txtPedido.Text & [Ô][ô])[Ô]
Comando = New MySqlCommand(sqlInsert, Conexao)
Comando.ExecuteNonQuery()
Total = CDbl(txtPedido.Text) * CDbl(txtPrecoVenda.Text)
Codigo = txtCodigo.Text
Produto = cboVendas.Text
Preco = txtPrecoVenda.Text
Quantidade1 = txtPedido.Text
Dim linha As New DataGridViewRow
linha.CreateCells(dgvVendas)
With dgvVendas
linha.Cells(0).Value = Codigo
linha.Cells(1).Value = Produto
linha.Cells(2).Value = Preco
linha.Cells(3).Value = Quantidade1
linha.Cells(4).Value = Format(Total, [Ô]Currency[Ô])
.Rows.Add(linha)
End With
For i = 1 To dgvVendas.Columns.Count
Soma = Soma + (linha.Cells(4).Value)
Next
lblTotal.Text = Soma
End Sub
Adhel vc nao precisa fazer loop no datagrid, vc ja ta multiplicando o valor unitario com a quantidade logo acima, é só somar a variavel total e jogar no label, assim
lbltotal.text= cdbl(lbltotal.text) + total
lbltotal.text= cdbl(lbltotal.text) + total
Alexandre
Obrigado pela atenção
Se entendi direito era p/ apagar o loop e inserir lbltotal.text = cdbl(lbltotal.text)+ total
Se era isso não funcionou.
Aparece essa msg
Conversion from string [Ô][Ô] to type [ô]Double[ô] is not valid.
Valeu
Obrigado pela atenção
Se entendi direito era p/ apagar o loop e inserir lbltotal.text = cdbl(lbltotal.text)+ total
Se era isso não funcionou.
Aparece essa msg
Conversion from string [Ô][Ô] to type [ô]Double[ô] is not valid.
Valeu
tenta isso:
For i = 1 To dgvVendas.Columns.Count -1
Soma = Soma + (linha.Cells(i).Value)
Next
linha.cells(i), não linha.cells(4)
For i = 1 To dgvVendas.Columns.Count -1
Soma = Soma + (linha.Cells(i).Value)
Next
linha.cells(i), não linha.cells(4)
ou então como o ACG1574 disse:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIncluir.Click
sqlInsert = [Ô] Insert into RotacaoProdutos(Codigo,Quantidade)Values([ô][Ô] & txtCodigo.Text & [Ô][ô],[ô][Ô] & txtPedido.Text & [Ô][ô])[Ô]
Comando = New MySqlCommand(sqlInsert, Conexao)
Comando.ExecuteNonQuery()
Total = CDbl(txtPedido.Text) * CDbl(txtPrecoVenda.Text)
Codigo = txtCodigo.Text
Produto = cboVendas.Text
Preco = txtPrecoVenda.Text
Quantidade1 = txtPedido.Text
Dim linha As New DataGridViewRow
linha.CreateCells(dgvVendas)
With dgvVendas
linha.Cells(0).Value = Codigo
linha.Cells(1).Value = Produto
linha.Cells(2).Value = Preco
linha.Cells(3).Value = Quantidade1
linha.Cells(4).Value = Format(Total, [Ô]Currency[Ô])
.Rows.Add(linha)
End With
lblTotal.Text = CStr(CDbl(lblTotal.text) + Soma)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIncluir.Click
sqlInsert = [Ô] Insert into RotacaoProdutos(Codigo,Quantidade)Values([ô][Ô] & txtCodigo.Text & [Ô][ô],[ô][Ô] & txtPedido.Text & [Ô][ô])[Ô]
Comando = New MySqlCommand(sqlInsert, Conexao)
Comando.ExecuteNonQuery()
Total = CDbl(txtPedido.Text) * CDbl(txtPrecoVenda.Text)
Codigo = txtCodigo.Text
Produto = cboVendas.Text
Preco = txtPrecoVenda.Text
Quantidade1 = txtPedido.Text
Dim linha As New DataGridViewRow
linha.CreateCells(dgvVendas)
With dgvVendas
linha.Cells(0).Value = Codigo
linha.Cells(1).Value = Produto
linha.Cells(2).Value = Preco
linha.Cells(3).Value = Quantidade1
linha.Cells(4).Value = Format(Total, [Ô]Currency[Ô])
.Rows.Add(linha)
End With
lblTotal.Text = CStr(CDbl(lblTotal.text) + Soma)
End Sub
KILLER
Nem de um forma nem da outra .
Do jeito que vc tinha postado ,já tinha feito e não deu.
Valeu pela ajuda
Nem de um forma nem da outra .
Do jeito que vc tinha postado ,já tinha feito e não deu.
Valeu pela ajuda
e assim:
...
With dgvVendas
linha.Cells(0).Value = Codigo
linha.Cells(1).Value = Produto
linha.Cells(2).Value = Preco
linha.Cells(3).Value = Quantidade1
linha.Cells(4).Value = Format(Total, [Ô]Currency[Ô])
.Rows.Add(linha)
End With
lblTotal.Text = CStr(CDbl(lblTotal.text) + CDbl(Total))
End Sub
ou assim:
...
With dgvVendas
linha.Cells(0).Value = Codigo
linha.Cells(1).Value = Produto
linha.Cells(2).Value = Preco
linha.Cells(3).Value = Quantidade1
linha.Cells(4).Value = Format(Total, [Ô]Currency[Ô])
.Rows.Add(linha)
End With
For i = 0 To dgProdutos.Rows.Count
soma = soma + CDbl(dgProdutos.Item(4, i).ToString)
Next
lblTotal.text = CStr(soma)
End Sub
...
With dgvVendas
linha.Cells(0).Value = Codigo
linha.Cells(1).Value = Produto
linha.Cells(2).Value = Preco
linha.Cells(3).Value = Quantidade1
linha.Cells(4).Value = Format(Total, [Ô]Currency[Ô])
.Rows.Add(linha)
End With
lblTotal.Text = CStr(CDbl(lblTotal.text) + CDbl(Total))
End Sub
ou assim:
...
With dgvVendas
linha.Cells(0).Value = Codigo
linha.Cells(1).Value = Produto
linha.Cells(2).Value = Preco
linha.Cells(3).Value = Quantidade1
linha.Cells(4).Value = Format(Total, [Ô]Currency[Ô])
.Rows.Add(linha)
End With
For i = 0 To dgProdutos.Rows.Count
soma = soma + CDbl(dgProdutos.Item(4, i).ToString)
Next
lblTotal.text = CStr(soma)
End Sub
qual o tipo de variavel que vc criou a variavel TOTAL ?
tem que definir ela como doble
dim total as double
tem que definir ela como doble
dim total as double
Alexandre
Ela está como Double
Ela está como Double
Olha eu testei aki e funcionou direitinho, se não funcionar agora posta o erro OK
sqlInsert = [Ô] Insert into RotacaoProdutos(Codigo,Quantidade)Values([ô][Ô] & txtCodigo.Text & [Ô][ô],[ô][Ô] & txtPedido.Text & [Ô][ô])[Ô]
Comando = New MySqlCommand(sqlInsert, Conexao)
Comando.ExecuteNonQuery()
Total = CDbl(txtPrecoVenda.Text) * CDbl(txtPedido.Text)
Dim linha As New DataGridViewRow
linha.CreateCells(dgvVendas)
With dgvVendas
linha.Cells(0).Value = txtCodigo.Text
linha.Cells(1).Value = cboVendas.Text
linha.Cells(2).Value = txtPrecoVenda.Text
linha.Cells(3).Value = txtPedido.Text
linha.Cells(4).Value = Format(Total, [Ô]Currency[Ô])
.Rows.Add(linha)
End With
lblTotal.Text = CStr(CDbl(lblTotal.Text) + Total)
sqlInsert = [Ô] Insert into RotacaoProdutos(Codigo,Quantidade)Values([ô][Ô] & txtCodigo.Text & [Ô][ô],[ô][Ô] & txtPedido.Text & [Ô][ô])[Ô]
Comando = New MySqlCommand(sqlInsert, Conexao)
Comando.ExecuteNonQuery()
Total = CDbl(txtPrecoVenda.Text) * CDbl(txtPedido.Text)
Dim linha As New DataGridViewRow
linha.CreateCells(dgvVendas)
With dgvVendas
linha.Cells(0).Value = txtCodigo.Text
linha.Cells(1).Value = cboVendas.Text
linha.Cells(2).Value = txtPrecoVenda.Text
linha.Cells(3).Value = txtPedido.Text
linha.Cells(4).Value = Format(Total, [Ô]Currency[Ô])
.Rows.Add(linha)
End With
lblTotal.Text = CStr(CDbl(lblTotal.Text) + Total)
KILLER
Aqui o erro continua
Conversion from string [Ô][Ô] to type [ô]Double[ô] is not valid.
Aqui o erro continua
Conversion from string [Ô][Ô] to type [ô]Double[ô] is not valid.
Tópico encerrado , respostas não são mais permitidas