Actualizar automáticamente un gráfico en función de un combobox
Tengo un gráfico de barras en un formulario que puedes ir cambiando en función del año que seleccionas en un desplegable. Este gráfico hace mención a rango de páginas. Es decir, esto:
Ahora mismo muestra las que tienen datos, porque así se lo he indicado yo en la consulta que creo para el gráfico.
En el evento "Después de actualizar" del combobox, tengo el siguiente código:
Private Sub Año_AfterUpdate() Me.Grafica.RowSource = "SELECT CLibrosLeidosPorRangoDePaginas.Año, CLibrosLeidosPorRangoDePaginas.[1 a 99], CLibrosLeidosPorRangoDePaginas.[100 a 199], CLibrosLeidosPorRangoDePaginas.[200 a 299], CLibrosLeidosPorRangoDePaginas.[300 a 399], CLibrosLeidosPorRangoDePaginas.[400 a 499], CLibrosLeidosPorRangoDePaginas.[500 a 599], CLibrosLeidosPorRangoDePaginas.[600 a 699], CLibrosLeidosPorRangoDePaginas.[700 a 799], CLibrosLeidosPorRangoDePaginas.[800 a 899], CLibrosLeidosPorRangoDePaginas.[900 a 999] " _ & " FROM CLibrosLeidosPorRangoDePaginas " _ & "GROUP BY CLibrosLeidosPorRangoDePaginas.Año, CLibrosLeidosPorRangoDePaginas.[1 a 99], CLibrosLeidosPorRangoDePaginas.[100 a 199], CLibrosLeidosPorRangoDePaginas.[200 a 299], CLibrosLeidosPorRangoDePaginas.[300 a 399], CLibrosLeidosPorRangoDePaginas.[400 a 499], CLibrosLeidosPorRangoDePaginas.[500 a 599], CLibrosLeidosPorRangoDePaginas.[600 a 699], CLibrosLeidosPorRangoDePaginas.[700 a 799], CLibrosLeidosPorRangoDePaginas.[800 a 899], CLibrosLeidosPorRangoDePaginas.[900 a 999] " _ & "HAVING (((CLibrosLeidosPorRangoDePaginas.Año) = [Formularios]![FLibrosLeidosPorRangoDePaginas]![Año])) " _ & "ORDER BY CLibrosLeidosPorRangoDePaginas.Año DESC" Me.Grafica.Requery End Sub
Si, más adelante, aparecería un nuevo rango, este no aparecería, y tendría que añadirlo manualmente.
Lo que me gustaría conseguir es algo a lo que hago cuando selecciono "Todos los años", que tengo puesto este código:
Me.Grafica.RowSource = "CLibrosLeidosPorRangoDePaginasTotal"
Lo cual me permite que se vayan añadiendo los rangos si se crean más.
No sé si me consigo explicar.
Respuesta de Jacinto Trillo Jareño
2