TRAVAR ZERO NO TEXTBOX
Pessoal quando meu textbox2.text é igual à zero ou vazio, aparecer o seguinte erro no tempo de execução :
Conversion from string [Ô][Ô] to type [ô]Double[ô] is not valid.
Como regularizo isso no meu código abaixo ? Na verdade precisa aparecer uma mensagem dizendo que o textbox não pode estar vazio ou zerado. Segue meu código.
Dim novovalor As Double
novovalor = CDbl(TextBox2.Text)
If TextBox2.Text <> [Ô][Ô] And TextBox2.Text <> 0 Then
Dim connS As String
connS = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\gobras.mdb;[Ô]
Dim conect As New OleDb.OleDbConnection
conect.ConnectionString = connS
conect.Open()
Dim selcom As New OleDb.OleDbCommand
selcom.CommandText = [Ô]SELECT produto,precoproduto,foto FROM [produtos] WHere produto = [ô][Ô] & clicar2form2grid1 & [Ô][ô];[Ô]
selcom.Connection = conect
Dim dr As OleDb.OleDbDataReader
dr = selcom.ExecuteReader()
While dr.Read()
strProduto = dr.Item(0)
douPrecoproduto = dr.Item(1)
strFoto = dr.Item(2)
Try
cmd = Con.CreateCommand
Con.Open()
With cmd
.CommandType = CommandType.Text
.CommandText = [Ô]INSERT INTO orcando ( produto,precoproduto,foto,comodo,numorc,qtdade,totalunit)VALUES (@produto,@precoproduto,@foto,@comodo,@numorc,@qtdade,@totalunit)[Ô]
.Parameters.Add([Ô]@produto[Ô], OleDbType.VarChar)
.Parameters([Ô]@produto[Ô]).Value = strProduto
.Parameters.Add([Ô]@precoproduto[Ô], OleDbType.VarChar)
.Parameters([Ô]@precoproduto[Ô]).Value = douPrecoproduto
.Parameters.Add([Ô]@foto[Ô], OleDbType.VarChar)
.Parameters([Ô]@foto[Ô]).Value = strFoto
.Parameters.Add([Ô]@comodo[Ô], OleDbType.VarChar)
.Parameters([Ô]@comodo[Ô]).Value = ComboBox1.Text
.Parameters.Add([Ô]@numorc[Ô], OleDbType.Integer)
.Parameters([Ô]@numorc[Ô]).Value = Label4.Text
.Parameters.Add([Ô]@qtdade[Ô], OleDbType.Double)
.Parameters([Ô]@qtdade[Ô]).Value = novovalor
douTotalunit = TextBox2.Text * Label8.Text
.Parameters.Add([Ô]@totalunit[Ô], OleDbType.Double)
.Parameters([Ô]@totalunit[Ô]).Value = douTotalunit
.ExecuteNonQuery()
Form3.Label19.Text = [Ô]R$ [Ô] & douTotalunit + douTotalunitdalabel
douTotalunitdalabel = Form3.Label19.Text
End With
Con.Close()
Catch
MsgBox([Ô]Erro na inclusão.[Ô])
End Try
End While
conect.Close()
PictureBox1.Image = Nothing
Call gravarnoorcados()
Else
MsgBox([Ô]Não é possÃvel que o campo quantidade seja vazio ou igual à zero.[Ô])
TextBox2.Focus()
End If
Conversion from string [Ô][Ô] to type [ô]Double[ô] is not valid.
Como regularizo isso no meu código abaixo ? Na verdade precisa aparecer uma mensagem dizendo que o textbox não pode estar vazio ou zerado. Segue meu código.
Dim novovalor As Double
novovalor = CDbl(TextBox2.Text)
If TextBox2.Text <> [Ô][Ô] And TextBox2.Text <> 0 Then
Dim connS As String
connS = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\gobras.mdb;[Ô]
Dim conect As New OleDb.OleDbConnection
conect.ConnectionString = connS
conect.Open()
Dim selcom As New OleDb.OleDbCommand
selcom.CommandText = [Ô]SELECT produto,precoproduto,foto FROM [produtos] WHere produto = [ô][Ô] & clicar2form2grid1 & [Ô][ô];[Ô]
selcom.Connection = conect
Dim dr As OleDb.OleDbDataReader
dr = selcom.ExecuteReader()
While dr.Read()
strProduto = dr.Item(0)
douPrecoproduto = dr.Item(1)
strFoto = dr.Item(2)
Try
cmd = Con.CreateCommand
Con.Open()
With cmd
.CommandType = CommandType.Text
.CommandText = [Ô]INSERT INTO orcando ( produto,precoproduto,foto,comodo,numorc,qtdade,totalunit)VALUES (@produto,@precoproduto,@foto,@comodo,@numorc,@qtdade,@totalunit)[Ô]
.Parameters.Add([Ô]@produto[Ô], OleDbType.VarChar)
.Parameters([Ô]@produto[Ô]).Value = strProduto
.Parameters.Add([Ô]@precoproduto[Ô], OleDbType.VarChar)
.Parameters([Ô]@precoproduto[Ô]).Value = douPrecoproduto
.Parameters.Add([Ô]@foto[Ô], OleDbType.VarChar)
.Parameters([Ô]@foto[Ô]).Value = strFoto
.Parameters.Add([Ô]@comodo[Ô], OleDbType.VarChar)
.Parameters([Ô]@comodo[Ô]).Value = ComboBox1.Text
.Parameters.Add([Ô]@numorc[Ô], OleDbType.Integer)
.Parameters([Ô]@numorc[Ô]).Value = Label4.Text
.Parameters.Add([Ô]@qtdade[Ô], OleDbType.Double)
.Parameters([Ô]@qtdade[Ô]).Value = novovalor
douTotalunit = TextBox2.Text * Label8.Text
.Parameters.Add([Ô]@totalunit[Ô], OleDbType.Double)
.Parameters([Ô]@totalunit[Ô]).Value = douTotalunit
.ExecuteNonQuery()
Form3.Label19.Text = [Ô]R$ [Ô] & douTotalunit + douTotalunitdalabel
douTotalunitdalabel = Form3.Label19.Text
End With
Con.Close()
Catch
MsgBox([Ô]Erro na inclusão.[Ô])
End Try
End While
conect.Close()
PictureBox1.Image = Nothing
Call gravarnoorcados()
Else
MsgBox([Ô]Não é possÃvel que o campo quantidade seja vazio ou igual à zero.[Ô])
TextBox2.Focus()
End If
em qual linha o erro ponta?
logo na segunda linha : novovalor = CDbl(TextBox2.Text)
Caro GILBERTOJW
Isso está dando erro caso sua TextBox2 estiver com NULL ou STRING
Sua variável novovalor recebe o conteudo do Textbox2 mude apenas o que esta comparando...............
Dim novovalor As Double
novovalor = CDbl(IIf(IsNumeric(TextBox2.Text) = True, TextBox2.Text, 0))
If novovalor > 0 Then
[ô]Seu código..............................
Else
MsgBox([Ô]Não é possÃvel que o campo quantidade seja vazio ou igual à zero.[Ô])
TextBox2.Focus()
End If
Boa Sorte
Isso está dando erro caso sua TextBox2 estiver com NULL ou STRING
Citação:Dim novovalor As Double
novovalor = CDbl(TextBox2.Text)
Sua variável novovalor recebe o conteudo do Textbox2 mude apenas o que esta comparando...............
Dim novovalor As Double
novovalor = CDbl(IIf(IsNumeric(TextBox2.Text) = True, TextBox2.Text, 0))
If novovalor > 0 Then
[ô]Seu código..............................
Else
MsgBox([Ô]Não é possÃvel que o campo quantidade seja vazio ou igual à zero.[Ô])
TextBox2.Focus()
End If
Boa Sorte
A sugestão de AJSO resolveu meu problema. Pode ser uma ajuda para outros . Agradeço;
Tópico encerrado , respostas não são mais permitidas