Obtener el Saldo en un formulario de Access

Revisando en TodoExpertos, encontre una solución para este tema que es:

Para una tabla llamada Kardex, con los campos idmov (numero), Ingreso, Salida y Saldo (monedas), poner en los eventos Despues de Actualizar el siguiente código:

Docmd. Runcommand accmdsaverecord

Saldo=nz(dsum("ingreso","cardex","idmov<=" & me.idmov &""))-nz(Dsum("salida","kardez","idmov<=" & me.idmov & ""))

Esto funciona perfectamente, pero en mi caso, en esa misma tabla hay un campo Factura (texto) que contiene el número de la Factura que se paga. Yo quiero que el Saldo se calcule teniendo en cuenta ese campo Factura, o sea, quiero saber cuando hago un pago parcial de una Factura el Saldo pero para las entradas que contengan el mismo numero de factura.

Ejemplo

IdMov Factura Monto de Factura Ingreso Salida Saldo

1            F-001           $500.00           $300.00   $0.00    $200.00   

2            F-002           $800.00           $800.00   $0.00    $800.00

3            F-001           $500.00           $200.00   $0.00    $   0.00

3 respuestas

Respuesta
2

Para lograr que el saldo acumulado se calcule de forma independiente para cada factura, lo único que debemos hacer es añadir un criterio adicional a las funciones DSum (SumaD).

Como el campo Factura es de tipo texto, debemos envolver el valor del formulario entre comillas simples (').

Aquí tienes la solución explicada y el código listo para copiar.

DoCmd. RunCommand acCmdSaveRecord
Me.Saldo = Nz(DSum("Ingreso", "Kardex", "Factura = '" & Me.Factura & "' And idmov <= " & Me.idmov), 0) - _
           Nz(DSum("Salida", "Kardex", "Factura = '" & Me.Factura & "' And idmov <= " & Me.idmov), 0)

Si lo que buscas es que el campo Saldo muestre lo que falta por pagar de la factura (como en tu ejemplo), la fórmula ideal debería restar los ingresos del Monto de la Factura:

' Opción alternativa si buscas el saldo pendiente de la factura:
Me.Saldo = Me.Monto_de_Factura - Nz(DSum("Ingreso", "Kardex", "Factura = '" & Me.Factura & "' And idmov <= " & Me.idmov), 0)

(Nota: Ajusta Me.Monto_de_Factura al nombre real de tu campo si decides usar esta lógica).

Respuesta
1

Lo publicado devuelve el saldo de todos los movimientos iguales o inferiores al seleccionado, simula una suma continua (realmente dos y presenta la diferencia).

Se le puede añadir (en ambas sumas) una condición más: el numero de factura, solo se necesita una nueva igualdad

Lo actual:

"idmov<=" & me.idmov

La nueva igualdad podría ser algo como:

"Factura = '" & me.factura & "'"

Las dos se unirán con un AND así para formar la nueva condición:

"Factura = '" & Me.Factura & "' And  idmov >= " & me.idmov

El resultado devuelto: el saldo de registros que cumplan ambas condiciones.

Si se desea utilizar en un formulario continuo, quizás sea más eficiente crear una consulta y utilizarla como origen de datos del formulario.

Respuesta

I. Hola Compañeros.

Miguel, aunque el experto Enrique Feijóo ya le ha respondido me gustaría poder adjuntarle la información que de nuevo vi ayer por la noche para intentar responderle si durante el día de hoy no recibía mensajes.

Dentro de mi ignorancia podría utilizar la función 'SUMIFS', aunque entiendo que la opción que le propuso Enrique Feijóo será un sistema más óptimo.

https://www.datacamp.com/es/tutorial/sumifs 

https://www.reddit.com/r/excel/comments/18s1v44/balance_after_bills_spreadsheet_formula/?tl=es-es

https://www.youtube.com/shorts/X5l3-1ql84U 


Disculpe como siempre por la cantidad de lectura y responderle sin ser conocedor. Ánimo.


https://www.reddit.com/r/excel/comments/1an0uez/how_do_i_get_my_table_to_calculate_outstanding/

https://www-fm--magazine-com.translate.goog/news/2023/sep/excel-how-to-calculate-cumulative-balances/?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc

https://www-exceltip-com.translate.goog/excel-pivot-tables/adding-a-running-balance-calculation-column.html?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc

https://www-investopedia-com.translate.goog/ask/answers/040315/how-do-you-calculate-present-value-excel.asp?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc

https://www-thebricks-com.translate.goog/resources/how-to-keep-track-of-customer-payments-in-excel?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc

https://chandoo-org.translate.goog/wp/invoice-numbers/?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc

https://www.reddit.com/r/excel/comments/neam4m/i_want_a_cell_to_automatically_compute_my/?tl=es-es

https://www-excelfox-com.translate.goog/forum/showthread.php/1574-Find-The-Invoice-Shortfall-Balancing-Amount-Using-Excel-Formula?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc 

https://other--levels-com.translate.goog/blogs/excel-dashboard-tips-tricks/auto-calculating-invoice-templates-in-microsoft-excel?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc 

https://www.reddit.com/r/excel/comments/153dblr/excel_sheet_for_running_total_of_balance_paid_and/

https://www-chandoo-org.translate.goog/forum/threads/invoice-balance-formula.18161/?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc#post-109628

https://www-excelfox-com.translate.goog/forum/showthread.php/1574-Find-The-Invoice-Shortfall-Balancing-Amount-Using-Excel-Formula?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc

https://www-experts--exchange-com.translate.goog/questions/27595791/How-to-record-payments-against-invoices-in-Excel-No-VBA-Yes-UDF.html?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc&_x_tr_hist=true

https://www-excelforum-com.translate.goog/excel-formulas-and-functions/1294344-excel-formula-to-sum-and-count-unpaid-invoices.html?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc

https://www-lido-app.translate.goog/blog/how-to-extract-invoice-data-into-excel-and-google-sheets?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc&salesforce_uuid=%257B%2522path%2522%253A%2522https%253A%252F%252Fwww-lido-app.translate.goog%252Fblog%252Fhow-to-extract-invoice-data-into-excel-and-google-sheets%2522%252C%2522posthogDistinctId%2522%253A%2522019e94a0-98a0-79a8-a36c-82f12046872d%2522%257D

https://www.youtube.com/watch?v=i-9ugC2sjGc

https://www-financialaha-com.translate.goog/essentials-spreadsheet-templates/invoicing-billing/invoice-tracker/?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc

https://www-mrexcel-com.translate.goog/board/threads/vba-script-to-calculate-the-balance.1194222/?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc

https://www-vertex42-com.translate.goog/blog/excel-formulas/create-a-running-balance-in-excel.html?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc

https://stackoverflow.com/questions/7102158/invoice-list-running-balance-based-on-date-and-account

https://www.youtube.com/watch?v=ApmDzuaXVas

https://www.youtube.com/watch?v=zLdVpkfPsFw 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas