Gráfico en informe access aplicando filtro VBA

Ahora que ya lo tenía todo listo "el jefe" quiere poder ver los datos que se filtran por informe con datos (eso es lo que ya tengo hecho) y con gráfico.

Yo he probado de crear una consulta tipo "vista gráfico dinámico" y crear un informe con origen del registro a esa consulta. En el código VBA le digo que si marca un botón ejecute el nuevo informe con el filtro, tal y como hago con los informes de datos.

El problema que tengo es que se me ejecuta y se abre la gráfica, pero sin aplicar el filtro.

¿Algún consejo?

Por cierto... Me ha costado el tema de crear la vista gráfico dinámico... Que no venga el problema por ahí...

2 Respuestas

Respuesta
2

Javi: Quizá este breve resumen del enlace que te pongo a continuaciónte sirva de guía.

http://informaticapc.com/microsoft-access-2010/graficos.php 

Además tiene otras ayudas.

El propio Microsoft y en ésta página da una explicación extensa de ese tema.

https://support.office.com/es-es/article/Crear-vistas-Tabla-din%C3%A1mica-o-Gr%C3%A1fico-din%C3%A1mico-en-una-base-de-datos-de-escritorio-83e524df-dfbd-456d-9dd0-0a48c1aa6752

Mis saludos >> Jacinto

Gracias Jacinto, 

la págino de support.office la suelo consultar antes de hacer la consulta por aquí, por si puedo ahorraros las molestias.

El caso es que la gráfica dinámica se ejecuta en su totalidad.

Me explico mejor: 

Tengo un formulario en access que se ejecuta mediante un filtro VBA. En dicho formulario de momento se ejecuta un informe de access con datos y este filtro y los datos que aparecen son correctos.

Lo que quiero ahora es que este filtro se ejecuta también en otro informe que sea un gráfico, de manera que según la selección que se haga en el filtro del formulario, se grafique unos datos u otros.

La tabla que se explota es Incidencias, con los campos:

- IdIncidencias

- Ficha

- Barrio

- Codigo Incidencia

- Fecha

- Hora

si en el formulario selecciono sólo el código 4, quiero que me grafique las incidencias de código 4. Ahora mismo, seleccione lo que seleccione me salen todos los códigos graficados.

Javi: En principio es indeferente el dato por el que filtres, si el filtro está bien construido.

Y ahora sin sentar cátedra vamos a ir a algunos conceptos.

Un Informe normal, tiene su origen de Datos sea una consulta, una tabla, una SQL o lo que quieras.

Un Informe que contiene un Gráfico "No" tiene Origen de datos como Objeto en si.

El Origen de Datos o mejor dicho el "Origen de Fila", lo tiene el Gráfico y es el que tienes que Filtrar.

Te pongo un proceso real en Imagenes sucesivas.

Estas son la Propiedades del Objeto Gráfico

Ahora la Consulta con el criterio de Filtrado.

Y éstas dos figuras son dos peticiones desde el Formulario, una de todos los datos y otra de un grupo de ellos.

Espero que con éste complemento puedas resolver el tema, y si no es así me comentas.

Mis saludos >> Jacinto

Lo que no me queda muy claro es como enlazar el formulario, la consulta, el gráfico y el informe.

En el informe de datos el formulario llama al report aplicando un filtro, el cual se basa en una consulta.

El lunes te mando un par de pantallazos a ver si así me puedes ayudar en base a la estructura que tengo montada

Hola Jacinto, siento decirte que soy torpe y no consigo que funcione. No entiendo cómo enlazarlo todo.

Te paso 3 pantallazos de cómo lo tengo montado, a ver si me puedes ayudar.

Consulta en la que se basa el gráfico dinámico que quiero:

Gráfico dinámico que me sale a mi (no me filtra nada)

Formulario “1 - Informe de Incidentes” que ejecuta el filtro deseado:

Como curiosidad, la selección tipo de incidencia se basa en el primer dígito que marca el tipo de incidente que es, mediante código VBA:

           codigo_incidencia = [Codigo_Incidencia] like '0*' " para emergencias

           codigo_incidencia = [Codigo_Incidencia] like '1*' " para menores

           codigo_incidencia = [Codigo_Incidencia] like '2*' " para medio ambiente ....

Lo que yo querría es que si en este filtro selecciono solo las emergencias, me salieran en el gráfico sólo los incidentes que empiezan por 0.

Si consigo esto, me gustaría también que me explicaras cómo montar un gráfico dinámico para que me muestre en el eje de las X la fecha, en el Y el tipo de incidente y en el gráfico, con líneas y puntos, la evolución temporal de cada código_incidencia seleccionado.

Muchas gracias.

Javi: Creo que en lugar de dispersar la atención de cómo ligar todo, comienza por lo los datos del gráfico y luego ya seguirás.

Tal como te comenté arriba, en "Propiedades" del "Objeto Grafico" >>

En esa línea si pones el cursor, verás que a la derecha te salen dos Iconos.

Uno es un desplegable y el otro con ... (tres puntos). Pulsa en esos tres puntos y se te abrirá el "Generador de Consultas". Verás la consulta que alimenta a ese "Objeto Gráfico", no al Informe.

En la Fila de Criterios filtra como lo harías en una consulta cualquiera. Es decir le pones>>

Como "0*"

Ahí ya deberías ver el resultado de los que comienzan por 0.

Para generalizar eso a nivel de Formulario sin ser muy complicado, en lugar de poner

Como "0*" debes poner

Formularios! NombreDeTuFormulario. ControlEnElQueTuBuscas

Aparte de ésta guia con la cual supongo que obtendrás lo que quieres, si te sigues encontrando con dificultades puedes mandarme tu BD [email protected]

Es preferible que no me envíes datos personales o confidenciales. Pones unos datos inventados.

Ya me contarás. Saludos >> Jacinto

Respuesta
1

Tal vez este video te ayude.

El primero es para crear una tabla dinámica con Segmentos (a los jefes les encanta esto)

El segundo es como crear un gráfico dinámico con algunos tips

https://www.youtube.com/watch?v=4jbYj7JRxNI&list=PLONlXSU6m_RW5yM9j_A5y1WQlH9lItCpN&index=2 

Otra forma de hacer un buen reporte y 100% dinámico, es con Tableau

https://www.youtube.com/watch?v=AIjmeqCUMeg 

En este video hablo de las tablas dinámicas y los segmentos!

Espero te sea de utilidad!

https://www.youtube.com/watch?v=Hj3cHwPzmDY 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas