Clave única múltiple en ACCESS_2013

Estoy desarrollando una bdd para gestionar facturas emitidas de diferentes emisores, clientes, series y ejercicios. He creado tablas de emisores, clientes, facturas, detalle de factura y otras auxiliares, asi como establecido las correspondientes relaciones, pero no soy capaz de crear los campos, propiedades y relaciones, para poder emitir las facturas de diferentes emisores a diferentes clientes en diferentes ejercicios y con diferentes series pero con números de factura correlativos, iniciándose los contadores a 0 por cada año, emisor y serie de factura, con lo que.. Cada vez que se vaya a emitir una factura, una vez introducido el emisor, la fecha y la serie, Access ofrezca el número de factura siguiente al último dado de alta para ese emisor, fecha y serie. ¿Pueden ayudarme a implementar estas condiciones en la bdd?

1 Respuesta

Respuesta
2

Suponiendo que en la tabla, y por tanto en el formulario tengas los campos Emisor, fecha, serie y NumFactura en el evento después de actualizar del cuadro de texto Serie puedes poner

NumFactura=nz(dcount("emisor","facturas","emisor='" & me.emisor & "' and year( [fecha])=year(date())))+1

Así, si pones un emisor, fecha y serie contará cuantos registros hay que tengan ese emisor y que el año de Fecha sea igual al de sistema, y le suma 1. Cuando llegue el año siguiente, en la primera factura como el año es nuevo, empezará otra vez por 1.

De todas formas, también podrías poner

Numfactura=format(nz(dcount("emisor","facturas","emisor='" & me.emisor & "' and year( [fecha])=year(date())))+1,"0000")&"/"&year(date())

Así te las pondrá como 0001/2017

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas