Sumar columnas de un subformulario en Access

Escrito por Administrador

2 de octubre de 2023

Hoy os traigo una solución para sumar columnas de un subformulario de Access usando Recordsets. Es algo que soléis preguntarme con bastante frecuencia, por eso espero que este post os sirva de ayuda.

He preparado un ejemplo con una tabla, un formulario y un subformulario. En ellos se recogen los gastos de distintas personas en sus viajes de negocio.

saber-usuarios-conectados-base-datos
saber-usuarios-conectados-base-datos

Cuando seleccionemos un nombre en el campo superior del formulario, el subformulario se filtrará mostrando únicamente los valores correspondientes a dicha persona.

En las casillas inferiores del formulario, aparecerá la suma de cada una de las columnas del subformulario filtrado.

A continuación, os comparto el código,

Option Compare Database

Private Sub Form_Load()

'Blanqueamos el valor del campo Nombre al cargar el formulario

Nombre = Null
Nombre.Requery

End Sub

Private Sub Nombre_AfterUpdate()

Forms!Gastos.Requery

'Rellenamos los totalizadores

Set dbs = CurrentDb()

Dim sumaDesplazamiento As Recordset
Dim sumaAlojamiento As Recordset
Dim sumaDieta As Recordset

'Creamos un recordset para cada tipo de gasto y calculamos la suma para el usuario seleccionado

Set sumaDesplazamiento = dbs.OpenRecordset("Select SUM([Desplazamiento]) as totalDesplazamiento from [Gastos] where Nombre='" & Me.Nombre & "'")
Set sumaAlojamiento = dbs.OpenRecordset("Select SUM([Alojamiento]) as totalAlojamiento from [Gastos] where Nombre='" & Me.Nombre & "'")
Set sumaDieta = dbs.OpenRecordset("Select SUM([Dieta]) as totalDieta from [Gastos] where Nombre='" & Me.Nombre & "'")

'Rellenamos los campos con los resultados

Forms![Gastos]!txtTotR = sumaAlojamiento!totalAlojamiento
Forms![Gastos]!txtTotB = sumaDesplazamiento!totalDesplazamiento
Forms![Gastos]!txtTotM = sumaDieta!totalDieta

End Sub

Si, por ejemplo, seleccionamos a "Susana", veremos solamente sus registros, así como la suma total de cada uno de sus gastos.

saber-usuarios-conectados-base-datos

Espero que con este ejemplo hayas aprendido a sumar columnas de un subformulario de Access usando VBA. Descárgate el archivo de ejemplo y practica.

Por último, quiero invitarte a compartir tus dudas en los comentarios o en el foro. Intentaré ayudarte en todo lo que pueda, y así aprenderemos todos.

Hasta la próxima.

Si te ha servido y quieres donar

Descarga el archivo del ejemplo

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Últimas publicaciones

Categorías

abril 2024
LMXJVSD
1234567
891011121314
15161718192021
22232425262728
2930 

Debates en el foro

Avatar
Formularios con ADO

Contacto