Consulta ODBC "dinámica"

14/07/2004 - 10:29 por Raimon | Informe spam
Hola al grupo

Tengo una hoja excel generada a partir de una consulta ODBC (FoxPro) donde
introduzco la condición de filtrado

WHERE (cobros.cob_vencimiento>date())

Me gustaría sustituir la condición "date()" por una referencia a determinada
celda de la propia hoja de cálculo de excel donde pudiera ir variando la
fecha de "filtrado" (en concreto a la celda "F2" de la hoja "consulta kais"
del libro vencimientos.xls).

Algo así como

WHERE (cobros.cob_vencimiento>('[vencimientos.xls]consulta kais'!F2)) pero
no funciona


Alguien sabe cómo hacerlo?

Muchas gacias

Salu2

Raimon
 

Leer las respuestas

#1 Fernando Arroyo
14/07/2004 - 12:47 | Informe spam
Puedes modificar la consulta SQL y actualizarla cuando la celda F2 cambie de valor. Para lograrlo, tienes que poner le código siguiente en el módulo de la hoja (click derecho sobre su etiqueta->Ver código):

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$2" Then
With Worksheets("consulta kais").QueryTables(1)
.CommandText = ">>>Aquí va tu consulta SQL antes del WHERE<<< WHERE (cobros.cob_vencimiento>" & Target & ")"
.Refresh
End With
End If
End Sub


Aunque en FoxProp no sé si será necesario, te aviso que en Access es necesario convertir la fecha a número usando la función CDbl, es decir:

WHERE (cobros.cob_vencimiento>" & CDbl(Target) & ")"

Un saludo.


Fernando Arroyo
MS MVP - Excel



"Raimon" escribió en el mensaje news:
Hola al grupo

Tengo una hoja excel generada a partir de una consulta ODBC (FoxPro) donde
introduzco la condición de filtrado

WHERE (cobros.cob_vencimiento>date())

Me gustaría sustituir la condición "date()" por una referencia a determinada
celda de la propia hoja de cálculo de excel donde pudiera ir variando la
fecha de "filtrado" (en concreto a la celda "F2" de la hoja "consulta kais"
del libro vencimientos.xls).

Algo así como

WHERE (cobros.cob_vencimiento>('[vencimientos.xls]consulta kais'!F2)) pero
no funciona


Alguien sabe cómo hacerlo?

Muchas gacias

Salu2

Raimon



Preguntas similares