Problema en Control de error a Claves principales

Espero que estés bien, deseo preguntarle el siguiente inconveniente, resulta que deseo controlar un error desde VBA de Access evitando que el usuario si no inserta registro en el campo definido como clave principal le salga el letrero incomodo que dice lo siguiente:
"El indice o clave principal no puede contener un valor Null"
Por más de que he probado con la función On error go to o On error Resume next me sigue apareciendo este incomodo mensaje.

2 respuestas

Respuesta
1
Si el usuario llega a esa situación hay un problema conceptual.
Evita antes de que se ejecuta la consulta del login, que si el usuario no ingreso los datos no se habilite el botón de aceptar para ingresar
¿Despues pasame solo el codigo donde estas poniendo el error goto
trabajas en el form y despues en un moludo la conexion?
Hpola este es el código que tengo, lo que necesito es que al usuario no le salga ese incomodo error que dice "El indice o la clave principal no puede tener un valor null", pues ya sabes que eso incomodaría a los usuarios, he tratado con todas las funciones de control de errores pero ese inhcomodo mensaje me sigue apareciendo.
Dim n As Integer
On Error GoTo Exit_cmdsalir_click
Exit_cmdsalir_click:
n = MsgBox("Error, los campos IdElector y/o Pin no pueden estar vacíos, e incluso no pueden ser iguales a los del anterior registro", vbCritical, "Elector")
'Exit Sub
'DoCmd.Close
If n = vbOK Then
 Exit Sub
End If
'Err_cmdsalir_click:
Resume Exit_cmdsalir_click
Gracias
Esto seria asi, probalo asi.
Pero antes quería decirte que cada campo, o me imagino textbox podrías ponerles
que no puedan avanzas si están vacíos.
El on error goto trabaja de esta manera.
On Error GoTo Exit_cmdsalir_click 'aplicale nombre mas cortos, una sugerencia nomas
'aca todo el codigo que involucra a el evento click del comand salir
exit sub
Exit_cmdsalir_click:
MsgBox"Error, los campos IdElector y/o Pin no pueden estar vacíos, e incluso no pueden ser iguales a los del anterior registro", vbCritical, "Elector"
end sub
asi actua el error goto exit, como no se que mas hay de codigo dentro de este command
1= Entra y pasa por el on error goto errores, ya el sistema sabe que si hay un error donde tiene que ir
2= arranca el codigo que programaste en el boton click
3= si no hay errores con exit sub, evita que aparezca el cartel de msgbox
4= si hay errores entra en el Exit_cmdsalir_click: y manda el mensaje de error
Ahora, en el código que me mandaste no veo ninguna consulta hacia la base de datos para que te tire el cartelito de nulo, por eso te pregunto si las consultas las estas trabajando en un modulo aparte
Respuesta
1
A ver amigo que tal. Puedo saber si tu propiedad del campo es que necesariamente tenga siempre datos para que no devuelva ese error...
Por que si tiene la propiedad que siempre tenga datos y no guardes nada siempre saldrá ese error.
Ahora como tu mensaje Clave princiapal. Puedes hacer otra Cosa que el mismo Sistema te creee una clave principal y con esto evitas que el usuario ponga su clave principal
Ahora el Poner clave principal hay de varias formas...
Un ejemplo podría ser
txtCodigo = Format(ClienteRscliente.recordset.recordount +1,"0000")

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas