Академический Документы
Профессиональный Документы
Культура Документы
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..
Parameters Fields: Son campos que se utilizan para enviarles valores al reporte
desde una aplicación o entrada del usuario.
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.
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.
En la parte media tenemos 2 cuadros, el de la izquierda nos presenta los diferentes
tipos de reportes que podemos crear (esta opción solo estará disponible si
seleccionamos la primera opción de la parte superior (Using The Report Expert)), a
continuación le describo cada uno de ellos:
Standard: Este se utilizar para crear reportes tipos listas, Master/Detalle y/o
cualquier otro reporte común, esta es la opción mas utilizada.
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.
More Data Source: Este fólder se utiliza para acceder datos en formato XML,
EXCEL.
Damos clic en el botón Finish y desplegará bajo el fólder OLE DB (ADO) de la ventana
de Acceso a datos una conexión indicando la ruta de la base de datos y 2 grupos
“Tables” y “Views”, en el grupo Tables están todas la tablas que contiene esta base de
datos y en el grupo Views las vistas que están contenidas en la base de datos, de aquí
seleccionaremos las tablas que utilizaremos para extraer la información que se
presentará en el reporte, damos clic en el signo de mas(+) que tiene el grupo a la
izquierda y buscamos la tabla “Categories”, damos clic sobre esta tabla y luego clic
sobre el botón “Insert Table” y la tabla se desplegará en el cuadro de la derecha, esto
nos indica que esta tabla estará incluida en nuestro reporte, luego buscamos la tabla
“Products” y damos clic en el botón Insert Table otra vez, luego damos clic en Next.
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.
Aquí podemos cambiar las relaciones si quisiéramos, agregar nuevas relaciones (tan
solo debemos arrastrar el campo que queramos relacionar desde una tabla hasta la
otra y soltarla sobre el campo de la segunda tabla que será relacionado), cambiar el
tipo de relación (Inner, Outer, Left Outer, Right Outer), no haremos cambios.
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).
Ahora seleccionamos la opción “From an Existing Report”, esto creará una copia
del reporte que ya creamos en la sección anterior para este proyecto.
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.
- Interfaz Windows
Esta es la barra de funcionamiento de la interfaz de ejecución de los
reporte en ambiente Windows, aquí se pueden visualizar 12 botones que de
izquierda a derecha su utilización son las siguientes:
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.
El 9no botón se utiliza para exportar el reporte a cualquier otro formato, entre
los formatos que se puede exportar un reporte se encuentra Forma Excel,
Word, pdf, html, etc. Al hacer clic en este botón se desplegara una ventana
similar a la ventana de dialogo Abrir estándar de Windows donde
especificaremos el nombre del archivo a crear y el formato al cual deseamos
exportar.
El 12vo botón se utiliza para localizar cualquier texto en el reporte, al hacer clic
sobre este se desplegara el cuadro de dialogo donde digitaremos la palabra a
localizar si es localizada el focus se colocara sobre la primera que aparezca.
Conclusión
Crystal Reports es una herramienta para diseño de reporte creada mucho antes
del nacimiento de la tecnología .NET, gracias a esta uno de las partes mas tediosas e
importante del diseño de aplicaciones se nos hace mas sencillo que es el diseño de
reportes, Crystal Reports puede ser utilizado con diferentes base datos en las que
podemos mencionar, MS Access, SQL Server, Oracle, Informix, etc., podemos diseñar
reportes tanto desde el mismo ambiente de desarrollo de Visual Studio .NET como
desde el ambiente de diseño de Crystal Reports, los reportes creados desde el
ambiente de diseño de crystal pueden ser compilados a .EXE para poder ser ejecutados
sin necesidad de crear un programa o interfaz para esto.