Validar datos repetidos al querer ingresarlos

Espero puedan ayudarme...
Básicamente es que al ingresar los datos (nombre y apellidos) a una tabla por medio de un formulario se valide que no existan y si existen mandar un mensaje de error. Ya estuve checando varias preguntas similares donde se valide solo un dato o campo pero en mi caso son tres campos que por si solos no hay problema sino que al conjuntarlos no exista.
Tengo en Access la tabla Integrantes, la cual tiene los campos ID, A_Paterno, A_Materno, Nombre. El campo ID es autonumérico y es el campo llave. Se creo un formulario para ingresar los datos a la tabla. La necesidad que tengo es que al capturar el nombre y los apellidos se verifique en la tabla que no haya otro registro con los mismos datos, es decir nombre+a_paterno+a_materno sea único. Me gustaría que fuera al peder el enfoque en el ultimo cuadro de texto, pero imagino que será más sencillo agregar un botón para guardar los datos en la tabla y que en ese momento se haga la validación, al momento de dar clic por medio de una consulta hacer la verificación y si no hubo resultado guarde los datos pero si hubo algún resultado mande un mensaje de error.

1 respuesta

Respuesta
2
En mí página web:
http://angelessebas.es
En el apartado Formularios, supuesto: Comprobar si un registro existe, si no existe insertarlo automáticamente en la tabla, tienes un ejemplo que te puede ayudar.
Cualquier duda, me consultas.
QUE tal...
Muchas gracias por la aportación en verdad me es de utilidad... solamente que en el ejemplo que proporcionas se basa en la búsqueda de un campo "nombre", y lo que necesito es la combinación de "nombre+ap_paterno+ap_materno". En estos momentos estoy estudiando la función Dlookup para lograr realizar así la búsqueda, si pudieras darme un ejemplo solo de la función Dlookup con varios campos te lo agradecería aun más, porque en la documentación solo vienen ejemplos con un campo.
Muchas gracias y saludos!
QUE tal...
Ya no será necesario el ejemplo de la función Dlookup para varios campos... hice un prueba y me funcionó a la perfección... aquí pego el código que utilice en el formulario, aunque le faltan detalles funciona muy bien !
Private Sub txtMaterno_LostFocus()
If IsNull(DLookup("[Nombre]+[A_Paterno]+[A_Materno]", "[Nombres]", "[Nombre]+[A_Paterno]+[A_Materno]=form!txtNombre.value+form!txtPaterno.value+form!txtMaterno.value")) = True Then
DoCmd.RunSQL "Insert into nombres (nombre,a_paterno,a_materno) values ('" & Form!txtNombre.Value & "','" & Form!txtPaterno.Value & "','" & Form!txtMaterno.Value & "')"
Form!txtID.Value = DLookup("[ID]", "Nombres", "[Nombre]+[A_Paterno]+[A_Materno]=form!txtNombre.value+form!txtPaterno.value+form!txtMaterno.value")
Else
If MsgBox("ERROR El nombre del Integrante ya esta registrado", 16, "ERROR") = vbOK Then
txtNombre.SetFocus
End If
End If
End Sub
Muchas gracias nuevamente y saludos !

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas