![]() |
Conectar Crystal Report (TCrpe) con un Ttable o TQuery
Hola:
El componente TCrpe (para conectar Delphi con Crystal Report) tiene la propiedad Table[x], que a su vez contiene la variable de DataPointer (de tipo Pointer) para conectar a una fuente de datos TTable o TQuery, o similar. Al intentar hacer la conección me da problemas. Por ejemplo: Código:
Crpe.Tables[0].DataPointer:=@Table1; Saludos y gracias. |
Hola:
Aunque el componente TCrpe que tengo es de una versión anterior y no tiene ese propiedad que comentas (DataPointer), es posible que ahí debas pasar el Handle de la tabla o Query en cuestión, que actúa como un cursor del BDE, prueba esto: Crpe.Tables[0].DataPointer := Table1.Handle; ó Crpe.Tables[0].DataPointer := Table1.DBHandle; |
Hola Andrés:
La versión del componente es la 7 y estoy utilizando Delphi 5. Por cierto, tu solución no funciona. Gracias de todos modos. Un abrazo. |
Hola:
La propiedad DataPointer no la conozco (tengo el componente TCrpe para Delphi 4), parece ser, por lo que comentas, que debe apuntar a un DataSet de tu aplicación para que Crystal Reports tome de ahí los datos. Si es así, es un avance importante en la filosofía de CR, al permitir tomar datos directamente desde Delphi. De todas formas, si la finalidad es esa, me extraña que se llamara DataPointer y no DataSource. ¿Es esto así? Si no es eso y lo que quieres es acceder a las tablas físicas, como venía haciendo Crystal Reports anteriormente (te hablo de la versión 6.0), la forma en que tengo esto implementado, para indicarle la ruta donde están las tablas es así: Código:
procedure TDATAIMP.InicializaInformeCrystal (NomInforme, NomClave: String; |
De nuevo gracias Andrés.
Lo cierto es que habíamos comprado el Crystal Report hace tiempo y lo tenía un poco aparcado. Estoy empezando a meterme con él y aún tengo algunas dudillas, aunque a base de mirar tutoriales y buscar en internet parece que me va a entrando. Mi intención no era otra que filtrar los datos, y por eso estaba intentando conectar el componente con el TQuery. Al final he decidido no complicarme la vida y voy a utilizar el lenguaje de fórmulas nativo del Crystal Report. No parece que sea muy complicado y, además, el propio Crystal trae una editor de fórmulas muy sencillo. Un ejemplo para quien pueda interesas: Código:
GetPathFromAlias[list] |
...¡uy, he colgado el mensaje antes de tiempo!.
Andrés, me faltaba preguntarte de donde has sacado la función GetPathFromAlias. He consultado la ayuda en línea de Delphi, pero no aparece. ¡Cuantas veces he hechado de menos una función como esa!. Gracias por todo. |
Hola de nuevo:
Esa función, GetPathFromAlias, es un método del componente TCrpe. Esa información la puedes obtener también mediante esta función que hace uso del objeto Session: Código:
function GetAliasPath (Alias: string) : String; |
Ok. Gracias.
|
Es posible que esto sea una solucion a la peticion inicial, ofrecida por la ayuda de delphi, cortesia de un gran forista (Neftali)
|
Hola:
he tenido el mismo problema con el crpeDS1, no me trabaja da un error de paso de parametros, la solucion la obtuvo un colega anteriormente aunque en su caso no le servia por usar otro componente que no es ADO. en fin, solucion a pasar una tabla o query para el reporte, ver que tengan las mismas columnas y el mismo orden. ADOQuery1.Open; crpe1.Tables[0].DataPointer := @(ADOQuery1.recordset); crpe1.Show; espero que te ayude |
La franja horaria es GMT +2. Ahora son las 23:30:03. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi