Access - Control de saldos

 
Vista:

Control de saldos

Publicado por Jose (1 intervención) el 08/07/2003 16:58:43
Hola, tengo la sgte. tabla: CODIPRO INGRESOS EGRESOS FECHA, lo que quiero es que INGRESOS - EGRESOS se guarde en otra tabla: CODIPRO SALDOFINAL, y que esta columna sirva como saldo inicial para la tabla primera: quedando algo asi: SALDOINICIAL(DEL DIA ANTERIOR)+INGRESOS-EGRESOS = SALDOFINAL, quisiera saber como hacerlo en vba. gracias por sus respuestas. jose
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Control de saldos

Publicado por Alejandro (4142 intervenciones) el 29/04/2023 01:54:16
Hola José.

Puedes crear un procedimiento en VBA que calcule el saldo final para cada registro en la tabla de ingresos y egresos y luego los agregue a la tabla de saldo final. El código podría ser algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Public Sub ActualizarSaldos()
    Dim rsIngresos As DAO.Recordset
    Dim rsSaldoFinal As DAO.Recordset
    Dim saldoInicial As Double
    Dim ingreso As Double
    Dim egreso As Double
 
    'Abre los recordsets para las dos tablas
    Set rsIngresos = CurrentDb.OpenRecordset("CODIPRO INGRESOS")
    Set rsSaldoFinal = CurrentDb.OpenRecordset("CODIPRO SALDOFINAL")
 
    'Recorre cada registro en la tabla de ingresos y egresos
    rsIngresos.MoveFirst
    Do Until rsIngresos.EOF
        'Obtiene los valores de ingresos y egresos para el registro actual
        ingreso = rsIngresos!INGRESOS
        egreso = rsIngresos!EGRESOS
 
        'Calcula el saldo final para el registro actual
        If rsSaldoFinal.RecordCount > 0 Then
            saldoInicial = rsSaldoFinal.Fields("SALDOFINAL").Value
        Else
            saldoInicial = 0 'Establece un saldo inicial de cero si la tabla está vacía
        End If
        rsSaldoFinal.AddNew
        rsSaldoFinal!CODIPRO = rsIngresos!CODIPRO
        rsSaldoFinal!FECHA = rsIngresos!FECHA
        rsSaldoFinal!SALDOINICIAL = saldoInicial
        rsSaldoFinal!INGRESOS = ingreso
        rsSaldoFinal!EGRESOS = egreso
        rsSaldoFinal!SALDOFINAL = saldoInicial + ingreso - egreso
        rsSaldoFinal.Update
        rsIngresos.MoveNext
    Loop
 
    'Cierra los recordsets
    rsIngresos.Close
    rsSaldoFinal.Close
    Set rsIngresos = Nothing
    Set rsSaldoFinal = Nothing
End Sub

Este código abre los recordsets para las dos tablas, recorre cada registro en la tabla de ingresos y egresos, calcula el saldo final para cada registro y lo agrega a la tabla de saldo final. También establece un saldo inicial de cero si la tabla de saldo final está vacía.

Espero que esto te ayude. ¡Buena suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar