PDA

Ver la Versión Completa : QuickRep, Expression y funcion TIME


fonx
04-12-2007, 15:26:38
Hola en el quickreport que estoy haciendo cojo de la base de datos una fecha (fecha y hora) pero solo quiero q me muestre la hora. Por lo cual pongo el en quickreport una expression. Si la expresion es la siguiente:

'HORA: '+ADOQuery1.Fecha

me muestra en el informe:

HORA: 30/11/2007 13:32:37

pero yo quiero q solo me muestre la hora ya que la fecha la pondré en otro sitio. El problema es q con la funcion TIME no me funciona, me da un error al apretar el boton de Validate (para validar la expresion) y en tiempo de ejecución no me muestra nada relacionado con esa expresión.

Entonces yo estoy pensando que es pq la fecha q me pone el ADOQuery1.Fecha no es realmente una fecha sino un string, por eso no puedo coger solo la hora.

Mi query es la siguiente (uso Access):

SELECT Fecha,Texto FROM MantIncFoco WHERE NVisita=:numVisita AND Mantenimiento=true ORDER BY Fecha ASC

¿Podré poner algo en la SQL para coger solo la fecha? algo del tipo:

SELECT format('hh:mm:ss',Fecha),Texto FROM MantIncFoco WHERE NVisita=:numVisita AND Mantenimiento=true ORDER BY Fecha ASC

Os aviso q la base de datos que estoy usando esl Access. Voy a indagar por google o donde sea, a ver si a alguien se le ocurre alguna cosa. Gracias por adelantado...

fonx
04-12-2007, 15:44:12
Bueno me respondo yo, después de intentar varios caminos. En primer lugar cambié la consulta de la query por:

SELECT Format(Fecha,'hh:mm:ss') AS Hora,Texto FROM MantIncFoco WHERE NVisita=:numVisita AND Mantenimiento=true ORDER BY Fecha ASC

Y en segundo lugar cambié la expresion por:

'HORA: '+ADOQuery1.Hora

Sin usar función en la expresion ni nada.

BlueSteel
04-12-2007, 17:18:15
Hola..

solo para decir que yo utilizo esto para imprimir el día, mes y año en una factura.. dia en formato de 2 digitos, mes en formato de texto (palabra) y el último digito del año



sDia.Caption := FormatDateTime('dd', Datos.IBQ_Factura['Fac_Fecha_Emision']);
sMes.Caption := FormatDateTime('mmmm', Datos.IBQ_Factura['Fac_Fecha_Emision']);
sAno.Caption := Copy(FormatDateTime('y', Datos.IBQ_Factura['Fac_Fecha_Emision']),2,1);



espero te sirva... :p