Ejemplo de la aplicación Facturación

En la aplicación Facturación de tu web, al abrir el formulario automáticamente añade un registro a la base de datos. ¿Qué método podría utilizar para que tanto en la tabla de facturas como en la de detalle de factura solo se añadan los registros cuando hagamos click en un botón llamado por ejemplo "Validar factura". Sobre todo en la parte de subformulario.

Respuesta
1

El comportamiento de Access es que cuando metes un registro (por ejemplo, rellenas una línea entera en el subformulario) automáticamente ya te está guardando el registro. Y eso, hasta donde yo sé, no se puede modificar.

Piensa que el ejemplo es un ejemplo "casero", no es una "súper-aplicación" de facturación. Ello implica que:

- El número de factura es autonumérico, lo que significa que si la borras ese número te va a desaparecer de la BD. Es decir, que si creas el 1 y lo borras el siguiente que se creará será el 2, por mucho que quieras que sea el 1 de nuevo. Solución: utilizar el la mecánica del ejemplo que también hay en la web, que es "autonumérico manual", y hacer que ese número no sea autonumérico, sino numérico (siempre y cuando el "error" esté en la última factura introducida).

Por ejemplo, y para que veas que el ejemplo no aspira a ser lo que te comentaba de un "súper-programa de facturación", la aplicación no lleva ningún control de fechas; esto es, que si no vas con cuidado podrías tener la factura 2 con una fecha anterior a la factura 1.

Lo que implica que también deberías programar un control de fechas para evitar la situación anterior.

Además, si se deja el terreno demasiado "libre" para modificar o borrar facturas lo que es la filosofía de una aplicación para facturación deja de tener sentido, creo yo.

- El tema de los registros en el subformulario podría solventarse de la siguiente manera: ahora el subformulario se ve en vista hoja de datos. Deberías cambiarla a vista de formularios continuos y añadir un botón para eliminar el registro. Si te has equivocado le das al botón de eliminar y se te borrará ese registro en concreto.

- Podrías programar un botón en FMenu para eliminar por completo una factura (con los problemas de numeración correlativa que ello conllevaría). Pero para que la eliminación sea completa (de la tabla TFacturas y de TFacturasDetall) deberías irte a la ventana relaciones y, en la relación entre ambas, definirla para "exigir integridad referencial" y "borrar campos en cascada".

En definitiva, que programar una aplicación de facturación un poco más "seria" lógicamente sería mucho más complejo, y la idea del ejemplo es tener una aplicación "para andar por casa", y está explicado para que entendáis cómo se pueden hacer las cosas a nivel relativamente básico.

Otra solución para no perder la numeración es que hagas un abono completo de la factura que esté mal: así tendrías lo mismo dos veces, una en positivo y otra en negativo, con lo que el efecto final seria neutro.

Y no se me ocurre qué mas soluciones puedo darte. Espero que alguna de las apuntadas pueda serte útil.

Hola, la aplicación que estoy intentando hacer, no es para emitir facturas, sino simplemente para comprobar las facturas de los proveedores, lo cuales me la hacen mensual y a origen.

Y lo que intento además es llevar una base de datos de ellas. Y ya sabes, que algunas veces, están haciendo la comprobación y ves que es incorrecta o por cualquier motivo tienes que dejarlo, y era buscar una solución para que no se grabara, ya que la correlación de los campos autonuméricos no me importa.

Gracias de todas formas.

Un saludo

Por lo que me comentas creo que la BD de ejemplo que estás utilizando no es lo más adecuado.

¿Tienes idea de cómo crearte una BD que se ajuste a lo que necesitas?

Si quieres pásame un mail a mi correo, que es neckkito(ARROBA)yahoo(PUNTO)es y me explicas un poco el proceso que quieres realizar. Quizá pueda darte algunas ideas.

Ya me dirás.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas