Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-07-2010
ctrl_attack ctrl_attack is offline
Miembro
 
Registrado: feb 2007
Posts: 49
Poder: 0
ctrl_attack Va por buen camino
otra forma tambien, no muy practica y de echo un mala manera de hacerlo, ya que solamente quieres que se imprima lo que se esta mostrando en el form;

aclaro no es la mejor forma de hacerlo asi que por favor no me regañen los maestros.

en el boton imprimir, pondrias que las qrlabels del quickreport fueran iguales a las que tienes en el formulario que llama al reporte es decir

Código Delphi [-]
procedure Tform1.imprimirClick(Sender: TObject);
begin
form2.QRLabel1.Caption:= Label1.Caption;
form2.QRLabel2.Caption:= Label2.Caption;
form2.QuickRep1.Preview;
end;

de esta manera, siempre imprimiras lo que este mostrando el form.

espero te sirva, aunque aclaro que una manera mas limpia es lo que comento felipe88, saludos
Responder Con Cita
  #2  
Antiguo 05-07-2010
Jab Jab is offline
Miembro
 
Registrado: feb 2008
Posts: 83
Poder: 0
Jab cantidad desconocida en este momento
Elizabeth, genera una consulta Query y la ordenas descendentemente de tal manera que el primer registro es el más actual. Debe tener al menos un índice para ello, y en la consulta pones al final "ORDER BY ... ASC"

Luego en el Qreport, creas un dato como quieras, un QRBDText por ejemplo y lo enlazas al campo actual, como el registro es el último al que apunta te saldrá solamente un registro y que casualmente es el que necesitas.

Sobre la consulta

QUICKREPORT28.Query1.ACTIVE:=FALSE;
QUICKREPORT28.QUERY1.PARAMBYNAME('TURNO.DNI').ASINTEGER:=2;
QUICKREPORT28.QUERY1.ACTIVE:=TRUE;

Está equivocada, si quieres añadir el dato DNI lo primero es alfanumérico, lo segundo se añade directamente el nombre como lo tengas en la consulta, esto es, si tienes algo así

SELECT * FROM TB WHERE DNI =: DNI

recuerda que el dato se asigna como

QUICKREPORT28.QUERY1.PARAMBYNAME('DNI').ASSTRING:='555359299A' , por ejemplo...


No obstante, te recomiendo que generes la SQL directamente en código sin usar parámetros ya que aumenta el consumo de memoria. Es decir, es mejor generarl el código de esta manera

QUERY1.SQL.Close;
QUERY1.SQL.Unprepare;
QUERY1.SQL.Clear;
QUERY1.SQL.Add('SELECT * FROM ');
etc..
y para hacer la comparativa de WHERE
QUERY1.SQL.ADD('WHERE DNI = '+''''+ datodelDNI+ '''')

De esta manera de compara con la exclusividad del DNI.
Si además ordenas ascendentemente solamente tienes que acudir al primer registro, normalmente ya viene por defecto al ejecutar la Query con Prepare por ejemplo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Novata inutil necesita ayuda con sockets SindyL34 Servers 15 22-11-2007 00:38:04
Novata necesita Ayuda day_eli OOP 20 30-06-2007 00:14:57
Novata quiere imagen de fondo Istar Gráficos 7 12-01-2007 17:29:38
Novata Nita Conexión con bases de datos 3 04-04-2006 00:19:36
novata en mysql kryna MySQL 5 14-05-2005 03:42:51


La franja horaria es GMT +2. Ahora son las 16:08:10.


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
Copyright 1996-2007 Club Delphi