Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafa-martin

erro ao tentar atualizar registros

Recommended Posts

pessoal eu tenho uma tela que existe um listbox com checkbox.quando eu digito o código do pedido e clico em consultar vai trazer todos os códigos de produtos pertencente aquele pedido. Então cada código de produto terá um checkbox ao lado.Então se seleciono dois ou três códigos de produto e clico em alterar, no banco vai ficar checado esse campo no banco, já que está definido como sim/não.Isto estava funcionado até um tempo atrás.Aí hoje fui rodar o sistema para verificar alguns códigos de produto e deu o erro de type mismatch. E não mexi em nada, nem no banco.Uso esse intrução para atualizar:For i = 0 To lstcodigopedido.ListCount - 1 If lstcodigopedido.Selected(i) Then sql = "update itens_pedido2 set desconto = '" & lstdesc.List(i) & _ ",qtde = " & CInt(lstqtdepedido.List(i)) & _ "',valor = '" & lstpreco.List(i) & _ ",valor_bruto_i = " & CInt(lstvlrbruto.List(i)) & _ ",valor_desconto_total_i = " & CInt(lstvlrdesctotal.List(i)) & _ ",valor_liquido_i = " & CInt(lstvlrliq.List(i)) & _ ",condicao = " & CInt(lstcondicao.List(i)) & _ ",situacao = " & CInt(lstcodigopedido.List(i)) & _ "' where codigo_produto = " & CInt(lstcodigopedido.List(i)) & "" db.Execute sql End IfNext iExit SubEstava funcionando perfeitamente.Lembrando estou usando LISTBOX e não listview.O que pode ser?Me ajudem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá uma olhada nesses destaques:

For i = 0 To lstcodigopedido.ListCount - 1

If lstcodigopedido.Selected(i) Then

sql = "update itens_pedido2 set desconto = '" & lstdesc.List(i) & _

",qtde = " & CInt(lstqtdepedido.List(i)) & _

"',valor = '" & lstpreco.List(i) & _

",valor_bruto_i = " & CInt(lstvlrbruto.List(i)) & _

",valor_desconto_total_i = " & CInt(lstvlrdesctotal.List(i)) & _

",valor_liquido_i = " & CInt(lstvlrliq.List(i)) & _

",condicao = " & CInt(lstcondicao.List(i)) & _

",situacao = " & CInt(lstcodigopedido.List(i)) & _

"' where codigo_produto = " & CInt(lstcodigopedido.List(i)) & ""

db.Execute sql

End If

Next i

Exit Sub

--------------------------------------------------

Esses campos são numéricos? Se sim não há porque você usar apóstrofos neles pois campos numéricos somente precisa colocar os números, e por isso da erro de tipo.

É a mesma lógica de quando você joga texto ou número para uma variavel:

'texto:var = "texto"'númerovar = 123'campo texto (sql)descricao='produto de venda''campo numéricoquantidade = 12

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.