Curso Avanzado Access

Transcripción

Curso Avanzado Access
UNIVERSIDAD DE ZARAGOZA
CENTRO DE CÁLCULO
ÁREA DE INFORMÁTICA DISTRIBUIDA
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
Publicado por:
Fecha:
Manual imprescindible de Microsoft Access
Joaquín María Suárez-Julián Casas
Anaya Multimedia
Centro de Cálculo
Universidad de Zaragoza.
Enero, 2003
Í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.
I
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.
II
Informática Distribuida
Seminario de Microsoft Access2000
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.
2.
3.
4.
5.
Se activa esta opción.
Se pide al usuario que localice la base de datos a compactar.
Pide el nombre que tendrá la base de datos compactada.
Access realiza la compactación.
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ú.
1
Informática Distribuida
Seminario de Microsoft Access2000
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
2
Informática Distribuida
Seminario de Microsoft Access2000
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
Abrir/ejecutar
Abrir en modo
exclusivo
Se aplica a
Bases de datos, formularios,
informes y macros.
Bases de datos
Leer diseño
Tablas, consultas, formularios, informes, macros y
módulos.
Modificar diseño
Leer datos
Tablas, consultas, formularios, informes, macros y
módulos
Bases de datos, tablas,
consultas, formularios, informes, macros y módulos
Tablas y consultas
Actualizar datos
Tablas y consultas
Insertar datos
Tablas y consultas
Eliminar datos
Tablas y consultas
Administrar
Significado
Concede el permiso para abrir y
ejecutar el objeto.
Concede permiso para abrir una
base de datos y bloquear a otros
usuarios.
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.
Permite cambiar el diseño de un
objeto.
Concede autorización para asignar
permisos para el objeto, aunque no
se sea el propietario del objeto.
Permite al usuario o grupo leer los
datos de la tabla, implica el permiso
de leer diseño.
Permite al usuario actualizar los
datos de la tabla o consulta, implica
los permisos de leer datos y diseño.
Permite insertar datos en la tabla o
consulta implica los permisos de
leer datos y diseño.
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.
3
Informática Distribuida
Seminario de Microsoft Access2000
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-concedepermisos
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
4
Informática Distribuida
Seminario de Microsoft Access2000
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:
5
Informática Distribuida
Seminario de Microsoft Access2000
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.
6
Informática Distribuida
Seminario de Microsoft Access2000
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.
7
Informática Distribuida
Seminario de Microsoft Access2000
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
8
Informática Distribuida
Seminario de Microsoft Access2000
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 >.
9
Informática Distribuida
Seminario de Microsoft Access2000
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.
10
Informática Distribuida
Seminario de Microsoft Access2000
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:
11
Informática Distribuida
Seminario de Microsoft Access2000
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.
12
Informática Distribuida
Seminario de Microsoft Access2000
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.
13
Informática Distribuida
Seminario de Microsoft Access2000
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.
14
Informática Distribuida
•
Seminario de Microsoft Access2000
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.
15
Informática Distribuida
Seminario de Microsoft Access2000
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:
16
Informática Distribuida
Seminario de Microsoft Access2000
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#
#9/30/2002#));
And
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;
17
Informática Distribuida
Seminario de Microsoft Access2000
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#
#12/31/1999#));
And
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”);
18
Informática Distribuida
Seminario de Microsoft Access2000
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]));
19
Informática Distribuida
Seminario de Microsoft Access2000
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 .
20
Informática Distribuida
Seminario de Microsoft Access2000
3.2.- Repaso a los tipos de formularios.
Access dispone de los tipos básicos de formularios:
Tipo de formulario
En columna
Tabular
Hoja de datos
Gráfico
Tablas dinámicas
Continuo
En varias hojas
Formulario/
subformulario
Emergente
Modal
Características
Cada campo aparecerá en una única línea del formulario y
mostrará nada más que un registro.
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.
El aspecto es muy parecido a la vista hoja de datos de cualquier
tabla.
Permite resumir la información contenida en la tabla en un
gráfico de tipo estadístico.
Permiten resumir los datos de forma parecida a una consulta de
referencias cruzadas.
Este tipo tanto como el siguiente, se emplean cuando hay
mucha información que mostrar y se necesita más de una hoja.
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.
Son formularios que permanecen “flotando” en el entorno de
trabajo independientemente del tipo de ventanas que haya.
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:
21
Informática Distribuida
Seminario de Microsoft Access2000
Lista de campos
Formulario
Controles
Propiedades
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.
22
Informática Distribuida
Seminario de Microsoft Access2000
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.)
23
Informática Distribuida
Control
Seminario de Microsoft Access2000
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:
24
Informática Distribuida
Seminario de Microsoft Access2000
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.
25
Informática Distribuida
Seminario de Microsoft Access2000
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.
26
Informática Distribuida
Seminario de Microsoft Access2000
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.
27
Informática Distribuida
Seminario de Microsoft Access2000
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.
28
Informática Distribuida
Seminario de Microsoft Access2000
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];
29
Informática Distribuida
Seminario de Microsoft Access2000
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.
30
Informática Distribuida
Seminario de Microsoft Access2000
Macro
Abrir...
Función
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.
31
Informática Distribuida
Seminario de Microsoft Access2000
Macro
RelojDeArena
Función
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.
32
Informática Distribuida
Seminario de Microsoft Access2000
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.
33
Informática Distribuida
Seminario de Microsoft Access2000
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.
34
Informática Distribuida
Seminario de Microsoft Access2000
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)...
35
Informática Distribuida
Seminario de Microsoft Access2000
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:
36
Informática Distribuida
Seminario de Microsoft Access2000
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.
37
Informática Distribuida
Seminario de Microsoft Access2000
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.
38
Informática Distribuida
Botón
Seminario de Microsoft Access2000
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.
39

Documentos relacionados