Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Rave Reports como parametrar un Query ? (https://www.clubdelphi.com/foros/showthread.php?t=21316)

Pascual Montes 13-05-2005 00:19:54

Rave Reports como parametrar un Query ?
 
Hola colega, apenas empiezo a utilizar rave reports, y tengo una pregunta
quiero hacer un reporte filtrado por un query en una tabla, como hago para
enviar el parametro del query ? , ya se como enviar parametros a rave
pero no se como cambiar el query en runtime por medio de un parametro.

agradezco sus ayuda.

\\saludos a toda la raza :D

ctronx 13-05-2005 02:18:06

Aunque tu problema no es de impresion ni del RAVE lo que necesitas Yo lo hago formando mi sentencia SQL y metiendola en un string luego dicha cadena se la se la mando a la propiedad sql de mi Query y la ejecuto.
Ejemplo:

micadenasql:='SELECT * FROM ventas WHERE idcliente='+miidcliente+';';

Query1.SQL.Clear;
Query1.SQL.Add(micadenasql);
Query1.Open;

donde la variable miidcliente contiene el numero de cliente que quiero pasar y que previamente solicite en mi programa, de esta forma mi reporte contiene solo las ventas del cliente filtrado.

Pascual Montes 13-05-2005 02:52:28

ok, pero como ligo con el rave report?
 
como ligo entonces ese query con el rave report ?

tengo un reporte que hice para aprender a usar Rave
y cuando estoy dentro de rave funciona bien abra una tabla y
desplega sus registros, pero cuando ese mismo reporte lo abro
en tiempo de ejecucion , me marca error de coneccion.
como se ejecuta correctamente un reporte rave que accesa a tablas
dentro de un proyecto en delphi ?

ilustrame colega, estoy confundido.

saludos
:D

Loviedo 13-05-2005 16:06:43

El TQuery debe estar enlazado con Rave, la consulta es independiente
Espero que esto te pueda ayudar:

Código Delphi [-]
procedure TForm1.Button1Click((Sender: TObject);
var
  i: integer;
begin
  Query1.SQL.Clear;
  Query1.SQL.Add('SELECT * FROM mTabla WHERE cliente = :IdCliente');
  Query1.prepare;
  try
    for i := 1 to 100 do
    begin
      Query1.ParamByName('IdClienter').asinteger := i;
      Query1.Open;
      Imprimedocumento;
      Query1.close;
      inc(i);
    end;
  finally
    Query1.UnPrepare;
  end;
end;

procedure Imprimedocumento;
var
  NDRStream:  TMemoryStream;
begin
  NDRStream := TMemoryStream.Create;
  try
    RvProject1.Engine := RvNDRWriter1;
    RvProject1.open;
    RvProject1.SelectReport('Albaran',true);
    RvProject1.SaveToStream(NDRStream);
    RvNDRWriter1.Stream:=NDRStream;
    RvProject1.Execute;
    RvRenderPrinter1.Render(NDRStream);
    RvProject1.close;
  finally
    NDRStream.Free;
  end;
end;
Saludos.

Jonathan96 08-01-2008 20:37:40

Hola uso rave reports hace poco y me gustaria conoser algun manual?:confused:


La franja horaria es GMT +2. Ahora son las 06:02:54.

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