![]() |
Pasar SQL como parametro
Hola, estoy estancado con un problema que tengo, necesito pasar una consulta SQL de delphi a Crystal Report pero no se como hacerlo.
Las herramientas son Delphi 7 y Crystal Report 11 |
Yo no uso Crystal Report, pero en todo caso esto:
Te devuelve el string con la consulta y supongo que con eso podrás hacer algo. |
a ver, el problema es que yo tengo una sql creada, y esa sql se la quiero enviar a crystal y que modifique la que tiene el crystal report pero no lo consigo, el problema es que no soy capaz de acceder a la SQL que tiene el Crystal
|
en ese caso....
segun entiendo lo que quieres pasar es el resultado de una consulta viva (o sea en memoria)
pues para pasar seria algo asi.... debes tener el la aplicacion dos componentes un crpe un crpeDs // o sea un enlace para el data source..... a este ultimo lo vas a vincular con el dataset en este caso tu consulta(ejemplo ConsultaSql) CrpeDs.Dataset:=ConsultaSQl. reporte.connect.reportname:='rutacompletadelreportemaselnombre' ; //ojo aca es donde la cosa mas falla...... //luego Crpe.tables[0].datapointer:=CrpeDs.datapointer; // esta linea tantas veces como tablas en el reporte...es por eso que esto es mejor para reportes sencillos 1 o 2 tablas .... crpe.show; Espero haber ayudado.... |
Una vez hecho eso como hago el reporte en el crystal, porque asi lo que hago es enviarle los resultados pero como los llamo en crystal?
|
asi es la cosa....
pues como ya te dije, el codigo anterior incluye todo(casi)
la linea final que dice Crpe.show muestra el reporte por pantalla desde la aplicacion..... Crpe es el nombre que le das al reporte, que casualmente lo hago coincidir en este ejemplo con el nombre del componente.. Solo debes incluir(se me habia olvidado) la linea... crpe.DiscardSavedData; con esta antes del crpe.tables[0].datapointer:=CrpeDs.Datapointer te aseguras de que el reporte elimine los datos que tenia antes de la llamada (algo asi como refresh).... Dale frente al computador, creeme que solo asi se aprende.... |
ya lo consegui, gracias por tu ayuda ;)
|
Para servirte....
sin embargo yo te diria que con tiempo pruebes otros generadores de reportes como el caso de fastreport que permite de un modo "mas amigable" imprimir datos "vivos" y bastante rapido debo decir......
|
La franja horaria es GMT +2. Ahora son las 07:08:25. |
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