¿Cómo hacer que una clave primaria ocupe 2 o más campos y que cada campo individualmente acepte duplicados, pero en conjunto no?

Es lo que descripto más arriba. Necesito crear una tabla cuya clave primaria conste de 2 campos. Que cada uno de estos campos acepten duplicados, pero sumarse ambos, no pueda hacerlo. Estoy utilizando Access 2007, y por el momento es la única base de datos que tenemos en nuestro trabajo.

1 respuesta

Respuesta

No se como trabajáis, pero supongamos que la "clave," que no sería tal esta compuesta por los campos Numero y factura de la tabla Facturas. Y supongamos que los vais a escribir en sendos cuadros de texto de un formulario, dependiente o no. En el evento Antes de actualizar del cuadro de texto Factura podéis poner

If dcount("*","facturas","numero=" & me.numero & " and factura=" & me.factura & "")>=1 then

Msgbox"No puede ser, el conjunto numero más factura está repetido", vbokonly, "Otra vez será"

Docmd. Cancelevent

end if

Los campos no tienen porque llamarse igual, sí ser de datos compatibles.

Hola, muchas gracias por tu atención. El tema es es siguiente: tengo 3 tablas, Recibos y dependiendo de ella la tabla Ingresos. En la primera se registran los datos del remito y en la segunda el detalle del remito. La 3a. tiene que ver con el almacén adonde se depositaron los artículos registrados en la tabla Ingresos. Estas 2 últimas tablas comparten los campos cod_deposito y cod_pro(Deposito Nro. y código de producto) Ahora, si al registrar un mismo artículo 2 veces para el mismo almacén, resulta que agrega un registro nuevo en lugar actualizar el registro existente en Almacen. Aclaro que no estoy utilizando Visual Basic; todas las acciones se ejecutan desde una macro. Tal vez utilizando VB sea mucho mas fácil, pero mi ignorancia en ese punto es extrema..

Perdona el retraso pero los carnavales...

¿Te sería posible hacer una copia vacía de las tablas y mandármela a [email protected]. Es para echarle un vistazo. Si los haces, en el asunto del mensaje pon tu alias Bartolomé ya que si no sé quien me escribe ni los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas