Ver Mensaje Individual
  #1  
Antiguo 07-11-2012
jsc jsc is offline
Miembro
 
Registrado: nov 2003
Posts: 144
Reputación: 21
jsc Va por buen camino
problema campo fecha/hora en access

hola
tengo una bd en access con dos campos fecha/hora donde en uno almaceno la fecha y en otro la hora
desde delphi accedo a la bd por medio de BDE y utilizo un query para hacer consultas, insertar, borrar... registros
el problema es que el campo donde almaceno la hora me esta dando problemas;
Agrego registros de esta manera
Código Delphi [-]
var t:Ttime ;
...
t:=cbhoras.text+':'+cbminutos.text+':00' ;
edtid.text := formatdatetime('ddmmyyyyhhnnss',fh);
query1.SQL.Add('INSERT INTO CALENDARIO (Id,fecha,hora,evento,notas,estado,aviso,email)'+chr(13)
                    + ' VALUES (:id,:fecha,:hora,:evento,:notas,:estado,:aviso,:email)') ;
query1.ParamByName('id').asstring := edtid.Text ;
query1.ParamByName('fecha').asstring := datetostr(dtfecha.Date) ;
query1.ParamByName('hora').asstring := timetostr(t) ;
query1.ParamByName('evento').asstring := edtevento.Text ;
query1.ParamByName('notas').asstring := edtnotas.Text ;
query1.ParamByName('aviso').asstring := cboxaviso.text;
if checkboxaviso.State = cbchecked then query1.parambyname('estado').Value := true
                                                 else query1.ParamByName('estado').value := false ;
query1.ParamByName('email').asstring := edtemail.Text ;
...
el registro se agrega sin ningun problema; ahora bien, a la hora de mostrar los datos en el dbgrid ejecutando:
Código Delphi [-]
query1.SQL.Add('SELECT * FROM CALENDARIO WHERE FECHA >= :fecha ORDER BY FECHA') ;
query1.ParamByName('fecha').asstring := datetostr(monthcalendar1.Date) ;
en lugar de mostrar solo la hora, me agrega la fecha por delante; cosa que si miro en la bd de acces no ocurre;agrego dos imagenes donde puede verse lo que me ocurre; en delphi muestra la fecha por delante de la hora y el acces se muestra bien la hora
Código:
Id   Fecha         Hora
xxx 07/11/2012  30/12/1899 5:04:00
en cambio si pongo el campo hora en access como texto en lugar de como fecha/hora me guarda bien los datos pero eso no me interesa porque luego no puedo ordenar las consultas por fecha y por hora
no se que mas cambios hacer; he probado todo lo que se me ha ocurrido
Código Delphi [-]
formatdatetime('h:mm:ss',t)
Imágenes Adjuntas
Tipo de Archivo: jpg delphi_horasMAL.JPG (7,3 KB, 8 visitas)
Tipo de Archivo: jpg delphi_horasBIENaccess.JPG (10,7 KB, 10 visitas)

Última edición por Casimiro Notevi fecha: 07-11-2012 a las 19:08:19.
Responder Con Cita