Generar facturas automatizadas en Access al final de un mes

No soy experto en Access lo que he aprendido ha sido gracias a sus conocimientos y poco a poco he creado mi base de datos.

Tengo una base de datos donde tengo mi tabla cliente - factura - productos - montos todas relacionada y me funciona muy bien, ahora mensualmente necesito que atumaticamente access me genere las facturas de los clientes mensualmente ya con los datos que ya están insertados que no varian; es decir que al final del mes tome los datos de cliente-producto-monto y cree la factura al cliente de una vez y por supuesto quede guardada en la base de datos.

He intentado hacerla de una u otra manera y no consigo como hacerlo...

1 Respuesta

Respuesta
1

Vamos a ver si me explico, que siempre es lo más difícil. No sé lo que pueda haber en la tabla Montos, ni la estructura de las tablas, ni cuando quieres que te imprima las facturas, etc., por lo que voy a suponer las cosas. Supongamos que tienes hecho un informe agrupado por Cliente y fechafactura. En algún botón puedes poner, por ejemplo,

docmd.openreport"Facturas",acnormal,,"month([fechafactura])=month(Date())"

Es decir, imprime todos aquellos registros en que el valor del mes del campo Fechafactura sea igual al del mes de la fecha del sistema.

Pero como te decía, sin saber la estructura de las tablas, es difícil dar una opinión concreta.

¡Gracias!

Fíjate tengo una tabla con todos mis clientes y otra para las facturas ya relacionadas, yo quisiera que al final del mes me creara una factura mensual a todos estos clientes automáticamente y por supuesto se guarde el registro

Lo normal es imprimir un informe, ya que si bien las tablas se pueden imprimir, sería una colección de registros, sin formas de factura. Habría que saber, cuando quieres imprimirlo, me explico:

-Automáticamente cuando llegue el 28 de Febrero, el 31 de Marzo, etc., sin que te avise o avisándote.

- Cuando llegue esas fechas que seas tu quien pulse un botón y los imprima.

Vamos a suponer este último caso. Yo le pondría a la tabla Facturas un campo Imprimida tipo Sí/No. En el propio formulario Facturas pondría un botón de comando y en sus propiedades-eventos-al hacer clic crearía un procedimiento de evento y entre Private Sub y End Sub escribiría

docmd.setwarnings false

If dcount("*","facturas","month([fechafactura])=month(date()) and imprimida=0")>=1 then

docmd.openreport"facturas",acnormal,,"month([fechafactura])=month(date())"

docmd.runsql"update facturas set imprimida=1 where month([fechafactura])=month(date())"

else

Msgbox"Las facturas de ese mes ya han sido impresas, lo siento", vbokonly,"Otra vez será"

exit sub

end if

Es decir, que llega el día que tu consideres oportuno pulsas el botón y cuenta si hay facturas en que el mes de la fecha de factura sea igual al del mes del sistema y que no hayan sido imprimidas hasta entonces. Si las hay, las imprime y te actualiza el campo Imprimida de las tabla Facturas a Sí, de forma que si volvieras a pulsar el botón otro día de ese mismo mes, contaría y como ya no hay ningún registro que cumpla la condición de mes e imprimida=no te sale el mensaje diciéndote que como ya han sido impresas no hay nada que hacer.

En el primer caso tendrías que poner en el evento Al cargar del formulario

if date=Dateserial....

De todas formas, si quieres, repito, si quieres, mándame un mensaje, sólo el mensaje) a [email protected] y te mando un ejemplo de como lo haría. Si lo haces, en el asunto del mensaje pon tu alias Deibi, ya que si no sé quien me escribe no los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas