Como puedo hacer para que en un campo de una tabla no se dupliquen los datos

Tengo una tabla donde ingreso varios componentes pero lo que quiero saber es si se puede hacer que en el componente este ya no me deje poner el mismo contenedor por ejemplo en mi tabla que anexo en la imagen tengo el componente 5698221 que si quiero volver a poner el componente A ya no me deje y diga que ya existe pero que si ingresara otro componente distinto por ejemplo el 5689-A ahí si pueda poner el contenedor A a ver si me explique bien, los había puesto indexados pero al yo querer poner en otro componente el contenedor A no me dejaba espero me puedan orientar

2 Respuestas

Respuesta
2

Si no es clave primaria puede indicar en el diseño de la tabla que el campo es indexado sin duplicados. Ya en un formulario puede capturar el error o en el evento Antes de actualizar hacer la la búsqueda, algo como:

IF Dcount("*","tbl_contenerizacion","Componente_cable=' " & Me.CampoX)>0 then
   MsbgBox "Ya existe el componente",vbinformation,"Cuidado"
  Cancel=true
End If

Cambie CampoX por el nombre del control en el formulario.

Perdón me hizo falta validar el contenedor, en este caso debe crear un indice compuesto por los campos Componente_calble + Contenedor . En este caso el código cambia:

If DCount("*", "tbl_contenerizacion", "Componente_cable=' " & Me.CampoX & "'" & "  AND Contenedor='" & Me.CampoY & "'") > 0 Then
   MsbgBox "Ya existe el componente", vbInformation, "Cuidado"
  Cancel = True
End If
Respuesta
1

¿Qué pasa si haces que el Componente y el Contenedor formen parte de la clave primaria?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas