Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Mostrar Ceros En Consulta Si No Encuentra Los Datos (https://www.clubdelphi.com/foros/showthread.php?t=62789)

ingabraham 14-01-2009 18:43:13

Mostrar Ceros En Consulta Si No Encuentra Los Datos
 
Select Valor From Tablax Where Codigo=001 And Cedula=xx

Si Esta Me Muestra Su Valor
Ej:

Valor= 18000

Pero Si No Esta Que Me Muestre

Valor=0

De Varios Empleados, El Resultado Lo Coloca En Un Quickreport Normal

Campo Valor, Ya He Probado Poniendole Al Onprint La Condicion
If Value='' Then
Value:=0;

Pero Nada Todos Los Datos Que Envia Ay Son Los Que Encontro

Como Hago Si Me Entienden?
Delphi E Intebase 6

Galahad 14-01-2009 20:03:13

mostrar 0 en consulta sql
 
no tengo muy claro como lo estás haciendo....:confused:,
no obstante, y teniendo en cuenta que en el quickreport
esta utilizando una consulta llamada por ejemplo query1..,
se me ocurre que podrias poner en el evento onprint lo siguiente:

Cita:

if query1.fieldbyname('valor').value = null then
value := '0' else
value := formatfloat('###,###.##',valor)
cualquier cosa,, da algún detalle más sobre la operativa..

saludos...

MiKloSS 14-01-2009 21:37:09

Puedes usar un Display format del campo que utilizas, yo lo utilizo de la siguiente manera

#,###,##0.00, si no regresa nada me va a poner los ceros... salu2

ElKurgan 15-01-2009 07:43:39

Tambien puedes utilizar alguna función del motor de datos que lo convierta;
por ejemplo, en Oracle existe la función NVL, y en firebird la función COALESCE. Ambas transforman un campo con valor null en un valor que le pasemos por parámetro. Por ejemplo, si tenemos un campo "descuento" en una tabla Clientes, las funciones se usarían asi:

Oracle:
SELECT NVL(descuento, 0) from clientes;

Firebird:
SELECT COALESCE(descuento, 0) from clientes;

Espero que te sirva
Un saludo

ingabraham 15-01-2009 14:57:44

Cita:

Empezado por ElKurgan (Mensaje 334554)
Tambien puedes utilizar alguna función del motor de datos que lo convierta;
por ejemplo, en Oracle existe la función NVL, y en firebird la función COALESCE. Ambas transforman un campo con valor null en un valor que le pasemos por parámetro. Por ejemplo, si tenemos un campo "descuento" en una tabla Clientes, las funciones se usarían asi:

Oracle:
SELECT NVL(descuento, 0) from clientes;

Firebird:
SELECT COALESCE(descuento, 0) from clientes;

Espero que te sirva
Un saludo

Yo Utilizo Interbase 6.0

ElKurgan 18-01-2009 21:18:57

Justamente, Firebird es una version "Free" de Interbase, asi que la función COALESCE tiene que funcionarte correctamente

Un saludo


La franja horaria es GMT +2. Ahora son las 20:00:27.

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