Access Registro de pago de Facturas de clientes

Estoy armando una BD de facturas y Remitos (albaranes) y necesito hacer el registro de las facturas que paga el cliente y con que paga (cheque, transferencia, efectivo, Deposito)... El problema surge cuando un cheque paga más de una factura y debo separar el pago correspondiente a por facturas... Tengo la Tabla Cheque, Tabla Factura .

1 Respuesta

Respuesta
2

En principio sería conveniente saber como trabajas, ya que puedes hacerlo de muchas formas. Por ejemplo, tengo un formulario Entregas donde me aparecen las facturas que me debe ese cliente

Vamos a suponer que me entrega 500 euros. Lo anoto en el cuadro de texto Entrega

Cuando pulso Compensar

Me dice, que la primera factura está compensada y por tanto la marca como Cancelada. La segunda también( había dinero suficiente) y por lo mismo me la marca. En la tercera, como ya no llegaba el dinero, me señala que de la tercera factura quedan pendiente por compensar 208,75 euros, por eso no la marca y que sumados a los 162 de la última me dice que su deuda pendiente conmigo es de 370,75

Unos días después viene a traerme más dinero( cuídalo que de esos clientes hay pocos). Cuando abro el formulario con ese cliente, las canceladas ya no me aparecen. Anto lo que me entrega

Al pulsar Compensar me  queda como

Es decir, la primera está cancelada pero de la última quedan 70,75 euros que me debe. Y me va guardando todo en las tablas por si dijera que me había pagado todo.

El código del botón Compensar es

Private Sub Compensar_Click()
DoCmd.SetWarnings False
DeudaPendiente = DeudaPendiente - Entrega
DoCmd.RunSQL "insert into entregas(idcliente,fechaentrega,entrega)values(idcliente,date(),entrega)"
DoCmd.GoToRecord , , acFirst
Dim i As Integer
For i = 1 To Me.Recordset.RecordCount
Resto = DSum("entrega", "entregas", "idcliente=" & Me.IdCliente & "") - DSum("totalventa", "ventas", "idventa<=" & Me.IdVenta & " and idcliente=" & Me.IdCliente & "")
If Resto >= 0 Then
Cancelada = True
DoCmd.GoToRecord , , acNext
ElseIf Resto < 0 Then
Exit Sub
End If
Next
End Sub

Pero como te decía puedes hacerlo de muchas formas.

Por cierto, como ésta página funciona cada vez peor( ya ni se molestan en avisarte de las repreguntas), si quieres, repito, si quieres, mándame un mensaje a [email protected] y te mando un ejemplo.

Si lo haces, en el asunto del mensaje pon tu alias Martin Gag, ya que si no sé quien me escribe ni los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas