Creo que le falta un montón de trabajo para ser una aplicación amable con el usuario
No voy a entrar en la critica por criticar, solo puntualizare algunos detalles que considero inadecuados
Lo primero es que darle a cada campo de una tabla un nombre ... es un método que no conlleva ninguna ventaja, si en la tabla principal (cabeceras de facturas) se le llama al campo que tiene el indicador de factura de una forma, alla donde se copie su contenido debería llevar el mismo nombre (el apellido los distinguirá y el apellido es: el nombre de la tabla que lo contiene)
Así Access los podrá proponer como relacionables (si además del nombre, comparten el tipo, algo tan sencillo como copiar de una a otra tabla el diseño)
Lo segundo es que si vamos a trabajar en un campo con datos de tipo TEXTO, aun en el caso de que todos sus caracteres sean numéricos el campo en su diseño debería ser de texto (apreciaras en el documento adjunto, que esos dos detalles están modificados).
Por cierto le he dado al campo una longitud de 8 caracteres (cuatro del año + cuatro del numero formateado), pero pueden ser mas, eso limitara el numero de facturas a 9999, quizás si se menudea mucho sean insuficientes (800/mes menos de 28/día)
La modificación del código, va desde la línea 11 a la 25 comentarios aparte, las líneas que ejecutan el proceso (un poco sucio por los rastros que deja al borrar las líneas actuales), pero es un diseño impuesto son:
Línea 18: genera el numero de factura (se aprecia claramente que es un dato de tipo texto)
Línea 20: Se inserta (crea) el registro cabecera de factura
Línea 22: se insertan las líneas del detalle
Línea 24: se borrar las líneas que se pasan a factura
... no vendría mal detrás del borrado el ejecutar un Requery para evitar las presentaciones de elementos borrados
.- Las tablas deberían tener como requeridos aquellos datos indispensables
.- Seleccionado un elemento con el localizador, el campo 'cantidad' debería recibir el foco ( y no estaría mal predeterminar una cantidad que seria modificable)
.. lo dejo aquí (es tu diseño y asumo que esta adaptado a tu necesidad)
Plantéate una simple cuestión:
Un cliente cambia de domicilio
Te lo comunica y cambias sus datos
El cliente (por esas cosas de la vida o por cualquiera otra causa) solicita una copia de factura anterior al cambio....¿serias capaz de dale algo que no sea una copia de la que ya paso por el departamento de contabilidad y esta marcada como tal?.
Adjunto un documento en PDF creado con esa útil herramienta que Access incorpora (el DOCUMENTADOR)