TRAVAR ZERO NO TEXTBOX

GILBERTOJW 15/01/2013 11:52:28
#417398
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
MARCELO.TREZE 15/01/2013 12:14:02
#417401
em qual linha o erro ponta?
GILBERTOJW 15/01/2013 12:16:44
#417402
logo na segunda linha : novovalor = CDbl(TextBox2.Text)
AJSO 15/01/2013 12:19:22
#417403
Resposta escolhida
Caro GILBERTOJW




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
GILBERTOJW 15/01/2013 12:37:50
#417405
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