Query con parámetro

16/07/2003 - 00:50 por fernando | Informe spam
Quisiera crear un query con un parámetro, cuyo valor se
tome de forma automática de una celda de la hoja excel, en
vez de introducirlo manualmente.
Alquien puede ayudarme?
 

Leer las respuestas

#1 Fernando Arroyo
16/07/2003 - 10:00 | Informe spam
En el siguiente ejemplo se recuperan los registros de la Tabla3 de la base de datos C:\datos\Access\prueba cuyo Campo3 coincide con la celda G1 de la hoja donde está la consulta de Query:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address <> "$G$1" Then Exit Sub
If ActiveSheet.QueryTables.Count <> 1 Then Exit Sub

Dim qtQ As QueryTable
Dim strSQL As String

Set qtQ = ActiveSheet.QueryTables(1)
strSQL = "SELECT Tabla3.Campo1, Tabla3.Campo2 FROM `C:\datos\Access\prueba`.Tabla3 Tabla3 WHERE (Tabla3.Campo1 ='" & ActiveSheet.Range("G1") & "')"
qtQ.CommandText = strSQL
qtQ.Refresh

Set qtQ = Nothing

End Sub

Esto iría en el módulo de la hoja (click derecho sobre su solapa->Ver código)
Dependiendo del tipo de datos, es posible que hubiera que modificar el código.
Un saludo.


Fernando Arroyo
MS MVP - Excel


PS: El objeto QueryTable tiene una colección Parameters, pero yo nunca he conseguido que me funcione bien...

"fernando" escribió en el mensaje news:049801c34b23$7423aee0$
Quisiera crear un query con un parámetro, cuyo valor se
tome de forma automática de una celda de la hoja excel, en
vez de introducirlo manualmente.
Alquien puede ayudarme?

Preguntas similares