Registros repetidos

Hola y muchas gracias por tu anterior respuesta me has quitado mucho trabajo de encima. Por favor, podrías ayudarme con esto otro que me trae de cabezas.
Tengo una campo posición, marca y un campo V que alimento manualmente. Lo que pretendo es que cuando meta un valor en el campo MARCA y cunado meta un valor en el campo V, si ya estaba metido anteriormente que me diga numero repetido y en la posición que se repite. Una vez que me avise que sea yo el que decida si lo introduzco o no. Ej
Posicion      MARCA        REVision      
    1 1234 A
    2 6548
    3 1234 A Aquí que me salga un mensaje que diga la marca 1234 en revisión A se repite en la posición 1.
Muchas gracias. Actualmente lo compruebo uno a uno cada vez que meto un dato.
Muchas gracias por adelantado.

1 Respuesta

Respuesta
1
He de reconocer que ya no se cual era la respuesta anterior, pero si te sirvió adelante.
En el evento BeforeUpdate (antes de actualizar) del campo REV.
If DCount("*", "tabla", "Marca = " & Me!Marca & " AND REV = '" & Me!REV & "'") > 0 Then
  MsgBox "Ya existe un registro con la misma marca y rev"
  Cancel = True
End If
Investiga un poco más sobre el BeforeUpdate porque no lo tengo muy por mano...
Xavi
Muchas gracias, me funciona perfectamente pero el único problema es que la REV puede ser letras A, B, C o no poner nada y se referiría a rev = cero. Es en este caso cuando no me funciona. Y otro pequeño problema es que ´podría conseguir que aunque se repitiece me dejara meter el dato.
Gracias. Muchas gracias
En realidad, yo te di una respuesta para no tocar la estructura de la tabla.
La solución ideal es hacer que esos dos campos sean la clave compuesta de la tabla. Ello hace justamente lo que tu quieres hacer: evitar misma marca y misma rev en el mismo registro. Te aseguro que en ese caso seras incapaz de duplicar un dato.
Muchas gracias. Eso sería perfecto. Pero perdona de nuevo, pero no entiendo eso de clave compuesta de la tabla. Por otro lado, podría conseguir que aunque me avisara que el dato se repire, me dejaría meter el dato.
Muchas gracias
Hacer una clave compuesta es muy sencillo. Abres la tabla en modo diseño, selecciona los 2 campos (con el selector de la izquierda) y clica en la llave. Eso permitirá que dupliques tantas veces como quieras el primer campo y el segundo, pero no la misma combinación.
Lo que no se es si la parte final de tu mensaje es una pregunta o una demanda. Es decir: no si quieres evitarlo o permitirlo en algunos casos.
Me gustaría que en el caso de que se repitiera, me dejara meter el valor.
Gracias.
Entonces todo este hilo apenas tiene sentido.
En el código que te puse deberías quitar la linea de Cancel = True para que no cancelara la actualización: te avisaría pero te loo permitiría. Eso si, olvidate de la clave compuesta.
Lo que no entendí es esto: "pero el único problema es que la REV puede ser letras A, B, C o no poner nada y se referiría a rev = cero."
Supongo que la función Nz seria la adecuada en este caso.
Xavi

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas