2009-04-21 6 views
9

Estoy intentando la siguiente consulta en MS-Access 2007, pero falla en el campo de tiempo.Insertar el comando SQL con Fecha y hora en MS-Access

INSERT INTO LOG (
    EMPLOYEECODE, STATUSID, LOCATIONID, TIME, DURATION, 
    SHIFTID, LATECOMING, EARLYGOING, LOGDATE, STATIONID 
) 
VALUES (
    1, 1, 0, '4/21/2009 2:25:53 PM', 0, 
    8, 0, 1, '1/1/2009', 1 
) 

El campo TIME se define como una fecha y hora.

Sin el campo TIME, la consulta funciona bien!

He intentado una serie de cosas diferentes, como adjuntar la fecha y hora en hashes, citas, etc. Sin embargo, la consulta aún falla en el campo de tiempo.


Gracias chicos! Eso casi me consiguió completamente allí. Seguí obteniendo el error de sintaxis para la instrucción de inserción, pero luego en googlear más, me di cuenta de que TIME podría ser una palabra clave reservada, por lo que ponerlo en corchetes como [TIME] funcionó!

Respuesta

18

Fecha de entrada & Tiempo en uso el acceso #, ya que el acceso no se puede hacer la conversión automática de char/el texto en fecha u hora en SQL Query (o acceso llaman consulta), y un mejor uso de la norma internacional para introducir fecha que era AAAA-MM-DD HH: NN: SS (año de 4 dígitos, mes de 2 dígitos, día de 2 dígitos, hora de 2 dígitos, minuto de 2 dígitos, segundo de 2 dígitos)

así que para 4/21/2009 2:25:53 PM uso # 2009-04-21 14: 25: 53 #

o si todavía fallan, puede utilizar # '2009-04-21 14: 25: 53' #

Editar: Sobre podría estar trabajando si se habilita ANSI 92 o el uso de ADO/OLEDB como interfaz de base de datos, gracias David por señalar

le sugiero que utilice AAAA-MM-DD HH: NN: SS y probarlo con comillas simples (') antes de su uso # como he dicho anteriormente

+0

formato de fecha Fwiw ISO entre comillas simples siempre funciona para mi – onedaywhen

+0

¿Qué interfaz de base de datos está utilizando? ADO/OLEDB? Si es así, eso sería correcto. Si está trabajando en Access, no lo hará a menos que haya configurado sus opciones para usar ANSI 92 de forma predeterminada. –

+0

@David: sí, generalmente uso ADO/OLEDB, pero también funciona para Access Consultary (tal vez lo configuré usando ANSI 92 ???) – Dels

Cuestiones relacionadas