Buenos dias compañeros estoy tratando de modificar en tiempo de ejecucion la propiedad record selection de un reporte de crystal la idea es generar una cadena como esta
{QUOTEdetail.nquantity}>0 and {QUOTEdetail.sItemID}<>'Engineering'
and {QUOTEdetail.sItemID}<>'INTERCON' and ({Quotemaster.nQuoteID}=166 or {Quotemaster.nQuoteID}=99 or {Quotemaster.nQuoteID}=81 or {Quotemaster.nQuoteID}=191 or {Quotemaster.nQuoteID}=111
or {Quotemaster.nQuoteID}=109 or {Quotemaster.nQuoteID}=167)
donde los numeros los obtengo de lo que seleccione el usuario de un dbgrid. el codigo que usos es el siguiente pero lo n ose que es lo que esta mal en el
Código Delphi
[-]
procedure TFrm_Proforma.BitBtn6Click(Sender: TObject);
var
i,seleccion:Integer;
begin
i:=0;
Seleccion:=DBGrid1.SelectedRows.Count;
if (seleccion>1) then
begin
Shopping.DiscardSavedData;
Shopping.Refresh;
Shopping.WindowState:=wsmaximized;
Shopping.ReportName:='C:\Program Files\SitiSystems\SmartQuote\DetProZeusVarNquo.rpt';
Shopping.ReportTitle:='Multi Shopping List: ';
Shopping.Selection.Formula.Clear;
Shopping.Selection.Formula.Add('{QUOTEdetail.nquantity}>0 and {QUOTEdetail.sItemID}<>''Engineering'' and {QUOTEdetail.sItemID}<>''INTERCON'' and (');
While ido
begin
Shopping.Selection.Formula.Add('{Quotemaster.nQuoteID}="'+inttostr(DBGrid1.Fields[0].Value)+'"');
i:=i+1;
end;
Shopping.Selection.Formula.Add(')');
Shopping.show;
end;
end;

por el momento solo esoty seleccionando un id para ver com ose forma la cadena, alguna idea mil gracias