Si consultar desde Excel los datos de una tabla o de una vista perteneciente a una Base de Datos del Firebird resultó útil, que al cambiar el valor de algunas celdas en la planilla Excel esa planilla se actualice puede ser aún más útil.

Veamos como hacerlo.

Primero, creamos una nueva planilla y definimos las celdas que se usarán como parámetros de la consulta, y colocamos el cursor donde queremos insertar la tabla.

EXCEL01

Captura 1. Si haces clic en la imagen la verás más  grande

En este ejemplo, las celdas B1, B2, y B3 contendrán los parámetros y la tabla que crearemos se insertará a partir de la celda A5.

Luego vamos a: Datos | De otras fuentes | Desde Microsoft Query

EXCEL02

Captura 2. Si haces clic en la imagen la verás más  grande

Luego, elegimos el origen de datos. Ya habíamos visto como crear un origen de datos en el artículo:

Planillas EXCEL dinámicas con Firebird (1)

Puedes referirte a ese artículo del blog si no recuerdas como crear un origen de datos.

EXCEL03

Captura 3. Si haces clic en la imagen la verás más  grande

Al elegir como origen de datos a nuestra Base de Datos del Firebird nos mostrará todas las tablas y/o vistas que tengamos en esa Base de Datos.

EXCEL04

Captura 4. Si haces clic en la imagen la verás más  grande

Si lo deseamos, a continuación podemos Filtrar datos y elegir un Criterio de ordenación.

 EXCEL05

Captura 5. Si haces clic en la imagen la verás más  grande

En este último cuadro de diálogo elegimos la opción «Ver datos o modificar consulta en Microsoft Query»

 EXCEL06Captura 6. Si haces clic en la imagen la verás más  grande

Microsoft Query nos mostrará el resultado de consultar a nuestra tabla o a nuestra vista del Firebird. Ahora debemos decirle que queremos parametrizar esa consulta, para ello debemos hacer clic en el botón «Ocultar o mostrar los criterios».

EXCEL07

Captura 7. Si haces clic en la imagen la verás más  grande

A continuación, en los «Campos de criterios» debemos poner los nombres de las columnas (campos) de nuestra tabla o vista que usaremos para parametrizar. Y en valor debemos escribir cualquier nombre que queremos darle a las celdas donde se encuentran esos parámetros. Esos nombres deberán estar rodeados por corchetes para que sean reconocidos como variables. Por ejemplo: [moneda], [fechaini], [fechafin], etc.

 EXCEL08

Captura 8. Si haces clic en la imagen la verás más  grande

Al hacer clic sobre la esquina superior derecha de una celda de «Campos de criterios» nos muestra un menú contextual con los nombres de todas las columnas de nuestra tabla o vista del Firebird. Debemos elegir alguna de esas columnas.

 EXCEL09

Captura 9. Si haces clic en la imagen la verás más  grande

Como podemos ver en la Captura 9., aquí se eligió la columna ASC_MONEDA y se definió una variable llamada [moneda]. El nombre de la variable puede ser cualquiera, ese es sólo un ejemplo. Al salir de la celda apareció una ventanita de diálogo preguntando por el valor de la variable [moneda]. Debemos ignorarlo y dejarlo en blanco, simplemente hacemos clic sobre el botón «Aceptar» y continuamos.

 EXCEL10

Captura 10. Si haces clic en la imagen la verás más  grande

En la Captura 10. vemos que elegimos otra columna más para el criterio, en este caso la columna es ASC_FECHAX y como queremos un rango de fechas entonces escribimos: «Entre [fechaini] y [fechafin]». Como ya sabes, tanto [fechaini] como [fechafin] son variables.

Aún no le hemos dicho a Microsoft Query de donde debe obtener los valores de las variables [moneda], [fechaini] y [fechafin], eso lo haremos dentro de poco. Y recuerda que esos nombres de variables (o de parámetros) son de ejemplo, tú puedes elegir cualquier nombre que prefieras.

 EXCEL11

Captura 11. Si haces clic en la imagen la verás más  grande

Después de haber elegido todos los criterios que deseamos debemos salir de Microsoft Query, para eso hacemos clic en el botón «Devolver datos», tal como se muestra en la Captura 11.

EXCEL12

Captura 12. Si haces clic en la imagen la verás más  grande

Todavía no le hemos dicho de que celdas debe obtener los valores de las variables [moneda], [fechaini], y [fechafin], eso lo haremos ahora. En el cuadro de diálogo «Importar datos» debemos hacer clic sobre el botón «Propiedades…», como se muestra en la Captura 12.

EXCEL13

Captura 13. Si haces clic en la imagen la verás más  grande

Luego hacemos clic en la pestaña «Definición» y en el botón «Parámetros…», como se muestra en la Captura 13.

EXCEL14

Captura 14. Si haces clic en la imagen la verás más  grande

¡¡¡Y allí están los nombres de todos los parámetros que habíamos definido!!!

EXCEL15

Captura 15. Si haces clic en la imagen la verás más  grande

Como lo que queremos es que el valor de esos parámetros se tome de celdas, entonces debemos hacer clic sobre el botón de radio «Tomar el valor de la siguiente celda:» (1), luego clic en el campo de texto para que el cursor se quede ahí (2), luego hacemos clic sobre la celda que corresponde al parámetro [moneda] (3) y finalmente, para que la planilla Excel se actualice automáticamente al cambiar el valor de la celda marcamos la casilla de verificación «Actualizar automáticamente cuando cambie el valor de las celdas» (4).

EXCEL16

Captura 16. Si haces clic en la imagen la verás más  grande

En el campo de texto, el valor: =Hoja1!$B$1 fue puesto por el Excel al hacer clic en la celda B1.

Lo mismo que se hizo para el parámetro [moneda] hay que hacer para los parámetros [fechaini] y [fechafin]. O sea, repetir desde la Captura 13.

EXCEL17

Captura 17. Si haces clic en la imagen la verás más  grande

Una vez que ya le hemos indicado que los valores de los parámetros [moneda], [fechaini], y [fechafin] debe obtener de las celdas B1, B2, y B3, en el cuadro de diálogo «Importar datos» hacemos clic en el botón «Aceptar», como se muestra en la Captura 17.

EXCEL18

Captura 18. Si haces clic en la imagen la verás más  grande

¡¡¡Y listo!!!

Pero lo más interesante de todo viene ahora, si se cambia el valor de las celdas B1, B2, o B3, el contenido de la planilla Excel … ¡¡¡también cambia!!!

EXCEL19

Captura 19. Si haces clic en la imagen la verás más  grande

 EXCEL20Captura 20. Si haces clic en la imagen la verás más  grande

Al cambiar el valor de cualquiera de las celdas: B1, B2, o B3, la planilla Excel cambia acordemente. ¿Verdad que está muy bueno eso?

Conclusión:

Con lo visto en el artículo anterior, más lo visto en este artículo, ya conocemos como darle un muy alto valor agregado a nuestras aplicaciones, porque podemos enviar el contenido de nuestras tablas y de nuestras vistas de una Base de Datos del Firebird a una planilla Excel y tener a esos datos actualizados. Y Excel es la herramienta administrativa más usada en todo el mundo.

Por supuesto que esto no termina aquí, hay aún muchísimo por aprender pero con estos dos artículos ya tienes más que suficiente para empezar. En Internet hay muchísimo material y deberías aprovechar eso.

Artículos relacionados:

Usando EXCEL para leer Bases de Datos de Firebird

Planillas EXCEL dinámicas con Firebird (1)

El índice del blog Firebird21

El foro del blog Firebird21