Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Modificar el record selection de crystal en tiempo de ejecucion (https://www.clubdelphi.com/foros/showthread.php?t=58509)

richy08 22-07-2008 19:21:26

Modificar el record selection de crystal en tiempo de ejecucion
 
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;
// formula:='';
 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;

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

felipe88 23-07-2008 00:01:51

Y funciona???... lo que quieres es pasar tantas veces lo haga el bucle, la formula de nuevo???

richy08 23-07-2008 15:07:51

Hola felipe ya resolvi el problema lo que hice primero fue generar la cadena y luego agregarla en una sola sentecia a lreporte y si exactamente es lo que quiero segun los regsistros seleccionados el bucle agregara tantas sentecnias como sean necesarias:D.


La franja horaria es GMT +2. Ahora son las 15:32:40.

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