Facturas con IVA en Access (tablas e informes)

Veréis estoy intentando hacer una base de datos para facturar y tengo varios problemas que me están volviendo loco por que no se como solucionarlos, os cuento.

Tablas TblFactura y TblDetallefactura.

Tblfacturas: Idfactura, fechafactura, cliente, baseimponible, tipoiva, iva, totalfactura.

Tbldetallefactura: Idfactura(relacionado con la tabla Tblfactura), descripcion, unidades, precio, subtotal.

El formulario(que depende de Tblfactura) que tengo echo es con subformulario(que depende de Tbldetallefactura) funciona bien, saca los cálculos, etc..

Bien ahora viene el problema:

- ¿Cómo puedo hacer para que los campos que llevan cálculos realizados en el formulario me aparezcan en las tablas correspondientes?, por ejemplo el campo baseimponible es la suma del subtotal, en el formulario aparece pero no en su tabla, y así con los demás capos que tienen cálculos.

3 respuestas

Respuesta
1

Juan Pedro, por lo que dices, ambos, formulario y subformulario son independientes, o sea, ninguno de los dos tienen origen de registros. En ese caso no te queda mas remedio que lo de

Docmd.runsql " Insert into...

Pero, honestamente, lo considero una pérdida de tiempo.

Mira, en la imagen puedes ver un formulario Ventas basado en la tabla del mismo nombre con un subformulario DetalleVenta basado en la tabla DetalleVenta y ambos relacionados por Idventa

A medida que voy añadiendo productos a la venta y pongo su cantidad:

1º En Subtotal me pone el prodcuto Precio por Cantidad

2º En el cuadro de texto Importe del formulario me va poniendo la suma acumulada de los subtotales de los diferentes productos, y como el IVA lo he fijado en el 21% me va sacando el ImporteIva y el TotalFactura

Sería exactamente igual si tuviéramos que tener en cuenta el tipo de Iva de cada producto.

Y en este caso el código del evento Después de actualizar del cuadro de texto Cantidad del subformulario es

Private Sub Cantidad_AfterUpdate()
DoCmd.SetWarnings False
Subtotal = Precio * Cantidad
DoCmd.RunCommand acCmdSaveRecord
Me.Parent!Importe = DSum("subtotal", "detalleventa", "idventa=" & Me.IdVenta & "")
Me.Parent!ImporteIVA = Me.Parent!Importe * Me.Parent!IVA / 100
Me.Parent!TotalFactura = Me.Parent!Importe + Me.Parent!ImporteIVA
End Sub

Gracias como siempre Julián, voy a pobrar....

Nada, soy muy torpe...¿Julián te puedo pasar la BD por mail para que me indiques lo que falla?

Creo que ya tienes mi correo, pero por si...

[email protected]

Respuesta
1

Y es que no debe aparecer porque esto se obtienen mediante una consulta, al no ser que quiera adicionar el campo en la tabla Tblfacturas.

Gracias por su respuesta Eduardo, el caso es que sí necesito que aparezca

En este caso siga el ejemplo que la dan que es una solución.

Respuesta
1

Los campos calculados no deberían guardarse, se guardan los datos que dan lugar a ese calculo.

Cuando se necesiten visualizar o bien el formulario o (para visualizar los cálculos) se utiliza una consulta que los calculara y mostrara como si fuera la tabla (en formato 'Hoja de datos').

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas