A un campo de texto que tiene llave principal , me arroje un mensaje cuando se de click en guardar nuevo registro

Tengo una tabla de registro de personas y le coloque llave principal a la cédula, necesito que cuando le dé al botón guardar en vez de decirme “los cambios solicitados en la tabla no se realizaron correctamente porque crearían valores duplicados en el índice clave principal o relación. Cambie los datos en el campo o los campos que contiene datos duplicados, quite el índice o vuelva a definirlo para definir entradas duplicadas e intentelo de nuevo”me diga “ ya se encuentra registrado”

1 respuesta

Respuesta
2

Yo te aconsejaría quitar la clave del campo Cedula y en lo de indexado ponerle No. Vamos a suponer que el campo Cedula es texto. En el formulario, en el evento Antes de actualizar del control Cedula crea un proc. De evento y pon

If dcount("*","nombredelatabla","cedula='" & me.cedula & "'")>=1 then

Msgbox"Esa cédula ya existe. ¿Es que no te habías dado cuenta?", vbokonly,"Hasta luego"

Docmd. Cancelevent

end if

Por ejemplo, supongamos que tengo la tabla

Si en el formulario pongo

Cuando pulso Enter

Cuando pulso Aceptar el cursor se vuelve al control Cedula para que lo cambies

Como te decía el código es

Private Sub Cedula_BeforeUpdate(Cancel As Integer)
If DCount("*", "tabla1", "cedula='" & Me.Cedula & "'") >= 1 Then
MsgBox "Esa cédula ya existe", vbOKOnly, "Otro día será"
DoCmd.CancelEvent
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas