Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-10-2005
Avatar de ISKANDAR
ISKANDAR ISKANDAR is offline
Miembro
 
Registrado: jun 2004
Ubicación: Argentina, Latitud 28- Longitud 59 (Resistencia)
Posts: 41
Poder: 0
ISKANDAR Va por buen camino
Imprimir con QRDBText un cero cuando el valor es nulo

Hola a todos! Hace tanto tiempo que no me conecto. Lo que me trae al foro el día de hoy es el siguiente subterfugio que se me presentó. Quizá sea una tontería, pero casi no trabajo con impresiones, generalmente lo hago con interfaces por pantalla. Busqué en el foro, pero es muy difícil escontrar un hilo, puesto que los títulos son vagos al extremo.
Tengo una planilla inundada de QRDBText, que forman una matriz. Reflejan el resultado de un JOIN bastante importante, cuyas columnas son en un 90% numéricas con valores enteros de uno (dos dígitos en casos excepcionales). El usuario quiere que en la planilla, cuando no hay valores figure un cero (0), y no un espacio en blanco (como me sucede). Cómo puedo hacer para que cuando el valor del datafield de un QRDBText sea NULL, dicho componente me muestre un cero? Desde ya muchas gracias por su tiempo.
__________________
El que nada duda, nada sabe.
Guía de Estilo
La Otra Guía de Estilo
Responder Con Cita
  #2  
Antiguo 03-10-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Hola:

Función VarisNull.

Un ejemplo sencillo:

Código Delphi [-]
 
 If VarisNull(Dataset.Field[0]) then
ó
Código Delphi [-]
 
 if Dataset.field[0] = null then

en tu caso

Código Delphi [-]
 if QRDBText = null then
ó
Código Delphi [-]
 if VarisNull(QRDBText ) then


__________________
No todo es como parece ser...
Responder Con Cita
  #3  
Antiguo 03-10-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Este tiene una propiedad Mask y "creo" que dando el valor de ###,##0.00 se consigue lo que dices
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #4  
Antiguo 03-10-2005
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
En vez de usar un QRDBText podrias usar QRExpr que es donde manejar varias expresiones, ahi tendrias que hacer una condicional

propiedad express->IF(table.campo=NULL,'0',table.campo), si es nulo te muestra 0 y si te muestra la informacion de dicho campo.
Responder Con Cita
  #5  
Antiguo 03-10-2005
Avatar de ISKANDAR
ISKANDAR ISKANDAR is offline
Miembro
 
Registrado: jun 2004
Ubicación: Argentina, Latitud 28- Longitud 59 (Resistencia)
Posts: 41
Poder: 0
ISKANDAR Va por buen camino
Talking

Hola, probé las soluciones de lucasarts_18 pero ninguna solucionaba realmente el problema. Luego intenté un enfonque muy similar al que encontré por parte de vtdeleon cuando entré a comentar que lo había resuelto. Jejeje, debo estar medio dormido, porque no se me ocurrió esto antes. En los campos del Dataset coloqué '#0' en la propiedad DisplayFormat. Gracias a uds. por su tiempo.
Saludos
__________________
El que nada duda, nada sabe.
Guía de Estilo
La Otra Guía de Estilo
Responder Con Cita
  #6  
Antiguo 03-10-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Hola:

Alguien sabe que hace el caracter #

Saludos..
__________________
No todo es como parece ser...
Responder Con Cita
  #7  
Antiguo 03-10-2005
Avatar de ISKANDAR
ISKANDAR ISKANDAR is offline
Miembro
 
Registrado: jun 2004
Ubicación: Argentina, Latitud 28- Longitud 59 (Resistencia)
Posts: 41
Poder: 0
ISKANDAR Va por buen camino
En su funcionamiento básico, el caracter '#' es similar a la función Chr(). Según el ejemplo citado en la ayuda de Delphi, si escribes esto de esta manera: #89#111#117 obtendrás como resultado el string 'You'.
__________________
El que nada duda, nada sabe.
Guía de Estilo
La Otra Guía de Estilo
Responder Con Cita
  #8  
Antiguo 03-10-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Cosa totalmente distinta a como este funciona cuando lo utilizas en un mask o en format, el cuál indica que en esa posición debe de ir un dígito. (Que es como lo esta utilizando vtdeleon).
__________________

Responder Con Cita
  #9  
Antiguo 03-10-2005
Avatar de ISKANDAR
ISKANDAR ISKANDAR is offline
Miembro
 
Registrado: jun 2004
Ubicación: Argentina, Latitud 28- Longitud 59 (Resistencia)
Posts: 41
Poder: 0
ISKANDAR Va por buen camino
Arrow

Si, es obvio que no es lo mismo, pero es resultado si. Igual, no me funcionó para todas las líneas del detalle; pero después probe usando el QRExpr y funcionó muy bien.
__________________
El que nada duda, nada sabe.
Guía de Estilo
La Otra Guía de Estilo
Responder Con Cita
  #10  
Antiguo 03-10-2005
Avatar de ISKANDAR
ISKANDAR ISKANDAR is offline
Miembro
 
Registrado: jun 2004
Ubicación: Argentina, Latitud 28- Longitud 59 (Resistencia)
Posts: 41
Poder: 0
ISKANDAR Va por buen camino
Thumbs up

AHHHHHHHHHHHHHH ahora caigo, jajajajaja, te referías al carcater '#' en el mask, jejeje. Yo hablaba de otra cosa de la solución al problemita. Coincidimos en lo que dices ContraVeneno. Saludos
__________________
El que nada duda, nada sabe.
Guía de Estilo
La Otra Guía de Estilo
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


La franja horaria es GMT +2. Ahora son las 23:08:34.


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