PDA

Ver la Versión Completa : Rave Reports como parametrar un Query ?


Pascual Montes
13-05-2005, 00:19:54
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 (file://\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
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:


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: