43
UNIVERSIDAD DE ZARAGOZA CENTRO DE CÁLCULO ÁREA DE INFORMÁTICA DISTRIBUIDA

Curso Avanzado Access

Embed Size (px)

Citation preview

Page 1: Curso Avanzado Access

UNIVERSIDAD DE ZARAGOZA CENTRO DE CÁLCULO

ÁREA DE INFORMÁTICA DISTRIBUIDA

Page 2: Curso Avanzado Access

Título: Microsoft Access2000 Curso de Introducción.

Preparado por: Luis Fernando Ortiz Giménez

Bibliografía: Microsoft Access 2000 – Guía practica para usuarios Mª Piedad Ferro Sánchez Anaya Multimedia Guía Completa de Microsoft Access 2000 John L. Viescas McGraw Hill-Microsoft Press Manual imprescindible de Microsoft Access Joaquín María Suárez-Julián Casas Anaya Multimedia

Publicado por: Centro de Cálculo Universidad de Zaragoza.

Fecha: Enero, 2003

Page 3: Curso Avanzado Access

I

ÍNDICE 1.- Bases de datos y tablas ................................................................................... 1 1.1.- Compactación y reparación de una base de datos. 1.2.- Documentación de una base de datos. 1.3.- Seguridad. 1.3.1.- Incorporar una contraseña para abrir una base de datos. 1.3.2.- Seguridad a nivel de usuario. 1.4.- Importación/exportación de datos. 1.4.1.- Importar información desde Filemaker. 1.4.2.- Exportar información a Filemaker. 1.4.3.- Otros formatos de exportación/importación. 2.- Consultas........................................................................................................ 13 2.1.- Consultas de acción. 2.1.1.- Consultas de eliminación. 2.1.2.- Consultas de actualización. 2.1.3.- Consultas de datos anexados. 2.1.4.- Consultas de creación de tablas. 2.1.5.- Procedimiento para crear una consulta de acción. 2.2.- Introducción al lenguaje SQL de Access. 2.2.1.- Búsqueda de información en una tabla. 2.2.2.- Acciones en una tabla 2.2.3.- Creación de tablas. 3.- Formularios ................................................................................................. 20 3.1.- Eventos y propiedades. 3.2.- Repaso a los tipos de formularios. 3.3.- Creación de un formulario por medio del editor. 3.3.1.- Secciones del formulario. 3.3.2.- Controles más importantes. 3.3.- Activación de un formulario al iniciar. 4.- Informes. ................................................................................................. 26 4.1.- Partes de un informe. 4.2.- Controles. 4.3.- Valores calculados. 4.3.1.- Insertar fecha de impresión y número de página. 4.3.2.- Cálculo sobre la línea de detalle. 4.3.3.- Crear un total general. 4.4.- Subinformes. 5.- Introducción a macros.. .................................................................................. 30 5.1.- Crear una macro. 5.2.- Algunas acciones de macros importantes. 5.3.- Añadir condiciones a las macros. 5.4.- Referenciar otros objetos. 5.4.1.- Referencias a formularios e informes. 5.4.2.- Referencias a propiedades de formularios e informes.

5.4.3.- Referencias a controles de los formularios e informe (y sus propiedades).

5.5.- Macro AutoExec.

Page 4: Curso Avanzado Access

II

6.- Access e Internet............................................................................................ 35 6.1.- Publicar información en formato HTML.

6.1.1.- Publicar un objeto en formato HTML. 6.2.- Publicar información mediante una página de acceso a datos. 6.2.1.- Crear una página de acceso a datos con el asistente. 6.2.2.- Visualizar una página de acceso a datos con el navegador.

Page 5: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

1

1.- BASES DE DATOS Y TABLAS. Access llama objeto a todo aquello que puede poseer un nombre. Y todo lo almacena en una único contenedor (fichero con extensión .mdb) al que llama base de datos. A continuación, se visitarán algunos puntos interesantes acerca de las bases de datos, en primer lugar. 1.1.- Compactación y reparación de una base de datos. Conforme se va trabajando con una base de datos, se va fragmentando dicha base de datos. El resultado es que con el paso del tiempo, la base de datos pueden crecer de forma exagerada, perdiendo rendimiento. La solución es compactar periódicamente la base de datos que interese. Se realiza a través de la opción Compactar y reparar base de datos, situada en la entrada Utilidades de la base de datos del menú Herramientas. Se tiene que realizar sin tener la base de datos a compactar abierta. El proceso es sencillo:

1. Se activa esta opción. 2. Se pide al usuario que localice la base de datos a compactar. 3. Pide el nombre que tendrá la base de datos compactada. 4. Access realiza la compactación. 5. Se borra la antigua y se renombra la nueva con el nombre antiguo.

En pruebas realizadas, se puede obtener una reducción de tamaño de un 50% o mayor. Asimismo, en caso de un fallo o avería en la base de datos, es muy recomendable probar con esta opción. 1.2.- Documentación de una base de datos. Para ver la estructura de una tabla o en general de cualquier objeto de la base de datos, hay que emplear la opción Analizar en el menú Herramientas, y a continuación la orden Documentador en el submenú.

Page 6: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

2

A la vista de este cuadro, se seleccionará la ficha que interese y dentro de ella se marcará los objetos de los cuales se quiera obtener información. Al pulsar el botón Aceptar, el analizado se pondrá en marcha y generará en vista previa unas hojas donde aparecerá la información que se solicita. 1.3.- Seguridad. Access 2000 ofrece dos métodos diferentes para proteger una base de datos:

• Incorporar una contraseña para abrir una base de datos. Access almacena la información de seguridad en dos posiciones diferentes: un fichero de grupo de trabajo (system.mdw) en una carpeta llamada \Archivos de programa\Microsoft Office\Office1. Este fichero contiene toda la definición de usuarios y grupo. Cuando se crea una base de datos, los permisos concedidos a usuarios y grupos se guardan dentro de ella.

• Incorporar seguridad a nivel de usuario. Los usuarios son obligados a

identificarse y utilizar una contraseña para abrir una base de datos. 1.3.1.- Incorporar una contraseña para abrir una base de datos. Para incorporar una contraseña de acceso a una base de datos, se debe utilizar el submenú Seguridad del menú Herramientas. Dentro de este submenú, se encuentra la opción Establecer contraseña para la base de datos. Como paso previo, hay que abrir la base de datos en modo exclusivo, para ello, se utiliza la opción Abrir en modo exclusivo del botón Abrir en la opción Abrir del menú Archivo.

Una vez abierta en modo exclusivo, se utiliza la opción antes descrita del menú Herramientas y aparece un cuadro de diálogo donde se introduce dos veces la contraseña que se vaya a utilizar. Una vez hecho y guardado, al abrir la base de datos protegida, el programa preguntará por la contraseña. AVISO IMPORTANTE: Para aquellos casos de pérdida de password de cualquier producto OFFICE, existe un software de desencriptado cuya información se encuentra en http://www.elcomsoft.com/prs.html De momento, no hay un recuperador de password de Access 2000, sólo de Access97. 1 En Windows’2000, aparece en dos carpetas: C.\archivos de programa\archivos comunes\system C:\archivos de programa\Microsoft Office\Office

Page 7: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

3

1.3.2.- Seguridad a nivel de usuario. Todos los archivos de Access contienen un ID de usuario incorporado y dos grupos incorporados. El usuario es administrador y si no existe ninguna contraseña incorporada, siempre trabajaremos como administrador, con todos los privilegios, evidentemente. De los grupos de trabajo, son dos Administradores y Usuarios. Por omisión, todos los usuarios (incluidos los nuevos) se convierten en miembros del grupo usuarios, al que en principio, Access da privilegios totales sobre todos los objetos que se creen; a menos que el administrador restringa dichos privilegios. El grupo Administradores, tiene dos propiedades clave: puede definir o modificar los perfiles de grupo y volver a establecer la contraseña. Además, tienen autorización completa para conceder permisos a los objetos de la base de datos. Los permisos son los siguientes: Permiso Se aplica a Significado Abrir/ejecutar Bases de datos, formularios,

informes y macros. Concede el permiso para abrir y ejecutar el objeto.

Abrir en modo exclusivo

Bases de datos Concede permiso para abrir una base de datos y bloquear a otros usuarios.

Leer diseño Tablas, consultas, formula-rios, informes, macros y módulos.

Concede permiso para abrir el objeto en vista Diseño. Para las tablas y consultas, implica el permiso de lectura de diseño debido a que el diseño debe estar disponible para abrir un conjunto de registros.

Modificar diseño Tablas, consultas, formula-rios, informes, macros y módulos

Permite cambiar el diseño de un objeto.

Administrar Bases de datos, tablas, consultas, formularios, infor-mes, macros y módulos

Concede autorización para asignar permisos para el objeto, aunque no se sea el propietario del objeto.

Leer datos Tablas y consultas Permite al usuario o grupo leer los datos de la tabla, implica el permiso de leer diseño.

Actualizar datos Tablas y consultas Permite al usuario actualizar los datos de la tabla o consulta, implica los permisos de leer datos y diseño.

Insertar datos Tablas y consultas Permite insertar datos en la tabla o consulta implica los permisos de leer datos y diseño.

Eliminar datos Tablas y consultas Permite borrar datos en la tabla o consulta implica los permisos de leer datos y diseño.

Como en cualquier sistema de Microsoft es conveniente, fijar estos permisos a nivel de grupo y luego asignar los usuarios al grupo, heredando de esta forma, los permisos de cada grupo y facilitando la gestión de la seguridad.

Page 8: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

4

1.3.2.1.- Crear grupos y usuarios. La creación de usuarios o grupos, se hace a través del menú Herramientas, submenú Seguridad, opción Cuentas de usuario y de grupo.

En la ficha Usuarios, se crearán los usuarios y se asignarán al grupo correspondiente. En la ficha Grupos, se añadirán nuevos grupos al sistema. AVISO: La base de datos no tiene que tener contraseña de acceso a ella. Por último, en el menú Herramientas, submenú Seguridad, opción Asistente para seguridad por usuarios, se realizará se modificará la base de datos para incorporar la información de control de acceso de usuarios. Como herramienta auxiliar, existe un fichero llamado wrkgadm.exe que permite cambiar de grupo de usuarios. Por lo demás, Access sigue utilizando la arquitectura de propietario-que-concede-permisos 1.4.- Importación/Exportación de datos. Uno de los puntos fuertes de Access es la posibilidad de recibir o enviar información a otos productos a partir de una serie de formatos estándares en el mundo de la informática. Esta es una breve descripción de ellos: Access (versiones anteriores) Diferentes tipos de ficheros de Dbase (.dbf) Excel. Ficheros HTML. Diferentes tipos de ficheros de Lotus 1-2-3

Page 9: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

5

Paradox Archivos de texto... Debido al uso extendido del programa Filemaker por toda la Universidad de Zaragoza, se va a describir un proceso de intercambio de información (sólo datos) entre Filemaker y Access. 1.4.1.- Importar información desde Filemaker. El primer paso hay que darlo en Filemaker, y es crear el fichero de exportación. Este se puede hacer de casi cualquier formato, aunque es muy recomendable utilizar el formato DBF (.dbf) o de texto delimitado por comas (*.csv) al ser un formato casi universal de intercambio. Para ello, abriremos en Filemaker la base de datos a exportar. Luego se utilizará la opción Exportar Registros del menú Archivo que muestra el siguiente cuadro de diálogo:

En él, se indicará el nombre y el lugar donde se va a guardar la información que se exporte del fichero junto al tipo de fichero que se generará, en este caso, el formato Archivos DBF. Acto seguido, hay que proceder a indicar los campos que se van a incluir en el fichero de exportación:

Page 10: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

6

Y acto seguido, se procede a pulsar el botón Exportar para generar el fichero. Una vez se tiene este fichero, se sale de Filemaker y arranca Access. Para importar estos datos, se utilizará la opción Obtener datos externos del menú Archivo. Dentro de esta, se empleará la opción Importar... Al activarla, aparece el siguiente cuadro:

donde se procede a seleccionar el tipo de archivo a abrir (en este caso, dBASE III) y se localiza el fichero generado en el paso anterior. En ese momento, al pulsar el botón Importar, aparecerá en la ventana de la base de datos, una nueva tabla correspondiente al fichero de exportación previamente creado. A partir ya de esta tabla, podemos llevar los registros al lugar que deseemos.

Page 11: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

7

1.4.2.- Exportar información a Filemaker. Siguiendo el mismo criterio, se enviará la información desde Microsoft Access hacia Filemaker en el mismo tipo de fichero. Para ello, el primer paso es generar el fichero de intercambio. En primer lugar, se procederá a seleccionar la tabla de la cual se sacará la información. Una vez seleccionada, se elegirá la opción Exportar del menú Archivo.

En este sencillo paso, se genera el fichero con la extensión .dbf que luego se importará desde Filemaker. Para recoger esa información desde Filemaker, se utilizará la opción Importar Registros del menú Archivo. Se elegirá el fichero que tiene la información a recuperar y aparecerá el cuadro de diálogo de asignación de campos, donde se asignará un campo del fichero entrante a otro de la base de datos abierta.

Page 12: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

8

Cuando estén emparejados los campos necesarios, se elegirá el tipo de importación en el cuadro Importar acción. En este caso, lo recomendable sería marcar la opción de Añadir nuevos registros y una vez hecho, se pulsará el botón Importar, momento en el cual se añadirán al final de la base de datos de Filemaker, los nuevos registros procedentes de Access. 1.4.3.- Otros formatos de importación/exportación. Como norma general, es aconsejable utilizar algún formato de importación o exportación de datos estándar, como pueda ser el ya citado de .dbf, o .xls de Excel. Ahora bien, si no existe la posibilidad de emplear alguno de estos formatos, se recomienda encarecidamente, la utilización de formatos en ficheros de texto delimitados y que además, no se emplee como delimitador el espacio en blanco. El formato más recomendable es el delimitado con comas o punto y coma, entrecomillando los campos de tipo texto y dejando entre comas los tipos numéricos. 1," hola ","000001",1,8 3," hola ","000001",2,5 4," hola ","000002",1,7 5," hola ","000003",1,9 6," hola ","000004",1,5 7," hola ","000003",1,9 8," hola ","000004",1,5 9," hola ","000003",1,9 10," hola ","000004",1,5

Page 13: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

9

1.4.3.1.- Exportación de datos. Para exportar datos a otros programas diferentes, hay que utilizar la opción Exportar del menú Archivo.

En este cuadro de diálogo, se elige el nombre del fichero de importación, y el tipo de fichero (lista desplegable Guardar como tipo). Si se va a generar un fichero de texto, se ruega encarecidamente no utilizar la opción Guardar con formato, debido a que generará un fichero con forma de formulario que no es interesante para enviar información a otros programas. En el caso de emplear un formato estándar, el proceso sigue adelante si pedir ningún otro tipo de información. Ahora bien, si se trata de un fichero de texto, se pone en marcha un asistente para decidir la forma de realizar la exportación, cuya primera pregunta se recoge en el cuadro de diálogo de la página siguiente. Siguiendo las directrices anteriores, se marcará la opción Delimitado – Caracteres tales como la coma o tabulación separan cada campo. Y a continuación, el botón Siguiente >.

Page 14: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

10

En ese momento, Access pasa a preguntar por el tipo de separador de campo y su delimitador:

Al pulsar el botón Siguiente >, se pasa a finalizar el proceso.

Page 15: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

11

1.4.3.2.- Importación de datos. Como ha quedado dicho en apartados anteriores, para importar información a Acess, se emplea el submenú Obtener datos externos del menú Archivo. Dentro de él, elegir la opción Importar. Al activarla aparece el cuadro de diálogo siguiente:

El tipo de archivo a importar se elegirá de la lista desplegable Tipo de archivo: , donde se encuentran todos los tipos de ficheros de datos que entiende. Si es un formato estándar (DBF, xls, wk?) la importación se ha de forma directa en forma de tabla que se añade a la ventana de base de datos. Si es un formato de texto, Access abre el asistente de información para identificar la estructura del fichero de información que se va a incorporar a la base de datos:

Page 16: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

12

En primer lugar, hay que identificar el tipo de fichero (delimitado o de ancho fijo), en el caso de la figura es delimitado. Una vez identificado, se pulsa el botón Siguiente > para ir al siguiente paso del procedimiento. Si se ha elegido delimitado, el siguiente paso es identificar el delimitador:

y pulsar el botón Siguiente > donde se decide si se crea una nueva tabla o se añade a una existente. En el segundo campo, hay que comprobar si la estructura del fichero de datos es coherente con la de la tabla a la que se va a añadir la información. Si se elige un tipo de fichero de ancho fijo, el siguiente paso es identificar la columna separadora:

Como puede verse en las etiquetas del cuadro de diálogo, hay que marcar por medio del ratón, las columnas de separación de los diferentes campos. A partir de aquí, el procedimiento es exactamente igual al indicado en el caso anterior.

Page 17: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

13

2.- Consultas. Una consulta es un objeto de Access que se utiliza para seleccionar un conjunto de registros con los que trabajar en un momento determinado y, además, para limitar el número de campos sobre los que trabajar, centrando así el trabajo sobre el conjunto de registros y campos que interese. Ofrece además otras posibilidades, se pueden hacer consultas que combinen información de varias tablas a la vez, hacer resúmenes, realizar cálculos con los datos... Existen varios tipos de consultas, algunos de los cuáles se estudiarán más adelante, están agrupados en los siguientes grupos:

• Consultas de selección: Son aquéllas que permiten seleccionar campos y registros de una o varias tablas. Permiten también calcular datos a partir de los que se encuentran almacenados en las tablas, bien de forma individual para cada registro (consultas con campos calculados) bien de forma global para un conjunto de registros (consultas de resumen).

• Consultas de acción: Son aquéllas que permiten realizar automáticamente,

operaciones concretas con los datos de una tabla. Dependiendo de la acción pueden ser de creación de tablas, de actualización de datos, de eliminación, etc.

Cuando se ejecuta una consulta de selección (que son la base de todas las demás), Access genera una hoja de respuestas dinámica por defecto, salvo que la consulta constituya el origen de datos de un formulario o un informe, en cuyo caso, la respuesta de la consulta pasará a ser visualizada en un formulario o en un informe. Dicha hoja se crea a partir de los datos existentes en la tabla o tablas en el momento en que se ejecuta la consulta. Ahora bien, hay que advertir que aunque con la hoja de respuesta puede realizarse el mismo tipo de trabajo que con una tabla en vista hoja de datos, no forma parte de la base de datos, sólo se produce cuando se ejecuta la consulta. Este apartado se va a centrar más en las consultas de acción, tales como borrados, creación de tablas, etc. 2.1.- Consultas de acción. Una consulta de acción es una consulta que realiza cambios a muchos registros en una sola operación. Existen cuatro tipos de consultas de acción: de eliminación, de actualización, de datos anexados y de creación de tabla. 2.1.1..- Consulta de eliminación Elimina un grupo de registros de una o más tablas. Por ejemplo, puede utilizar una consulta de eliminación para quitar productos que ya no se fabrican o de los que no hay pedidos. Con las consultas de eliminación, siempre se eliminan registros enteros, no sólo campos seleccionados dentro de los registros.

Page 18: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

14

2.1.2.- Consulta de actualización Realiza cambios globales a un grupo de registros de una o más tablas. Por ejemplo, puede aumentar los precios un 10 por ciento para todos los productos lácteos o bien puede aumentar los sueldos un 5 por ciento al personal de una determinada categoría. Con una consulta de actualización, puede cambiar los datos de las tablas existentes. 2.1.3.- Consulta de datos anexados Agrega un grupo de registros de una o más tablas al final de una o más tablas. Por ejemplo, supongamos que consigue nuevos clientes y una base de datos que contiene una tabla con información acerca de estos clientes. Para evitar tener que escribir toda esta información, desea anexarla a la tabla Clientes. Las consultas de datos anexados también son útiles para:

• Anexar campos basados en criterios. Por ejemplo, es posible que desee anexar sólo los nombres y las direcciones de los clientes con pedidos de un tamaño considerable.

• Anexar registros cuando algunos de los campos de una tabla no existe en

la otra tabla. Por ejemplo, en la base de datos de ejemplo Neptuno, la tabla Clientes tiene 11 campos. Supongamos que desea anexar registros de otra tabla que tienen campos que coinciden con 9 de los 11 campos de la tabla Clientes. Una consulta de datos anexados anexará los datos de los campos coincidentes e ignorará el resto.

2.1.4.- Consulta de creación de tabla Crea una tabla nueva a partir de todos o de parte de los datos de una o más tablas. Las consultas de creación de tabla son útiles para:

• Crear una tabla para exportar a otras bases de datos de Microsoft Access. Por ejemplo, es posible que desee crear una tabla que contenga varios campos de la tabla Empleados y, a continuación, exportar esa tabla a una base de datos utilizada por el departamento de personal.

• Crear páginas de acceso a datos que muestren datos de un determinado

momento en el tiempo. Por ejemplo, supongamos que el 15-May-96 desea mostrar una página de acceso a datos que muestre los totales de ventas del primer trimestre según los datos contenidos en las tablas base a las 9:00 A.M. del día 1-Abr-96. Una página de acceso a datos basada en una consulta o una instrucción SQL extrae los datos más actualizados de las tablas (los datos correspondientes al 15-May-96), en lugar de los registros de una fecha y hora específicas. Para conservar los datos tal como estaban exactamente a las 9:00 A.M. del 1-Abr-96, cree una consulta de creación de tabla en ese momento del tiempo para recuperar los registros necesarios y almacenarlos en una tabla nueva. A continuación, utilice esta tabla, en lugar de una consulta, como base de las páginas de acceso a datos.

• Realizar una copia de seguridad de una tabla.

• Crear una tabla histórica que contenga registros antiguos. Por ejemplo,

puede crear una tabla que almacene todos los pedidos antiguos antes de eliminarlos de la tabla Pedidos actual.

Page 19: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

15

• Mejorar el rendimiento de las páginas de acceso a datos, formularios e

informes basados en consultas de tablas múltiples o en instrucciones SQL. Por ejemplo, supongamos que desea imprimir varios informes basados en una consulta de cinco tablas que incluya totales. Puede acelerar el proceso creando primero una consulta de creación de tabla que recupere los registros que necesite y los almacene en una tabla. A continuación puede basar los informes en esta tabla o especificar la tabla en una instrucción SQL como el origen de los registros para un formulario, informe o página de acceso a datos, de modo que no tenga que volver a ejecutar la consulta para cada informe. No obstante, los datos de la tabla quedan congelados en el momento en que se ejecuta la consulta de creación de tabla.

2.1.5.- Procedimiento para crear una consulta de acción. A continuación, se va a mostrar un procedimiento para la creación de dos tipos diferentes de consultas de acción, una de actualización de información, y otra de eliminación de registros. 2.1.5.1.- Consulta de acción para actualizar registros. Como ejemplo, se actualizará el número de créditos de la tabla Asignaturas en 3. Dicha tabla se encuentra en la base de datos ejercicio. En primer lugar, se construirá una consulta de selección que incluya todos los registros y campos de tabla que se deseen actualizar, si es necesario se le incorporarán las correspondientes condiciones y parámetros. En segundo lugar, se comprueba que la consulta selecciona correctamente la información por medio del botón de la barra de herramientas. Una vez comprobada (y guardada), se volverá a vista Diseño por medio del botón . En tercer lugar, se utilizará la opción Consulta de actualización del menú Consulta. Esta opción convierte la consulta de selección en una consulta de actualización, añadiendo a la cuadrícula QBE, una nueva línea llamada Actualizar a:. En el cruce de la columna del campo o de los campos (se puede realizar para más de un campo a la vez) a actualizar y dicha fila, se escribirá la fórmula que actualizará el campo de forma automática. Se puede utilizar el generador de expresiones.

Una vez construida, se ejecuta la consulta, obteniendo como resultado la actualización de la información. Se puede parar en cualquier momento la ejecución de la consulta, pulsando la combinación de teclas ctrl.-enter. 2.1.5.2.- Consulta de acción para eliminar registros. Como ejemplo, se eliminarán los alumnos matriculados en el año 1999 de la tabla alumnos. Dicha tabla se encuentra en la base de datos ejercicio.

Page 20: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

16

En primer lugar, se construirá una consulta de selección que incluya todos los registros y campos de tabla que se deseen eliminar, si es necesario se le incorporarán las correspondientes condiciones y parámetros. En segundo lugar, se comprueba que la consulta selecciona correctamente la información por medio del botón de la barra de herramientas. Una vez comprobada (y guardada), se volverá a vista Diseño por medio del botón . En tercer lugar, se utilizará la opción Consulta de eliminación del menú Consulta. Esta opción convierte la consulta de selección en una consulta de eliminación, añadiendo a la cuadrícula QBE, una nueva línea llamada Eliminar:. En el cruce de la columna del campo por el cual se filtra la información, aparecerá la condición que se haya fijado en la consulta de selección.

2.2.- Introducción al lenguaje SQL de Access. Hasta la década de los 80, las personas que preparaban las consultas e informes de una base de datos debían ser programadores. Al aparecer las bases de datos con lenguajes de consulta sencillos y estandarizados, semejantes al lenguaje natural, el proceso de consulta puede hacerlo cualquier usuario mediante un lenguaje escrito asequible. El lenguaje de gestión de bases de datos más conocido en la actualidad es el SQL, Structured Query Language, que es un lenguaje estándar internacional, comúnmente aceptado por los fabricantes de generadores de bases de datos. En el caso de Access, son las ordenes que aparecen detrás de las cuadrículas QBE. En concreto, Access utiliza la variante ANSI SQL2 o SQL92. El SQL permite:

• Definir una base de datos mediante tablas.. • Almacenar información en tablas.

• Seleccionar la información que sea necesaria de la base de datos.

• Realizar cambios en la información y estructura de los datos.

• Combinar y calcular datos para conseguir la información necesaria.

2.2.1.- Búsqueda de información en una tabla. La operación más común en una base de datos es pedir información, y se denomina búsqueda o Query. El comando Select es el encargado de realizar este trabajo y su forma más sencilla es la siguiente:

Page 21: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

17

Select <lista de campos> from <lista de tablas> [where <condición>] [group by <especificación de agrupación>] [having by <especificación de selección de grupo>] [order by <especificación de ordenación>]; Además Access añade cuatro extensiones significativas:

• TRANSFORM: que permite elaborar consultas de referencias cruzadas.

• IN: que permite especificar una conexión con una base de datos a distancia o especificar nombres de columna en una consulta de tabla de referencias cruzadas.

• DISTINCTROW: para limitar la lista de registros devueltos nada más que a los

valores diferentes.

• WITH OWNERACCESS OPTION: que permite diseñar consultas que pueden ser ejecutadas por usuarios que estén autorizados a utilizar dichas consultas pero que no tengan derechos sobre las tablas a las que hace referencia en la consulta.

A continuación, se muestran algunos ejemplos de instrucciones Select de las consultas de la base de datos ejercicios: Consulta que recupera todos los datos de la tabla Asignaturas: SELECT asignaturas.ID_asignatura, asignaturas.Nombre, asignaturas.creditos, asignaturas.Tipo_asignatura FROM asignaturas; Recuperar información de alumnos matriculados durante el mes de septiembre de 2002. SELECT alumnos.NIP, alumnos.Nombre, alumnos.Apellido1, alumnos.Apellido2, alumnos.Fecha_matricula FROM alumnos WHERE (((alumnos.Fecha_matricula) Between #9/1/2002# And #9/30/2002#)); Consulta con cálculos de créditos realizados por estudiantes. SELECT DISTINCTROW HistorialDeAlumnos.ID_alumno, alumnos.Nombre, alumnos.Apellido1, alumnos.Apellido2, asignaturas.Nombre, First(HistorialDeAlumnos.ID_asignatura) AS [Primero De ID_asignatura], Sum(asignaturas.creditos) AS [Suma De creditos], Count(*) AS [Cuenta De HistorialDeAlumnos] FROM asignaturas INNER JOIN (alumnos INNER JOIN HistorialDeAlumnos ON alumnos.NIP = HistorialDeAlumnos.ID_alumno) ON asignaturas.ID_asignatura = HistorialDeAlumnos.ID_asignatura GROUP BY HistorialDeAlumnos.ID_alumno, alumnos.Nombre, alumnos.Apellido1, alumnos.Apellido2, asignaturas.Nombre;

Page 22: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

18

2.2.2.- Acciones en una tabla. Como se ha visto antes, el comando SELECT permite ver un grupo de registros de una o más tablas. Con SQL también pueden añadirse o modificarse líneas:

• UPDATE: Cambia valores almacenados en tablas.

• INSERT: Añade líneas a una tabla.

• DELETE: Borra líneas a una tabla. 2.2.2.1.- Sentencia DELETE. La sentencia SQL DELETE elimina una o más filas de una tabla. Su forma más sencilla es: DELETE [<nombre de tabla>] from <nombre de tabla> [where <condición>]; Algunos ejemplos son: Borrar toda la información de la tabla asignaturas. delete from asignaturas; Borrar información de alumnos entre determinadas fechas. DELETE alumnos.NIP, alumnos.Nombre, alumnos.Apellido1, alumnos.Apellido2, alumnos.Fecha_matricula FROM alumnos WHERE (((alumnos.Fecha_matricula) Between #1/1/1999# And #12/31/1999#)); 2.2.2.2.- Sentencia INSERT. Inserta una o más filas nuevas en la tabla especificada. Si se utiliza una sentencia VALUES solamente será insertada una fila, si se utiliza una consulta, se insertarán tantas filas como devuelva la consulta. INSERT INTO nombre de tabla [(lista de campos)] [IN <especificación del origen>] VALUES (lista de valores) o CONSULTA DE SELECCIÓN; Hay que avisar que los valores de la cláusula Values tienen que ser compatibles con los campos donde se van a guardar y que si se especifica una lista de campos, debe coincidir en cantidad de valores y tipos con la lista de campos. Por ejemplo: INSERT INTO mitabla (ColumnaA,ColumnaB) VALUES (123,”Jane Doe”);

Page 23: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

19

2.2.2.3.- Sentencia UPDATE. Actualiza la información de las columnas de la tabla que se indique y para la condición que se indique en la cláusula WHERE; si no se indica condición, afectará a toda la tabla. Su forma general más sencilla es: UPDATE nombre de tabla SET columna=expresión [WHERE <condición>]; Como ejemplo, se cita la consulta de actualización construida anteriormente: UPDATE asignaturas SET asignaturas.creditos = [creditos]+3; 2.2.3.- Creación de tablas. Es una sentencia para crear una tabla a partir de los valores seleccionados de una o más tablas. Son útiles para crear copias de seguridad o tablas de resumen al final de períodos: SELECT campo1[, campo2[, ...]] INTO nuevaTabla [IN baseDatosExterna] FROM origen; Veamos una consulta que crea una tabla con las asignaturas cursadas por un alumno determinado: SELECT HistorialDeAlumnos.ID_alumno, alumnos.Nombre, alumnos.Apellido1, alumnos.Apellido2, HistorialDeAlumnos.ID_asignatura, asignaturas.Nombre INTO asignaturaAlumno000001 FROM asignaturas INNER JOIN (alumnos INNER JOIN HistorialDeAlumnos ON alumnos.NIP = HistorialDeAlumnos.ID_alumno) ON asignaturas.ID_asignatura = HistorialDeAlumnos.ID_asignatura GROUP BY HistorialDeAlumnos.ID_alumno, alumnos.Nombre, alumnos.Apellido1, alumnos.Apellido2, HistorialDeAlumnos.ID_asignatura, asignaturas.Nombre HAVING (((HistorialDeAlumnos.ID_alumno)=[Introduzca NIP del alumno]));

Page 24: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

20

3.- Formularios. Aunque en capítulos anteriores, se insistía en la creación de formularios mediante el asistente, se pueden crear perfectamente a “mano” debido a que Access facilita un editor de formularios. Este puede ser el caso, cuando se necesite crear un menú principal de acceso a los diferentes elementos de la base de datos o cuando se tenga que realizar un programa basado en Visual Basic for Applications. Los formularios son la parte de la aplicación que va a estar a disposición de los usuarios, constituyendo el núcleo de la interfaz aplicación-usuario. Por eso es necesario tener un especial cuidado en su diseño y construcción. Los usuarios que manejen los formularios deben encontrarlos sencillos y eficientes. Aunque es posible utilizar las hojas de datos de tablas y consultas para realizar muchas de las funciones de los formularios, éstos tienen la ventaja de presentar la información de forma clara y ordenada. Un formulario convenientemente diseñado acelera la introducción de datos y minimiza los errores de los usuarios. Los formularios se construyen partiendo de un conjunto de elementos de diseño independientes denominados controles u objetos de tipo control. Los controles son los componentes habituales de las ventanas y diálogos de Access y otras aplicaciones Windows. Los cuadros de edición se utilizan para introducir y editar datos, las etiquetas contienen los nombres de los campos y los marcos muestran gráficos. Un formulario consiste en una ventana en la que se sitúan varios tipos de controles: los que muestran los datos de las tablas y los que muestran datos estáticos como etiquetas o logotipos, los que permiten generar acciones, tales como botones que abren otros formularios o imprimen informes, etc. Los formularios Access son versátiles: permiten realizar tareas que no son posibles en las hojas de datos Tabla o Consulta. Es posible validar las entradas en base a información contenida en otras tablas distintas a la editada, recuperar información de otras tablas directamente y emplearla en el formulario, se pueden crear formularios que incorporen otros formularios (subformularios). Además, desde un formulario, es posible realizar cálculos y mostrar totales o activar distintas funcionalidades de la aplicación. 3.1.- Eventos y propiedades. Antes de hablar de formularios y controles, conviene hablar de dos fundamentos que aparecen en la edición de formularios. Son los eventos y las propiedades. Un evento, por lo general, es una acción determinada que se produce en, o con, un objeto particular. Microsoft Access puede responder a una variedad de eventos: clics del ratón, cambios en los datos, formularios que se abren y muchos otros. Los eventos son normalmente el resultado de una acción del usuario. Las propiedades se pueden considerar como atributos de un objeto, desde que una etiqueta este en negrita hasta la altura de un botón de comando. Es decir, cualquier modificador de un objeto o control. En Access a ambos se puede acceder en Vista Diseño a través del menú del ratón o en la barra de herramientas, botón .

Page 25: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

21

3.2.- Repaso a los tipos de formularios. Access dispone de los tipos básicos de formularios: Tipo de formulario Características En columna Cada campo aparecerá en una única línea del formulario y

mostrará nada más que un registro. Tabular Cada campo constituirá una columna y cada registro una fila; de

tal forma que el formulario mostrará más de un registro a la vez.Hoja de datos El aspecto es muy parecido a la vista hoja de datos de cualquier

tabla. Gráfico Permite resumir la información contenida en la tabla en un

gráfico de tipo estadístico. Tablas dinámicas Permiten resumir los datos de forma parecida a una consulta de

referencias cruzadas. Continuo Este tipo tanto como el siguiente, se emplean cuando hay

mucha información que mostrar y se necesita más de una hoja. En varias hojas Formulario/ subformulario

Este tipo de formulario implica que hay un formulario principal que contiene a otro subformulario. Un ejemplo típico, es una pantalla donde se realizan facturas, hay una parte dedicada al cliente y otra debajo dedicada a recoger las diferentes líneas de artículos.

Emergente Son formularios que permanecen “flotando” en el entorno de trabajo independientemente del tipo de ventanas que haya.

Modal Son formularios que se colocan encima del resto de las ventanas y que hasta que no se obtiene una respuesta del usuario, no se retiran. Normalmente, suelen ser carteles de aviso.

En cualquier caso, los cinco últimos tipos de formularios, suelen utilizarse mucho más cuando se crea una aplicación en Access, que en usos cotidianos. 3.3.- Creación de un formulario por medio del editor. En primer lugar, habría que abrir la base de datos que va a contener el formulario que se va a crear. Si ya está abierta, hay que pulsar el botón Formulario para mostrar la ventana de formularios. Una vez llegados a esta ventana, se puede optar por pulsar el botón Nuevo o la entrada de la ventana llamada Crear formulario en vista Diseño. Si se opta por Crear formulario en vista Diseño, automáticamente se pasa al editor de formularios. Si se abre con el botón Nuevo, mostrará el cuadro de diálogo para seleccionar el modo de creación. Donde además, se puede optar entre añadir al formulario una tabla o consulta, o crearlo vacío. En cualquiera de los dos casos, el editor de Access tiene una apariencia parecida a esta:

Page 26: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

22

En este cuadro, mediante el uso del ratón, se podrá ir incorporando elementos al formulario. 3.3.1.- Secciones del formulario. Normalmente, un formulario tendrá las siguientes secciones:

• Detalle: Es la zona donde se muestra los registros y se sitúan la mayor parte de los controles del formulario.

• Encabezado de formulario: Muestra información que permanece igual en

todos los registros, por ejemplo, un título.

• Pie de formulario: Muestra información que permanece igual en todos los registros, por ejemplo, un título o una barra de botones.

• Encabezado de página: Muestra información que permanece igual en todos

los registros, por ejemplo, un grupo de encabezados de columnas. Sólo aparecerá cuando se imprima el formulario.

• Pie de página: Muestra información que permanece igual en todos los

registros, por ejemplo, una numeración o un total. Sólo aparecerá cuando se imprima el formulario.

Normalmente, sólo aparecerá la sección de detalle, pudiéndose mostrar las restantes secciones mostrarse a través del menú Ver, opción Encabezado o pie de formulario u opción Encabezado o pie de página.

PropiedadesControles

Lista de campos

Formulario

Page 27: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

23

3.3.2.- Controles más importantes. Esta lista muestra los controles que incorpora Access por defecto: Control Descripción

Seleccionar objetos. Es la herramienta predeterminada y se utiliza para seleccionar objetos, cambiar el tamaño y editar los controles existentes.

Asistente. Se pulsa este botón para activar el asistente para controles. Cuando está presionado, aparece un asistente que ayuda a introducir las propiedades de alguno de los controles siguientes: grupo de opción, cuadro combinado, cuadro de lista o botón de comando.

Etiqueta: Se utiliza para crear controles de etiqueta que contengan un texto fijo en el formulario. Por omisión, la mayor parte de los controles llevan incorporado una etiqueta asociada a los mismos.

Cuadro de texto: Se emplea para crear cuadros de texto para la visualización de campos de datos (textos, fechas, etc.) e introducción de datos.

Grupo de opciones: Se usa para agrupar botones de alternar, casillas de verificación o botones de radio. De tal forma, que uno sólo este seleccionado. Permite asignar un valor numérico independiente para control agrupado y así recuperar su valor.

Botón de alternar: Se encamina a crear un control que tenga un valor verdadero/falso. Si se pulsa un botón, su valor pasa a ser –1 y aparecerá pulsado. Cuando se pulse de nuevo el botón, su valor pasará a ser 0 (falso).

Botón de opción: También llamado botón de radio, se destina a crear un control que tenga un valor verdadero/falso. Si se pulsa un botón, su valor pasa a ser –1 y aparecerá pulsado. Cuando se pulse de nuevo el botón, su valor pasará a ser 0 (falso).

Casilla de verificación: Se encamina a crear un control que tenga un valor verdadero/falso. Si se pulsa un botón, su valor pasa a ser –1 y aparecerá pulsado. Cuando se pulse de nuevo el botón, su valor pasará a ser 0 (falso).

Cuadro combinado: Crea un control que contiene una lista de posibles valores en el desplegable y un cuadro de texto que puede ser editado. La lista puede proceder de texto que introduzca el usuario o de una tabla o consulta.

Cuadro de lista: Crea un control que contiene una lista de posibles valores en el cuadro. La lista puede proceder de texto que introduzca el usuario o de una tabla o consulta. Permanecen siempre abiertos y con el valor actual seleccionado.

Botón de comando: Se emplea para crear un control que arranque otros procesos (guardar, abrir una macro, salir de la aplicación, etc.)

Page 28: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

24

Control Descripción Imagen: Coloca un control para añadir una imagen estática en su

formulario que no puede ser editada.

Marco de objeto independiente: Se utiliza esta herramienta para añadir un objeto procedente de otra aplicación que soporte la Incrustación y vinculación de objetos. El objeto pasará a formar parte del formulario, no de los datos de la tabla o consulta. Estos objetos puede ser desde imágenes hasta documentos Excel...

Marco de objeto dependiente: Se emplea esta herramienta para hacer disponible en el formulario un objeto ActiveX (objeto OLE) de los datos subyacentes. Por ejemplo, si el objeto es un sonido creado por la Grabadora de sonido, aparecerá un icono de micrófono en el formulario.

Salto de página: Añade un salto de página entre las páginas de un formulario de varias páginas.

Ficha: Crea una estructura en forma de fichas que contienen controles. Tiene un funcionamiento igual a cualquier estructura de propiedades o control de Windows.

Subformulario/Subinforme: Se emplea esta herramienta para incrustar otro formulario en el formulario actual. Suele utilizarse para mostrar datos procedentes de una tabla o consulta relacionada con los datos del formulario principal.

Línea: Se emplea para añadir líneas al formulario.

Rectángulo: Añade rectángulos vacíos o con color al formulario y mejorar su apariencia.

Más controles: Se pulsa este botón para visualizar en una ventana todos los controles que han sido instalados en el sistema. Dos advertencias, el número de ellos dependerá de los programas instalados en el sistema; y no todos esos controles ActiveX pueden funcionar correctamente con Access.

3.3.- Activación de un formulario al arrancar. Esta posibilidad se suele utilizar para hacer que se arranque en primer lugar un determinado formulario que dará paso al resto de los componentes de la aplicación. Para ello, en primer lugar, se debe crear mediante la vista Diseño, el formulario que constituirá este panel principal. Una vez terminado y probado, se debe seguir el siguiente procedimiento: Con la ventana de base de datos abierta, hay que ir al menú Herramientas, opción Inicio. Al activarla, mostrará el cuadro de diálogo de la página siguiente:

Page 29: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

25

En el apartado Mostrar formulario/página, se seleccionará el formulario que se mostrará en primer lugar. Bastará luego con pulsar el botón Aceptar para que se incorpore esta característica a la base de datos y cada vez que se abra, aparezca en primer lugar el formulario de panel de control.

Page 30: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

26

4.- Informes. Los informes son objetos de Access dedicados a imprimir de forma más completa y flexible la información guardada en las tablas, permitiendo al usuario decidir la forma en que presenta dicha información. Aunque los asistentes generan de forma fácil informes que pueden servir en la mayor parte de las ocasiones, Access incorpora un editor de informes que va a permitir modificar la apariencia de los informes. 4.1.- Partes de un informe. Las secciones de un informe son las siguientes:

• Encabezado del informe: Aparece una vez en todo el informe, justo antes del encabezado de página de la primera página. Se emplea para logotipos e informaciones varias.

• Encabezado de página: Aparece en la parte superior de cada página, se

suele emplear para datos que se repiten en todas las páginas (título, encabezados de columna, etc.)

• Detalle: Contiene el cuerpo principal del informe. Se repite para cada registro

que se mostrará en el informe.

• Pie de página: Aparece al final de cada página del informe y se emplea para mostrar, por ejemplo, el número de página.

• Pie del informe: Se muestra al final del informe y se suele emplear para

mostrar totales de informe, por ejemplo.

• Encabezado de grupo: Aparece al inicio de cada grupo de registros y se utiliza para mostrar información que hace referencia a todo el grupo de registros.

• Pie de grupo: Aparece al inicio de cada grupo de registros y se utiliza para

mostrar elementos (totales, por ejemplo) que hace referencia a todo el grupo de registros.

Normalmente, sólo aparecerá la sección de detalle, pudiéndose mostrar las restantes secciones mostrarse a través del menú Ver, opción Encabezado o pie de informe u opción Encabezado o pie de página. Las secciones que hacen referencia a grupo, aparecerán al crear por medio del asistente un informe agrupado o al utilizar el botón de Ordenar y agrupar de la barra de herramientas . O bien, utilizar la misma opción del menú Ver. 4.2.- Controles. Los controles disponibles para los informes son los mismos que se emplean para los formularios, junto a una serie de funciones para poner fechas, números de páginas, totalizar, etc. En este caso, siempre es mejor utilizar los diferentes asistentes y generadores, sencillamente porque allí se encuentran detalladas todas estas funciones.

Page 31: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

27

4.3.- Valores calculados. Gran parte de la potencia de estos informes, proviene de la posibilidad de realizar cálculos, tanto sencillos como complejos sobre los datos de la tabla o consulta, sobre la cual se ha realizado el informe. A continuación, se muestran algunos ejemplos. 4.3.1.- Insertar fecha de impresión y número de página. Esta es una de las informaciones más repetidas en cualquier listado. Access proporciona dos funciones incorporadas ahora() que añade la fecha y hora actual al informe. Para insertarla, se crea un campo de texto independiente y se establece su propiedad Origen del control como =ahora(). Para insertar el número de página, se utiliza una propiedad interna1 del informe llamada Página. Contiene el número de página actual que junto a otra propiedad interna Páginas que guarda el total de páginas del informe. Creando como en el caso anterior, un campo de texto independiente y escribiendo en su propiedad Origen del control el texto ="Página " & [Página] & " de " & [Páginas], obtendremos dicha numeración. 4.3.2.- Cálculo sobre la línea de detalle. Se basa fundamentalmente en el uso de campos independientes y de su propiedad Origen de datos, como ha quedado mostrado en el caso anterior; y en el generador de expresiones. Vamos a suponer que tenemos un informe que calcula el precio con IVA de una línea de informe con esta estructura: ARTICULO CANTIDAD IMPORTE 16% TOTAL LÍNEA habría que crear en la propiedad Origen del dato del campo total línea, una expresión parecida a esta =([cantidad]*[importe])++([cantidad]*[importe])*(16/100); lo que nos daría el total de la línea con IVA. 4.3.3.- Crear un total general. Normalmente, se creará en la sección Pie del informe para crear totales generales para cualquier valor a través del conjunto de registros completos. Para ello, normalmente se utilizará la función suma. Para ello, se añade en el pie del informe un campo independiente cuya propiedad Origen de datos será =Suma([creditos]). 4.4.- Subinformes. Como quedo explicado, la combinación informe/subinforme mostrará en una única página, por ejemplo, los datos de una relación, asignando al informe el dato “maestro” y en el subinforme, los datos relacionados.

1 Es una propiedad que no es accesible al usuario y mantenida por el programa.

Page 32: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

28

La forma más sencilla de ver esto, sería un informe en forma de albarán o factura. El informe principal, reunirá los datos del cliente comprador (datos del cliente, número de factura o albarán, fecha, etc.) y el subinforme recogerá las líneas de artículos que componen el albarán o la factura. Evidentemente, tanto el “cuerpo principal” del albarán o factura, tendrá relaciones con las líneas de factura. El primer paso, pues, en cualquier caso, revisar que las consultas estén bien preparadas (si no están se realizan) y sobre todo las relaciones entre las tablas, deben están bien hechas. Se abre el informe que se desea utilizar como informe principal en la vista Diseño. Compruebe que la herramienta Asistentes para controles en el cuadro de herramientas está presionada. En ese momento, se pulsa el botón Subinforme y se arrastra al detalle del formulario principal, se coloca y redimensiona. En ese momento, se arranca el asistente de subinforme:

En este cuadro, se puede elegir entre utilizar para generar el subinforme una tabla o consulta ya creada; y un informe ya creado. El ejemplo se realiza utilizando una consulta ya existente. Como previamente, se ha creado una consulta que recoge sólo las líneas de la factura, es la que se elige.

Page 33: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

29

Al pulsar el botón Siguiente >, aparece un cuadro de diálogo donde se elegirá la relación entre el informe principal y el informe, para de esa manera, filtrar sólo la información correspondiente al registro visualizado en el detalle:

Por último, al pulsar el botón Siguiente > aparece el cuadro para dar nombre al informe. Hay que observar que Access, establece ya todas las relaciones, selecciones y en general todo aquello que necesita para preparar el subinforme, tal como la propiedad Origen del registro del subinforme. Para el caso mostrado, SELECT [linfac Consulta].[nlinea], [linfac Consulta].[numfac], [linfac Consulta].[idprod], [linfac Consulta].[NombreProducto], [linfac Consulta].[PrecioUnidad], [linfac Consulta].[cantidad] FROM [linfac Consulta];

Page 34: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

30

5. INTRODUCCIÓN A LAS MACROS. En general, una macro engloba un grupo de acciones que al ejecutarse, Access ejecuta de forma automática. Su gran ventaja radica en que permite automatizar aquellas tareas que se repitan de forma frecuente sin necesidad de tener ideas de programación en Visual Basic for Applications. También se pueden utilizar para incorporar acciones a controles de formularios. El caso más normal, es ejecutar una macro al pulsar un botón de comando. 5.1.- Crear una macro. La creación de una macro se hace con una herramienta especial. Para llegar a ella, basta con hacer clic en el botón Macros de la ventana de base de datos correspondiente. Una vez se está situada en esa ventana, se pulsa el botón Nuevo

situado encima de la ventana. En ese momento, aparece una cuadrícula parecida a la que muestra la figura:

En esta ventana, existen dos zonas fundamentales:

• Columna Acción: Donde se selecciona la acción que se añadirá a la macro.

• Argumentos de acción: Donde se indicará sobre que objeto se realizará la acción. En el ejemplo de la figura, allí se indicará el nombre del formulario que se abrirá, la forma de presentar la ventana (normal, oculto, etc.) o incluso la condición que se aplicará para filtrar la información que se muestre.

5.2.- Algunas acciones de macros importantes. Las macros que ofrece Access, son muy numerosas. En la tabla de la página siguiente se muestra un resumen de las más importantes y utilizadas.

Page 35: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

31

Macro Función Abrir... Abre la ventana correspondiente al objeto que se indique en

las propiedades.

AgregarMenú Agrega un menú a una nueva barra de menú personalizada.

AplicarFiltro Aplica una condición a una tabla, formulario o informe.

Bip Emite un aviso sonoro.

BuscarRegistro Localiza un registro en la tabla activa que cumpla la condición especificada.

BuscarSiguiente Localiza el siguiente registro que cumpla la condición especificada.

Cerrar Cierra la ventana del objeto que se indique.

CopiarObjeto Copia el objeto indicado a otra base de datos o a la misma con diferente nombre.

CuadroMsj Muestra un cuadro de diálogo con el mensaje que se le indique.

DetenerMacro Detiene la ejecución de la macro.

Eco Oculta o muestra los mensajes de ejecución de cada una de las acciones de una macro.

EjecutarAplicación Arranca la aplicación que se indique.

EjecutarComando Ejecuta el comando de Access que se especifique.

EjecutarMacro Ejecuta una macro.

EliminarObjeto Borra el objeto que este activo. En el caso de que no haya ninguno activo, el que este seleccionado.

EstablecerValor Establece el valor para un campo, propiedad o control.

Guardar Guarda las modificaciones efectuadas en el objeto actual o en el seleccionado.

Imprimir Imprime el contenido del objeto activo, tabla, informe, etc...

IrA... Sitúa el cursor en el objeto que se indique.

Maximizar Maximiza la ventana activa.

Minimizar Minimiza la ventana activa.

MostrarTodosRegistros Cancela el filtro o condición que estuviera activo en ese momento.

Page 36: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

32

Macro Función RelojDeArena Muestra el indicador del ratón en forma de reloj de arena.

RepintarObjeto Actualiza el contenido de los controles dependientes de la

ventana activa.

Restaurar Devuelve la ventana a su tamaño anterior.

Salir Sale de Access.

5.3.- Añadir condiciones a las macros. Al igual que cualquier lenguaje de programación, las macros de Access permiten ejecutar determinadas operaciones en función de si se cumplen o no determinadas condiciones. A este tipo de macros se les llama macros condicionales. Se crean añadiendo mediante el botón de la barra de herramientas , que hará aparecer una columna nueva en la rejilla de creación de macros donde se escribirá la condición que debe cumplirse para realizarse. Por ejemplo, una macro para actualizar los créditos de una determinada asignatura incrementándolos en 10, podría ser como muestra la imagen:

Nada más comentar que para ejecutar esta macro, hay que crear un formulario basado en la tabla Asignaturas y añadirle un botón de comando que arranque esta macro. 5.4.- Referenciar otros objetos. En ocasiones se necesitará hacer referencia a formularios, informes o controles para añadir flexibilidad a nuestras macros. Esto será especialmente necesario cuando se necesite enviar información de alguno de los elementos antes citados a la macro para que ésta se ejecute en función del valor que se introduzca. Por tanto, ahora se van a presentar las reglas para hacer referencia a todos estos elementos. Aunque también hay que advertir, que los asistentes pueden realizar buena parte de este trabajo.

Page 37: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

33

5.4.1.- Referencias a formularios e informes. Se hace necesario en primer lugar, indicar a Access la colección que contiene el objeto del cual se va a recuperar información. El nombre será Formularios en un caso e Informes en el otro. Después se colocará un signo de admiración de cierre después del nombre de la colección. Y a continuación, el nombre del objeto entre corchetes cuadrados. Por ejemplo, para hacer referencia a un formulario llamado ListaBoda será: Formularios![ListaBoda] En el caso de un informe: Informes![ListaBoda] 5.4.2.- Referencias a propiedades de formularios e informes. Para hacer referencia a una propiedad, hay que especificar exactamente el formulario (o informe) al que pertenece y separada por un punto la propiedad a la que se va a hacer referencia. Por ejemplo, la propiedad Barra de desplazamiento de un formulario llamado ListaBoda será: Formularios![ListaBoda].BarrasDeDesplazamiento AVISO: Aunque en las hojas de propiedades se vean los nombres separados por espacios en blanco, no se deben incluir. 5.4.3.- Referencias a controles de los formularios e informe (y sus propiedades). Para hacer referencia a un control de un formulario o de un informe, se debe seguir el nombre del formulario o informe con un signo de admiración de cierre y a continuación, el nombre del control encerrado entre corchetes. Por ejemplo, para hacer referencia a un control llamado estado del formulario ListaBoda será Formularios![ListaBoda]![estado] Para hacer referencia a una propiedad de un control, se seguirá exactamente el mismo tipo de nomenclatura estudiada hasta el control y añadir, separado por un punto, el nombre de la propiedad. Por ejemplo, la propiedad Visible del control estado del formulario ListaBoda será: Formularios![ListaBoda]![estado].Visible Por último, para mostrar el uso de esta nomenclatura, se va a modificar la macro anterior para que actualice el campo crédito de cualquier asignatura.

Page 38: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

34

En primer lugar, se construye un formulario basado en la tabla asignaturas, que nada más contendrá un campo de texto independiente para recoger el número de asignatura y un botón de comando para poner en marcha la macro. La macro en si misma, esta formada por dos acciones:

• AbrirFormulario: Que abre el formulario aplicando un filtro que devuelva nada más que la asignatura que se solicite:

[asignaturas]![ID_asignatura]=[Formularios]![actualizaAsignatura]![Asignatura]

• EstablecerValor: Que mediante la condición, deja ya actualizado el campo.

5.5.- Macro AutoExec. Puede utilizar una macro especial llamada AutoExec para ejecutar una acción o una serie de acciones cuando se abre la base de datos por primera vez. Cuando se abre la base de datos, Access busca una macro con este nombre y, si la encuentra, la ejecuta automáticamente. Puede servir, por ejemplo, para cargar un formulario y desde allí controlar la aplicación, o para realizar una operación en primer lugar (compactar la base de datos por ejemplo). Si no desea ejecutar la macro AutoExec cuando abre la base de datos, mantenga presionada la tecla MAY cuando se abra la base de datos.

Page 39: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

35

6.- ACCESS E INTERNET. En este capítulo se va a presentar la posibilidad de presentar la información de las base de datos en formato HTML para publicar en Web y a la creación de un nuevo objeto de base de datos, las páginas de acceso a datos. Este nuevo objeto permite acceder a los datos de una base de datos Access desde el navegador Internet Explorer 5 o posteriores. Los elementos necesarios para cada ordenador que consulte a través de estas herramientas la base de datos correspondiente son:

• Un sistema operativo Win32 (Windows9x, NT o 2000)

• Internet Explorer 5 o posteriores.

• Una copia de Office 2000 instalada en la máquina cliente, para utilizar los controles Active X necesarios.

• Acceso de compartición de archivos para la base de datos. Y sobre todo,

atención a la seguridad en la base de datos. A continuación, se detallan ambas posibilidades. 6.1.- Publicar información en formato HTML. Se pueden crear páginas web estáticas a partir de objetos comunes de la base de datos. 6.1.1.- Publicar un objeto en formato HTML. El procedimiento es muy sencillo:

• Abrir la base de datos de la cual se va a publicar la información y activar la ficha que interese, si va a ser una tabla, la ficha de Tabla; si es un Informe, la ficha Informe, etc.

• Seleccionar el objeto del cual se va a efectuar la operación • Seleccionar la opción Exportar del menú Archivo.

• Seleccionar la carpeta donde se va a guardar la hoja HTML y darle un nombre.

• En la lista desplegable Guardar como tipo, seleccionar la opción Documento

HTML.

• Pulsar el botón Guardar. Como puede verse, el procedimiento es común a cualquier objeto que genere una salida de datos por pantalla. La única variación, es la presencia que tendrá la página Web: En el caso de una tabla, es una tabla con títulos y su correspondiente rayado de tabla; si es un informe, texto plano tabulado (salvo que se le aplique una plantilla)...

Page 40: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

36

6.2.- Publicar información mediante una página de acceso a datos. Las páginas de acceso a datos son objetos de Access diseñados para ver y trabajar con los datos en ámbitos de red (Internet, Intranets, etc.). Al contrario que otros objetos de Access, estos se guardan fuera del fichero de bases de datos y se muestran en la ficha Páginas de la ventana de base de datos como un acceso directo. Existen varios tipos de páginas de acceso a datos, que se detallan a continuación: Tipo Función Entrada de datos Se utiliza para agregar registros , ver y modificar datos Datos agrupados No se puede alterar los datos, aunque si ver agrupaciones de

información de la base de datos. Análisis de datos Se emplea para ofrecer listas de tablas dinámicas, que permiten

organizar los datos para facilitar su análisis. Un aviso antes de proseguir, la apertura de la base de datos puede hacerse de forma local o en red, mediante la notación UNC \\servidor\ruta\base_de _datos. De esta forma, también se podrán realizar páginas para acceder a bases de datos en red. 6.2.1.- Crear una página de acceso a datos con el asistente. El proceso de crear una página de acceso a datos con el asistente es bastante sencillo (y recomendable). En primer lugar, se colocará la ventana en la visualización de páginas, y se pulsará el botón Nuevo con el icono que pondrá en marcha el asistente.

En este cuadro de diálogo, se elegirá el tipo de asistente que se arrancará, normalmente, bastará con hacer doble clic sobre el apartado Asistente para páginas. El siguiente paso es seleccionar la tabla sobre la cual se va a realizar la página de acceso a datos:

Page 41: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

37

En la lista desplegable Tablas/Consultas se elegirá la tabla (y sus campos) a partir de la cual se va a crear la página de acceso a datos. El siguiente paso, es crear un agrupamiento (si es necesario) y la ordenación. Por último, aparecerá el cuadro de finalización del asistente, que dará nombre a la página y apariencia, puesto que aparece el punto Modificar el diseño de la página que al activarlo, permitirá variar la apariencia que tendrá la página al mostrarla. 6.2.2.- Visualizar una página de acceso a datos con el navegador. Para visualizar la página con un navegador (recomendable Internet Explorer), habrá que utilizar la opción Abrir del menú Archivo del navegador. Al activarla, mostrará el cuadro siguiente:

Al indicarle la situación de la página y su nombre, Explorer mostrará una hoja HTML parecida a la que muestra la página siguiente.

Page 42: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

38

Donde aparece un pequeño formulario con la propiedad título que se haya indicado al crear la tabla y unos cuadros de texto donde se mostrará o guardará la información de la hoja. El elemento más importante es la barra de navegación que aparece debajo del formulario, en ella se encuentran los elementos siguiente: Botón Función

Ir al primer registro de la tabla.

Ir al registro anterior.

Mostrar tabla y registro actual.

Ir al registro siguiente.

Ir al último registro.

Añadir un registro en blanco al final.

Borrar un registro.

Guarda de forma explícita el registro con el que se esté trabajando. En el caso que no se haga así, el registro se guardará automáticamente cuando se desplace a un registro diferente, aplique o quite un filtro, o pase a otra página de acceso a datos.

Deshacer cambios en el registro. Hay que tener presente que es temporal, debido a En cuanto comience a modificar otro registro, aplique o elimine un filtro, o cambie a otra página de acceso a datos, no podrá deshacer los cambios realizados.

Estos dos botones de ocupan de ordenar de forma ascendente (a..z) o descendente el grupo de registros con el que se esté trabajando.

Page 43: Curso Avanzado Access

Informática Distribuida Seminario de Microsoft Access2000

39

Botón Función Aplicar un filtro para buscar información en el grupo de

registros. Para ello, hay que seleccionar el contenido de un campo, por el cual se quiera filtrar la información y pulsar el botón. Automáticamente, la página mostrará nada más que los registros que cumplan con el filtro.

Anula los filtros aplicados mediante el botón anterior. Sería el equivalente a seleccionar todo en otros gestores de bases de datos.

Muestra páginas de ayuda respecto a los controles de la barra de herramientas.