Access - Suma de campo de distintos registros por año

 
Vista:
sin imagen de perfil
Val: 77
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

Suma de campo de distintos registros por año

Publicado por Carlos (41 intervenciones) el 04/08/2018 20:30:19
Hola, me ha entrado el gusanillo, y me gustaría añadir un total de un campo, seria posible sumar el total de un campo de los 12 registro del año
Estructura
El formato de fecha seria 01/01/2018
Fecha Campo Total
Mes 1 2018 1 1
Mes 2 2018 5 6
Mes 3 2018 3 9




En el formulario según en el mes que estemos me muestre la suma desde principios de año hasta ese mes, al cambiar de año que empiece a sumar según el campo.
Gracias
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 Naren
Val: 127
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Suma de campo de distintos registros por año

Publicado por Naren (33 intervenciones) el 09/08/2018 17:56:07
esto lo queres hacer en un reporte, en un formulario o en una consulta? no logro visualizar bien el problema
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
sin imagen de perfil
Val: 77
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

Suma de campo de distintos registros por año

Publicado por Carlos (41 intervenciones) el 09/08/2018 18:22:44
Quiero que se me vea en el formulario, pero sinedtoy en un registro de 2017 me de solo la cantidad de 2017, si estoy en un registro con fecha de 2018 solo me de la suma de 2018
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
Imágen de perfil de Naren
Val: 127
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Suma de campo de distintos registros por año

Publicado por Naren (33 intervenciones) el 09/08/2018 18:26:11
entonces tu formulario esta mostrando registros de una tabla o consulta. podrias darme datos de ejemplo? o mostrar una captura del formulario? lo que pedis se puede hacer de varias formas diferentes
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
sin imagen de perfil
Val: 77
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

Suma de campo de distintos registros por año

Publicado por Carlos (41 intervenciones) el 09/08/2018 19:22:07
Hola, gracias por responder, me gustaría que en el formulario el campo "Total año"mostrara la suma del campo "Total" de todos los registro del año que estuviese en ese monento, según el campo fecha. Si es posible si ponemos el mes correspondiente a Enero solo mostrara lo de enero, y si fueras al ultimo del año, sumara los 12 campos de cada registro mostrado el total de el año correspondiente. Gracias, te adjunto un ejemplo de la base datos
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
Imágen de perfil de Naren
Val: 127
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Suma de campo de distintos registros por año

Publicado por Naren (33 intervenciones) el 09/08/2018 20:38:00
el campo total del año se usa con una expresion

= suma([TOTAL])

y luego cuando aplicas un filtro te muestra el total segun los datos filtrados, o el total de todos los datos si se muestran todos los registros sin filtro
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
sin imagen de perfil
Val: 77
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

Suma de campo de distintos registros por año

Publicado por Carlos (41 intervenciones) el 10/08/2018 15:02:29
Hola, gracias por la respuesta , con esto sumas el total de todos los registros de todos los años. Me refería mas bien a esto


id Fecha Cantidad Cantidad1 Total Total Año
1 30/12/2017 100,00 € 55,00 € 155,00 € 155,00 €
2 31/12/2017 100,00 € 55,00 € 155,00 € 310,00 €
3 06/08/2018 22,00 € 55,00 € 77,00 € 77,00 €
4 07/08/2018 22,00 € 55,00 € 77,00 € 154,00 €
5 06/05/2018 35,00 € 85,00 € 120,00 € 274,00 €


Que sumara el total de año según en el registro actual ¿me explico?
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
sin imagen de perfil
Val: 77
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

Suma de campo de distintos registros por año

Publicado por Carlos (41 intervenciones) el 13/08/2018 23:15:04
Hola he conseguido que me sume por año en una nueva consulta
Tengo fecha y total
Pero no soy capaz de llevar ese resultado al formulario y sobre todo que solo me muestre la suma del año segun la fecha seleccionada.en el formulario
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
Imágen de perfil de Naren
Val: 127
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Suma de campo de distintos registros por año

Publicado por Naren (33 intervenciones) el 13/08/2018 23:34:24
tenemos que usar un poco de VBA para hacer lo que pedís

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Form_Current()
Dim miBase As Object, miConsulta As Object, miTabla As Object
Dim s As String
 
 s = "SELECT Sum([Cantidad]+[cantidad1]) AS Expr2 " & _
    "FROM Tabla " & _
    "GROUP BY Year([Fecha]) " & _
    "HAVING (((Year([Fecha]))=" & Year(Me.Fecha) & "));"
 
 Set miBase = CurrentDb
 Set miConsulta = miBase.CreateQueryDef("", s)
 Set miTabla = miConsulta.OpenRecordset
 
 Total_Año = miTabla(0)
 
 miTabla.Close
 miConsulta.Close
 miBase.Close
 
End Sub
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

Suma de campo de distintos registros por año

Publicado por Anonimo (3312 intervenciones) el 14/08/2018 00:21:08
No es indispensable hacerlo con VBA, el origen de datos del recordset es una consulta SQL (que parece creada con el editor grafico, lo que la hace fácil de emular y modificar).

Bastaría guardarla y utilizarla como dominio en un DLookup.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 77
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

Suma de campo de distintos registros por año

Publicado por Carlos (41 intervenciones) el 14/08/2018 17:08:13
Gracias, llevo un buen rato mareandome, funciona con un campo metido a mano, pero no si la suma la realizo con campos calculados, ¿alguna solución? gracias
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
Imágen de perfil de Naren
Val: 127
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Suma de campo de distintos registros por año

Publicado por Naren (33 intervenciones) el 14/08/2018 17:14:24
pone la base de datos para analizar el problema
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
sin imagen de perfil
Val: 77
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

Suma de campo de distintos registros por año

Publicado por Carlos (41 intervenciones) el 14/08/2018 17:26:59
Tal y como esta el segundo ejemplo me valdría, pero en vez de sumar Cantidad+Cantidad1 seria un campo ya sumado calculado, el campo Total, ¿es posible sumarlo así? Gracias adjunto ejemplo
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

Suma de campo de distintos registros por año

Publicado por Anonimo (3312 intervenciones) el 14/08/2018 22:12:11
Creo que a las maquinas les gusta mas sumar que multiplicar, en base a ello no veo que problema supondría 'volver a sumar' esos campos que representan al total (esto es, en lugar de 'sumar sumas' <> 'sumar simples sumandos'.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Naren
Val: 127
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Suma de campo de distintos registros por año

Publicado por Naren (33 intervenciones) el 14/08/2018 22:19:40
lo que pasa es que la funcion dlookup busca un campo de resultado de una consulta que ya se encuentra grabada en el sistema. por eso es que no podes hacer la suma de otros dos campos. pero si podes crear el campo sumado y usarlo como resultado
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
sin imagen de perfil
Val: 77
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

Suma de campo de distintos registros por año

Publicado por Carlos (41 intervenciones) el 15/08/2018 14:12:42
Gracias por responder, he tratado de aplicar a mi bd lo que me comentas, pero no soy capaz.
Para tenerlo mas claro el campo que quiero sumar es el Campo Mes2Mes1, que es la diferencia de un campo de un registro con el mismo registro del campo anterior a través de una consulta obtenida así:
Mes2Mes1: Abs([Efectivo+Caixa]-((DSuma("Efectivo+Caixa";"Tabla";"id<=" & [id]-1))-Nz(DSuma("Efectivo+Caixa";"Tabla";"id<=" & [id]-2);0)))
Te adjunto mi db real con los datos de campos inventados, a priori parece que lo hace correctamente ya que muestra bien la suma, ahora si variamos los valores de Caixa parece que se vuelve loco.

2017=120
2018=840
Pero si cambias algún valor de Caixa ya se vuelve loco, que es lo que me pasa a mi en mi bd real.
Por ejemplo mes abril ponemos 1000 en vez de 600 y ya no lo hace correctamente.
Sobre las 2 bd de ejemplo que me adjuntaste una con VBA no se por que me lanza un error
Gracias por la ayuda
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

Suma de campo de distintos registros por año

Publicado por Anonimo (3312 intervenciones) el 15/08/2018 17:59:24
Desde el primer momento me llamo la atención el calculo con la diferencia entre meses, exactamente que se aplique la función ABS sobre el conjunto, porque ABS devuelve el valor absoluto y si el resultado fuera negativo …. se 'saca el As de la manga' y lo convierte en positivo.

En principio es la diferencia, pero no es un dato 'real' y por eso si se utiliza para un calculo posterior … toda esa contabilidad esta inventada (y seria interesante verlo en forma grafica …. ).

Hay que ser muy delicado al programar contabilidades (aunque estas sean para uso interno), en matemáticas dos mas dos (inventivas y sueños aparte) siempre serán cuatro y si se da el caso de ser un 'dos' y un 'menos dos' el resultado será cero (en lugar de el anterior cuatro).
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
sin imagen de perfil
Val: 77
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

Suma de campo de distintos registros por año

Publicado por Carlos (41 intervenciones) el 15/08/2018 18:11:01
Es una bd personal de contabilidad domestica, si algo saliera mal tampoco pasaría nada. Mi problema y por eso use ese abs es que si que por lo que sea gastaba mas que lo que ahorraba en ese mes en curso, ya tenia un valor negativo y luego al sumar no me daba el valor correctanente. Uso una web de contabilidad llamada wallo, y antes usaba un excel. Pensé pasarlo de excel a access, pero aquí todo se vuelve mas complicado. Básicamente relleno los campos del access y el me realiza los cálculos. Para adornarlo un poco mas me gustaría que me sumara dicho campo para saber lo que voy ahorrando anualmente. Mi nivel de access es prácticamente 0. Hace 1 mes no sabia crear un formulario. Evidentemente alguna formulas o operaciones habrá formas mas sencillas de ejecutarlas, pero si me funciona me vale. Gracias
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

Suma de campo de distintos registros por año

Publicado por Anonimo (3312 intervenciones) el 15/08/2018 19:24:52
No entro en la utilización de esa contabilidad, pero si enfrentamos dos cálculos efectuados sobre los mismos datos en el mismo periodo y la suma de las diferencias parciales es diferente a la suma total …. matemáticamente estamos haciendo algo mal.

La verdad es que a mi me encantaría que esa teoría fuese cierta:
tener mas gastos que ingresos y obtener un saldo positivo ese mes …..

(al menos para mi y mientras no descubra esa formula mágica, ese calculo me da negativo y solo habría un saldo positivo si la diferencia fuera menor que el acumulado de ese conjunto)
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
sin imagen de perfil
Val: 77
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

Suma de campo de distintos registros por año

Publicado por Carlos (41 intervenciones) el 17/08/2018 19:43:18
Hola te agradecería alguna ayudita mas, tengo en el ejemplo que adjuntaste los resultados que quiero en la consulta registro,y en el formulario El campo total_año: Suma([Cantidad]+[Cantidad1]) funciona ok,
He añadido otro campo Totales2 si uso un campo no calculado funciona, pero necesito que me sume el campo calculado
Pero el campo que quiero sumar es:Totales2: Suma([Mes2Mes1])
Al entrar en la consulta Registro no lo encuentra y pide que lo teclee

¿alguna forma de que sume ese campo?

Puede explicarme esto me me indico " pero si podes crear el campo sumado y usarlo como resultado" ¿a que se refiere?
Gracias
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
sin imagen de perfil
Val: 77
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

Suma de campo de distintos registros por año

Publicado por Carlos (41 intervenciones) el 25/08/2018 15:32:39
Hola, finalmente y tras muchas pruebas, he conseguido con ayuda conseguir lo que quería a medias
Quiero la suma de Mes2Mes1 solo desde principios de año y que se vea lo acumulado
Consigo o 1 cosa o la otra pero no las 2 a la vez

Con esta formula obtengo el total según en el año que este el registro pero no acumulado, llamado Acumuladoa
=DSuma("[Totales]";"Sumas";"Actual=" & Año([fecha]))
Y con este obtengo el total acumulado pero me hace el total desde el primer registro que es de otro año, aqui me faltaria que me hiciera la suma acumulativa desde principios de año., llamado Acumuladot
=DSuma("[Mes2Mes1]";"Calculos";"[fecha] <= #" & [Formularios]![Contabilidad]![fecha] & "#")

Agua sugerencia¿?¿?
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

Suma de campo de distintos registros por año

Publicado por Anonimo (3312 intervenciones) el 25/08/2018 17:34:54
Solo una acotación, si se utilizase un informe para presentar esos cálculos, parte del camino estaría allanado.

Los informes tienen una propiedad de la que carecen los formularios: la suma continua (abajo los DLookup, DSum …..)
Una función de dominio puede utilizar hasta tres parámetros (solo dos son indispensables)
El primero, es el calculo ==> la suma continua
El segundo el dominio ==> el origen de datos de informe
El tercero (la condición) ===> la suple con ventajas la AGRUPACION (nos permite crear los subconjuntos día, mes, año …. etc.)

¿Sugerencias? …. yo no le encuentro sentido a hacer cálculos ficticios y esperar resultados serios (quizás sea que no entienda de contabilidades creativas).
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
sin imagen de perfil
Val: 77
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

Suma de campo de distintos registros por año

Publicado por Carlos (41 intervenciones) el 26/08/2018 15:12:38
Gracias por responder, pero me quedo igual :(, sobre el ultimo comentario, intento explicarte por que paso a positivo ciertos valores
Si un mes tengo 10 de ingreso y 5 de gastos tengo 5 de saldo
Si el siguiente mes tengo 10 de ingresos y 13 de gastos, tengo -3 de saldo, El saldo acumulado seria 2 (5-3=2)
Hasta ahí todo correcto, pero en mi caso con el campo saldo hago otra cuenta, una resta, y si uno de los 2 valores es negativo me lo suma
Simplemente es por tener el valor final en positivo, solo eso.
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

Suma de campo de distintos registros por año

Publicado por Anonimo (3312 intervenciones) el 26/08/2018 16:30:49
Lamento que la curiosidad no te lleve a verificar las características que ofrecen los informes, pero eso es un tema que quedara exclusivamente en tus manos (es una vía de solución, pero no es la única).

Obtener valores en absoluto (esto es SIN SIGNO o solo positivos según se mire) puede ser una forma de mostrar resultados (aceptable si se tiene en cuenta esa característica), pero no es un resultado fiel y si se suman esos resultados (los verdaderos positivos y los falso positivos), se obtendrá un total que solo será positivo (aunque todos los verdaderos sumandos fueran negativos) …. ¿contabilidad creativa?.

Por mi parte y dado que (al menos para mi) no existe interés en jugar a crear cálculos ficticios, no entrare mas en el tema (si alguien entra en sintonía con esa forma de calcular y puede ayudar, no seré yo quien interfiera).
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
sin imagen de perfil
Val: 77
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

Suma de campo de distintos registros por año

Publicado por Carlos (41 intervenciones) el 26/08/2018 17:42:09
Gracias de nuevo por recordarme mi contabilidad creativa, :), voy a satisfacer dicha curiosidad, lo mismo doy con una solución a mi problema y resulta que lo tengo delante y no sabia ni que estaba ahí, y claro si usted indica que ahí puede haber una posible solución, pues a revisar las características de los informe , saludos
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
sin imagen de perfil
Val: 77
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

Suma de campo de distintos registros por año

Publicado por Carlos (41 intervenciones) el 26/08/2018 19:15:14
Observo que creando un informe, solamente con los campos fecha y Mes2Mes1, puedo hacer una suma continua y ademas un total de la misma por año actual o anterior, entre otros muchos filtros, no se si se refería a esto exactamente, puede servirme, aunque me hubiera gustado poder trasladar esos resultados al formulario, gracias
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
sin imagen de perfil
Val: 77
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

Suma de campo de distintos registros por año

Publicado por Carlos (41 intervenciones) el 14/09/2018 16:40:22
Hola finalmente conseguí lo que quería gracias a un forero, por supuesto, mi nivel era muy bajo, finalmente con código desde un formulario y sin consultas
La tabla se llama contabilidad
Campos de la tabla
id, fecha, ingresos, gastos, analisis, gasoil, efectivo y caixa
Los campos que se calculan son
Efectivo+Caixa
AhorradoMes
AhorradoAño
Ocio
Al introducir el campo caixa me realiza los 4 calculos
Como indique al usar el software de contabilidad wallo, no meto apuntes varios, gastos de salir a comer/cenar fines de semanas etc...
Ingresos-Gastos debería ser AhorradoMes, pero no seria así, para calcular lo ahorrado del mes en curso lo resto con el AhorradoMes del mes anterior
Luego para calcular el Ocio lo hago así, la resta de Analisis-AhorradoMes= a gastos Ocio
Así quedo el código:
1
2
3
4
5
6
7
8
9
10
Private Sub Caixa_AfterUpdate()
Me.[Efectivo+Caixa] = Nz([Efectivo]) + Nz([Caixa])
AhorradoMes = Efectivo + Caixa - DLast("efectivo+caixa", "contabilidad", "id<" & Me.id & "")
Me.Refresh
DoCmd.RunCommand acCmdSaveRecord
AhorradoAño = DSum("AhorradoMes", "contabilidad", "format([fecha],""yyyy"")=format(#" & Me.Fecha & "#,""yyyy"")")
Me.Refresh
Me.[Ocio] = Abs(Nz([Analisis]) - Nz([AhorradoMes]))
Me.Refresh
End Sub
Así consigo el campo AhorradoAño me salga una suma acumulada y no me sume el total del año al entrar y salir de la bbdd, eso me pasaba con las consultas.
Añadir y dando la razón a @anónimo así consigo una contabilidad real, y no ficticia
Graciass
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