Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Access no repetir campo no clave

Estas en el tema de Access no repetir campo no clave en el foro de Bases de Datos General en Foros del Web. Hola. Tengo una base de datos con dos tablas. Una de artículos y otra de marcas las cuales estan relacionadas. La tabla de artículos contiene ...
  #1 (permalink)  
Antiguo 17/03/2008, 12:33
 
Fecha de Ingreso: marzo-2008
Mensajes: 2
Antigüedad: 16 años, 1 mes
Puntos: 0
Access no repetir campo no clave

Hola.
Tengo una base de datos con dos tablas. Una de artículos y otra de marcas las cuales estan relacionadas.
La tabla de artículos contiene el código de artículo que le asigna cada marca.
Necesitaría controlar que no se repita el mismo código de artículo para una misma marca.
Así cuando ingreso un nuevo articulo impedir que se vuelva a cargar si ya existe uno con ese código para esa marca.
¿Cual es la forma mas conveniente de hacer esto?
  #2 (permalink)  
Antiguo 18/03/2008, 03:14
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Re: Access no repetir campo no clave

Si lo quiers hacer al actuar directamente sobre la tabla, deberias poner ambos como campos clave. Si lo puedes hacer atraves de un form, imaginemos un form con un control llamado Marca y otro llamado Codigo. Entonces, en el evento AfterUpdate del control Codigo, podrias comprobar si al introducir un nuevo registro esta repetido:

Private Sub Codigo_AfterUpdate()
If Me.NewRecord = True Then
If DCount("*", "NombreTabla", "Marca='" & Me.Marca & "' AND Codigo='" & Me.Codigo & "'") > 0 Then
MsgBox "Ya existe un codigo para la marca selecionada", vbInformation, "CODIGO REPETIDO"
Me.Undo
End If
End If
End Sub

Si los campos fueran de tipo numerico, quita lo rojo.

Un saludo
  #3 (permalink)  
Antiguo 18/03/2008, 11:22
 
Fecha de Ingreso: marzo-2008
Mensajes: 2
Antigüedad: 16 años, 1 mes
Puntos: 0
De acuerdo Re: Access no repetir campo no clave

Muchas gracias por tu respuesta.
Puse a ambos campos como clave. No sabía que eso podía hacerse.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:42.