Consultas con parámetros

06/11/2003 - 04:16 por Cfontes | Informe spam
Quiero ejecutar una consulta que hice en SQL obteniendo como parametros valores de las celdas desde Excel y que el resultado me lo regrese en la misma hoja de trabajo. Mi pregunta concreta es: como hacerle para que la consulta lea los parametros de la hoja de Excel??
 

Leer las respuestas

#1 Fernando Arroyo
06/11/2003 - 09:38 | Informe spam
El objeto QueryTable pertenece a la hoja de cálculo donde se encuentre (objeto WorkSheet) y es generado por MS Query al crear una consulta a una base de datos. QueryTable tiene una propiedad llamada CommandText que es donde se almacena la instrucción SQL de la consulta, siendo posible modificar dicha instrucción SQL (por ejemplo, añadiendo una claúsula WHERE) y, a continuación, "refrescar" la consulta para que se actualize.

QueryTable tiene también una colección Parameters, pero la verdad es que yo jamás he conseguido que me funcione bien, por lo que he terminado acostumbrándome a modificar yo mismo las instrucciones SQL. Un ejemplo:


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$J$1" Then Exit Sub 'La celda que fijará el criterio para la consulta
Dim qt As QueryTable
Set qt = Me.QueryTables(1)

qt.CommandText = "SELECT TABLA.CAMPO1, TABLA.CAMPO2 WHERE TABLA.CAMPO1=" & Target
qt.Refresh

Set qt = Nothing
End Sub


En este caso, si la celda que se ha modificado en la hoja es J1, la consulta 1 de dicha hoja será modificada por el código para que solo devuelva los registros cuyo CAMPO1 sea igual a J1.
Un saludo.


Fernando Arroyo
MS MVP - Excel

"Cfontes" escribió en el mensaje news:
Quiero ejecutar una consulta que hice en SQL obteniendo como parametros valores de las celdas desde Excel y que el resultado me lo regrese en la misma hoja de trabajo. Mi pregunta concreta es: como hacerle para que la consulta lea los parametros de la hoja de Excel??

Preguntas similares