Excel - Ayuda para insertar valor en un campo fecha de access desde Excel

 
Vista:
sin imagen de perfil

Ayuda para insertar valor en un campo fecha de access desde Excel

Publicado por David (3 intervenciones) el 10/02/2015 01:25:44
Estoy desarrollando una aplicación que migra unos datos en excel a una BBDD de access (.mbd). Estoy utilizando lara las consultas y las inserciones mediante ADO con el 'Microsoft.ACE.OLEDB.12.0' . Me funciona todo sin problemas salvo a la hora de insertar las fechas, que no me reconoce la variable.
He probado incluso a metersela "a lo burro" y siempre me da un syntax error.
La inserción la hago tal que:
cn.execute "INSERT INTO mitabla (campoFecha) VALUES '" & varFecha & "' "
, siendo cn el nombre de mi conexion a la BBDD

He cambiado las comillas simples por #, aunque creo que ambos son válidos para fecha. He intentado convertir desde excel con el CDate la variable y finalmente he sustituido varFecha por una fecha a mano, del estilo '12-12-2005'.

En ningún caso me hace la inserción.

Alguna idea de lo que puede estar fallando?
Conste que las variables string las meto sin problema, con que la inicialización de la BBDD se da por descontada.

Todo ello los hago desde el VBA de Excel, teniendo tanto excel como access 2010, aunque la BD es de una versión anterior (2003) y en formato .mdb
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
sin imagen de perfil
Val: 2
Ha aumentado su posición en 10 puestos en Excel (en relación al último mes)
Gráfica de Excel

Ayuda para insertar valor en un campo fecha de access desde Excel

Publicado por Rafael (38 intervenciones) el 10/02/2015 11:36:58
Prueba con el siguiente formato de fecha:
YYYY/MM/YY HH:mm:SS

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
sin imagen de perfil

Ayuda para insertar valor en un campo fecha de access desde Excel

Publicado por galante3807 (3 intervenciones) el 10/02/2015 16:12:30
Lo he intentado sin éxito. Podrías escribir la sentencia completa de inserción?
Por ejemplo: cn.execute "INSERT INTO mitabla (campoFecha) VALUES '" & 2015/02/12 12:34:56 & "'
Este ejemplo lo he probado de varias maneras y tampoco inserta
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
sin imagen de perfil
Val: 2
Ha aumentado su posición en 10 puestos en Excel (en relación al último mes)
Gráfica de Excel

Ayuda para insertar valor en un campo fecha de access desde Excel

Publicado por Rafael (38 intervenciones) el 10/02/2015 16:18:32
Algo tal que asi:

1
cn.execute "INSERT INTO mitabla (campoFecha) VALUES (#2015/02/12 12:34:56#)"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Ayuda para insertar valor en un campo fecha de access desde Excel

Publicado por David (3 intervenciones) el 11/02/2015 19:29:59
En primer lugar muchas gracias por la respuesta. Me ha servido de punto de partida.
El problema residía, y de paso está bien que los programadores lo sepamos, en que tenía en una tabla de mi BBDD un campo con el nombre 'Date', que es un nombre reservado.
En las versiones nuevas de Access se alerta del peligro de usar nombres reservados para nombrar campos. En las antiguas no avisan de ello. Mucho cuidado con los nombres de los campos porque desde Access funcionan correctamente, pero las llamadas desde fuera dan errores que aparentemente no tienen nada que ver.

Resumen: Si hacéis una BBDD, evitad poner campos reservados. Si os la pasan, revisad los campos antes de empezar a trabajar. Os ahorrará un dolor de cabeza
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