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?
- Da un error.
- No hace lo que esperas.
- 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' ;
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;