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
2

Diego: He leído dos o tres veces tu pregunta y si bien creo entender lo que buscas, en mi opinión lo más adecuado sería que la fuente de datos del Gráfico fuera una consulta de Referencias cruzadas, con lo que te ahorrarías esa atención a nuevos grupos que puedan surgir.

Lo del filtrado en principio no debe ser obstáculo, pero primero me comentas si la idea que te expreso es adecuada para ti. Un saludo >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas