Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Imprimir Registro Seleccionado en QuickReport (https://www.clubdelphi.com/foros/showthread.php?t=65502)

amerika111 20-12-2009 09:06:25

Imprimir Registro Seleccionado en QuickReport
 
Hi...
Saludos.. mi problema es el siguiente. tengo un form de expedientes que se llena por medio de una dataset con conexion Ado a Sql server y quiero a mandar imprimir pero solo el registro que el usuario este viendo en el momento. lo que hace en este momento es que le doy imprimir y manda a imprimir todos los registros que tengo ...

entonces quisiera saber como se le puede hacer para que solo se imprima el registro seleccionado.

tengo que hacer otro dataset especialmente para la impresion y mandandole los datos del registro que el usuario este viendo pero esto no se como hacerlo nose estoy perdida..

agradeceria mucho su ayuda..

marcoszorrilla 20-12-2009 13:10:13

Si la tabla tiene una clave única filtra por esa clave y solamente te imprimirá dicho registro.

Un saludo

amerika111 20-12-2009 18:47:05

Cita:

Empezado por marcoszorrilla (Mensaje 349198)
Si la tabla tiene una clave única filtra por esa clave y solamente te imprimirá dicho registro.

Un saludo


y eso se hace en esta parte

procedure TfExpedientes.opcAvisosClick(Sender: TObject);
var reportAvisos:TrptAvisos;
begin
reportAvisos:=TrptAvisos.Create(self);
reportAvisos.qrAvisos.Preview ;
end;
end.

por que con esto si me manda el previo de la impresion pero me aparecen todos los registros de que tiene relacionado el dataset

radenf 20-12-2009 20:28:13

Estimada amerika111 :

En QR para imprimir lo que tú deseas debes asociar cada componente de tu informe al Dataset de tu Tabla o Query y el Form del QR debe tener en blanco su Dataset. Obviamente debes primero estructurar adecuadamente tu Form con su Header y las bandas que correspondan.

Salu2

marcoszorrilla 20-12-2009 20:55:00

Un ejemplo de filtro puede ser.

Código Delphi [-]
MiTabla.Filter:='Codigo = ''4301234''';
MiTabla.Filtered:=True;

En este caso solamente te imprimiría el registro que contenga dicho código.

Luego:

Código Delphi [-]
MiTabla.Filter:='';
MiTabla.Filtered:=False;

Un Saludo.

AzidRain 21-12-2009 01:21:37

asi como ya te comentaron, antes de llamar a la qreport debes hacer un filtro para seleccionar únicamente el registro actual. Otra manera si utilizar el mismo qreport para imprimir un registro que puede obtenerse de diferentes querys es hacer tu qreport contienendo el query que selecciona exclusivamente el registro que quieras imprimir de acuerdo con el tipo de reporte. Por ejemplo, podriamos tener un qreport que imprima todos los datos de una factura, sin embargo en los querys de busqueda muy probablemente no nencesitemos mostrar todos los campos sino solo unos cuantos. Ya si el usuario quiere el detalle entonces si mostramos todo.

La solución que te propusieron funciona para registros con unos pocos campos pues no sobrecarga mucho pero si hablamos de registros con un número considerable de campos se alentará el proceso. Normalmente en los listados o búsquedas solo mostramos o listamos unos pocos campos que identifican a cada registro y para el detalle se usa otro query.

radenf 21-12-2009 10:54:20

Estimada amerika111 :

Si con todo lo anterior no has solucionado tu problema, revisa este link, en que hace un tiempo tuve la misma situación y fue solucionada. En los archivos enviados por toni.vi tienes la manera correcta de hacer lo que deseas.

http://www.clubdelphi.com/foros/show...t=62872&page=2

Salu2

amerika111 21-12-2009 17:40:30

Cita:

Empezado por radenf (Mensaje 349242)
Estimada amerika111 :

Si con todo lo anterior no has solucionado tu problema, revisa este link, en que hace un tiempo tuve la misma situación y fue solucionada. En los archivos enviados por toni.vi tienes la manera correcta de hacer lo que deseas.

http://www.clubdelphi.com/foros/show...t=62872&page=2

Salu2


hola gracias por tu aporte si me ha servido de mucho sus comentarios.. solamente que no tengo idea de como abrir :confused: los ejemplos de toni.vi si me podrias auxiliar en manera en que puedo correrlos :o


La franja horaria es GMT +2. Ahora son las 10:29:31.

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