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

(Please enter your Payment methods data on the settings pages.)

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

noviembre 2024
LMXJVSD
 123
45678910
11121314151617
18192021222324
252627282930 

Debates en el foro

Contacto