Query, el driver ODBC de Excel y otros problemas

De nuevo problemas al realizar consultas mediante Query a datos que están almacenados en Excel.

Como ya se sabía, Excel no tiene un tipo de datos para cada campo (columna), así que el driver odbc de Excel supone el tipo de datos según los valores de los primeros datos. En general acierta, aunque a veces nos trae algún quebradero de cabeza cuando tenemos datos mezclados, números y de vez en cuando un texto y viceversa.

Pero este no es el problema que me ha atacado ahora.

Recientemente he estado realizando consultas a datos que se encuentran en hojas Excel. Se trata de consultas con un parámetro que compara una fecha (esto de las fechas en Query también dará para otro envío al blog) y con la que pretendo obtener los datos posteriores a la misma.

La consulta me ha funcionado perfectamente cuando le pido los datos a partir del 1 de enero de 2009 y también del 1 de enero de 2008, pero cuando lo intento con el 2007, obtengo el misterioso error siguiente:

Valor numérico fuera del intervalo (null)

En la hoja donde tengo los datos bien es cierto que tengo alguna celda vacía, pero otras veces esto no es un problema. También he comprobado que la fecha que establezco como parámetro queda fuera del intervalo que definen las fechas de los datos, pero tampoco debería ser un problema, simplemente no debería obtener ningún dato como resultado de mi consulta.

Un error parecido
Más sobre el error en Google

De momento lo he solventado eliminando los registros con el campo fecha vacío, pero esto no es la solución, porque no siempre voy a tener posibilidad de retocar el archivo, ni siempre tendré pocos datos como esta vez. Aquí tenemos algo raro con las celdas vacías y Excel y cómo las interpreta el driver ODBC de Excel.

Si alguien tiene una idea al respecto...

 

Temática: