Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   GetText de campo currency (https://www.clubdelphi.com/foros/showthread.php?t=33982)

supermilloriver 22-07-2006 18:00:49

GetText de campo currency
 
Holis:
Estoy visualizando en una grilla un sencillo query sobre una tablas Paradox en donde muestro datos de Clientes y sus Trabajos Encargados; El query es el siguiente:

Código SQL [-]
SELECT C.NroCliente, C.Apellido, C.Nombre,
C.Direccion, C.CaractTelefono, C.Telefono, C.Localidad, C.Observaciones,
SUM(Saldo) as Saldo
FROM Clientes C LEFT OUTER JOIN OrdenesDeTrabajo OC ON C.NroCliente = OC.NroCliente
GROUP BY C.NroCliente, C.Apellido, C.Nombre,
C.Direccion, C.CaractTelefono,C.Telefono, C.Localidad, C.Observaciones
ORDER BY C.Apellido, C.Nombre

Como veran, si el Cliente nunca encargo un trabajo, entonces Saldo sería null... en realidad en la grilla me aparece NAN (¿¿??). Entonces yo hice el siguiente método:

Código Delphi [-]
procedure TFNavClientes.QDatosAMostrarSaldoGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
if (Sender.IsNull) or (Sender.AsString = 'NAN') then
text := '$ 0.00'
else
text := Sender.asString;
end;

El problema que tengo es que, en el caso de que por ejemplo Saldo sea 20,50, al convertirlo a string por el else, me muestra '20', yo lo que quiero es que si saldo no es null y no es nan, se muestre como si el SaldoGetText no se hubiera ejecutado.

Observacion: Saldo es de tipo Currency...

1000 gracias
Gabriel

vtdeleon 22-07-2006 21:14:31

Saludos

Prueba quitando else y su codigo.

supermilloriver 23-07-2006 15:31:03

Ya lo había probado...
 
Cita:

Empezado por vtdeleon
Saludos

Prueba quitando else y su codigo.

Muchas Gracias, pero lo había probado antes de enviar el mensaje: el hecho es que si yo quito else y so código: Si entra al if, se imprime lo que yo quiero, pero sino, o sea cuando el campo viene con datos, no ocurre nada, o sea, no se imprime nada, supongo que porque nunca se le asigno nada a Text; entonces lo que yo quiero ver como se hace es asignarle a text el contenido del campo, pero sin que pierda su formato...

Gracias igual!!!
Gabriel

marcoszorrilla 23-07-2006 17:45:03

Y por qué no crear un campo calculado que ya contenga la palabra que queremos y a la hora de imprimir imprimimos ese campo y ya no tendríamos que hacer nada porque ya estaría hecho el trabajo.

Un Saludo.

Delfino 24-07-2006 09:58:10

Este codigo tiene q funcionar, no entiendo lo de Inherited.
Prueba con esto:
Código Delphi [-]
DisplayText := Sender.asString;

supermilloriver 24-07-2006 20:08:47

grazzies
 
Cita:

Empezado por marcoszorrilla
Y por qué no crear un campo calculado que ya contenga la palabra que queremos y a la hora de imprimir imprimimos ese campo y ya no tendríamos que hacer nada porque ya estaría hecho el trabajo.

Un Saludo.


Genial, así funcionó. 1000 grazzies.
Gabriel.


La franja horaria es GMT +2. Ahora son las 00:39:29.

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