Ejecute una consulta SQL con un parámetro desde Excel 2007

21

Tengo una consulta en una tabla de Excel. Seguí esto para hacerlo.

Pero, ¿cómo puedo agregar un parámetro de una celda a mi consulta?

Estoy buscando una manera de hacer esto:

select *
from dbo.Customers
where CustomerID = Cell.A2

El Cell.A2 no funciona. Pero, ¿cómo puedo agregar algo similar para que el contenido de una celda se use en mi consulta?

Vaccano
fuente
¿Has intentado simplemente nombrar la celda y luego usar el nombre en la consulta en lugar de la referencia de la celda?

Respuestas:

17

No sé por qué MS ha hecho esto tan complicado. Tendrá que usar Microsoft Query.

Haga clic en Datos -> De fuentes externas -> De Microsoft Query. Elija fuente de datos aparece. Seleccione SQL Server, ingrese los detalles de autenticación y seleccione la tabla

ingrese la descripción de la imagen aquí

Haga clic en Siguiente, no seleccione ningún criterio de filtrado, elija ordenar por criterios, haga clic en siguiente. Ahora, haga clic en Ver / Editar en MS Query en lugar de seleccionar Volver a Excel

ingrese la descripción de la imagen aquí

Haz clic en Finalizar. Ahora en MS Query, haga clic en Criterios -> Agregar criterios, elija el operador y deje que el valor sea[]

ingrese la descripción de la imagen aquí

Haga clic en Archivo -> devolver datos a Excel. Ahora Excel debería solicitarle el parámetro, seleccione la celda relevante

ingrese la descripción de la imagen aquí

Para editar los parámetros, haga clic en Datos -> Propiedades -> Icono del dedo -> Definición -> parámetros

ingrese la descripción de la imagen aquí


También puede usar el editor de consultas SQL y escribir la consulta con las combinaciones y poner un ?contra en el campo donde se debe obtener el parámetro.

ingrese la descripción de la imagen aquí

Sathyajith Bhat
fuente
Por desgracia, los parámetros están deshabilitados.
Vaccano
@ Vaccano: Renuevo mi respuesta, por favor, eche un vistazo
Sathyajith Bhat
Gracias por el esfuerzo en este Sathya. Por desgracia, me di cuenta de que debido a que mi consulta tiene algunas combinaciones, MS Query no puede mostrarla gráficamente. Eso hace que no pueda tener parámetros. Lo voy a hacer como una función VBA. Sin embargo, te doy el visto bueno porque tu respuesta fue muy completa.
Vaccano
2
@ Vaccano: puede escribir la consulta con el editor de SQL y poner un ?contra el campo en el que debe seleccionarse el parámetro i.imgur.com/NgXxc.png
Sathyajith Bhat
2
He descubierto que una vez que la consulta está en Excel, puede ir a la pantalla de parámetros de consulta y editarla allí sin volver a MS Query. ¿Solo suelta un? donde va el criterio. Luego regrese a la pantalla de propiedades de conexión y asigne ese parámetro a una celda en la hoja de cálculo.
Tracy Probst
1

Nunca es demasiado tarde para un enchufe descarado ...

Existe este pequeño plugin para Excel ... (descargo de responsabilidad: soy el autor)

Es un complemento de Excel que agrega un motor de base de datos y un IDE de SQL a Excel.

Le permite realizar operaciones SQL en cualquier cosa que esté marcada como una tabla dentro de Excel. Puede realizar consultas en los libros de trabajo y también usar tablas de una base de datos externa (SQL Server / Sqlite / Postgres / Access / MySql) en la misma consulta.

Tiene resaltado de sintaxis SQL, finalización de instrucciones y un montón de otras cosas interesantes. Utiliza SQLite bajo el capó, pero también puede usar motores externos de db para procesar los datos.

Aunque sí lo cobro, pero hay una versión de prueba gratuita que puedes usar durante 30 días. Se llama ThingieQuery.

Perdón por el enchufe, espero que no sea demasiado inapropiado.

Antonio Nakic Alfirevic
fuente
-1

Poner valor como

where employeecode = '?'

Esto habilitará el botón de parámetros, pero cuando presione OK, se le indicará.

Aprendiz lento
fuente