UNIDAD 2: Bases de Datos en Visual Basic 6. Informes de Base de Datos Los informes en papel son necesarios porque así lo exigen en gran medida la legislación y también los usos y costumbres. Sin embargo el uso de informes dentro de una empresa debe estar restringido; es decir deben emitirse en su justa medida y a quienes corresponda; de lo contrario podrían producirse fugas de información no sólo dentro de sectores de una compañía sino hacia la competencia. Otro efecto nefasto es la excesiva burocracia ya que hay que tener presente que los informes en papel tienen una permanencia en la empresa y por lo tanto hay que contar cn espacio físico y normas de seguridad para su almacenamiento en lo que se conoce como archivos físicos. Visual Basic trae un diseñador de informe de datos, el DataReport Data Report Para agregar un DataReport a un proyecto es preciso ejecutar la opción de menú Proyecto – Agregar DataReport y así aparecerá la ventana DataReport. Además se puede observar que en el explorador de proyectos se agrega un nuevo elemento en la carpeta Diseñadores. El Data Report permite crear un objeto DataReport que es de tipo contenedor que contiene secciones y controles. Un informe está formado por las siguientes secciones: 1. Sección de detalle: que mostrará los datos que 2. 3. 4. 5. 6. provienen del origen de datos que casi siempre es un Recordset proporcionado por un comando del DataEnvironment. Sección de encabezado de página; Sección de pie de página; Sección de encabezado del informe: se muestra una sola vez en el informe y en general se utiliza para identificar el informe y colocar información relativa a éste Sección de pie de informe: como en el caso anterior se muestra una sola vez y aparece cuando finaliza el contenido del informe secciones de grupo (encabezado y pie de grupo): estas áreas se presentan cada vez que se produzca un cambio de grupo y permiten manipular funciones de agrupamiento. Los controles del Data Report son: 1. TextBox (RptTextBox): permite mostrar los campos de un origen de datos y toman su valor en tiempo de ejcución; 2. Label (RptLabel): permite colocar etiquetas al informe; 3. Image (RptImage): permite insertar gráficos en el informe, siendo las imágenes de tipo estáticas 4. Line (RptLine): permite dibujar líneas en el informe 5. Shape (RptShape): permite insertar rectángulos, triángulos, etc. 6. Function (RptFunction): es un cuadro de texto especial que permite calcular valores a medida que se genera el informe, es decir, en tiempo de ejecución. Profesora Laura Noussan Lettry página 1 de 5 Este control no funciona con DAO sino que necesita de un objeto contenedor especial que es el DataEnvironment para poder gestionarse. Sin embargo por lo dicho al principio hay que tener en cuenta unos pasos lógicos no sólo para utilizar adecuadamente este objeto sino más bien para diseñar los datos que se van a imprimir en papel y que por lo tanto van a tener una consistencia permanente en la empresa. 1. Hay que tener claro lo que queremos hacer. Por ejemplo podría ser un listado de todos los empleados, de sólo aquellos empleados que pertenecen a un departamento en particular, de sólo aquellos empleados cuyo salario es superior o inferior a un valor, etc. 2. Es importante ver qué información relativa al informe vamos a agregar. Por ejemplo es casi seguro y correcto colocar la fecha de emisión del informe, un número de página y un título. Opcionalmente puede ser necesario poder colocar un logotipo sólo en el encabezado del informe o tal vez en cada página. Son cuestiones que tienen que ver con la política de la empresa, en algunos casos; y en otras a quién va dirigido. 3. Definir el objeto DataEnvironment; 4. Agregar un objeto DataReport 5. Vincular el Data Report con el DataEnvironmet utilizando las secciones y controles de informes pertinentes. 6. Realizar la codificación que sea necesario, que a veces es muy poca. Data Environment El Data Enviroment es un diseñador basado en objetos que sirve para centralizar las conexiones a la base de datos y que básicamente permite también independizar los accesos y consultas de las bases de datos de las aplicaciones. Este diseñador permite generar un objeto DataEnvironment que es un objeto contenedor. El DataEnvironment es el medio ambiente de los datos y a través de él pueden definirse todas las conexiones que han de ser realizadas a la base de datos y todos los comandos necesarios para recuperar información. A cada conexión y a cada comando se le asigna un nombre único. El DataEnvironment cuando es agregado a un proyecto tiene una extensión dsr (diseñador). Su estructura jerárquica es la que muestra la imagen de la derecha. Para agregar un entorno de datos a un proyecto de Visual Basic es necesario utilizar la opción de menú Proyecto – Agregar Data Environment y así aparecerá la ventana DataEnvironment Profesora Laura Noussan Lettry página 2 de 5 Pasos para agregar un DataEnviroment a un Proyecto de Visual Basic Hay que ir al menú Proyeto – Agregar DataEnvironmet: Hay que definir DECommand DEConnection y Siguiendo la tecnología ADO implica especificar, entre otras propiedades, las siguientes: El servidor que vamos a utilizar; El usuario; La Clave; La Base de datos En las siguientes imágenes se indican gráficamente estos pasos para lo cual hay que posicionarse sobre la conexión, pulsar el botón derecho del mouse y seleccionar la opción propiedades: Se selecciona el proveedor o servidor, en este caso para poder utilizar Access 97 se elige Microsoft Jet 3.51 OLE DB Provider La siguiente imagen nos permite especificar la conexión propiamente hablando con el servidor antes seleccionado, en particular la Base de Datos, el Nombre de Usuario y la Clave de usuario. Este último requisito puede quedar en blanco. El siguiente paso consiste en probar la conexión que si es exitosa mostrará un mensaje de informació n en tal sentido. La solapa Avanzadas permite especificar el tipo de acceso a la base de datos mediante la conexió (escritura, sólo lectura, etc.). Una vez que se ha establecido la conexión se pueden crear comandos. Basta con posicionarse en la conexión y pulsar el botón derecho del mouse como muestra la imagen. Aparecerá la ventana de Propiedades del comando, que todavía no tiene nombre y por ello figura el nombre por omisión que coloca Visual Basic: Profesora Laura Noussan Lettry página 3 de 5 La solapa General permite establecer el origen de datos del comando: Un objeto de base de datos que podrá ser un procedimiento almacenado, una tabla, una vista o un sinónimo. Instrucción SQL Si seleccionamos la segunda opción el botón Generar SQL... se activará. Si lo pulsamos aparecerá la ventana de Diseño del Comando (Diseño: Command1) Esta ventana es muy similar a la vista diseño que tiene Access para diseñar las consultas: En la parte superior pueden arrastrarse los objetos desde la vista Datos (tablas o vistas de la base de datos) y las relaciones entre los mismos se realizarán en forma automática. Desde aquí también podemos seleccionar los distintas columnas que nos interesa que muestre la consulta. En la grilla superior pueden establecerse opciones adicionales correspondientes a la ordenación, agrupación, etc. En el área de texto se irá escribiendo el comando SQL o bien podremos ingresar o modificar el mismo directamente. Profesora Laura Noussan Lettry página 4 de 5 La grilla inferior sirve para mostrar los resultados de la ejecución de la consulta. Finalmente una vez diseñada la consulta utilizando el botón derecho del mouse podremos seleccionar otras opciones dependiendo en qué zona estemos posicionados con el ratón el menú contextual nos permitirá ejecutar la consulta, comprobar la sintaxis SQL, etc. Por ejemplo, podemos observar en la imagen la Vista de Diseño del comando cmdDep2 que podemos ejecutar la consulta. Y en esta imagen podemos apreciar la Vista de diseño del comando cmdDep2 mostrando el menú contextual que permite, entre otras cosas, ejecutar la consulta que se muestra en la siguiente imagen. Asimismo se pueden diseñar, como también ocurre en Access, distintos tipos de consultas. Profesora Laura Noussan Lettry página 5 de 5