RUN-TIME ERROR 3421 - DATA TYPE CONVERSION ERROR

MAFACILITY 13/07/2017 12:26:02
#475179
Tenho uma aplicação que está dando erro acima no update, quando faço alteração (erro está em vermelho no código abaixo no maskedit ). Na inclusão funciona normalmente. Engraçado que estava funcionando. Parou de funcionar quando zerei o BD e comecei a incluir novos registros.

DAO
BD - Access
campo precoimo - currency
Na propriedade format do objeto maskedit (maskpreimo.text) está com essa formatação: #,###########################.#0


Public Sub altimo()

On Error GoTo trataerro:
trataerro:
Select Case Err
Case 3021
Err = 0
Exit Sub
Case Else

tb_im.edit
tb_im([Ô]cpfimo[Ô]) = Maskcpfimo.Text
tb_im([Ô]endprop[Ô]) = txtendprop.Text
[txt-color=#e80000]tb_im([Ô]precoimo[Ô]) = Maskpreimo.Text[/txt-color]
tb_im([Ô]obsimo[Ô]) = txtobsimo.Text
tb_im([Ô]obsi[Ô]) = txtobsi.Text

If chkpisc.Value = 0 Then
tb_im([Ô]piscina[Ô]) = [Ô]N[Ô]
Else
tb_im([Ô]piscina[Ô]) = [Ô]S[Ô]
End If
If chksau.Value = 0 Then
tb_im([Ô]sauna[Ô]) = [Ô]N[Ô]
Else
tb_im([Ô]sauna[Ô]) = [Ô]S[Ô]
End If
If chkjar.Value = 0 Then
tb_im([Ô]jardim[Ô]) = [Ô]N[Ô]
Else
tb_im([Ô]jardim[Ô]) = [Ô]S[Ô]
End If
If chkqua.Value = 0 Then
tb_im([Ô]quadra[Ô]) = [Ô]N[Ô]
Else
tb_im([Ô]quadra[Ô]) = [Ô]S[Ô]
End If
If chkgar.Value = 0 Then
tb_im([Ô]garagem[Ô]) = [Ô]N[Ô]
Else
tb_im([Ô]garagem[Ô]) = [Ô]S[Ô]
End If
If chkchu.Value = 0 Then
tb_im([Ô]churrasqueira[Ô]) = [Ô]N[Ô]
Else
tb_im([Ô]churrasqueira[Ô]) = [Ô]S[Ô]
End If


tb_im.Update

End Select
End Sub
JABA 13/07/2017 21:51:11
#475190
Muito provavelmente você está passando os seus dados para esse campo com [Ô]vírgula[Ô], quando deveria ser com [Ô]ponto[Ô]. Faça os testes sem aplicar a formatação que acho que ficará mais fácil descobrir o motivo do problema.
NICKOSOFT 14/07/2017 07:07:35
#475192
na verdade vc esta passando um string pra um campo currency, [Ô]transforme[Ô] então esse string no mesmo formato do banco....tem algo nativo no VB pra isso
Faça seu login para responder