Access - Duplicaods

 
Vista:

Duplicaods

Publicado por Juan (4 intervenciones) el 16/06/2007 20:54:40
Tengo una BD al que le he asignado al campo "No de Cédula" indexado SI (SIN DUPLICADOS), a parte le hice un indice. La idea es que no se repitan los registros en este campo. Efectivamente no se repiten pero uno se da cuenta es al final del registro, y como el formulario tiene cerca de 12 entradas, entonces imaginase lo que pasa cada vez que repetimos o intentamos repetir el registro.

En otra página web encontre un truco para que me avise de la duplicidad una vez itente salir de este campo, lo he intentado varias veces, pero no he podido. Sin digito un registro que ya existe, practicamente se bloquea. MIre lo que dice el truco (el problema es que no tiene como preguntarle más)

Aunque Access le diga, al introducir datos en un campo clave principal en un nuevo registro, que ya existe en el campo clave principal de otro registro (como por ejemplo, ID de cliente) avisa del error después de que ya se ha producido. Nuestra macro le informa de la duplicidad al principio, de forma que no pierda tiempo introduciendo el nuevo registro.
Haga clic en la ficha macro de la ventana de la Base de datos.
Escoja Nuevo.
Haga clic en los botones Nombres de macro y Condiciones en la barra de herramientas principal para mostrar estas columnas en la ventana macro.
Proporcione un nombre en la columna Nombre de la macro.
En la columna Condición, teclee lo siguiente:

DLookup("[CustomerID]", "[Customer2]", "[CustomerID] = Form.[CustomerID]")Is Not Null

En la columna Acción de la macro, seleccione la ventana Acción, haga clic sobre la flecha y escoja CuadroMsj de la lista desplegable.
En la fila Mensaje, escriba el mensaje de error de ID de cliente duplicado, y autorice el mensaje.
En la fila 2 de la columna Acción de la macro, seleccione CancelarEvento.
Salga de la ventana macro y haga clic en la ficha Formularios en la ventana de la Base de datos.
Abra el formulario que quiera modificar en el modo Diseñar. Haga clic con el botón derecho en el cuadro de texto del campo de la clave principal y seleccione Propiedades del menú desplegable.
Haga clic en la fila de la derecha de Antes de actualizar y seleccione su macro de la lista desplegable resultante.

PERO LE HAGO YLE HAGO Y NADA
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Duplicaods

Publicado por mi menda (1111 intervenciones) el 17/06/2007 06:14:10
En el evento después de actualizar del campo:

Dim num_cedula As Variant

num_celula = DLookup("[Nº de cedula ] ","TuTabla","[Nº de cedula] = Forms!NombreFormulario![Nº de cedula] ")
If IsNull(num_cedula) Then Exit Sub
MsgBox "Ya existe ese número",,"Registro Duplicado"

Solo tienes que sustituir Nº de cedula por el nombre correcto de tu campo, y "TuTabla" por el nombre de la tabla que contenga ese campo. Sí el nombre de tu campo o tabla tienen espacios en blanco, los tienes que meter entre corchetes.

Un Saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar