Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Ayuda con QuickReport y campo Time FireBird (https://www.clubdelphi.com/foros/showthread.php?t=58196)

enecumene 11-07-2008 18:35:12

Ayuda con QuickReport y campo Time FireBird
 
Saludos compañeros, estoy teniendo problemas para mostrar una condición en el evento OnPrint de los QRDBText con los campos Time de Firebird, tengo lo siguiente:

Código Delphi [-]
procedure TFInformeDiario.QRDBText4Print(sender: TObject;
  var Value: String);
begin
if (Value = '00:00:00') or (Value = NULL) or (Value = '') then
  begin
    Value := 'Sin Ponchar';
  end;
end;

En el campo time hay registros nulos y registros con valor '00:00:00', con ambos me los ignora, me sigue saliendo normal como 00:00:00 en vez de 'Sin ponchar'. ¿Qué está pasando aquí? :confused:.

Saludos.

coso 11-07-2008 19:13:09

prueba de poner un ShowMessage(Value) para mirar cual es el valor real...a veces hay #0 o otros caracteres

Caro 11-07-2008 23:59:27

Hola enecumene, también puedes hacer la prueba de utilizar un QrExpr y preguntar ahí.

Saluditos

enecumene 12-07-2008 00:01:49

Cita:

Empezado por Caro (Mensaje 299709)
Hola enecumene, también puedes hacer la prueba de utilizar un QrExpr y preguntar ahí.

Saluditos

Gracias Caro, disculpa mi ignorancia, pero...¿Cual es esa prueba, no la conozco? :o

Saludos.

Caro 12-07-2008 00:14:46

Hola de nuevo, el QrExpr es un componeente del QuickReport, te sirve para armar formulas que se aplican a tus campos, tiene varias funciones ahí mismo en el editor te indica los parametros que se necesita y pequeña descripción, en tu caso mas o menos sería así tu formula para preguntar por lo nulos.

Código Delphi [-]
 if (Query1.CampoHora=NULL,'Sin Ponchar',Query1.CampoHora)

Esa formula lo que hace es preguntar si lo que tienes en tu campo es nulo y te devuelve sin ponchar sino el valor que tienes en tu campo, esa formula la colocas en la propiedad Expresion de tu QrExpr y también desde ahí entras al editor y armas tu formula.

Saluditos

enecumene 12-07-2008 00:59:27

Muchas gracias Caro, lamento decir que no me funcionó, me sale Wrong como resultado. :confused: :confused: :confused:

Saludos.

enecumene 12-07-2008 01:05:31

Cita:

Empezado por coso (Mensaje 299643)
prueba de poner un ShowMessage(Value) para mirar cual es el valor real...a veces hay #0 o otros caracteres

Amigo Coso acabo de probar tu propuesta, no me salen los valores nulos solo toma los que tienen valores. :confused:

Saludos.

coso 12-07-2008 09:45:34

no no, me referia fuera del 'if', para conocer realmente el valor de value...quizas este en algun formato diferente de '00:00:00'...

coso 12-07-2008 09:47:07

Y haciendo
Código Delphi [-]
 if Pos(Value,'00:00:00') <> 0 then ...
?

coso 12-07-2008 09:52:26

no recuerdo en que componente del quick report existia la propiedad printifempty := true;

Caro 12-07-2008 10:35:33

Cita:

Empezado por coso (Mensaje 299748)
no recuerdo en que componente del quick report existia la propiedad printifempty := true;

Coso esa propiedad la tiene el QuickReport.

Enecumene te sale Wrong porque tu formula no esta bien hecha, hay un boton "validate" para verificar si tu formula esta bien.

Saluditos

ContraVeneno 12-07-2008 15:38:02

Coincido con Caro, lo mejor es usar un TQRExpr.

enecumene 12-07-2008 15:39:25

Hola de nuevo, Caro, tenías razón, la fórmula estaba mal, asi es como quedó:

Código Delphi [-]
IF(ZInforme.SALIDA  = '','Sin Ponchar',ZInforme.SALIDA)

Muchas gracias a los dos por su ayuda ;),

Saludos.

coso 12-07-2008 15:44:51

si, la verdad es que yo tambien hubiese usado un qrexpr :D:D saludos


La franja horaria es GMT +2. Ahora son las 07:00:10.

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