Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-06-2004
melanthea melanthea is offline
Miembro
 
Registrado: jun 2004
Posts: 19
Poder: 0
melanthea Va por buen camino
Asignar en tiempo de diseño un datafield dentro de un informe

Si. soy yo de nuevo... Lo siento si estoy poniendo demasiados mensajes, espero que no suponga ningún problema... Si me estoy pasando, hacedmelo saber de acuerdo?

Hola:
Alguien me podría decir la manera de asociar un datafield en tiempo de diseño a un QRDBText en un Quick Report?
El caso es que tengo un componente IBQuery en un DataModule, y mediante código, añado un determinado texto SQL. A la hora de hacer un informe, no tengo ningún problema a la hora de asignarle el DataSet, pero el DataField no lo puedo asignar puesto que, evidentemente, la consulta estará vacía hasta que en tiempo de ejecución no se complete el código SQL.
Pensé hacer en el evento OnActivate del informe lo siguiente:
Código:
QRDBText2->DataField=ModuloDatos->IBQuery1->FieldValues["NOMBRE"];
  QRDBText3->DataField=ModuloDatos->IBQuery1->FieldValues["APELLIDO"];
  QRDBText4->DataField=ModuloDatos->IBQuery1->FieldValues["APELLIDO2"];
pero haciendo esto el informe me sale en blanco.
Alguien me podría echar un mano?
Gracias
Responder Con Cita
  #2  
Antiguo 22-06-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Tendrías que asignar el DataSet a enlazar y luego el nombre del campo (DataField)... ¡¡No los valores de los campos!!.. si quieres asignar "a mano" los valores de los campos, te recomendaría utilizar un TQRLabel.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 22-06-2004
melanthea melanthea is offline
Miembro
 
Registrado: jun 2004
Posts: 19
Poder: 0
melanthea Va por buen camino
De acuerdo, pero cómo asigno los campos? Lo del DataSet ya lo tenía hecho, y es verdad que estaba asignando los valores ...

Pero bueno, es que no sé como asignarle los campos de la consulta, concretamente qué instrucción tendría que poner?

Saludos
Responder Con Cita
  #4  
Antiguo 22-06-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Código:
QRDBText2->DataField="NOMBRE";
QRDBText2->DataSet=ModuloDatos->IBQuery1;
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #5  
Antiguo 23-06-2004
melanthea melanthea is offline
Miembro
 
Registrado: jun 2004
Posts: 19
Poder: 0
melanthea Va por buen camino
Hola
He probado el código que me comentas y me funciona, pero sólo a la hora de imprimir el informe. Supongo que haciendo un Preview, también tendrá que funcionar, pero el caso es que no soy capaz a ver una vista previa del informe
Añadí el código necesario para asignar los datafields en tiempo de ejecución (tal y como me comentas en el mensaje anterior), en los eventos BeforePrint y OnPreview. Además, desde un formulario invoco a las funciones preview y print cuando se pulsan los botones "Vista Previa" e "Imprimir", con el siguiente código
Código:
NombreFormularioInforme->NombreInforme->Preview();
 //y en otro botón
NombreFormularioInforme->NombreInforme->Print();
Como comentaba, el informe lo imprime correctamente, pero parece que la funciónn Preview no me hace nada, únicamente me desplaza la scrollbar de un dbgrid donde estoy mostrando los datos de la consulta que luego pasaré a informe (y no tengo ni idea de por qué hace una cosa tan rara, yo únicamente invoco al método Preview...).

Muchas gracias por vuestra atención, y por dedicar tiempo a los novatos como yo.
Un saludo.
Responder Con Cita
  #6  
Antiguo 24-06-2004
melanthea melanthea is offline
Miembro
 
Registrado: jun 2004
Posts: 19
Poder: 0
melanthea Va por buen camino
Hola
Por favor nnecesito que alguien me eche una mano con esto. Sigo sin poder hacer un preview del informe, y ya estoy desesperada porque no encuentro el error y de que esto funcione supone que apruebe la ultima asignatura de la carrera, es muy importante para mí y espero que me puedan ayudar aunque solo sea decirme dónde puede estar el error.
He descubierto que el problema no está en la invocación a preview, porque la manera en que estoy invocanndo funciona.
El problema creo que esta en la asignacion dinamica de dataset y datafield en el evento onPrreview dl informe, puesto que en el beforePrint funciona correctamente.
Por favor, necesito la ayuda de alguien estoy muy perdida y ya no sé que mas vueltas darle a esto porque no debe de ser tan complicado, sera que yo soy una inútil
Responder Con Cita
  #7  
Antiguo 24-06-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Podrías sobreescribir el contructor del TQuickReport y hacer todas las asignaciones ahí.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #8  
Antiguo 25-06-2004
Avatar de barman
barman barman is offline
Miembro
 
Registrado: may 2003
Posts: 139
Poder: 21
barman Va por buen camino
Prueba con PreviewModal();

NombreFormularioInforme->NombreInforme->Preview();
NombreFormularioInforme->NombreInforme->PreviewModal();
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


La franja horaria es GMT +2. Ahora son las 16:58:55.


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