JTagua

Inicio » Delphi » Crystal Report

Category Archives: Crystal Report

Anuncios

Informes parametrizados con Crystal Report + Delphi. (Parametro = TJvDateEdit).

A veces, la gestión de un informe parametrizado desde Delphi, previamente diseñado con Crystal Report, requiere que la entrada del valor del parámetro se realice a través de un componente que acepte fechas, tal como TJvDateEdit

Por ejemplo, supongamos que tenemos un informe parametrizado que acepta un parámetro de fecha. Supongamos que el campo con el que deseamos comparar pertenezca a la tabla Proyecciones y se llame fechadeproyeccion.

Queremos lanzar un listado parametrizado, de modo que se obtengan sólo los registros de las proyecciones para los que la fecha de proyección sea igual o menor que la fecha entregada en el parámetro.

Para resolver esta cuestión:

1) Disponemos de un miembro de especificaciones con extensión .rpt, generado desde el propio Crystal Report, y al que le hemos llamado InfFechaProyecciones.rpt. Definimos un parámetro de cadena (… no Date, es necesario crearlo como string) en el informe denominado ParFecha y establecemos como formula de selección de los registros la siguiente:

{Proyecciones.fechadeproyeccion} <= DateTimeValue ({?ParFecha})

La función DateTimerValue garantiza que la cadena introducida en el parámetro se convierta a tipo Fecha (Date).

2) Añadirmos al formulario un Objeto/Componente TJvDateEdit al que llamaremos ParFecha, de modo que su propiedad Text tomará como “cadena” en formato DD/MM/AAAA el valor introducido como parámetro.

3) Un botón que, desde su evento click, ejecute el siguiente código:

md.InfFechaProyeccion.ReportName:=ExtractFilePath(Application.ExeName)+’RPT\InfFechaProyeccion.rpt’;

md.InfFechaProyeccion.ParamFields.Items[0].CurrentValue:=ParFecha.Text;

md.DirxNacionalidad.execute;

EXPLICACIÓN:

Tal como puede verse, la primera instrucción fija en términos relativos al ejecutable del proyecto, la localización del archivo generado por Crystal Report (extensión rpt).

La segunda instrucción asigna al valor actual del parámetro de orden cero (el primero) a la propiedad Text dependiendo de la fecha seleccionada en el componente TJvDateEdit.

Finalmente, el método execute, ejecuta el informe.

Anuncios

Instalación componentes Crystal Report.

Crystal Report es un generador de Informes diseñado para trabajar con una gran variedad de motores de bases de datos tales como Sybase, IBM DB2, Ingres, Microsoft Access, Microsoft SQL Server, MySQL, Interbase , Oracle, Btrieve, así como otras fuentes de datos tales Microsoft Excel, Text files, XML files, Lotus Notes, Microsoft Exchange , Novell GroupWise o datos accesibles mediante web service, ODBC, JDBC o OLAP.

Cualquiera que sea el origen y naturaleza de los datos, se requiere, mientras se desarrolla la aplicación, tener instalado Crystal Report en el sistema. Con ayuda de dicha herramienta generaremos un informe cuyas especificaciones terminarán en un fichero o archivo de extensión rpt.

Las especificaciones de un informe (.rpt) generado con Crystal Report pueden ser manipuladas desde Delphi a través de una serie de componentes que habrá que incorporar a la “Paleta de Componentes”.

Para el caso concreto de Crystal Report 10, se necesita el archivo CrystalVCL10.zip, el cual, contiene los componentes TCrpe y TCrpeDS. Con ayuda de estos objetos/componentes podemos ver por pantalla en nuestros proyectos los informes previamente diseñados con Crystal Report, podemos lanzarlo a la impresora, o exportarlos a formatos tales como pdf , Excel, txt o csv.

Instalación.

Si descomprimimos CrystalVCL10.zip, veremos un archivo readme.txt donde se describen las instrucciones de instalación…

En forma resumida, los pasos a seguir son los siguientes:

a) Comprueba primero que no están instalados previamente los componentes que queremos instalar, para ello, inicia Delphi y comprueba que en la paleta de componentes no aparece en la pestaña “Data Access” los componentes TCrpe y TCrepD5.

b) Cierra todo (Close All) en Delphi, y pulsa “Project” y luego ” Options”. Localiza “Search path” pulsando previamente sobre “Directories/conditionals”. En esa caja de texto hay que introducir el directorio donde se encuentra la carpeta Delphi, resultado de descomprimir CrystalVCL10.zip. Cierra finalmente la caja de diálogo.

c) Ve ahora a la opción File/Open y carga el archivo “dcl7cr10.dpk”, (ojo con la extensión, pues los miembros dpk son componentes de terceros ), que se encuentra como cabe esperar en, por ejemplo, C:\componentes2\CrystalVCL10\Delphi.

d) Pulsa View/Project Manager, y comprobarás que el “paquete” anterior está compuesto por un gran número de unidades con extensión pas.

e) Haz click ahora con el botón derecho sobre el miembro “dcl7cr10”, verás que aparece el menú contextual. Para compilar hacer click en la opción “Compile”.

f) Cuando termine, haz click en “Install” en el mismo menú contextual. Si todo va bien aparecerá una informativa indicando que se han instalado los componentes TCrpe y TCrpeDS. Podrás localizar estos componentes en la pestaña “Data Access” de la Paleta de Componentes.

g) Finalmente, hacemos File/Close All y salvamos los cambios. Los componentes a partir de este momento nos permitirán gestionar los informes rpt generados con Crystal Report.

NOTA FINAL: Como es obvio, la distribución de las aplicaciones a nuestros clientes no requerirá de Crystal Report, sólo un runtime de libre distribución.