LIMPAR CAMPOS

ALTAIR148 19/04/2011 08:37:22
#371801
Bom, na verdade eu precisava de um IF ou algo do tipo, pq se caso não tiver os valores na tabela ele preencha com [Ô]0[Ô].
JONATHANSTECKER 19/04/2011 08:52:48
#371803
Resposta escolhida
Eu faço dessa forma.:
Me.acumulado_irrf.Text = CStr(IIf(reader.IsDBNull([Ô]valor_bruto1[Ô]), [Ô]0[Ô], reader([Ô]valor_bruto1[Ô])))
Me.pago_inss.Text = CStr(IIf(reader.IsDBNull([Ô]inss1[Ô]), [Ô]0[Ô], reader([Ô]inss1[Ô])))
Me.pago_irrf.Text = CStr(IIf(reader.IsDBNull([Ô]irf1[Ô]), [Ô]0[Ô], reader([Ô]irf1[Ô])))
Me.calcula_inss.Text = CStr(IIf(reader.IsDBNull([Ô]calcular_inss[Ô]), [Ô]0[Ô], reader([Ô]calcular_inss[Ô])))
ALTAIR148 19/04/2011 09:32:27
#371810
Continua dando esse erro: Conversion from string [Ô]valor_bruto1[Ô] to type [ô]Integer[ô] is not valid.




 Dim command As New MySql.Data.MySqlClient.MySqlCommand([Ô]SELECT sum(valor_bruto) as valor_bruto1, sum(inss) as inss1, sum(irf) as irf1, calcular_inss  FROM tb_pagamento WHERE cnpj = [ô][Ô] & Me.cpf_portador.Text & [Ô][ô] and data_pagamento BETWEEN [ô][Ô] & data_inicial.Text & [Ô][ô] AND [ô][Ô] & data_final.Text & [Ô][ô][Ô], GetConexao1)
Dim reader As MySql.Data.MySqlClient.MySqlDataReader
reader = command.ExecuteReader()

Do While reader.Read

Me.acumulado_irrf.Text = CStr(IIf(reader.IsDBNull([Ô]valor_bruto1[Ô]), [Ô]0[Ô], reader([Ô]valor_bruto1[Ô])))
Me.pago_inss.Text = CStr(IIf(reader.IsDBNull([Ô]valor_bruto1[Ô]), [Ô]0[Ô], reader([Ô]inss1[Ô])))
Me.pago_irrf.Text = CStr(IIf(reader.IsDBNull([Ô]valor_bruto1[Ô]), [Ô]0[Ô], reader([Ô]irf1[Ô])))
Me.calcula_inss.Text = CStr(IIf(reader.IsDBNull([Ô]valor_bruto1[Ô]), [Ô]0[Ô], reader([Ô]calcular_inss[Ô])))

Loop

reader.Close()
command.Dispose()
RODRIGOFERRO 19/04/2011 09:39:13
#371813
certeza que o erro acontece nessas linhas ?

Abraços
JONATHANSTECKER 19/04/2011 09:41:24
#371815
Bom primeiro eu efetuei uma alteração no código após ter postado... Pois dessa forma você está verificando apenas o [Ô]valor_bruto1[Ô].
Veja conforme exemplo alterado acima.
Segundo, onde exatamente está ocorrendo o erro? Pois neste exemplo não estamos convertendo nada para INTEGER. (Como informa o erro)

Adicione um BreakPoint no início do método e veja exatamente onde está ocorre.
ALTAIR148 19/04/2011 09:58:52
#371821
Ah um problema resolvi, esse erro Conversion from string [Ô]valor_bruto1[Ô] to type [ô]Integer[ô] is not valid. , acontecia pq no evento load_form ele atribuia o valor [Ô]0[Ô] nos campos, ai tirei e o erro parou nessa linha, mas os campos não estão sendo preenchidos com [Ô]0[Ô].

Mais abaixo tem um código que vai precisar do campo: [Ô]pago_inss[Ô] so que se ele estiver em branco dá o seguinte erro: Input string was not in a correct format.

Esse é o código:

If Me.base_inss.Text < faixa1_inss Then
base_inss.Text = Convert.ToDecimal(valor_frete.Text) / 100 * 20 / 100 * Convert.ToDecimal(percentagem2_inss)
acumulado_base.Text = Double.Parse(base_inss.Text) + Double.Parse(pago_inss.Text)

End If



Obrigado....
RODRIGOFERRO 19/04/2011 10:06:45
#371823
use o IIF que o Jhonathan postou !

Abraços
ALTAIR148 19/04/2011 10:18:50
#371826
Fiz da seguinte forma, antes de rodar o procedimento ele verifica se o campo estiver NULO, se estiver ele acrescenta com [Ô]0[Ô]

If Me.acumulado_irrf.Text = [Ô][Ô] Then
Me.acumulado_irrf.Text = 0
End if

If Me.pago_irrf.Text = [Ô][Ô] Then
Me.pago_irrf.Text = 0
End If



Obrigado ai gente pela ajuda.
Página 2 de 2 [18 registro(s)]
Tópico encerrado , respostas não são mais permitidas