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 14-10-2011
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 18
felipe88 Va por buen camino
ReportManager, cambiar consulta en ejecución

Que tal foro,
no pienso en que tan posible sea pero si de lo importante que pudiera conocer al respecto.
La idea de cambiar la consulta que creamos en el reporte me surgió al tener la opción de generar un listado desde dos posibles parámetros, ambos accediendo a la misma tabla y obteniendo los mismos resultados, lo que varia es el like del query.

¿Hasta dónde es posible esto?



Saludos!
__________________
Web
Responder Con Cita
  #2  
Antiguo 14-10-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Yo tengo algunos informes al que les paso el sql que voy a necesitar porque los campos que se muestran es igual.

Esto es un ejemplo rescatado de algún sitio:

Código Delphi [-]
sql := 'Select field1, field2 from tableA where fieldX = 1 order by cli.NOMECLIENTE, rec.CODCLIENTE, rec.DATAVENCIMENTO, rec.EMISSAO';
VCLReport.FileName := directorioinformes + 'RelContasReceber.rep';
VCLReport.Report.DatabaseInfo.Items[0].SQLConnection := dm.sqlsisAdimin;  
VCLReport.Report.DataInfo.Items[0].SQL:= sql;     //  <<<------------- aquí se le asigna un select
VCLReport.Execute;

Y esto es de mi código:
Código Delphi [-]
// cParametro lleva el nombre del dataset (conjunto de datos) del reportmanager al que le vamos a asignar el select.
// cValor lleva el SQL
RMvcl1.Report.DataInfo.ItemByName(cParametro).SQL := cValor;

Como ves en los ejemplos, puedes indicarlo por su posición o por su nombre: items[0].sql o itembyname('conjuntodedatos').sql


Creo que es lo que estás buscando.

Última edición por Casimiro Notevi fecha: 14-10-2011 a las 17:35:57.
Responder Con Cita
  #3  
Antiguo 14-10-2011
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 18
felipe88 Va por buen camino
Hola Casimiro, gracias por responder.
Había estado consultando en internet y encontré las "cadenas de sustitución", que son un tipo de parámetro que permiten alterar pequeñas partes de la consulta dentro del reporte, más información aquí: http://reportman.sourceforge.net/doc/repparams.html

No sé si sea lo mismo que me propones, puesto que los ejemplos no muestran como debería ir la consulta dentro del reporte, de todas formas voy a revisar bien el ejemplo. Gracias


Saludos!
__________________
Web
Responder Con Cita
  #4  
Antiguo 14-10-2011
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 18
felipe88 Va por buen camino
Hola, para entender mejor lo que quiero lograr estas serían las consultas:

Código SQL [-]
SELECT * FROM CLIENTE WHERE NOMBRE LIKE PARAMETRO

y

Código SQL [-]
SELECT * FROM CLIENTE WHERE ID LIKE PARAMETRO



Saludos!
__________________
Web
Responder Con Cita
  #5  
Antiguo 14-10-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues lo que te he contestado es lo que necesitas
Responder Con Cita
  #6  
Antiguo 14-10-2011
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 18
felipe88 Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Pues lo que te he contestado es lo que necesitas
Asi es Casimiro, es válido, lo único que no había mencionado es que llamo al reporte usando las funciones de la dll reportman.ocx, algo como decir:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var rept: OleVariant;
begin
   rept := CreateOleObject('ReportMan.ReportManX');
   rept.Preview := true;
   rept.ShowProgress := false;
   rept.ShowPrintDialog:= false;
   rept.Title := 'Informe de Prueba';
   rept.Filename := 'C:\Archivos de programa\Report Manager\sample4.rep';
   rept.execute;
end;

Y de esta forma no puedo llamar las propiedades que mencionas.


Saludos!
__________________
Web
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
problema con reportmanager e indy10 gmontes Impresión 4 09-05-2011 18:38:44
2 subinformes en ReportManager dandia28 Impresión 3 23-06-2010 01:36:35
Abrir Maximizado el ReportManager farrop Impresión 0 01-02-2008 14:03:15
cambiar el gdb en red con tcp ip en ejecucion rmnart Firebird e Interbase 1 31-07-2003 11:12:48
Cambiar SelectSQL en ejecución Tomás Conexión con bases de datos 5 18-05-2003 01:04:45


La franja horaria es GMT +2. Ahora son las 02:16: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