Repetir saldos en access

Tengo una tabla, una consulta y un formulario que utilizo para contabilidad. Empieza con la fecha del día, un saldo inicial y luego distintos ingresos y egresos que suman y restan llegando a un saldo final de ese día.
¿Cómo se puede hacer para que en la apertura del día siguiente, en el saldo inicial, aparezca el importe del saldo final del día anterior?

1 respuesta

Respuesta
1
Pues se me ocurre lo siguiente: simplemente realizar una sumatoria de TODOS los ingresos y egresos y compararlos entre sí, teóricamente me tarde 3 segundos en escribirlo, pero llevarlo a la práctica requiere un poquito de sentencias SQL o... ¿cómo haces las cuentas tú?
Otra sugerencia sería que en vez de realizar una sumatoria [y restatoria :)] de ingresos y egresos del día, mejor lo hagas con respecto a todo lo que tienes guardado en la BD, es decir la sumatoria abarcaría desde el primer ingreso y egreso almacenados hasta el último.
Pero, para ser más preciso en mi respuesta, proporcióname más datos acerca de cómo obtienes el Saldo final del día para así poder orientarte para que se te haga más fácil.
Saludos desde -méxico. Juan Pablo E.P.
Gracias Juan Pablo por tu atención. Te cuento en realidad lo que necesito es registrar movimiento finales diarios de la caja. Entonces, en un formulario que viene de una consulta, tengo la fecha, un saldo de caja de arranque, cuadros de ingresos por ventas, ingresos por devoluciones, por cobranzas atrasadas, etc. en el mismo formulario coloco egresos por gastos, por compras, etc. En el "casillero" saldo de cierre coloco un calculo "saldo inicial+ingresos por tal cosa+ingresos por otra cosa-egresos por gastos-egresos por compras y me da un importe que es el saldo final o cierre. Lo que necesito es que al pasar al día siguiente el formulario me muestre como saldo de arranque el saldo del cierre del día anterior. Perdoná si no soy claro.
Te doy 2 opciones [te las diré teóricamente de nuevo ya que desconozco los nombres de campos que usas y otros datos que sería importante para mi saberlos]:
1.- Almacenar el "Saldo actual" en una nueva tabla que se irá actualizando día con día [o incluso con cada operación realizada], integrarla a tu consulta y así obtenerlo por medio del formulario.
2.- Recuperar el Saldo actual por medio de una sentencia SQL:
Private Sub Form_Load()
    Dim sql As String 'variable que almacenará la sentencia SQL
    'variables para almacenar el conjunto de registros
    Dim RstGastos As New ADODB.Recordset, RstIngresos As New ADODB.Recordset
    Dim SaldoActual As Currency 'variable que almacena el importe del saldo actual
    'recuperar la sumatoria de todos los gastos
    sql = "SELECT SUM(Importe) FROM MiTabla WHERE Tipo = 'Gasto'"
    RstGastos.Open sql, CurrentProject.Connection, adOpenDynamic, adLockPessimistic
    'recuperar la sumatoria de todos los ingresos
    sql = "SELECT SUM(Importe) FROM MiTabla WHERE Tipo = 'Ingreso'"
    RstIngresos. Open sql, CurrentProject. Connection, adOpenDynamic, adLockPessimistic
'obtener el saldo actual
    SaldoActual = RstIngresos(0).Value - RstGastos(0).Value
    RstGastos.Close
    Set RstGastos = Nothing
    RstIngresos.Close
    Set RstIngresos = Nothing
    TxtSaldoInicial.SetFocus 'enfocar TxtSaldoInicial
    TxtSaldoInicial.Text = SaldoActual
End Sub
El código anterior supone una tabla llamada "MiTabla" con al menos los campos "Importe" y "Tipo", además de un formulario con al menos un TextBox llamado "TxtSaldoInicial" y la obtención del Saldo inicial se hace cada vez que se carga el formulario [Form_Load].
Y si definitivamente estoy hablándote en chino, pues dame más datos acerca de los nombres de tus tablas y campos, entonces podré ayudarte.
Saludos desde México. Juan Pablo E.P.
Juan Pablo, no es chino pero se parece al idioma coreano. Te cuento, la tabla la llamé "contabilidad" la consulta "contabilidad" el formulario también contabilidad. Que original ¿no?
Tiene
Fecha
Saldo inicial
Ingreso por ventas
Ingreso por atrasados
egresos por compras
egresos por gastos
egresos por pago de impuestos
Saldo de Cierre (este es el saldo que necesitaría que aparezca como inicial al pasar el formulario de día.
El access está en castellano Por favor no me compliques más la vida. Dejá que te la complique yo con mis preguntas. Decime donde pongo tus instrucciones ¿en origen del control?
Muchas gracias y un abrazo
Disculpa la demora, he estado algo ocupado en mis actividades. Tengo un par de preguntas para poder "digerirlo"por completo:
1.- ¿En la tabla almacenas como un nuevo registro cada movimiento realizado [por ejemplo si hay una venta haces un nuevo registro, en "Ventas" escribes el monto y en los demás escribes ceros] o simplemente actualizas un único registro diario por fecha [por ejemplo si hay una venta, buscas la fecha actual en la tabla y en "Ventas" sumas el monto al anterior]?
2.- Necesito que me "pegues" la instrucción SQL de tu consulta, para de ahí poder ver cómo puedo modificarla a tus necesidades. [¿Cómo hago eso JP? Abre la consulta en "Vista diseño", clic en el "Menú: Ver > Vista SQL"]
[Se me acaba de ocurrir otra ides... pero primero dame esos datos y veré cuál idea es mejor]
Saludos desde México. Juan Pablo E.P.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas