[AJUDA] ERRO DE CONVERSAO
Estou criando uma aplicação para aprendizado como se fosse um caixa de venda de produtos.
carrego nomes dos produtos para um ComboBox que veio do banco de dados access, selecionado o produto joga o nome do produto para um ListBox e o valor do item para outro ListBox ate ai tudo bem.
Agora quero fazer a soma do produtos listados no 2 listbox só que quando vou abrir da um erro.
Citação:A conversão da cadeia de caracteres [ô]valor_produto[ô] no tipo [ô]Double[ô] não é válida.
olha como esta.
Citação:Dim con As New OleDb.OleDbConnection
con.ConnectionString = My.Settings.CNS
con.Open()
Dim comando As New OleDbCommand
comando.CommandText = [Ô]SELECT nome_produto,valor_produto FROM TB_produto WHERE nome_produto = [ô][Ô] & ComboBox1.Text & [Ô][ô][Ô]
comando.CommandType = CommandType.Text
comando.Connection = con
Dim leitor As OleDbDataReader
leitor = comando.ExecuteReader()
Dim soma As Single
Do While leitor.Read
ListBox1.Items.Add(leitor([Ô]nome_produto[Ô]))
ListBox2.Items.Add(leitor([Ô]valor_Produto[Ô]))
soma = soma + [Ô]valor_produto[Ô]
vTotal.Text = soma
Loop
con.Close()
Pq dessa forma que voce não irá pegar o retorno do banco de dados, somente esta colocando uma string.
Espero ter ajudado.
Dim con As New OleDb.OleDbConnection
con.ConnectionString = My.Settings.CNS
con.Open()
Dim comando As New OleDbCommand
comando.CommandText = [Ô]SELECT nome_produto,valor_produto FROM TB_produto WHERE nome_produto = [ô][Ô] & ComboBox1.Text & [Ô][ô][Ô]
comando.CommandType = CommandType.Text
comando.Connection = con
Dim leitor As OleDbDataReader
leitor = comando.ExecuteReader()
Dim soma As Single
Do While leitor.Read
ListBox1.Items.Add(leitor([Ô]nome_produto[Ô]))
ListBox2.Items.Add(leitor([Ô]valor_Produto[Ô]))
Loop
[txt-color=#0000f0]Soma = 0
For L = 0 To ListBox2.Listcount -1
Soma = Soma + ListBox2.List(L)
Next L
vTotal.Text = soma[/txt-color]
con.Close()
nao tinha colocado o leitor
Citação:soma = soma + CDbl(leitor([Ô]valor_produto[Ô]))
agora funciono perfeita mente
Obrigado ai..
Eu queria digital um valor no TextBox que seria o valor que o cliente teria dado para paga oque compro, e subtrair do valor total e mostrasse o troco dele no vtroco
como poderia fazer ?
Uploaded with ImageShack.us
Eu fiz Assim mais nao esta subtraindo corretamente
Citação:Dim con As New OleDb.OleDbConnection
con.ConnectionString = My.Settings.CNS
con.Open()
Dim comando As New OleDbCommand
comando.CommandText = [Ô]SELECT nome_produto,valor_produto FROM TB_produto WHERE nome_produto = [ô][Ô] & NomeProd.Text & [Ô][ô][Ô]
comando.CommandType = CommandType.Text
comando.Connection = con
Dim leitor As OleDbDataReader
leitor = comando.ExecuteReader()
Do While leitor.Read
ListaProduto.Items.Add(leitor([Ô]nome_produto[Ô]))
ListaValor.Items.Add(Format(leitor([Ô]valor_Produto[Ô]), [Ô]c[Ô]))
soma = soma + CDbl(leitor([Ô]valor_produto[Ô]))
vTotal.Text = Format(soma, [Ô]c[Ô])
subtra = subtra - soma
vTroco.Text = Format(subtra, [Ô]c[Ô])
Loop
con.Close()
Citação::
... estou começando com visual basic ...
Amigo, ....
Se está começando, então começa logo com .NET
é
Troco = Dinheiro - Total
ou seja
Dim con As New OleDb.OleDbConnection
con.ConnectionString = My.Settings.CNS
con.Open()
Dim comando As New OleDbCommand
comando.CommandText = [Ô]SELECT nome_produto,valor_produto FROM TB_produto WHERE nome_produto = [ô][Ô] & NomeProd.Text & [Ô][ô][Ô]
comando.CommandType = CommandType.Text
comando.Connection = con
Dim leitor As OleDbDataReader
leitor = comando.ExecuteReader()
Do While leitor.Read
ListaProduto.Items.Add(leitor([Ô]nome_produto[Ô]))
ListaValor.Items.Add(Format(leitor([Ô]valor_Produto[Ô]), [Ô]c[Ô]))
soma = soma + CDbl(leitor([Ô]valor_produto[Ô]))
vTotal.Text = Format(soma, [Ô]c[Ô])
Loop
vTroco.Text = Format(CDbl(vDinheiro.Text) - CDbl(vTotal.Text), [Ô]c[Ô])
con.Close()
eu tinha tentado fazer da quele jeito mais não tinha funcionado por que tinha colocado o ( CDbl )
e também não estava colocando entre parentes.
Citação::Se está começando, então começa logo com .NET
esse .NET que você diz seria o ASP.NET ?
baixe a versão 2010 express (versão gratuita), no próprio site da microsoft.