Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-04-2008
Avatar de Faust
Faust Faust is offline
Miembro
 
Registrado: abr 2006
Ubicación: México D.F.
Posts: 930
Poder: 19
Faust Va por buen camino
Resta de tiempo

Saludos compañeros foreros.

Mi duda es la siguiente, tengo una tabla en Access con un campo de fecha/hora, mediante una consulta en SQL como puedo hacer para saber con exactitud que registros tienen un tiempo de atraso, es decir cuando esta fecha/hora es mayor a 3 horas de atraso con respecto a la fecha/hora actual del sistema.

Algo así

Código SQL [-]
SELECT * FROM UltimoReporte
WHERE FechaHora < Now - (3 horas)
ORDER BY FechaHora ASC

¿Estas 3 horas como las calculo en Access?

Desde ya muchas gracias por su apoyo.
__________________
Herr Heins Faust
Responder Con Cita
  #2  
Antiguo 25-04-2008
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Enviala como parametro



Código SQL [-]
 
SELECT * FROM UltimoReporte 
WHERE FechaHora < :HoraCalc 
ORDER BY FechaHora ASC

donde:

Código Delphi [-]
Params.ParamsByName('HoraCalc').AsDatetime:=Now()-3;

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #3  
Antiguo 25-04-2008
Avatar de Faust
Faust Faust is offline
Miembro
 
Registrado: abr 2006
Ubicación: México D.F.
Posts: 930
Poder: 19
Faust Va por buen camino
Gracias MaMu, pero esto es en conjunto con Delphi, pero directamente en SQL en Access.

En delphi al restar enteros estás restando días, pero para restar tres horas puede ser lo siguiente:

Si un día es un entero, 3 hrs. es un octavo, por lo que debo restar en delphi 1/8 es decir un octavo de un día.

Entonces, Access como toma un día y como puedo restar una fracción de un día...

Voy a experimentar un poco en Access a ver que resulta...
__________________
Herr Heins Faust
Responder Con Cita
  #4  
Antiguo 25-04-2008
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Pero se supone que

Código Delphi [-]
 
Now()-3

son dos variables de tipo Time, una contiene la instantánea de la hora del momento, y la otra 3hs. Lo que hay que hacer, es restar ambas, esa diferencia asimétrica sólo modifica al dia retrasando, en el caso de que la resta se vuelva al dia anterior.

La pauta, es EncodeTime

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #5  
Antiguo 25-04-2008
Avatar de Faust
Faust Faust is offline
Miembro
 
Registrado: abr 2006
Ubicación: México D.F.
Posts: 930
Poder: 19
Faust Va por buen camino
Amigo MaMu, creo que esta es la respuesta:

Parece que esta función funciona directamente en Access

Código SQL [-]
SELECT *
FROM Gral_UltReporte
WHERE Fecha_Hora < Now - 1/3
ORDER BY Fecha_Hora ASC

El 1/3 es para calcular con atrasos de 8 hrs.

1 día = 24 hrs.
??? = 8 hrs.

Por una regla de tres

Por las pruebas que he hecho, parece que todo va bien y que para Access, al igual que para Delphi, un día es 1.

Alguien puede confirmármelo.
__________________
Herr Heins Faust

Última edición por Faust fecha: 25-04-2008 a las 18:34:26. Razón: Olvide poner lo de Delphi
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Resta de horas didier Varios 24 18-11-2010 23:11:54
REsta Fechas Juanito-Kun Firebird e Interbase 2 11-10-2005 20:52:23
Resta equivocada... jhonny Varios 6 26-09-2005 18:43:20
Resta de Tablas con SQL agova SQL 8 24-11-2003 21:20:25
Resta de numeros reales. DanielAlexander Varios 2 30-07-2003 21:23:43


La franja horaria es GMT +2. Ahora son las 17:08:10.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi