Ayuda sistema facturación access 2007

Estoy aprendiendo y desarrollando un sistema de facturación en access 2007
tengo las tablas siguientes
clientes
productos
Encabezado de factura ( numero de factura, numero de cliente, fecha de emiosn
Detalle de factura (numero de factura, numero de producto, cantidad)
¿Mi pregunta es que hago para capturar una factura? Me imagino que es un formulario con un subformulario para el detalle pero no lo tengo claro

1 respuesta

Respuesta
1
Exacto.
Haz un formulario basado en el detalle de factura de tipo formulario continuo.
El campo del producto hazlo usando un cuadro combinado, de forma que se escoja el producto por nombre y no por número de producto.
El número de factura no lo muestres y que salgan los detalles de todas las facturas.
Haz aparecer el pie de formulario y en este pie calculas el total de la factura poniendo un campo de texto con algo del estilo =suma(precio*cantidad).
Luego haces otro formulario basado en facturas y le pones todos los datos del encabezado de factura. A ese formulario le pones como subformulario el que has creado antes y los linkas por el número de factura. Así en el subformuario sólo te pondrá el detalle que corresponde a esa factura.
Mira la base de datos de neptuno que viene de ejemplo en Access y lo verás claro.
Por último te recomiendo que el precio del producto lo pongas en la tabla de detalle de factura y no sólo en la tabla productos, ya que los precios cambian y no todas las facturas tendrán el mismo precio para el mismo producto (el precio de un lápiz en una factura de enero del 2005 no es el mismo que en una factura actual).
Gracias por tu respuesta..
Estoy utilizando Access 2007, ya implemente tu respuesta lo mejor que pude pero tengo varias dudas..
1.- Como creo el formulario continuo ( cree un formulario pero no pude encontrar uno de tipo continuo)
2.- Ya puse el total en el pie del formulario, inclusive el IVA (que se cobra en Mexico y obtuve el total) pero cuando meto un registro en el detalle ¿, me gustaría que se mantuvieran los registros anteriores para que el usuario pueda ver que otros productos van en esa factura ( posiblemente con el tipo continuo se logre eso)
3.-El precio y el costo son campos que están en la tabal de producto así como en la tabla de detalle de factura, pero como le hago para que aparezca por default con el valor que tienen en la tabla de producto pero que se pueda cambiar desde la captura de la factura
4.- Donde encuentro el ejemplo neptuno, lo busque pero solo encontré uno que se llama Northwind
Creo que fue una muy buena sugerencia y ayuda que me diste, pero conforme avanzo creo que tendré más dudas..
Gracias, una vez más por tu ayuda!
Perdona por no contestar antes... pero no me mando un mail diciendo que habías respondido...
1.- Con el formulario abierto, abre la ventana de propiedades. Veras el tipo de vista que quieres, que puede ser formulario sencillo, continuo, hoja de datos, ...
2.- Exactamente
3.- Eso es complicado, muy complicado. Hay que hacerlo con VBA (escribiendo código). Para hacerlo lo mejor es lo siguiente:
El producto lo seleccionas de un cuadro combinado. Este cuadro lo basas en una tabla que contenga los siguientes datos, NumeroProducto, Precio, NombreProducto. Le dices que tiene 3 columnas y que la que contiene el dato es la primera (todo esto desde la ventana de propiedades del cuadro combinado). En ancho de columnas le dices 0;0 eso hará invisibles las dos primeras y sólo se verá la tercera (que es el nombre del producto). Así que el usuario escoge el producto por nombre pero en la tabla de detalle de factura realmente se graba el número.
En la misma ventana de propiedades del cuadro combinado te vas a eventos y a Después de acualizar. Le das a los puntos suspensivos que aparecen a la derecha y le dices que quieres código. Entonces se te abrirá para escribir una función. Pongamos por ejemplo que el cuadro combinado se llama NumeroProducto y que tienes otro campo que se llama precio que es lo que quieres actualizar. Pues en el espacio que te queda entre las dos lineas que ha creado debes escribir lo siguiente
me.Precio = me.NumeroProducto.Column(1)
Y ya está.
4.- Northwind y neptuno son la misma, solo que northwind está en inglés. Si no tienes la neptuno es que o bien no tienes la versión española o no hiciste una instalación completa (o que usas Access 2007).
GRacias una vez más por tu ayuda..
He estado implementando tus sugerencias, y estoy avanzando!
Ya tengo el formulario en continuo y salen todos los registros que deben de ser!
Ahora empezaré con la opción que me diste para poder cambiar el precio
Gracias y te seguiré molestando por que de seguro que tendré más dudas!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas