hola espero que te sirva esta pequeña explicación
Private Sub mnuguardar_Click()
On Error GoTo hayerror ' se declara el el nombre del error en este caso "hayerror"
Dim buscando, W, Mensaje As String
W = Text1
buscando = "select * from EDITORIAL where IDEDITORIAL = '" & W & "' "
Set Tablaedit = BaseGlobal.OpenRecordset(buscando, 2) 'busca en la tabla de la base de datos, si no encuentra hace una nueva insercion.
If Tablaedit.EOF Then
Tablaedit.AddNew
Tablaedit.Fields!IDEDITORIAL = Text1.Text
Tablaedit.Fields!NOMBRE = Text2.Text
Tablaedit.Fields!DIRECCION = Text3.Text
Tablaedit.Fields!TELEFONO = Text4.Text
Tablaedit.Update
BaseGlobal.Recordsets.Refresh
End If
' si el procedimiento es correcto, introduce el valor que tiene cada caja de texto. pero imagina que por alguna razón se introdujo un valor NULO en el IDEDITORIAL, lo que provocará que el sistema te saque de tu programa y te pregunte si lo quieres depurar, cuando se introdujo el on error goto cerifica que se este llevando correctamente el llenado de la tabla.
Exit Sub ' si llega a este punto no invocaras al error pero si hay error, mandará el error con su descrpció, ejemplo muy comun "el valor de la celda es demaciado grande.
hayerror:
MsgBox Err.Description, 16, "Error de Llenado de Celda"
End Sub
colocalo al principio del tu código dentro del boto o cualquier otro objeto que va a realizar la operacion, y al final de la instruccion del mismo boton, pruebalo, es muy importante este error puesto que te indica que es lo que esta mal dentro de un llenado de tu formulario.