Select QueryTables

Hola, tengo esta select para exportarla a una hoja excel y quisiera saber como puedo cambiar el valor de la fecha (   "WHERE (e033ejer.fechdesde={d '2009-01-01'})    ), por un valor de fecha de una celda en la hoja excel, para que me haga la select en función a la fecha que ponga en la celda correspondiente.
Gracias.
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
        "ODBC;DSN=PostgreSQL35W;DATABASE=xxxx;SERVER=000.000.00.00;PORT=0000;UID=postgres;;SSLmode=disable;ReadOnly=0;Protocol=7.4;FakeOidInd" _
        ), Array( _
        "ex=0;ShowOidColumn=0;RowVersioning=0;ShowSystemTables=0;ConnSettings=;Fetch=100;Socket=4096;UnknownSizes=0;MaxVarcharSize=255;Ma" _
        ), Array( _
        "xLongVarcharSize=8190;Debug=0;CommLog=0;Optimizer=0;Ksqo=1;UseDeclareFetch=0;TextAsLongVarchar=1;UnknownsAsLongVarchar=0;BoolsAs" _
        ), Array( _
        "Char=1;Parse=0;CancelAsFreeStmt=0;ExtraSysTablePrefixes=dd_;LFConversion=1;UpdatableCursors=1;DisallowPremature=0;TrueIsMinus1=0" _
        ), Array( _
        ";BI=0;ByteaAsLongVarBinary=0;UseServerSidePrepare=0;LowerCaseIdentifier=0;XaOpt=1" _
        )), Destination:=Range("F1"))
        .CommandText = Array( _
        "SELECT e033ejer.fechcierre" & Chr(13) & "" & Chr(10) _
        & "FROM public.e033ejer e033ejer" & Chr(13) & "" & Chr(10) _
        & "WHERE (e033ejer.fechdesde={d '2009-01-01'})" & Chr(13) & "" & Chr(10) & "ORDER BY e033ejer.fechcierre" _
        )
        .Name = "Fecha Cierre Periodo Contable"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery:=False
    End With
Respuesta
1
En esta parte:
& "WHERE (e033ejer.fechdesde={d '2009-01-01'})" & Chr(13) & "" & Chr(10) & "ORDER BY e033ejer.fechcierre" _
        )
pon esto:
& "WHERE (e033ejer.fechdesde={d '" & Range("A1") & "'})" & Chr(13) & "" & Chr(10) & "ORDER BY e033ejer.fechcierre" _
        )
Donde puse Range("A1") pon la celda que tu necesites

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas