PDA

Ver la Versión Completa : Imprimir Registro Seleccionado en QuickReport


amerika111
20-12-2009, 09:06:25
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
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.

MiTabla.Filter:='Codigo = ''4301234''';
MiTabla.Filtered:=True;

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

Luego:

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/showthread.php?t=62872&page=2

Salu2

amerika111
21-12-2009, 17:40:30
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/showthread.php?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