1
« en: Lunes 20 de Febrero de 2006, 16:23 »
Tengo enormes problemas para obtener los registros que están entre 2 fechas:
En la base de datos hay registros entre 19/10/2005 y 28/11/2005. Si le pido entre 10/11/2005 y 20/11/2005 me trae también los de Octubre. ¿ Por qué?
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
"ODBC;DBQ=c:\WINDOWS\Escritorio\MeteoStation.mdb;DefaultDir=c:\WINDOWS\Escritorio;Driver={Microsoft Access Driver (*.mdb)};DriverId=2" _
), Array( _
"5;ExtendedAnsiSQL=1;FIL=MS Access;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID=admin;UserCom" _
), Array("mitSync=Yes;")), Destination:=Range("A1"))
.CommandText = Array( _
"SELECT DISTINCTROW Format$([Datos].[Fecha],'Short Date') AS Día, Max([Datos].[Valor]) AS [T MAX]" & Chr(13) & "" & Chr(10) & "FROM `c:\WINDOWS\Escritorio\MeteoStation`.Datos Datos" & Chr(13) & "" & Chr(10) & "GROUP BY Format$([Datos].[Fecha],'Short Date')," _
, _
" [Datos].[NumParametro], [Datos].[NumFuncion]" & Chr(13) & "" & Chr(10) & "HAVING (((Format$([Datos].[Fecha],'Short Date')) between ? and ?) and ((Datos.NumParametro) Like 6) AND ((Datos.NumFuncion) Like 4));" & Chr(13) & "" & Chr(10) & "" _
)
.Name = "Consulta desde MeteoStation"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With