Access - formato de una variable fecha dentro de consulta SQL (VBA)

 
Vista:

formato de una variable fecha dentro de consulta SQL (VBA)

Publicado por nsut (28 intervenciones) el 12/10/2017 18:50:11
Buenas,

Quiero escribir en el campo "Campofecha" de la tabla "tabladestino" una fecha (con formato fecha) almacenada en la variable "variablefecha". "Campofecha" es de tipo Fecha/hora y la consulta se ejecuta como sigue:

strsql = "INSERT INTO tabladestino (Campofecha) VALUES (#" & variablefecha & "#)
DoCmd.RunSQL strsql

El resultado está ok, salvo que escribe mm/dd/aaaa en vez de dd/mm/aaaa (donde "d" es días, "m" es meses y "a" es años). Según tengo entendido las dos "#" hacen que VBA reconozca a la variable como fecha pero automáticamente le da el formato mm/dd/aaaa. De hecho, quitando los "#" me sale el error 3075: Error de sintaxis (falta operador).

¿Habría alguna forma de introducir en esa consulta la "variablefecha" respetando el formato dd/mm/aaaa sin que cambie a mm/dd/aaaa?

Muchas gracias!!

ME AUTORESPONDO:

La solución es:

1
2
strsql = "INSERT INTO tabladestino (Campofecha) VALUES (#" & Format(variablefecha, "mm/dd/yyyy") & "#)
DoCmd.RunSQL strsql

Fuente: http://microsoft.public.es.access.narkive.com/KqskMV0t/problema-con-vba-y-formato-de-fechas-en-excel
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder

formato de una variable fecha dentro de consulta SQL (VBA)

Publicado por Anonimo (3316 intervenciones) el 12/10/2017 21:25:58
Alternativas:

El dato proviene de un campo de fecha Access

strsql = "INSERT INTO tabladestino (Campofecha) VALUES (" & CDbl(variablefecha) & ")"

El dato proviene de un campo de texto (con cualquier formato reconocido en la configuración regional)

strsql = "INSERT INTO tabladestino (Campofecha) VALUES (" & CDbl(CDate( variablefecha )) & ")"
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

formato de una variable fecha dentro de consulta SQL (VBA)

Publicado por nsut (28 intervenciones) el 13/10/2017 20:12:02
Gracias por tu aportación! En mi caso se me olvidó comentar que el origen de la variable es la función Now, haciendo la llamada a esa función desde el mismo código vba.

Gracias por ampliar la información!
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