Obtener reportes de base de datos SQL desde Excel

En otro post llamado Ejecutar consulta SQL desde Excel compartí un archivo de Excel el cual tiene un formulario donde podemos escribir una consulta de SQL y trae los datos a una hoja.

Para hacer más fácil el trabajo rediseñé el formulario para hacer más fácil la consulta, sobretodo si la consulta la queremos hacer por fecha, algo así como un reporteador.

Qué cambios tiene

El formulario  nos mostrará los siguientes datos:

  1. Usuario y contraseña del servidor SQL.
  2. Nombre del servidor.
  3. Base de datos.
  4. Tabla donde está los datos.
  5. Qué campos devolverá.

Formulario

Consulta SQL

:: Descarga el ejemplo Reportes SQL desde Excel.zip

13 thoughts on “Obtener reportes de base de datos SQL desde Excel”

  1. Pingback: Obtener reportes de base de datos SQL desde Excel « MVPs de LATAM

  2. Hola!
    Tengo una duda, tengo la conexion con ODBC y hago la consulta y todo esta perfecto, pero el problema es que en los campos donde hay una fecha, me muestra solo numeros, algo asi como “56489.15487” y no se que hacer, porque al parecer todo esta bien en la consulta, sabras a que se debe o que puedo hacer?
    Gracias!

    1. sergioacamposh

      La consulta devuelve todos los campos como texto. Hay dos opciones, grabar una macro que te formatee la columna al pegarse o desde antes darle formato manual a la columna donde cae la fecha.

          1. sergioacamposh

            Sólo hay que implementar la siguiente línea, donde la G la puedes reemplazar por la columna donde cae la fecha de tu consulta.

            Columns(“G:G”).NumberFormat = “m/d/yyyy h:mm”

  3. Sadid Leonardo

    hola me ayudan, porfavor intente bajar el ejemplo y dice que esta dañado, es el ejemplo perfecto que necesito para el trabajo, están casi que me hechan sino puedo resolver esto, ojala me puedan ayudar mi correo es sadidmontero@gmail.com

  4. Sadid Leonardo

    no he ha querido funcionar, relleno la informacion con unos datos, y nada, sera porque las consultas que yo hago son grandes y consulta muchas tablas unidas con inner join

    1. sergioacamposh

      La limitante de esta macro es que si son demasiadas columnas las que devuelve la consulta te marcará error.

      Pero no todo está perdido, puedes probar PowerPivot o PowerQuery para manejar grandes consultas de datos. Usa el buscado en este Blog para encontrar dichos temas,

  5. Diego Calderon

    Hola…quisiera me ayudaras..tengo una consulta que hago a una BD en firebird por medio de un odbc..y quisiera capturar las fechas asi como en tu ejemplo para que sea mas practico ejecutar la consulta….que debo cambiar en tu archivo para hacer esto..

    gracias

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top