Error Createparameter adBoolean
Publicado por walter (3 intervenciones) el 25/02/2016 20:56:46
Buenas,
estoy aprendiendo a programar en visual basic, tengo el siguiente codigo para inserta una tabla en access 2010 usando parametros, pero cuando ejecuto el codigo me sale un error en tiempo de ejecucion que me dice "No coinciden los tipos de datos en la expresion de criterios"
la tabla en access tiene los siguientes campos
Campo1 Numero Entero largo
Campo2 Texto 255
Campo3 Numero Entero Largo
Campo4 Texto 255
Campo5 Si/No
el codigo que tengo es el siguiente
este codigo funciona sin el campo boleano, hice la prueba eliminandolo de la tabla y lo hace a la perfeccion, pero cuando lo vuelvo a agregar al Campo5, el codigo agrega el primer registro y al hacerlo por segunda vez me da el error en tiempo de ejecucion..
Les agradeceria me ayuden con esto..
un saludo a todos..
estoy aprendiendo a programar en visual basic, tengo el siguiente codigo para inserta una tabla en access 2010 usando parametros, pero cuando ejecuto el codigo me sale un error en tiempo de ejecucion que me dice "No coinciden los tipos de datos en la expresion de criterios"
la tabla en access tiene los siguientes campos
Campo1 Numero Entero largo
Campo2 Texto 255
Campo3 Numero Entero Largo
Campo4 Texto 255
Campo5 Si/No
el codigo que tengo es el siguiente
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Private Sub Command5_Click()
Dim icmd As ADODB.Command
Dim iconn As ADODB.Connection
Set iconn = New ADODB.Connection
iconn.CursorLocation = adUseClient
iconn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=h:\mibase.accdb; Jet OLEDB:Database Password=noni;"
Set icmd = New ADODB.Command
icmd.CommandText = " INSERT INTO RX (Campo1, Campo2, Campo3, Campo4, Campo5) VALUES (?,?,?,?,?);"
icmd.Parameters.Append icmd.CreateParameter("Campo1", adInteger, adParamInput, 10)
icmd.Parameters.Append icmd.CreateParameter("Campo2", adVarChar, adParamInput, 10)
icmd.Parameters.Append icmd.CreateParameter("Campo3", adInteger, adParamInput, 15)
icmd.Parameters.Append icmd.CreateParameter("Campo4", adVarChar, adParamInput, 15)
icmd.Parameters.Append icmd.CreateParameter("Campo5", adBoolean, adParamInput, 4, True)
Set icmd.ActiveConnection = iconn
For x = 1 To 50
icmd("Campo1") = x
icmd("Campo2") = "campito" + Trim(Str(x))
icmd("Campo3") = x * 50
icmd("Campo4") = "cuatro" + Trim(Str(x))
icmd("Campo5") = CBool(True)
icmd.Execute
Next
Set icmd.ActiveConnection = Nothing
Set icmd = Nothing
iconn.Close
End Sub
este codigo funciona sin el campo boleano, hice la prueba eliminandolo de la tabla y lo hace a la perfeccion, pero cuando lo vuelvo a agregar al Campo5, el codigo agrega el primer registro y al hacerlo por segunda vez me da el error en tiempo de ejecucion..
Les agradeceria me ayuden con esto..
un saludo a todos..
Valora esta pregunta


0