Ver Mensaje Individual
  #5  
Antiguo 15-09-2017
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Lamentablemente, sigo sin entender.
  • Aparentemente te refieres a un reporte QuickReport.
  • Tienes un DataSet ADOQuery1 que por lo menos tiene 3 campos. (description, cesion, notetotal)
  • Dependiendo del valor del campo cecion asignas el dataset y el campo notetotal a un QRDBText u otro.

¿Cuando dices "no me funciona" a qué te refieres?
  1. Da un error.
  2. No hace lo que esperas.
  3. Otra cosa

En el primer caso, deberías decirnos cuál es el error. El texto completo y sin traducir es lo ideal.
En el segundo caso deberías decirnos qué es lo que esperas y qué es lo que hace el programa.
En el tercer caso deberás explicar con detalle tu caso.

De todos modos, veo que asignas el DataSet y el campo a los QRDBText, pero nunca los desasignas.
Si primero cesion='I' asignará a uno de los QRDBText
Si luego cesion='II' asignará al otro QRDBText, pero el primero también estará asignado.
Quizás deberías inicializarlos antes del IF.

Código Delphi [-]
FRMRELEVE.QuickRep1.DataSet:=ADOQuery1;
FRMRELEVE.QRDBText1.DataSet:= ADOQuery1;
FRMRELEVE.QRDBText1.DataField:='description' ;

// Inicializo
FRMRELEVE.QRDBText3.DataSet:= nil;
FRMRELEVE.QRDBText2.DataSet:= nil;

if ADOQuery1.FieldValues['cession'] ='II' then
begin
   FRMRELEVE.QRDBText3.DataSet:= ADOQuery1;
   FRMRELEVE.QRDBText3.DataField:='notetotal';
end 
else
   if ADOQuery1.FieldValues['cession'] ='I' then
   begin
      FRMRELEVE.QRDBText2.DataSet:= ADOQuery1;
      FRMRELEVE.QRDBText2.DataField:='notetotal';
   end;
Responder Con Cita