Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Crystal Reports y VB
Crystal Reports y VB
y VB.NET
Lo que debo saber sobre Crystal
y VB.NET
Fecha: 21/Sep/2004
Autor: Enriquillo Mañón Ramírez
(enriquillo_manon@hotmail.com)
Introducción
Conclusión
Introducción
Formula Fields: Son campos que su valor pueden ser obtenidos de formulas
de cálculo y/o operaciones sobre otros campos.
Summary Fields: Son campos que se utilizan para acumular y/o promediar
valores según las operaciones que se deseen, entre las operaciones que soporta el
summary fields estan Count, Sum, Avg, discount, etc..
SQL Expresión Fields: Son campos que se utilizan para ejecutar funciones
propias del motor de base de datos que se este utilizando.
Group Name Fields: Son campos que se utilizan para agrupar la salida del
reporte.
Running Total Fields: Son similares a los Summary Fields pero estos pueden
ser condicionados.
Los componentes necesarios para manejar los reportes de crystal son los
siguientes:
Using The Report Expert: Esta opción es una especie de Wizard que nos
guiará paso por paso durante la creación del reporte.
From as Existing Report: Esta opción nos permitirá crear un reporte a partir
de otro ya existente, al seleccionar esta opción nos pedirá la localización del
archivo .rpt que queremos utilizar y creará una copia de este reporte.
From Letter: Este templete se utiliza para crear reportes tipo cartas donde
tienes un documento con un texto estático y en algunas partes del documento que
deben ser extraídas de la base de datos, un estilo de Mail Merge (para los que han
manejado Microsoft Word,Word Star o algún procesador de palabra).
OLE DB (ADO): Este fólder se utiliza para crear una conexión a una fuente
de datos a través OLE DB, Al hacer clic en esta ventana se despliega una ventana
con una lista de todos los proveedores de acceso a datos instalados en su maquina
para que se seleccione el adecuado y sea configurado (de este hablaremos mas
adelante ya que es el que estaremos utilizando).
ODBC: Este fólder se utiliza para crear una conexión a una fuente de datos a
través de ODBC, este se utiliza cuando no contamos con un proveedor de acceso a
datos de tipo OLEDB.
Database file: Este fólder se utiliza para especificar proveedores de acceso a
datos que son almacenados como archivos (*.mdb, *.dbf, *.xls, etc), al seleccionar
esta opción se abrirá la ventana para que seleccionemos el archivo y según el tipo
se desplegar el cuadro de dialogo correspondiente para su configuración.
More Data Source: Este fólder se utiliza para acceder datos en formato XML,
EXCEL.
Seleccionamos Microsoft Jet 4.0 OLE DB Provider y damos clic sobre el botón Next,
luego se abrirá la ventana de configuración del Proveedor que selecciónanos, esta
ventana puede variar según el OLEDB Driver que hayamos seleccionado.
Damos clic sobre el pequeño botón que está a la derecha del primer TextBox, se
abrirá la ventana de Dialogo Abrir buscamos la base de datos NorthWind.mdb
(esta base de datos viene con Microsoft Offices y el código de este articulo incluye
una copia).
Ahora se desplegara la ventana de relación entre tablas, aquí las tablas que
seleccionamos en el punto anterior son representadas por pequeños cuadros con
los nombres de los campos dentro, también se desplegara una línea delgada entre
las tablas indicando la relación que existe entre ellas, esta relación las establece
Cristal Reports automáticamente tomando como parámetro el Nombre de los
campos.
Ahora vamos a necesitar un campo que nos presente el precio del total en almacén
de cada producto, para eso agregaremos un Campo Formula (Formula Fields),
damos clic sobre el botón Formula, nos desplegará un pequeño cuadro pidiéndonos
el nombre del campo formula, Digite TotalPrice, damos clic en el botón OK, y se
desplegara la ventana de edición de formulas:
Esta presenta 3 cuadros de izquierda a derecha el primero nos muestra los campos
de nuestro reporte que ya seleccionamos anteriormente, también nos muestra la
conexión que creamos y las tablas que seleccionamos, en el segundo cuadro nos
muestra una lista de todas funciones que Cristal Reports soporta agrupadas por el
tipo de datos sobre el que actúan, y el tercero nos muestra una lista de los
operadores Aritméticos, Lógicos, de Conversión, etc. Agrupados también por el tipo
de datos sobre el que actúan, nuestro campo formula solo consistirá de multiplicar
el campo UnitPrice por el campo UnitsInStock, damos doble clic sobre el campo
UnitPrice en el primer cuadro, este se agregara al cuadro inferior, luego colocamos
el cursor al final del campo y digitamos un asterisco (o sea, el signo de multiplicar
para las computadoras),luego damos doble clic sobre el campo UnitsInStock en el
primer cuadro y listo, damos clic en el botón salvar y luego clic en el botón cerrar
de la ventana (a la derecha en la parte superior), retornaremos a la ventana
anterior, nuestro campo formula se desplegará en el cuadro de la izquierda junto
con los demás campos del reporte, damos clic sobre el cuadro de la derecha sobre
el campo “Products.UnitsInStock” y luego damos doble clic sobre nuestro campo
formula “@TotalPrice” y este se desplegará en la ventana de la derecha debajo del
campo UnitsInStock.
Ahora se despliega la ventana de Totales, aquí indicamos los campos que deseemos
Totalizar, Podremos especificar totales por cada uno de los grupos que hayamos
especificados en la ventana anterior (como nuestro ejemplo solo seleccionamos un
campo “Categories.CategoryName” podremos especificar totales para este grupo).
Automáticamente Cristal Reports te agrega los campos Numéricos en el cuadro de
la derecha para totalizar, en nuestro ejemplo no tiene caso totalizar el precio y la
las Unidades en Almacén, pero si el Total (nuestro campo formula TotalPrice), asi
que damos clic sobre los campos del cuadro de la derecha que no deseamos
totalizar y damos clic sobre el botón “Remove”. Debajo del cuadro de la derecha
hay un Combobox que dice “Summary Type”,el Summary Type es la operación
matemática que queremos aplicar sobre este campo (en este caso sum para sumar
todos sus valores).
El check box que dice “Percentage of” se utilize para especificar que el total se
presentará como un porcentaje de algun otro total y el Check box al final “Add
Grand Totals” se utiliza para indicarle que además de los totales por grupo
queremos un Gran Total que sume todos los totales de los grupos.
Y por Último para terminar con el diseño de nuestro reporte la ventana de selección
estilo, aquí se desplegará una lista con los diferentes estilos de reportes que Cristal
Provee.
Listo nuestro reporte ya está diseñado, Visual Studio no cuenta con una
herramienta para poder visualizar los reportes en Preview Mode, por eso para ver
nuestro reporte corriendo necesitamos crear una aplicación que lo ejecute (esta es
la parte fácil).
Seleccionamos el témplate de Crystal Report, luego se abrirá la ventana “Crystal
Report Gallery”
Para los que no conocen el concepto Web Services esto se refiere proveer
alguna funcionalidad a través de la Web para que esta pueda ser utilizada por otra
aplicación, El clásico ejemplo de la tarjeta de crédito, cuando hacemos compras por
Internet y pagamos con tarjeta de créditos el site desde donde estamos realizando
la transacción necesita validar nuestra tarjeta de crédito para determinar si es
valida y claro si tiene fondo disponible para la transacción, las instituciones
bancarias propietarias de la tarjeta podrían publicar Web Services, el site solo debe
acceder al Web services enviarle los datos de nuestra tarjeta y el banco a través del
Web services nos devolverá la información que necesitamos, todo esto se hace a
través del Web services compartiendo la información en forma XML (Extensible
Market Language), esto nos facilita que no importa en que lenguaje y/o plataforma
estén diseñadas nuestras aplicaciones si accede la Web y maneja XML (que casi
todos los lenguajes ya manejan este lenguaje) puede hacer uso de este servicio.
Los 4 primeros son para moverse entre página del reporte, el 5to
botón se utiliza para ir a una página por el No. Cuando se hace clic
en este botónse despliega el dialogo “Goto Page” para especificar el
no. De la página que se desea desplegar.