6/2/12

Generando Planillas de Microsoft Excel con Consultas Dinámicas

Gestión Sencilla y Dinámica en Microsoft Excel

En el artículo anterior de mi Blog Generando Planillas de Microsoft Excel con Datos de MS SQL Server, compartí sobre la importancia de utilizar Microsoft Excel para trabajar con los datos de nuestro sistema de gestión, generando planillas que automáticamente obtengan los datos de Microsoft SQL Server, como forma de poder gestionar eficientemente un negocio basándose en la información existente y sumar la potencia y libertad que nos brinda Microsoft Excel.

Cómo la necesidad de obtener información es prácticamente infinita, y con el objetivo que sobretodo los usuarios no técnicos, no requieran de tener que utilizar VBA (Visual Basic for Applications), algo que los cohíbe de utilizar al sentirse dentro de un entorno de Desarrollo, me he centrado en estos últimos días a pensar como utilizar esta funcionalidad de forma más sencilla y productiva, y sobretodo como poder utilizar estas herramientas en forma genérica para poder resolver múltiples necesidades de gestión.

Solución

La solución que hoy quiero compartir con ustedes, es una planilla de Microsoft Excel que podrán descargar y utilizar libremente, la cual les permitirá obtener datos de una Base de Datos Microsoft SQL Server, pero en lugar de tener que modificar la Macro en VBA que les propuse, sólo deberán completar información básica en la primer Hoja de la planilla, y con tan solo un click, obtener los datos en la segunda Hoja de la planilla.


Cómo primer paso descarguen la planilla MS Office2010 Consultas Excel MS SQLServer de mi SkyDrive, y al abrir la planilla en la primer Hoja, deberán completar los siguientes datos:

Servidor: Nombre o Dirección IP, e Instancia del Servidor Microsoft SQL Server.

Base de Datos:
Nombre de la Base de Datos.


Tabla: Nombre de la Tabla de la cual deseen obtener los datos.


Campos (Opcional): Lista de Campos de la Tabla separados por "," (Coma), o simplemente poner "*" para obtener todos los campos, sin poner las comillas.


Condición 1 y 2 (Opcionales): Campo, Operador y Valor de las Condiciones 1 y 2 del Filtro, si sólo desean utilizar 1 dejen la otra Condición vacía, y si no desean utilizar Condiciones dejen ambas vacías.


Orden (Opcional): El Campo por el cual desean los datos Ordenados, si no los quieren ordenados por un campo en particular pueden dejarlo vacío

Por último simplemente deben hacer click en el botón Consultar, se les mostrará la Consulta que se ejecutará sobre Microsoft SQL Server, e inmediatamente en la Hoja 2 encontrarán los datos obtenidos.

Esta herramienta les permitirá, cambiar dinamicamente, el Servidor, la Base de Datos, la Tabla, los Campos,  las Condiciones y el Orden, y al volver a ejecutar el botón los Datos se actualizarán automáticamente, y si lo desean, podrán guardar la Planilla para cada una de las Consultas de datos que requieran.

Las restricciones que posee esta primer versión de la herramienta son que no puede ser utilizada en Excel Web App de Office Live, debido a que los proyectos de VBA no son soportados en la versión Web de Microsoft Excel, y que la conexión al Servidor y Base de Datos de Microsoft SQL Server, utilizan la seguridad integrada de Microsoft Windows.

En próxima entrega, compartiré con ustedes la implementación de la solución, y desde ya quedo a sus órdenes por cualquier comentario o mejora que requieran para poder utilizarla, esperando que les sea de utilidad y la misma cumpla el objetivo de ser sumamente sencilla de utilizar.

Hasta la próxima.

2 comentarios:

  1. Alejandro excelente blog, tengo una consulta como seria al contrario, enviar datos desde la hoja de excel a sql con una macro o un boton.
    jcajub@gmail.com

    ResponderEliminar
    Respuestas
    1. Hola Juanca, si miras como esta hecho por adentro la Macro, verás que termina ejecutando una sentencia SELECT a la Base de Datos y el Resultado lo escribe en Celdas.

      Para hacer el inverso, deberías recorrer las celdas y ejecutar un comando INSERT o UPDATE de alguna Tabla utilizando una conexión similar, donde deberías preguntar por el nombre de la Tabla y en el caso del UPDATE cual o cuales son las columnas Clave, para actualizar los registros correctos.

      Debes estar familiarizado con las sentencias SQL del motor de Base de Datos a utilizar. Recorrer Celdas es muy simple, busca en el mismo Blog un artículo que se llama Automatizando Correcciones de Datos en Microsoft Excel: http://garridoalejandro.blogspot.com/2012/04/automatizando-correcciones-de-datos-en.html

      Suerte.

      Eliminar