CAMPO DO TIPO NUMERICO
Estou resgatando 3 campos do tipo textbox um valor numérico e jogando em arrays para fazer um INSERT dinamico
Dim qtd() As String = {txtcli_qtd1.Text, txtcli_qtd2.Text, txtcli_qtd3.Text, txtcli_qtd4.Text, txtcli_qtd5.Text, txtcli_qtd6.Text}
Dim vun() As String = {txtcli_vu1.Text, txtcli_vu2.Text, txtcli_vu3.Text, txtcli_vu4.Text, txtcli_vu5.Text, txtcli_vu6.Text}
[ô]soma totais
Dim somatotal() As String = {lblcli_st1.Text, lblcli_st2.Text, lblcli_st3.Text, lblcli_st4.Text, lblcli_st5.Text, lblcli_st6.Text}
Na sql ta o seguinte:
sql = [Ô]Insert into item_pedido(npedido,produto,un,qtd,valorun,valortotal,ativado) values([Ô] & txtcli_npedido.Text & [Ô],[ô][Ô] & produto(i) & [Ô][ô],[ô][Ô] & unprod(i) & [Ô][ô],[Ô] & qtd(i) & [Ô],[Ô] & vun(i) & [Ô],[Ô] & somatotal(i) & [Ô],[ô]S[ô])[Ô]
Add Watch abaixo para ver como ficou a sql
Insert into item_pedido(npedido,produto,un,qtd,valorun,valortotal,ativado) values(234,[ô]AGROTAPE - FITA ADESIVA PARA REPARO DE FILME AGRÃCOLA[ô],[ô]RL[ô],2,45,90,[ô]S[ô])
no access os campos npedido, qtde, valorun, valortotal são do tipo numérico
Mas ta dando erro de dados incompatÃveis na expressão de critério
Dim qtd() As String = {txtcli_qtd1.Text, txtcli_qtd2.Text, txtcli_qtd3.Text, txtcli_qtd4.Text, txtcli_qtd5.Text, txtcli_qtd6.Text}
Dim vun() As String = {txtcli_vu1.Text, txtcli_vu2.Text, txtcli_vu3.Text, txtcli_vu4.Text, txtcli_vu5.Text, txtcli_vu6.Text}
[ô]soma totais
Dim somatotal() As String = {lblcli_st1.Text, lblcli_st2.Text, lblcli_st3.Text, lblcli_st4.Text, lblcli_st5.Text, lblcli_st6.Text}
Na sql ta o seguinte:
sql = [Ô]Insert into item_pedido(npedido,produto,un,qtd,valorun,valortotal,ativado) values([Ô] & txtcli_npedido.Text & [Ô],[ô][Ô] & produto(i) & [Ô][ô],[ô][Ô] & unprod(i) & [Ô][ô],[Ô] & qtd(i) & [Ô],[Ô] & vun(i) & [Ô],[Ô] & somatotal(i) & [Ô],[ô]S[ô])[Ô]
Add Watch abaixo para ver como ficou a sql
Insert into item_pedido(npedido,produto,un,qtd,valorun,valortotal,ativado) values(234,[ô]AGROTAPE - FITA ADESIVA PARA REPARO DE FILME AGRÃCOLA[ô],[ô]RL[ô],2,45,90,[ô]S[ô])
no access os campos npedido, qtde, valorun, valortotal são do tipo numérico
Mas ta dando erro de dados incompatÃveis na expressão de critério
Tente assim:
sql = [Ô]Insert into item_pedido(npedido,produto,un,qtd,valorun,valortotal,ativado) values([ô][Ô] & txtcli_npedido.Text & [Ô][ô],[ô][Ô] & produto(i) & [Ô][ô],[ô][Ô] & unprod(i) & [Ô][ô],[ô][Ô] & qtd(i) & [Ô][ô],[ô][Ô] & vun(i) & [Ô][ô],[ô][Ô] & somatotal(i) & [Ô][ô],[ô]S[ô])[Ô]
tentei da o mesmo erro
lembrando que sao 4 campos do tipo numérico
no sql os campos numericos nao usam somente aspas duplas??????
lembrando que sao 4 campos do tipo numérico
no sql os campos numericos nao usam somente aspas duplas??????
Uma outra coisa que vc pode tentar é utilizar parâmetros ao invés de concatenar strings. Então vc não precisa se preocupar com esses detalhes de implementação.
me da um exemplo de parametros, nunca usei
Fica +/- assim:
Repare que não fiz em todos os campos, apenas em alguns. O restante fica por sua conta. Se não der certo, quando for postar novamente, poste o código como ficou.
cn = New OleDbConnection(strconexao)
cn.Open()
Dim stringInsert As String = [Ô]Insert into item_pedido(npedido,produto,un,qtd,valorun,valortotal,ativado) values(@npedido,@produto, @unprod,@unprod & [Ô][ô],[ô][Ô] & qtd(i) & [Ô][ô],[ô][Ô] & vun(i) & [Ô][ô],[ô]Total[ô],[ô]S[ô])[Ô]
Dim cmd As OleDbCommand = New OleDbCommand(stringInsert, cn)
cmd.Parameters.AddWithValue([Ô]@npedido[Ô], txtcli_npedido.Text)
cmd.Parameters.AddWithValue([Ô]@produto[Ô], produto(i))
cmd.Parameters.AddWithValue([Ô]@unprod[Ô], unprod(i))
cmd.ExecuteNonQuery()
Next
Repare que não fiz em todos os campos, apenas em alguns. O restante fica por sua conta. Se não der certo, quando for postar novamente, poste o código como ficou.
Deu certo porem tive que mudar o tipo de campo no bd para texto em todos os campos, somente o campo produto para memorando pois ele é grande.
com campos numéricos no bd sempre da o mesmo erro de dados incompatÃveis na expressão do critério.
com campos numéricos no bd sempre da o mesmo erro de dados incompatÃveis na expressão do critério.
Teria que verificar o erro, pelo seguinte, campos pelo seguinte o correto é gravar valores em campos numéricos. Isso depois evita alguns problemas.
Você tentou fazer a inserção por parâmetros?
Você tentou fazer a inserção por parâmetros?
Tentei sim salvar por parâmetros antes de mudar o tipo de campo no bd mas tava dando o mesmo erro anterior
Tipo incompativel na expressao de critério
Tipo incompativel na expressao de critério
hum... muito estranho. Teria que fazer uma análise mais detalhada então.
Resolvido, era um erro no bd mesmo, agora todos campos no bd estao numericos e com parametros deu certo..
Estou encerrando este tópico
Obrigado novamente
Estou encerrando este tópico
Obrigado novamente
Tópico encerrado , respostas não são mais permitidas