SQL - Problema exportando datos de SQL a Excel

 
Vista:

Problema exportando datos de SQL a Excel

Publicado por Irene (1 intervención) el 15/02/2021 07:39:30
Buenos días

Soy novata en SQL, he buscado en google y no encuentro solución a mi problema. Cualquier respuesta será de gran ayuda.
Tengo una tabla en SQL y lo que quiero es exportar a Excel datos filtrados por uno de los campos. Siguiendo los pasos de este tutorial me ha funcionado sin problema:

https://www.exceleinfo.com/ejecutar-consulta-sql-desde-excel-e-importar-datos-a-una-tabla/

También grabé una macro con el procedimiento y seguía funcionando.El problema viene cuando intento intento meter los valores entre los que quiero filtrar mediante dos InputBox. Simplemente he modificado la macro anterior añadiendo lo siguiente:

1
2
3
4
5
Dim fechaInicio As Date
Dim fechaFin As Date
 
fechaInicio = CDate(InputBox("Introduzca fecha inicial:"))
fechaFin = CDate(InputBox("Introduzca fecha final:"))

Y sustituyendo esto:

1
2
"USE Prueba" & Chr(13) & "" & Chr(10) & "SELECT * FROM Tabla_prueba" & Chr(13) & "" & Chr(10) &
"WHERE Fecha BETWEEN '01/01/2019' AND '30/01/2019'"

Por esto:

1
2
"USE Prueba" & Chr(13) & "" & Chr(10) & "SELECT * FROM Tabla_prueba" & Chr(13) & "" & Chr(10) &
"WHERE Fecha BETWEEN 'fechaInicio' AND 'fechaFin'"

Al ejecutarlo me salen los InputBox, introduzco los dos datos y me da dos errores en Excel:

[Microsoft][ODBC SQL Server Driver][SQL Server]Se cambió el contexto de la base de datos a 'Prueba'
[Microsoft][ODBC SQL Server Driver][SQL Server]Error al convertir una cadena de caracteres en fecha y/u hora

No encuentro el significado del primer error y no tengo idea de como puedo arreglarlo. Espero que me podáis ayudar.

Muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Problema exportando datos de SQL a Excel

Publicado por Isaias (1921 intervenciones) el 16/02/2021 04:44:04
El primer mensaje es por esta instruccion USE Prueba, simplemente te esta avisando que se ha cambiado a la base Prueba.

El segundo es mucho mas simple, estas intentando hacer una CONVERSION IMPLICITA de un campo fecha, que no es fecha.

Las fechas siempre se comparan con <= >= y con el formato ANSI (yyyymmdd)

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar