Ver Mensaje Individual
  #2  
Antiguo 29-04-2006
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Reputación: 19
luisgutierrezb Va por buen camino
Bueno no mencionas que motor de bases de datos usas, asi que ahi te van 2 soluciones
1.- desde el query a la base de datos puedes decirle algo asi como:
select documentos, saldo,
(case when estado = 0 then "Por Vencer" else "Vencido" end) as EstadoStr
from clientes, where blabla=algo

esto es para mssql, en otros motores esta el "iif" cuestion de buscar en la ayuda

2.- dentro del delphi, en el dataset, boton derecho seleccionar fields, boton derecho en la ventanita click en "add all fields" y luego boton derecho y click en "add new field" le pones el nombre, el tipo de datos (string en este caso), le pones que es calculado, y despues en los eventos de ese campo calculado seleccionas "oncalcfields" (que es donde se calcula un campo calculado) le puedes poner

if dataset.FieldByname('Estado').AsInteger = 1 Then
dataset.FieldByname('Campocalculado').AsString = 'Por Vencer';

en cuanto a que bandas utilizar, depende como tengas tu programa, puede ser detail y detailband si usas datasets maestro-detalle o puede ser con qrgroup si traes todos los datos en una sola consulta
Responder Con Cita