error con los tipos de datos al hacer cn.execute "update tabla" en ADO vb 6
Va todo bien hasta que le meto un dato de tipo boolean. Que me da este errosr:
"No se han especificado valores para algunos de los parametros requeridos"
Este es el codigo:
donde son booleanos es_vol, Lunes, Martes, miercoles, jueves, y viernes.
Si los quito funciona todo genial.
cn.Execute "UPDATE TB_TEC_VOL set NOMBRE='" & rstec.Fields("NOMBRE").Value & "',TELEFONO='" & rstec.Fields("TELEFONO").Value & "',MAIL='" & rstec.Fields("MAIL").Value & "',DIRECCION='" & rstec.Fields("DIRECCION").Value & "',FECHA_IN='" & (rstec.Fields("FECHA_IN").Value) & "',FECHA_BAJA='" & Val(rstec.Fields("FECHA_BAJA").Value) & "',MAÑANA_TARDE='" & rstec.Fields("MAÑANA_TARDE").Value & "',ES_VOL=" & rstec.Fields("ES_VOL").Value & ",LUNES=" & rstec.Fields("LUNES").Value & " WHERE ID_TEC='" & rstec.Fields("ID_TEC").Value & "';"
Muchas gracias a todos
"No se han especificado valores para algunos de los parametros requeridos"
Este es el codigo:
donde son booleanos es_vol, Lunes, Martes, miercoles, jueves, y viernes.
Si los quito funciona todo genial.
cn.Execute "UPDATE TB_TEC_VOL set NOMBRE='" & rstec.Fields("NOMBRE").Value & "',TELEFONO='" & rstec.Fields("TELEFONO").Value & "',MAIL='" & rstec.Fields("MAIL").Value & "',DIRECCION='" & rstec.Fields("DIRECCION").Value & "',FECHA_IN='" & (rstec.Fields("FECHA_IN").Value) & "',FECHA_BAJA='" & Val(rstec.Fields("FECHA_BAJA").Value) & "',MAÑANA_TARDE='" & rstec.Fields("MAÑANA_TARDE").Value & "',ES_VOL=" & rstec.Fields("ES_VOL").Value & ",LUNES=" & rstec.Fields("LUNES").Value & " WHERE ID_TEC='" & rstec.Fields("ID_TEC").Value & "';"
Muchas gracias a todos
Hola,
Debes introducir los valores como True o False haciendo esta comprobación.
Dim aux As String
If rstec("ES_VOL") = "Verdadero" Then
aux = "True"
Else
aux = "False"
End If
Y luego ese valor es el que pones en la query
cn.Execute "UPDATE TB_TEC_VOL set NOMBRE='" & rstec.Fields("NOMBRE").Value & "',TELEFONO='" & rstec.Fields("TELEFONO").Value & "',MAIL='" & rstec.Fields("MAIL").Value & "',DIRECCION='" & rstec.Fields("DIRECCION").Value & "',FECHA_IN='" & (rstec.Fields("FECHA_IN").Value) & "',FECHA_BAJA='" & Val(rstec.Fields("FECHA_BAJA").Value) & "',MAÑANA_TARDE='" & rstec.Fields("MAÑANA_TARDE").Value & "',ES_VOL=" & aux ...........
Un saludo
sdemingo
Debes introducir los valores como True o False haciendo esta comprobación.
Dim aux As String
If rstec("ES_VOL") = "Verdadero" Then
aux = "True"
Else
aux = "False"
End If
Y luego ese valor es el que pones en la query
cn.Execute "UPDATE TB_TEC_VOL set NOMBRE='" & rstec.Fields("NOMBRE").Value & "',TELEFONO='" & rstec.Fields("TELEFONO").Value & "',MAIL='" & rstec.Fields("MAIL").Value & "',DIRECCION='" & rstec.Fields("DIRECCION").Value & "',FECHA_IN='" & (rstec.Fields("FECHA_IN").Value) & "',FECHA_BAJA='" & Val(rstec.Fields("FECHA_BAJA").Value) & "',MAÑANA_TARDE='" & rstec.Fields("MAÑANA_TARDE").Value & "',ES_VOL=" & aux ...........
Un saludo
sdemingo
Pues he hecho lo que me has dicho, y ahora me dice que no coincidan los tipos de datos en la expresion criterios.
El codigo queda algo asi:
Dim bool As String
Dim num As Integer
move_reg_donaciones Esto es para obtener los datos del form al recordset
num = CInt(rsdonaciones.Fields("ID_DONANTE").Value)
If rsdonaciones.Fields("PAGO_TRANSPORTE").Value = True Then bool = "True" Else bool = "False"
cn.Execute "UPDATE TB_donaciones set DONANTE='" & rsdonaciones.Fields("DONANTE").Value & "',TLF='" & rsdonaciones.Fields("TLF").Value & "',DIRECCION='" & rsdonaciones.Fields("DIRECCION").Value & "',MAIL='" & rsdonaciones.Fields("MAIL").Value & "',OBSERVACIONES='" & rsdonaciones.Fields("OBSERVACIONES").Value & "',FECHA_ENTRADA='" & Val(rsdonaciones.Fields("FECHA_ENTRADA").Value) & "',PAGO_TRANSPORTE=" & (bool) & ",N_PCS='" & (rsdonaciones.Fields("N_PCS").Value) & "'WHERE ID_DONANTE=" & num & ";"
la expresion criterios debe de ser esta ultima....
Muchas gracias por todo.
El codigo queda algo asi:
Dim bool As String
Dim num As Integer
move_reg_donaciones Esto es para obtener los datos del form al recordset
num = CInt(rsdonaciones.Fields("ID_DONANTE").Value)
If rsdonaciones.Fields("PAGO_TRANSPORTE").Value = True Then bool = "True" Else bool = "False"
cn.Execute "UPDATE TB_donaciones set DONANTE='" & rsdonaciones.Fields("DONANTE").Value & "',TLF='" & rsdonaciones.Fields("TLF").Value & "',DIRECCION='" & rsdonaciones.Fields("DIRECCION").Value & "',MAIL='" & rsdonaciones.Fields("MAIL").Value & "',OBSERVACIONES='" & rsdonaciones.Fields("OBSERVACIONES").Value & "',FECHA_ENTRADA='" & Val(rsdonaciones.Fields("FECHA_ENTRADA").Value) & "',PAGO_TRANSPORTE=" & (bool) & ",N_PCS='" & (rsdonaciones.Fields("N_PCS").Value) & "'WHERE ID_DONANTE=" & num & ";"
la expresion criterios debe de ser esta ultima....
Muchas gracias por todo.
