Insertar datos vía formulario independiente error conversión de datos
De antemano te agradezco si decides darte un tiempo para responder a mi interrogante, bueno sin más paso a explicar esta.
Sucede que decidí trabajar en una formulario independiente, en el ingrese varias pestañas las cuales poseen diversos textbox y combobox, así como botones etc. Cada pestaña trabaja con una tabla diferente, todas relacionadas en la base de datos, el problema surge cuando deseo ingresar datos a través de un botón llamado "ingresar", te dejo el código:
Private Sub Ingresar_Click()
On Error GoTo Err_Ingresar_Click
If IsNull(Me.N_SERIE.Value) Or IsNull(Me.FECHA_INGRESO.Value) = False Then
Dim Rst As DAO.Recordset
'Abrimos la tabla que queremos...
Set Rst = CurrentDb.OpenRecordset("Select * FROM COMPONENTE")
'Añadimos un registro...
Rst.AddNew
'Rellenamos los campos...
Rst("N_SERIE") = N_SERIE.Value
Rst("DESCRIPCIÓN") = DESCRIPCION_COM.Value
Rst("MARCA") = MARCA.Value
Rst("MODELO") = MODELO.Value
Rst("FRAME") = FRAME.Value
Rst("CANTIDAD") = IIf(IsNull(Form!CANTIDAD.Value), 0, Form!CANTIDAD)
Rst("POTENCIA") = POTENCIA.Value
Rst("COD_REPARABLE") = IIf(IsNull(Form!CR.Value), 0, Form!CR)
Rst("VALOR_NUEVO") = IIf(IsNull(Form!VALOR_NUEVO.Value), 0, Form!VALOR_NUEVO)
Rst("COD_STOCK") = CODIGO_STOCK.Value
Rst("F_ING_COMP") = FECHA_INGRESO.Value
'Grabamos los datos...
Rst.Update
Rst.Close
Set Rst = Nothing
Else
MsgBox "Debe ingresar n° de Serie o una fecha válida", vbInformation + vbOKOnly, "A V I ES O"
End If
Exit_Ingresar_Click:
Exit Sub
Err_Ingresar_Click:
MsgBox Err.Description
Resume Exit_Ingresar_Click
End Sub
Con el primer registro lo inserta sin problemas, luego para poder borrar todos los campos implementé un botón llamado "Limpiar", su código:
Me.N_SERIE = ""
Me.DESCRIPCION_COM = ""
Me.MARCA = ""
Me.MODELO = ""
Me.FRAME = ""
Me.CANTIDAD = ""
Me.POTENCIA = ""
Me.CR = ""
Me.VALOR_NUEVO = ""
Me.CODIGO_STOCK = ""
Me.FECHA_INGRESO = ""
El problema se da cuando presiono el botón limpiar para poder ingresar en una segunda oportunidad, ya que me dice que hay problemas de conversión de datos, me he fijado que ese problema se da porque un campo es de tipo entero y no acepta nulos, y también me fije que al presionar el botón limpiar el código no se vuelve a recorrer completo, ya que no ejecuta los If(IsNull) y estos me hacen nulos los campos si es que no se ha ingresado nada, los cuales SI funcionan cuando ingreso pro primera vez los registros y también cuando borro los campos manualmente.
Te agradezco muchísimo, espero me puedas ayudar con mi problema ya que bastante tiempo me ha tenido buscando una solución.