. BASES DE DATOS (Microsoft Access) 1er d’administració i finances del cicle de Grau superior de formació professional específica ÍNDICE TEORÍA SOBRE BASES DE DATOS.....................................................................................................4 BASE DE DATOS RELACIONAL ...................................................................................................................4 SISTEMA DE GESTIÓN DE BASE DE DATOS .................................................................................................5 Propósito.............................................................................................................................................5 Objetivos .............................................................................................................................................5 SGBD libres ........................................................................................................................................6 SGBD comerciales..............................................................................................................................6 Información general ...........................................................................................................................7 BREVE GUÍA PARA LA CREACIÓN DE BASES DE DATOS ..........................................................8 INTRODUCCIÓN.........................................................................................................................................8 NUESTRA BASE DE DATOS ........................................................................................................................8 DIVISIÓN DE TABLAS ................................................................................................................................9 CAMPOS CÓDIGOS ..................................................................................................................................10 DEFINICIÓN DE RELACIONES ...................................................................................................................10 RELACIÓN DE UNO A VARIOS ..................................................................................................................11 BASES DE DATOS (MICROSOFT ACCESS) .....................................................................................12 ¿POR QUÉ USAR UNA BASE DE DATOS? ..................................................................................................13 ¿QUÉ ES UNA BASE DE DATOS?..............................................................................................................13 CONCEPTOS UTILIZADOS EN ACCESS ......................................................................................................14 INICIAR MICROSOFT ACCESS ..................................................................................................................15 SALIR DE MICROSOFT ACCESS ...............................................................................................................16 ABRIR UNA BASE DE DATOS EXISTENTE ..................................................................................................16 CREAR UNA BASE DE DATOS NUEVA .......................................................................................................16 TABLAS DE UNA BASE DE DATOS ...................................................................................................17 CREAR UNA TABLA .................................................................................................................................17 DEFINIR LOS CAMPOS .............................................................................................................................19 AÑADIR / ELIMINAR CAMPOS A LA TABLA...............................................................................................19 TIPOS DE DATOS DE UNA TABLA .............................................................................................................20 ESTABLECER LAS PROPIEDADES DE LOS CAMPOS ...................................................................................21 ESTABLECER LA CLAVE PRINCIPAL .........................................................................................................24 GUARDAR UNA TABLA ............................................................................................................................25 ESTABLECER VALORES PREDETERMINADOS ...........................................................................................25 USAR REGLAS DE VALIDACIÓN ...............................................................................................................26 ESTABLECER RELACIONES ENTRE TABLAS ..............................................................................................26 Bases de datos relacionales.........................................................................................................26 Tipos de relaciones........................................................................................................................27 CONSULTAS SOBRE UNA BASE DE DATOS. ..................................................................................28 CARACTERÍSTICAS DE LAS CONSULTAS ....................................................................................29 CREAR UNA CONSULTA DE SELECCIÓN......................................................................................30 UNIR TABLAS EN UNA CONSULTA................................................................................................32 SELECCIONAR CAMPOS ..................................................................................................................32 EXPRESIONES PARA FILTRAR REGISTROS .................................................................................34 INTRODUCIR EXPRESIONES ...........................................................................................................35 OPERADORES .....................................................................................................................................36 ORDENAR LOS REGISTROS .............................................................................................................39 CALCULAR TOTALES .......................................................................................................................40 MOSTRAR VALORES SUPERIORES ................................................................................................42 CONSULTAS DE TABLA DE REFERENCIAS CRUZADAS ...........................................................43 CONSULTAS DE CREACIÓN DE TABLA ........................................................................................45 CONSULTAS DE ACTUALIZACIÓN ................................................................................................46 CONSULTAS DE DATOS ANEXADOS.............................................................................................46 CONSULTAS DE ELIMINACIÓN ......................................................................................................47 CONSULTAS DE PARÁMETROS ......................................................................................................48 2 GENERAR INSTRUCCIONES SQL DESDE UNA CONSULTA ......................................................49 FORMULARIOS (MICROSOFT ACCESS).........................................................................................50 CARACTERÍSTICAS DE LOS FORMULARIOS ...............................................................................50 CÓMO CREAR FORMULARIOS........................................................................................................51 DISEÑAR UN FORMULARIO: VISTA DISEÑO ...............................................................................52 LOS CONTROLES DEL CUADRO DE HERRAMIENTAS ...............................................................55 MANEJO DE LOS CONTROLES ........................................................................................................56 CREAR UN FORMULARIO CON EL ASISTENTE PARA FORMULARIOS ..................................57 INFORMES (MICROSOFT ACCESS...................................................................................................59 CARACTERÍSTICAS DE LOS INFORMES........................................................................................59 CÓMO CREAR UN INFORME............................................................................................................60 ASISTENTE PARA INFORMES..........................................................................................................61 ASISTENTE PARA ETIQUETAS........................................................................................................62 MACROS (MICROSOFT ACCESS) .....................................................................................................63 ACLARACIONES PREVIAS ...............................................................................................................63 CARACTERÍSTICAS DE LAS MACROS...........................................................................................64 CÓMO CREAR MACROS ...................................................................................................................64 ARGUMENTOS DE ACCIÓN .............................................................................................................64 GUARDAR UNA MACRO...................................................................................................................65 EJECUTAR UNA MACRO ..................................................................................................................65 EJECUTAR UNA MACRO PASO A PASO.........................................................................................66 3 Teoría sobre bases de datos Una base o banco de datos es un conjunto de datos que pertenecen al mismo contexto almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. En la actualidad, y gracias al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos tienen formato electrónico, que ofrece un amplio rango de soluciones al problema de almacenar datos. En informática existen los sistemas gestores de bases de datos (SGBD), que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de los sistemas gestores de bases de datos se estudian en informática. Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas. También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental. Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se encuentran protegidos por las leyes de varios países. Por ejemplo en España, los datos personales se encuentran protegidos por la Ley Orgánica de Protección de Datos de Carácter Personal (LOPD). Base de datos relacional Artículo principal: Modelo relacional Éste es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es la teoría de las bases de datos relacionales creadas por Edgar Frank Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada relación como si fuese una tabla que está compuesta por registros (las filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla). En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de la base de datos. La información puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la información. El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estándar 4 implementado por los principales motores o sistemas de gestión de bases de datos relacionales. Sistema de gestión de base de datos (Redirigido desde Sistema Gestor de Bases de Datos) Saltar a navegación, búsqueda Los Sistemas de gestión de base de datos son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. En los textos que tratan este tema, o temas relacionados, se mencionan los términos SGBD y DBMS, siendo ambos equivalentes, y acrónimos, respectivamente, de Sistema Gestor de Bases de Datos y DataBase Management System, su expresión inglesa. Propósito El propósito general de los sistemas de gestión de base de datos es el de manejar de manera clara, sencilla y ordenada un conjunto de datos. Objetivos Existen distintos objetivos que deben cumplir los SGBD: • • • • • • Abstracción de la información. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. Así, se definen varios niveles de abstracción. Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella. Redundancia mínima. Un buen diseño de una base de datos logrará evitar la aparición de información repetida o redundante. De entrada, lo ideal es lograr una redundancia nula; no obstante, en algunos casos la complejidad de los cálculos hace necesaria la aparición de redundancias. Consistencia. En aquellos casos en los que no se ha logrado esta redundancia nula, será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea. Seguridad. La información almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta información se encuentra asegurada frente a usuarios malintencionados, que intenten leer información privilegiada; frente a ataques que deseen manipular o destruir la información; o simplemente ante las torpezas de algún usuario autorizado pero despistado. Normalmente, los SGBD disponen de un complejo sistema de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos. Integridad. Se trata de adoptar las medidas necesarias para garantizar la validez de los datos almacenados. Es decir, se trata de proteger los datos ante fallos de 5 • • • • hardware, datos introducidos por usuarios descuidados, o cualquier otra circunstancia capaz de corromper la información almacenada. Respaldo y recuperación. Los SGBD deben proporcionar una forma eficiente de realizar copias de seguridad de la información almacenada en ellos, y de restaurar a partir de estas copias los datos que se hayan podido perder. Control de la concurrencia. En la mayoría de entornos (excepto quizás el doméstico), lo más habitual es que sean muchas las personas que acceden a una base de datos, bien para recuperar información, bien para almacenarla. Y es también frecuente que dichos accesos se realicen de forma simultánea. Así pues, un SGBD debe controlar este acceso concurrente a la información, que podría derivar en inconsistencias. Tiempo de respuesta. Lógicamente, es deseable minimizar el tiempo que el SGBD tarda en darnos la información solicitada y en almacenar los cambios realizados. Ventajas: 1. 2. 3. 4. Facilidad de manejo de grandes volúmenes de información. Gran velocidad en muy poco tiempo. Independencia del tratamiento de información. Seguridad de la información (acceso a usuarios autorizados), protección de información, de modificaciones, inclusiones, consulta. 5. No hay duplicidad de información, comprobación de información en el momento de introducir la misma. 6. Integridad referencial el terminar los registros. • Inconvenientes: El costo de actualización del hardware y software son muy elevados. Costo (salario) del administrador de la base de datos es costoso. El mal diseño de esta puede originar problemas a futuro. Un mal adiestramiento a los usuarios puede originar problemas a futuro. Si no se encuentra un manual del sistema no se podrán hacer relaciones con facilidad. 6. Generan campos vacíos en exceso. 7. El mal diseño de seguridad genera problemas en esta. 1. 2. 3. 4. 5. SGBD libres • • • • • PostgreSQL (http://www.postgresql.org Postgresql) Licencia BSD MySQL Licencia Dual, depende el uso. Firebird basada en la versión 6 de Interbase, Initial Developer's PUBLIC LICENSE Version 1.0. SQLite (http://www.sqlite.org SQLite) Licencia Dominio Público Sybase ASE Express Edition para Linux (Edición gratuita para Linux) SGBD comerciales • • • dBase FileMaker Fox Pro 6 • • • • • • • • • • • • • IBM DB2 Universal Database (DB2 UDB) IBM Informix MAGIC Microsoft SQL Server Open Access Oracle Paradox PervasiveSQL Progress (DBMS) Sybase ASE Sybase ASA Sybase IQ WindowBase Información general Adaptive Server Anywhere Fecha de la primera Creador versión pública Sybase/iAnywhere 1992 Última Licencia de versión software estable 10.0 15.0 (Sep. 2005) 3.0 9 Propietario Sybase Inc 1987 ANTs Software IBM 1999 1982 Firebird Firebird Foundation 25 de julio de 2000 2 Informix Informix Software 1985 10.0 HSQLDB Hsqldb.Org 2001 1.8.0 1980 2006 CA-TOSL 1985 7.5.1 Propietario GPL con drivers LGPL GPL o propietario Adaptive Server Enterprise ANTs Data Server DB2 Ingres InterBase Berkeley University, Computer Associates Borland SapDB SAP AG ? 7.4 MaxDB MySQL AB, SAP AG ? 7.5 Microsoft SQL Server MySQL Oracle PostgreSQL SmallSQL SQLite Propietario Propietario Propietario Licencia Pública InterBase Propietario Licencia BSD 9.00.2047 (2005 Propietario SP1) Noviembre GPL o MySQL AB 5.0 de 1996 propietario 10g Oracle Corporation 1977 Propietario Release 2 PostgreSQL Global Junio de Licencia 8.2.3 Development Group 1989 BSD 16 de abril SmallSQL LGPL 0.12 de 2005 Dominio D. Richard Hipp 17 de agosto 3.1.3 Microsoft 1989 7 Creador de 2000 Fecha de la primera versión pública público Última Licencia de versión software estable Breve guía para la creación de bases de datos Introducción En este curso queremos ofrecer una guía de cómo debemos realizar el diseño de una base de datos, desde que tenemos la idea en nuestra cabeza hasta la creación completa en Access. En el momento de diseñar una base de datos lo más importante es tener muy clara la planificación. No podemos ponernos a diseñarla sobre el ordenador sin antes haber pensado bien su estructura, sus tablas, sus relaciones, que deseamos conseguir, resultados a obtener, etc... Un buen diseño de nuestra base de datos nos hará el trabajo mucho más fácil. Pudiendo hacer todo el trabajo en el ordenador de forma mucho más rápida y evitando los posibles fallos ya que después intentarlos solucionar en Access nos puede traer problemas y nos puede hacer perder mucho tiempo. En este curso plantearemos una base de datos con la que trabajaremos en el resto de lecciones, pero el procedimiento que utilizaremos puede ser utilizado para cualquier otra, más o menos compleja. Nuestra base de datos Para hacer la base de datos que utilizaremos a lo largo del curso imaginaremos que nos gusta el cine y queremos guardar datos de todas las películas que nos gustan para así tenerlas clasificadas, realizar consultas, informes y todo lo que se nos ocurra con los datos de estas películas. Recuerda que este primer proceso de diseño lo tenemos que realizar sobre papel y que de momento no vamos a utilizar para nada el ordenador. Primero de todo tenemos que hacer una lista de todos los datos que queremos guardar de estas películas, no importa el orden, ni que repitamos conceptos, simplemente queremos hacer una lista, después ya la estructuraremos. Principalmente de una película querremos guardar: título, título original (en caso que lo tenga), duración aproximada en minutos, nombre del director, puntuación que le damos, opinión personal, sinopsis, año en la que se ha realizado, carátula, página Web y actores que participan. Bien… en un principio ya tenemos apuntados todos los datos que deseamos guardar de nuestra película favorita. Ahora el siguiente paso que tenemos que realizar sería mirar 8 con detenimiento los datos que deseamos guardar para ver cual de ellos puede ser igual entre diferentes películas. División de tablas Todo lo que hemos visto que necesitamos guardar de nuestras películas serían los campos que formarán parte de una tabla que por ejemplo la podremos llamar Películas. En un principio hemos visto una única tabla, pero al ver que podremos duplicar información nos tendremos que plantear crear más tablas donde guardemos esta información que podremos utilizar de forma repetida. Podemos crear una nueva tabla donde guardaremos los datos de los actores. En ella almacenaremos, el nombre, la foto, la página Web y la filmografía o vida de este actor. También crearemos otra tabla donde guardaremos los datos referentes a los directores de las películas. En ella almacenaremos el nombre y algo sobre su vida. De esta forma vemos que lo que era una tabla inicial se ha convertido en tres tablas diferenciadas que después tendremos que unir de alguna forma para así tenerlas relacionadas. Es conveniente tener bien claro la diferencia de información que introduciremos en nuestras tablas. Veamos… el título, título original, duración, puntuación, opinión, sinopsis, año, carátula y página Web, serán específicos y únicos para cada película. Pero... que pasa con el director y los actores que aparecen en esta película. Cada película tendrá un director y unos actores, pero estos se pueden repetir en muchas películas. Además, si queremos tener también la filmografía del director, para conocer que otras películas ha realizado, no sería conveniente escribirla en cada película que este dirige ya que estaríamos multiplicando el trabajo. Lo mismo pasaría en el caso de los actores, ya que de ellos puede ser que también nos interese tener una foto, su página Web y su filmografía entre otras cosas. Para no multiplicar nuestro trabajo tendremos que pensar alguna forma para poder hacer esto mucho más sencillo y tener los datos de los directores y de los actores relacionados con las películas en las que participan. En todas las bases de datos este punto es muy importante ya que es el momento en el que decidiremos si utilizamos una o varias tablas y como estarán relacionadas entre ellas. Recuerda, mira siempre de todos los datos que quieres almacenar en tu base de datos aquellos que se van a repetir y queremos evitar volverlos a introducir. El truco en una base de datos bien estructurada es la forma de tener muchos datos y de introducir los menos posibles y después poderlos relacionar de forma que podamos tener muchos cruces de datos. 9 Campos códigos Hasta este momento hemos visto los campos que necesitamos para guardar información, tanto de las películas, directores y actores. Toda esta información es la que nosotros deseamos tener, pero hay información que el ordenador necesita y con la que tendrá que trabajar para después poder unir las diferentes tablas. Esta información adicional, con la que nosotros no trabajaremos, son códigos que el ordenador utiliza para identificar cada registro (película, director o actor). De esta forma pondremos un nuevo campo en cada una de las tablas que ya hemos definido anteriormente. - En la tabla Películas, pondremos un nuevo campo llamado Cod. Película. - En la tabla Directores, pondremos un nuevo campo llamado Cod. Director. - En la tabla Actores, pondremos un nuevo campo llamado Cod. Actor. En la siguiente lección veremos que estos campos nos servirán para realizar las uniones (relaciones) entre las diferentes tablas. Definición de relaciones Las tablas en este momento no están relacionadas entre ellas. Los datos estarían completamente separados, con lo que tendremos que buscar una forma para que los datos de las tablas queden unidos entre ellos. Para esta unión crearemos relaciones. En primer lugar vamos a definir y ver que tipo de relaciones necesitamos entre las diferentes tablas y después ver entre que campos las realizaremos. Las relaciones nos las plantearemos de dos en dos tablas. Veremos que al final si todo lo hacemos correctamente quedarán todas las tablas relacionadas la unas con la otras. Vamos a relacionar la tabla Películas y la tabla Directores. Para ver las relaciones realizaremos las siguientes preguntas: - ¿En una película pueden haber diferentes directores? En un principio en un 95% de las películas, sólo hay un director, con lo que la respuesta sería No. - ¿Un director puede hacer diferentes películas? Un director sí que puede haber hecho diferentes películas, aunque nosotros no las tengamos contempladas o no estén en nuestra base de datos, pero puede ser que más adelante aparezca alguna película en la que repitamos director. La respuesta a esta pregunta sería Sí. Si nos quedamos con la respuesta afirmativa tenemos definida la primera relación: un director - varias películas. A esta relación se le llama: relación de uno a varios entre la tabla director y la tabla películas. 10 Ya tenemos una relación, veamos alguna otra que necesitemos. Otra relación que podemos ver sería la que existe entre la tabla Películas y la tabla Actores. Hagamos también las preguntas oportunas para ver que tipo de relación aparece en este caso: - ¿En una película pueden aparecer diferentes actores? La respuesta sin dudarlo sería Sí. En nuestra base de datos tendremos en cuenta sólo los actores principales que aparecen en la película. - ¿Un actor puede aparecer en varias películas? La respuesta, también sin dudarlo, sería Sí. Este tipo de relación es de uno a varios en los dos sentidos. Esta relación es un poco especial. A esta relación se le llama: relación de varios a varios. En el siguiente capítulo vamos a ver entre que campos realizamos las relaciones. Relación de uno a varios Vamos a empezar a crear las relaciones explicando la más sencillas de las dos que hemos visto que necesitamos. Esta es la relación de uno a varios entre la tabla Director y Película. Recordemos que era: Un director <–> varias películas. Según hemos visto anteriormente en la tabla Directores tenemos un campo llamado Cod. Director, en el cual iremos introduciendo un número que será exclusivo para cada uno de los directores de nuestra base de datos. Será único sin que pueda repetirse. Es importante hacer notar que de este código no nos tenemos que acordar, será para uso exclusivo del ordenador. Además en el momento de montar la base de datos realizaremos las acciones oportunas para que el mismo programa sea quien se encarga de generar este código y además… se encargará que este no se repita siendo así un código único para cada director. A este tipo de campo se le denomina Campo clave. Ahora nos falta poder hacer algo para que esté relacionado con cada una de las películas que dirige este Director. Para ello simplemente tendremos que añadir un nuevo campo (Director) en la tabla Películas en el que introduciremos el Código del Director correspondiente. Veamos un ejemplo y así lo entenderemos mucho mejor… Imagina que en nuestra tabla Directores tenemos dado de alta el Director: Jay Roach y este en el momento de introducirlo en la base de datos tiene como código el 12. (Repito que no hace falta que en el momento que introduzcamos los datos en la base de datos sepamos que código tiene asignado, pero para poder entender el ejemplo es importante). Junto con el nombre, terminamos de rellenar los campos de nuestra tabla, como sería su filmografía. Ahora daremos de alta una película en la tabla Películas. En este caso sería: Los padres de él. En esta tabla también rellenaríamos todos los campos de la tabla con los datos concretos sobre la película. 11 En el momento de introducir datos en el campo Director, no introduciremos el nombre del director, lo que haremos será poner el código de este Director. En este caso introduciremos un 12. Este código no lo introduciremos nosotros, lo pondrá la base de datos, nosotros sólo tendremos que buscar entre los directores dados de alta en la tabla Directores y ver si se encuentra entre alguno de ellos. Imaginemos ahora que deseamos dar de alta otra película, en este caso: Los padres de ella. En esta tabla introduciríamos todos los datos. En el momento de llegar al director volveríamos ha realizar los mismos pasos, buscaríamos entre todos los directores que tenemos dados de alta y asignaremos el director de la misma, en este caso también es Jay Roach, con lo que en el campo Director de la tabla Películas, pondremos un 12. Al utilizar el código podremos hacer consultas de muchas formas diferentes. Por ejemplo si buscamos la película: Los padres de ella en la tabla Películas la base de datos nos la relacionará con el director correspondiente: Jay Roach en la tabla Directores gracias al código pudiendo así ver más datos de este como su filmografía a parte de poder buscar dentro del resto de películas que tenemos en nuestra base de datos todas las que aparecen con un 12 en el campo Director de la tabla Películas. Lo importante de una buena relación es que de esta forma desde cualquier película podemos buscar los datos del director y ver toda su filmografía y demás datos sin tenerlo que introducir tantas veces como películas tengamos dirigidas por él en nuestra base de datos. Solamente nos tenemos que preocupar de mirar si está dado de alta en nuestra tabla de Directores. Utilizando correctamente las relaciones evitaremos repetir información y así En una base de datos tenemos que evitar repetir información ya que esto ocupará más espacio en nuestra base de datos y una de las cosas que tenemos que tener clara es en ahorrar en espacio para que la base de datos funcione más rápida. Bases de datos (Microsoft access) ¿Por qué usar una base de datos? ¿Qué es una base de datos? Conceptos utilizados en Access Iniciar Microsoft Access Salir de Microsoft Access Abrir una base de datos existente Crear una base de datos nueva 12 ¿Por qué usar una Base de Datos? Una de las características que definen el mundo actual es la ingente cantidad de información de que disponemos, a la que hay que añadir la que recibimos por distintos canales y la que buscamos por iniciativa propia. Una buena solución para no sentirnos asfixiados por tal cúmulo de información es organizarla de manera sistemática y estructurada. Y es aquí donde las bases de datos muestran toda su potencia y eficacia. Imaginemos por un momento una situación que muy probablemente se dé en algunos hogares. El cartero nos trae (por desgracia, casi a diario) cartas del banco con letras de la hipoteca, recibos de teléfono, de gas, de agua, de luz, de seguros, etc. Supongamos que cada vez que abrimos una carta, tras comprobar su contenido, introducimos el correspondiente recibo en un cajón habilitado a tal efecto; es decir, los recibos quedarán ordenados según la fecha de recepción, que no tiene por qué corresponderse, necesariamente, con la fecha de emisión del mismo. Pasados algunos meses, queremos ordenar los recibos de la luz según su importe. Nos veríamos obligados a realizar dos tareas: En primer lugar, extraer del cajón SÓLO los recibos de la luz; en segundo lugar, comparar unos recibos con otros para poder ordenarlos. Es de suponer que esta tarea nos supondrá un pequeño esfuerzo y alguna cantidad de tiempo. Una base de datos nos hubiera hecho esta ordenación en décimas de segundo. ¿Qué es una Base de Datos? Un gestor de base de datos es un programa que permite introducir y almacenar datos, ordenarlos y manipularlos. También permite organizarlos de manera significativa para que se pueda obtener información no visible como totales, tendencias o relaciones de otro tipo. Debe permitir, en principio: • Introducir datos • Almacenar datos • Recuperar datos y trabajar con ellos 13 Todo esto se puede hacer con una caja de zapatos, lápiz y papel; pero, a medida que la cantidad de datos aumenta, han de cambiar las herramientas. Se pueden usar carpetas, archivadores…, pero en un momento dado es conveniente acudir a los ordenadores, aunque las operaciones siguen siendo las mismas. Microsoft Access es un sistema de administración de Bases de Datos Relacionales (RDBMS). El nombre relacional procede del hecho de que cada registro de la base de datos contiene información relativa a un solo asunto o materia. En una base de datos relacional, el sistema gestiona los datos en tablas. Las tablas almacenan información sobre un asunto (por ejemplo, países del mundo) y tiene columnas que contienen los diferentes tipos de información (nombre, capital, superficie...). Cuando se consulta información de una o más tablas, el resultado es siempre algo que tiene el aspecto de otra tabla. De hecho, puede ejecutarse una consulta que utilice los resultados de otra. Los datos sobre dos asuntos diferentes pueden ser manejados como si pertenecieran a una sola entidad de información basada en valores relacionados de las tablas a las que pertenecen (datos del país y datos económicos). Microsoft Access proporciona cuatro tipos principales de capacidades: Definición de datos: Permite especificar el tipo de datos que tiene y cómo deberían ser almacenados esos datos. También se pueden definir reglas para asegurar la integridad de los datos (sólo números, que comiencen por una letra...). Microsoft Access, como aplicación Windows, puede utilizar las características de intercambio dinámico de datos (DDE = cortar/copiar/pegar) y del enlace e incrustación de objetos (OLE). Se puede, asimismo, importar y exportar datos desde ficheros de procesador de textos, hojas de cálculo u otras bases de datos (Paradox, dBase, Btrieve...). Manipulación de datos: Se pueden realizar búsquedas en una o varias tablas o ficheros relacionados. Se puede actualizar un solo campo o muchos registros con un solo comando. Microsoft Access utiliza el potente lenguaje de base de datos SQL (Structured Query Language= Lenguaje de Consulta Estructurado) para procesar los datos. Y tiene una potente herramienta que automatiza la elaboración de consultas SQL llamada QBE (consulta según ejemplo). Control de datos: Microsoft Access está diseñado para ser utilizado en un solo puesto de trabajo o en modo de compartición cliente-servidor a través de una red. Está provisto de excelentes características en cuanto a integridad y seguridad de datos. También proporciona automáticamente mecanismos de cierre para asegurar que no se dé el caso de que dos usuarios de una red actualicen registros a la vez. Diseñar y construir aplicaciones: La utilización de macros con acciones predefinidas y el lenguaje de módulos Access Basic facilitan esta labor. Conceptos utilizados en Access Access llama objeto a todo lo que pueda tener un nombre. Los objetos principales en una base de datos son: 14 Tablas: datos con un tema común. Objeto que se define y utiliza para almacenar datos. Cada tabla contiene información sobre una materia o un asunto concreto. Las tablas contienen campos que almacenan los diferentes tipos de datos. Se puede definir una clave principal (uno o más campos que tienen un valor único para cada registro) y uno o más índices en cada tabla. Consultas y hojas de respuesta dinámica: una pregunta y su respuesta. Objeto que proporciona la visión requerida por el usuario de los datos de una o más tablas. Se pueden utilizar las herramientas SQL o QBE para crear consultas. Formularios: introducir o consultar información. Objeto diseñado principalmente para la entrada y visualización de datos, o para el control de la ejecución de la aplicación. Informes: resultados impresos. Objeto diseñado para formatear, calcular, imprimir y resumir datos seleccionados. Macros: automatizar un proceso repetitivo. Objeto que consta de una definición estructurada de una o más acciones que el usuario quiere que lleve a cabo Access en respuesta a un evento concreto. Iniciar Microsoft Access Para iniciar Microsoft Access se puede seguir cualquiera de los caminos habituales del entorno Windows: • Desde el Escritorio, hacer doble clic sobre su icono; o hacer clic sobre su icono y pulsar Intro. • Seguir el camino: Inicio -> Programas -> Microsoft Access. • Hacer doble clic sobre el icono de la base de datos que queramos abrir; o hacer clic sobre ella y pulsar Intro. Cuando activas Access, lo primero que vas a encontrar es una ventana con varias opciones: • Base de datos de Access en blanco 15 • Asistentes, páginas y proyectos de bases de datos de Access • Abrir un archivo (una base de datos) existente Normalmente, utilizarás las opciones primera y tercera. La primera opción (base de datos de Access en blanco), nos permite crear una nueva base de datos, mientras que la segunda (abrir una base de datos de Access existente), nos sirve para utilizar una base de datos que ya esté creada. Salir de Microsoft Access Para salir de Microsoft Access se puede seguir cualquiera de los caminos habituales del entorno Windows: • Elegir la opción "Salir" del menú Archivo. • Pulsar sobre el botón "Cerrar" en la barra de título de la aplicación (esquina superior derecha). • Hacer doble clic en el icono de la aplicación (esquina superior izquierda). • Pulsar las teclas ALT-F4. Abrir una base de datos existente Cuando abres una base de datos de Microsoft Access, lo que haces es abrir un archivo que contiene los datos y las estructuras de las tablas, así como las consultas, formularios, informes y otros objetos que constituyen la base de datos. Puedes abrir una base de datos con acceso de sólo lectura y especificar si la usarás exclusivamente o si la compartirás en un entorno multiusuario. En la ventana de inicio de Microsoft Access, puedes abrir una base de datos usando los números y nombres de archivos que se muestran al final del menú Archivo. Éstos representan las últimas cuatro bases de datos que abriste. Para abrir una base de datos, haz clic en su nombre de archivo o escribe su número. Microsoft Access abrirá la base de datos con las mismas opciones de configuración que la última vez que la abriste. Para abrir otra base de datos existente: En el menú Archivo, elige "Abrir base de datos". Microsoft Access mostrará el cuadro de diálogo Abrir base de datos, donde podrás especificar el nombre y la ubicación de la base de datos que deseas abrir. Crear una base de datos nueva Cuando creas una base de datos de Microsoft Access, lo que haces es crear un archivo que contiene las estructuras de los datos y de la tabla, así como las consultas, formularios, informes y otros objetos que constituyen la base de datos. Para crear una base de datos: 16 • • • En el menú Archivo, eliges "Nueva". En la siguiente pantalla, eliges la opción "Base de datos" (ya seleccionada) y pulsas sobre el botón Aceptar. A continuación, Microsoft Access mostrará el cuadro de diálogo "Archivo nueva base de datos", donde podrás especificar un nombre y una ubicación para la base de datos. Si seleccionas el nombre de una base de datos existente, Microsoft Access te preguntará si deseas reemplazarla. Tablas de una base de datos Crear una tabla Definir los campos Añadir / eliminar campos a la tabla Tipos de datos de una tabla Establecer las propiedades de los campos Establecer la clave principal Guardar una tabla Establecer valores predeterminados Usar reglas de validación Establecer relaciones entre tablas Crear una tabla Un programa de base de datos almacena la información que introducimos en forma de tablas como las que podemos ver, por ejemplo, en un listín telefónico. En un listín telefónico nos interesa tener almacenados, de modo ordenado, los datos de una serie de personas. Para que aparezcan de modo claro, los desglosamos en tres apartados: Nombre, Dirección y Teléfono, haciendo que aparezca cada uno en una columna diferente. Así es mucho más sencillo encontrar la dirección de una persona, buscando a partir de su nombre. En el listín, la información referida a una persona aparece en una fila de la tabla: a esto es a lo que se denomina Registro. A cada una de las partes en las que hemos desglosado la información se le denomina Campo, y al conjunto formado por todos los registros, Tabla. 17 Registro: es el concepto básico en el almacenamiento de datos. El registro agrupa la información asociada a un elemento de un conjunto y está compuesto por campos. Tabla: conjunto de registros homogéneos con la misma estructura. Para crear una tabla: 1. En la ventana de la base de datos, haz clic en el objeto “Tablas”. 2. Haz clic en el botón “Nuevo”. 3. En la siguiente pantalla puedes optar entre: • • • • • Abrir la tabla en vista hoja de datos, donde puedes empezar a introducir datos directamente. Abrir la tabla en vista diseño, que es donde defines los campos de la tabla. Usar el asistente para tablas, con lo que sólo tendrás que elegir entre las diferentes opciones que se te ofrecen. Al final, podrás escoger entre modificar el diseño o introducir datos en la tabla, o a través de un formulario. Importar tablas. Vincular tablas. 18 Definir los campos Para definir los campos de una tabla: 1. Abre la tabla en Vista diseño. 2. En la columna Nombre del campo, escribe el nombre del primer campo, usando las convenciones de nombre de Microsoft Access. 3. En la columna Tipo de datos, puedes dejar la opción predeterminada (Texto) o hacer 4. 5. 6. clic en la flecha y seleccionar el tipo de datos que desees. En la columna Descripción, escribe una descripción de la información que contendrá este campo. La descripción es opcional. Si lo deseas, puedes establecer propiedades de campo para el campo en la parte inferior de la ventana. Repite los pasos del 2 al 4 para cada campo. Añadir / eliminar campos a la tabla Es posible agregar un campo nuevo a una tabla en cualquier momento. Por ejemplo, podrías darte cuenta de que omitiste el campo correspondiente al cargo que ocupa una persona en una tabla de contactos relacionados con tu trabajo. Puedes agregar el nuevo campo al final de la tabla o insertarlo en cualquier lugar de ésta. Nota: El orden de los campos, en Vista diseño de una tabla, determina el orden de los campos (encabezados de columna) en la hoja de datos de la tabla. Para añadir un campo a una tabla: 1. Abre la tabla en Vista diseño. 2. Para insertar el campo dentro de la tabla, mueve el punto de inserción a la fila debajo de donde desees agregar el campo y en el menú Insertar, elige Filas. Microsoft Access insertará una fila. Para agregar el campo al final de la tabla, mueve el punto de inserción a la primera fila en blanco. 3. Define el campo escribiendo un nombre de campo, un tipo de datos y una descripción (opcional). Usa las convenciones de nombre de Microsoft Access para asignar el nombre del campo. 4. Establece las propiedades del campo según corresponda. Para eliminar un campo de una tabla: 1. Abre la tabla en Vista diseño. 2. Para eliminar un campo dentro de la tabla, mueve el punto de inserción a la fila que desees eliminar y en el menú Edición, elige Eliminar filas. Microsoft Access eliminará la fila señalada. 19 Tipos de datos de una tabla Cada campo debe tener definido un tipo de datos. El tipo de datos determina la clase y el rango de los valores que se pueden introducir en el campo, así como la cantidad de espacio disponible para almacenaje en éste. Selecciona el tipo de datos apropiado para cada campo. Por ejemplo, en una tabla de nombres y direcciones, lo más probable es que definas la mayoría de los campos como Texto. Incluso un campo de número de teléfono, que sólo contiene dígitos, debería ser un campo de Texto. El tipo de datos Numérico debe usarse sólo para los campos en los que se desee realizar cálculos. A continuación se enumeran los tipos de datos y sus usos: • Texto: cuando en el campo vamos a introducir texto, tanto caracteres como dígitos. Tiene una longitud por defecto de 50 caracteres, siendo su longitud máxima de 255 caracteres. • Memo: se utiliza para textos extensos, como comentarios o explicaciones. Tiene una longitud fija de 65.535 caracteres. • Numérico: para datos numéricos, utilizados en cálculos matemáticos. • Fecha/Hora: para la introducción de fechas y horas desde el año 100 al año 9999. • Moneda: para valores de moneda y datos numéricos utilizados en cálculos matemáticos en los que estén implicados datos que contengan entre uno y cuatro decimales. La precisión es de hasta 15 dígitos a la izquierda del separador decimal y hasta 4 dígitos a la derecha del mismo. • Autonumérico: número secuencial (incrementado de uno a uno) único, o número aleatorio que Microsoft Access asigna cada vez que se agrega un nuevo registro a una tabla. Los campos Autonumérico no se pueden actualizar. • Sí/No: valores Sí y No, y campos que contengan uno de entre dos valores (Sí/No, Verdadero/Falso o Activado/Desactivado). • Objeto OLE: Objeto (como por ejemplo una hoja de cálculo de Microsoft Excel, un documento de Microsoft Word, gráficos, sonidos u otros datos binarios). • Hipervínculo: Texto o combinación de texto y números almacenada como texto y utilizada como dirección de hipervínculo. Una dirección de hipervínculo puede tener hasta cuatro partes: Texto: el texto que aparece en el campo o control. Dirección: ruta de acceso de un archivo o página. Subdirección: posición dentro del archivo o página. Sugerencia: el texto que aparece como información sobre herramientas. 20 • Existe otra posibilidad, el Asistente para búsquedas, que crea un campo que permite elegir un valor de otra tabla o de una lista de valores mediante un cuadro de lista o un cuadro combinado. Al hacer clic en esta opción se inicia el Asistente para búsquedas y al salir del Asistente, Microsoft Access establece el tipo de datos, basándose en los valores seleccionados en él. Establecer las propiedades de los campos Cada campo cuenta con un conjunto de propiedades que se usan para especificar cómo se desea almacenar, manejar y mostrar los datos. Las propiedades se establecen en la parte inferior de la Vista diseño de una ventana de Tablas. Las propiedades que pueden establecerse para cada campo dependen del tipo de datos que se seleccionen para el campo. Los pasos a seguir son: 1. En la Vista diseño de la tabla, selecciona el campo cuyas propiedades deseas 2. 3. establecer. En la parte inferior de la ventana, haz clic en la propiedad que desees establecer. Establece la propiedad como se explica a continuación. PROPIEDADES DE LOS CAMPOS Tamaño del campo • • Para los campos Texto, esta propiedad determina el número máximo de caracteres que se pueden introducir en el campo. Por defecto este valor es de 50 caracteres; su valor máximo es de 255. Para los campos Numérico, las opciones son: Byte (equivalente a un carácter) para almacenar valores enteros entre 0 y 255. 28 28 Decimal para almacenar valores comprendidos entre -10 -1 y 10 -1. Es decir, valores con una precisión decimal de 28. Entero para valores enteros comprendidos entre -37.768 y 32.767. Entero largo para valores enteros comprendidos entre -2.147.483.648 y 2.147.483.647. Simple para la introducción de valores comprendidos entre -3,402823E38 y -1,401298E-45 para valores negativos, y entre 1,401298E-45 y 3,402823E38 para valores positivos. Doble para valores comprendidos entre -1,79769313486231E308 y -4,94065645841247E-324 para valores negativos, y entre 1,79769313486231E308 y 4,94065645841247E-324 para valores positivos. • • Los campos Autonumérico son Entero largo. A los demás tipos de datos no se les puede especificar tamaño. Formato del campo 21 • • • Esta propiedad se utiliza para personalizar la forma de presentar los datos en pantalla o en un informe. Se puede establecer para todos los tipos de datos excepto el Objeto OLE y Autonumérico. Para los campos Numérico y Moneda, las opciones son: Número general: presenta los números tal como fueron introducidos. Moneda: presenta los valores introducidos con el separador de millares y el símbolo monetario asignado en Windows como puede ser Pts. Euro: utiliza el formato de moneda, con el símbolo del euro. Fijo: presenta los valores sin separador de millares. Estándar: presenta los valores con separador de millares. Porcentaje: multiplica el valor por 100 y agrega el signo de porcentaje (%). Científico: presenta el número con notación científica. • Los campos Fecha/Hora tienen los siguientes formatos: Fecha general: si el valor es sólo una fecha, no se muestra ninguna hora; si el valor es sólo una hora, no se muestra ninguna fecha. Este valor es una combinación de los valores de Fecha corta y Hora larga. Ejemplos: 3/4/93, 05:34:00 PM y 3/4/93 05:34:00 PM. Fecha larga: se visualiza la fecha con el día de la semana y el mes completo. Ejemplo: Lunes 14 de julio de 2003. Fecha mediana: presenta el mes con los tres primeros caracteres. Ejemplo: 21-Ago-2000. Fecha corta: se presenta la fecha con dos dígitos para el día, mes y año. Ejemplo: 01/08/00. El formato Fecha corta asume que las fechas comprendidas entre el 1/1/00 y el 31/12/29 son fechas comprendidas entre los años 2000 y el 2029; y las fechas comprendidas entre el 1/1/30 y el 31/12/99 pertenecen al intervalo de años entre 1930 y 1999. Hora larga: presenta la hora con el formato normal. Ejemplo: 17:35:20. Hora mediana: presenta la hora con formato Pm o Am. Ejemplo: 5:35 Pm. Hora corta: presenta la hora sin los segundos. Ejemplo: 17:35. • • Los campos Sí/No disponen de los formatos predefinidos Sí/No, Verdadero/Falso y Activado/Desactivado. Sí, Verdadero y Activado son equivalentes entre sí, al igual que lo son No, Falso y Desactivado. Los campos Texto y Memo no disponen de formatos predefinidos; se tendrían que crear formatos personalizados. Máscara de entrada • Se utiliza la máscara de entrada para facilitar la entrada de datos y para controlar los valores que los usuarios pueden introducir. Por ejemplo, puedes crear una máscara de entrada para un campo Número de teléfono que muestre exactamente cómo debe introducirse un número nuevo: (___) ___-____. 22 • Access2000 dispone de un Asistente para máscaras de entradas que nos facilita el establecer esta propiedad, y al cual accederemos al hacer clic sobre el botón que aparece a la derecha de la propiedad a modificar una vez activada dicha propiedad. Título • Se utiliza esta propiedad para indicar cómo queremos que se visualice la cabecera del campo. Por ejemplo, si un campo se llama “Fnac” e indicamos “Fecha de nacimiento” como valor en la propiedad Título, como cabecera del campo “Fnac” veremos “Fecha de nacimiento”. Lugares decimales • Esta propiedad nos permite indicar el número de decimales que queremos asignar a un tipo de dato Numérico o Moneda. Valor predeterminado • • • Si se sabe que un determinado campo va a tener la mayoría de las veces el mismo valor, se utiliza esta propiedad para indicar o especificar cuál va a ser ese valor y así que se introduzca automáticamente en el campo a la hora de introducir los datos de la tabla. Por ejemplo, si tenemos la tabla Clientes con el campo Provincia y la mayoría de clientes son de la provincia de Valencia, se puede introducir ese valor en la propiedad Valor determinado del campo Provincia y así, a la hora de introducir los diferentes clientes, automáticamente aparecerá el valor Valencia. Se puede utilizar esta propiedad para todos los tipos de datos excepto el Objeto OLE, y el Autonumérico. Regla de validación • • • Esta propiedad nos permite controlar la entrada de datos según el criterio que se especifique. Hay que escribir el criterio que debe cumplir el valor introducido en el campo para que sea introducido correctamente. Por ejemplo, si queremos que un valor introducido esté comprendido entre 100 y 2000, se puede especificar en esta propiedad >=100 Y <=2000. Se puede utilizar esta propiedad para todos los tipos de datos excepto el Objeto OLE, y el Autonumérico. Texto de validación • • En esta propiedad escribiremos el texto que queremos que aparezca en pantalla si introducimos en un campo un valor que no cumple la regla de validación especificada en la propiedad anterior. Debe ser un mensaje para que la persona que se equivoque a la hora de introducir los datos, sepa el porqué de su error y pueda solucionarlo. Se puede utilizar esta propiedad para todos los tipos de datos excepto el Objeto OLE, y el Autonumérico. Requerido • • Si queremos que un campo se rellene obligatoriamente tendremos que asignar a esta propiedad el valor Sí; en caso contrario el valor será el de No. Se puede utilizar esta propiedad para todos los tipos de datos excepto el Objeto OLE, y el Autonumérico. 23 Permitir longitud cero • Los campos Memo y Texto cuentan con esta propiedad para controlar que no se puedan introducir valores de cadena que no contengan caracteres o estén vacíos. Indexado • • Se utiliza esta propiedad para establecer un índice de un solo campo. Los índices hacen que las consultas basadas en los campos indexados sean más rápidas, y también aceleran las operaciones de ordenación y agrupación. Por ejemplo, si buscas empleados basándote en un campo llamado Apellidos, puedes crear un índice para este campo para hacer más rápida la búsqueda. Esta propiedad dispone de tres valores: No: Sin índice. Sí (con duplicados): Cuando se asigna un índice a ese campo y además admite valores duplicados. Sí (sin duplicados): Cuando se asigna un índice pero sin admitir valores duplicados. Establecer la clave principal La clave principal es un campo -o combinación de campos- que identifican singularmente cada registro de una tabla. Es el índice principal de la tabla y se usa para asociar los datos entre tablas. Aunque no se requiere, su uso es altamente recomendado. Acelera la recuperación de los datos y le permite definir relaciones predeterminadas entre las tablas. Si la tabla no incluye un campo de clave principal obvio, puedes hacer que Microsoft Access establezca un campo que asigne un número único a cada registro. Para establecer o cambiar la clave principal: 1. En la Vista diseño de la tabla, selecciona el campo o los campos que desees 2. 3. establecer como la clave principal. Para seleccionar un campo, haz clic en el selector de filas. Para seleccionar múltiples campos, mantén presionada la tecla CTRL mientras haces clic en los selectores de fila para cada campo. 4. Haz clic en el botón “Clave principal” de la Barra de herramientas, o bien, en el menú Edición, elige Clave principal. Microsoft Access coloca el icono de clave principal en la columna del selector de filas. Para hacer que Microsoft Access defina la clave principal: 1. Teniendo visible el diseño de la tabla, guarda la tabla sin especificar una clave principal. 2. Microsoft Access te preguntará si deseas que cree un campo de clave principal. 3. Elige “Sí”. Microsoft Access creará un campo titulado ID con el tipo de datos Autonumérico en la tabla. 4. Cuando agregues registros, Microsoft Access, automáticamente, insertará números de secuencia como valores de este campo. 24 Guardar una tabla Para guardar una tabla: 1. Una vez que termines de definir los campos, en el menú Archivo, elige Guardar para guardar el diseño de la tabla (o pulsa sobre el icono que representa un disquete). Microsoft Access te pedirá que asignes un nombre a la tabla. 2. Escribe un nombre para la tabla usando las convenciones de nombre de Microsoft Access y después elige "Aceptar". Establecer valores predeterminados • Para acelerar la introducción de datos, puedes asignar un valor predeterminado a un campo en la Vista diseño de una tabla. • Microsoft Access mostrará este valor en el campo cada vez que se agregue un nuevo registro a un formulario u hoja de datos. En ese momento, puedes aceptar el valor predeterminado o escribir un nuevo valor. • Por ejemplo, supongamos que, en una tabla de direcciones, la mayoría de los registros a introducir son de Alicante. Podrías escribir Alicante como el valor predeterminado y Microsoft Access mostrará "Alicante" en el campo Ciudad cada vez que agregues una nueva dirección. Cuando la dirección esté en otra ciudad, simplemente escribe el nuevo nombre sobre Alicante. Para establecer el valor predeterminado: 1. En la Vista diseño de una tabla, selecciona el campo cuyo valor desees establecer. 2. En la parte inferior de la ventana, haz clic en el cuadro de la propiedad Valor Predeterminado. 3. Escribe el valor predeterminado tal como desees que aparezca en la tabla. 4. Microsoft Access presenta el valor predeterminado cuando se agrega un nuevo registro en un formulario u hoja de datos. Notas: • El insertar un valor predeterminado no tiene ningún efecto sobre los datos existentes. • Microsoft Access, automáticamente, muestra el valor predeterminado únicamente en los registros nuevos. 25 Usar reglas de validación • Si defines una regla de validación, podrás limitar los valores que pueden introducirse en un campo. • Las reglas de validación se definen en la parte inferior de la Vista diseño de una tabla. • Por ejemplo, podrás definir la expresión de validación ">9" para un campo Pedidos. Si el usuario intenta pedir siete unidades, Microsoft Access se negará a aceptar el valor y generará un mensaje de error. El mensaje de error se define al escribirlo en el cuadro de la propiedad Texto de validación. Por ejemplo, podría escribir "Debe pedir 10 unidades o más". • Nota: Microsoft Access copia la regla de validación de la tabla cuando defines un control en un formulario que es dependiente de un campo. No obstante, puedes cambiar la regla de validación en el formulario o agregar una regla de validación a un control que no tuviera ninguna. Para definir una regla de validación y el texto de un mensaje de error: 1. Abre la tabla en Vista diseño. 2. Selecciona el campo cuyos valores desees limitar. 3. En el cuadro de la propiedad Regla de validación, ubicado en la parte inferior de la ventana, escribe la regla de validación. 4. En el cuadro de la propiedad Texto de validación, escribe el mensaje de error que desees que Microsoft Access presente en un cuadro de diálogo cuando la regla se evalúe como falsa. Establecer relaciones entre tablas Bases de datos relacionales Una base de datos relacional, como Microsoft Access, permite la utilización simultánea de datos procedentes de más de una tabla. Al hacer uso de las relaciones, se evita la duplicidad de datos, ahorrando memoria y espacio en el disco, aumentando la velocidad de ejecución y facilitando al usuario/a el trabajo con tablas. Para conseguir una correcta base de datos relacional es imprescindible realizar un estudio previo del diseño de la base de datos. Para poder relacionar tablas entre sí, se deberá especificar un campo en común que contenga el mismo valor en las dos tablas y dicho campo será clave principal en una de ellas. Las tablas se relacionan “dos a dos”; una de ellas será la tabla principal, de la que parte la relación, y la otra será la tabla secundaria, destino de la relación. 26 Tipos de relaciones Se pueden distinguir tres tipos de relaciones: 1. Relación Uno a Uno: Cuando un registro de una tabla sólo puede estar relacionado 2. 3. con un único registro de la otra tabla y viceversa. Por ejemplo: tenemos dos tablas, una con los datos de diferentes poblaciones y otra con una lista de Alcaldes. Una población sólo puede tener un alcalde, y un alcalde lo será únicamente de una población. Relación Uno a Varios: Cuando un registro de una tabla (tabla secundaria) sólo puede estar relacionado con un único registro de la otra tabla (tabla principal) y un registro de la otra tabla (tabla principal) puede tener más de un registro relacionado en la primera tabla (tabla secundaria). Por ejemplo: tenemos dos tablas, una con los datos de diferentes poblaciones y otra con los datos de los habitantes. Una población puede tener más de un habitante, pero un habitante pertenecerá (estará empadronado) en una única población. Relación Varios a Varios: Cuando un registro de una tabla puede estar relacionado con más de un registro de la otra tabla y viceversa. Por ejemplo: tenemos dos tablas, una con los datos de clientes y otra con los artículos que se venden en la empresa. Un cliente podrá realizar un pedido con varios artículos, y un artículo podrá ser vendido a más de un cliente. Las relaciones varios a varios se suelen representar definiendo una tabla intermedia entre las dos tablas. Siguiendo el ejemplo anterior sería definir una tabla “Pedidos” relacionada con clientes y con artículos. Para definir una relación entre dos tablas: 1. Sin tener abierta ninguna tabla, haz clic en el botón "Relaciones" de la barra de herramientas, o bien elige la opción Relaciones en el menú Herramientas. 2. Microsoft Access mostrará la ventana Relaciones y el cuadro de diálogo Mostrar tabla. 3. En el cuadro "Tablas / Consultas / Ambas" del cuadro de diálogo Mostrar tabla, haz doble clic en los nombres de las dos tablas que desees relacionar (o un clic y pulsar sobre el botón Agregar). 4. Cierra el cuadro de diálogo (pulsar sobre el botón Cerrar). 5. En la ventana Relaciones, arrastra el campo que desees relacionar desde una tabla hasta el campo relacionado de la otra. Para arrastrar múltiples campos, mantén presionada la tecla CTRL y haz clic en cada uno de ellos. En la mayoría de los casos, la relación se establece entre el campo clave principal de una tabla y un campo similar de la otra. Microsoft Access muestra el cuadro de diálogo Relaciones. 6. Compruebe que los nombres que aparecen en las dos columnas son los correctos. Si es necesario, modifícalos. 7. Establece las opciones de la relación si es necesario. En la mayoría de los casos se establece la integridad referencial y se selecciona una relación de uno a varios entre las dos tablas. 8. Elige el botón "Crear" para establecer la relación. 27 9. Cierra la ventana Relaciones cuando hayas terminado (responde afirmativamente a la pregunta de si guardar las relaciones). Para editar o eliminar una relación existente: 1. En la ventana Relaciones, sigue los pasos del 1 al 4 del procedimiento anterior para mostrar las dos tablas relacionadas. 2. Para editar una relación, muestra el cuadro de diálogo Relaciones haciendo doble clic en la línea que conecta las dos tablas. Haz los cambios oportunos y elige "Aceptar". 3. Para eliminar una relación, haz clic en la línea que conecta las dos tablas y luego presiona la tecla SUPR 4. Consultas sobre una base de datos. Características de las consultas Crear una consulta de selección Unir tablas en una consulta Seleccionar campos Expresiones para filtrar registros Introducir expresiones Operadores Ordenar los registros Calcular totales Mostrar valores superiores Consultas de tabla de referencias cruzadas Consultas de creación de tabla Consultas de actualización Consultas de datos anexados Consultas de eliminación Consultas de parámetros 28 Generar instrucciones SQL desde una consulta CARACTERÍSTICAS DE LAS CONSULTAS Dos cuestiones que deben quedar muy claras, antes de proseguir, son las siguientes: • LOS DATOS DE UNA BASE DE DATOS RESIDEN EN LAS TABLAS. • EL RESTO DE OBJETOS (CONSULTAS, FORMULARIOS E INFORMES) TRABAJAN CON LOS DATOS CONTENIDOS EN LAS TABLAS. Una vez aclaradas esas cuestiones, hay que decir que las tablas son muy poco flexibles para la manipulación y extracción de datos. Las hojas de datos de las tablas muestran todos los campos y todos los registros de una tabla. Si sólo deseamos ver algunos campos de los registros, o sólo los registros que cumplan alguna condición, o ambas cosas a la vez, deberemos crear consultas. Las consultas son preguntas preparadas que podemos diseñar para utilizar cuando sea necesario. Casi todo el trabajo en Access se basa en las consultas: • Si queremos hacer un informe de unos datos determinados, podemos hacerlo a partir de una consulta. • Si queremos un listado por pantalla o por impresora, lo haremos a partir de una consulta. Las consultas pueden ser de varios tipos: • Consultas de selección: son las más utilizadas. Permiten ver los datos de una o varias tablas, analizarlos, imprimirlos, etc. • Consultas de tablas de referencia cruzadas: presenta los datos en forma de filas y columnas. • Consultas de acciones: se utilizan para crear nuevas tablas a partir de consultas, eliminar o actualizar registros, añadir o modificar registros, etc. Pueden ser: De creación de tablas De actualización De datos anexados De eliminación • • • • • Consultas de unión: combinan campos coincidentes o duplicados de una o varias tablas. 29 Las consultas se crean a partir de Tablas o de otras Consultas que están relacionadas entre sí. Normalmente, si la base de datos tiene establecidas las relaciones entre tablas (acción muy recomendada), las uniones entre los campos son automáticas. No obstante, también se pueden establecer estas uniones manualmente. CREAR UNA CONSULTA DE SELECCIÓN Las consultas de selección son preguntas que se formulan sobre los datos de las tablas. Cuando se ejecuta la consulta, Microsoft Access crea una hoja de respuestas dinámica que se puede examinar en la hoja de datos de la consulta. Para crear una consulta de selección: 1. En la ventana de la base de datos, hacer clic en la pestaña del objeto "Consultas" y después en el botón "Nuevo". 2. En el cuadro de diálogo "Nueva consulta" podemos optar entre diseñarla nosotros solos (Vista diseño) o dejar que el Asistente nos eche una mano. Elegimos la opción "Vista diseño" y pulsamos sobre el botón Aceptar. 3. 4. Microsoft Access muestra una ventana de la consulta vacía en Vista diseño y un cuadro de diálogo Mostrar tabla para que podamos agregar tablas o consultas a su consulta. 30 5. Agregamos tablas o consultas haciendo doble clic en los nombres de las tablas o consultas (o un clic y pulsamos sobre Agregar). Cuando terminemos, pulsar sobre el botón "Cerrar". 6. Si es necesario, creamos uniones arrastrando los nombres de los campos entre las tablas y las consultas. Si ya se han definido relaciones predeterminadas entre las tablas, Microsoft Access muestra automáticamente las líneas de unión. 7. Agregamos campos a la consulta arrastrando los nombres de los campos desde las listas de campos hasta la cuadrícula QBE. 8. Podemos refinar la consulta introduciendo criterios, ordenando, creando campos calculados, sumando los datos y ocultando campos. 9. Guardamos la consulta. Notas: • Podemos crear una consulta rápida seleccionando el nombre de una tabla o consulta en la ventana de la base de datos y haciendo clic en el botón "Nueva consulta" de la Barra de herramientas. 31 • • Las consultas de selección son el tipo de consulta predeterminado. UNIR TABLAS EN UNA CONSULTA Si agregamos más de una tabla a una consulta, es necesario establecer una relación entre las tablas, uniéndolas. Cuando las tablas de una consulta no están unidas entre sí, Microsoft Access puede combinar y mostrar los datos de maneras imprevistas. • Una unión se indica a través de una línea que conecta los campos unidos. • Las uniones predeterminadas se muestran automáticamente si se han creado relaciones predeterminadas para las tablas. • Si las tablas de la base de datos no tienen relaciones predeterminadas, sería conveniente definir sus relaciones para evitar tener que unirlas cada vez que creemos una consulta. Para crear una unión: • En la Vista diseño de la consulta, agregamos las tablas a la consulta. • Para unir dos tablas, arrastramos un campo de una tabla al campo equivalente (un campo del mismo tipo de datos que contenga datos similares) de la otra tabla. Microsoft Access automáticamente crea una unión equivalente entre las dos tablas. Una línea de unión conecta a los campos unidos. SELECCIONAR CAMPOS En las consultas, los campos se seleccionan: 32 • Arrastrándolos desde la lista de campos (parte superior de la ventana) hasta la cuadrícula QBE. • Eligiéndolo del desplegable que aparece en la fila "Campo" de la cuadrícula QBE. Para agregar campos a una consulta: 1. Abrimos una consulta en Vista diseño. 2. En la ventana de consulta, agregamos las tablas o consultas del cuadro de diálogo Mostrar tabla (si el cuadro de diálogo no está visible, lo podemos conseguir con la opción Consulta -> Mostrar tabla). 3. Seleccionamos los campos de la lista de campos y los arrastramos hasta las columnas de la cuadrícula. Podemos seleccionar y arrastrar un campo o varios campos, como se describe a continuación: Para seleccionar... Hacemos esto... Un campo Hacemos clic en el nombre del campo. (También podemos seleccionar un campo directamente en el cuadro de lista desplegable de la fila Campo en la cuadrícula.) Un bloque de campos Mantenemos presionada la tecla MAYÚSCULAS y seleccionamos el primero y el último campo del bloque. Campos no contiguos Mantenemos presionada la tecla CONTROL mientras seleccionamos los campos. Todos los campos Hacemos doble clic en la Barra de título de la lista de campos. Toda la tabla o consulta Hacemos clic en el asterisco (*). Notas: • Si arrastramos todos los campos a la cuadrícula, Microsoft Access coloca cada campo en una columna separada. Si arrastramos el asterisco a la cuadrícula, Microsoft Access coloca el nombre de la tabla o consulta en una columna y agrega un punto y un asterisco al nombre (por ejemplo, Autores.*). La hoja de datos tendrá la misma apariencia después de realizar cualquiera de estas dos operaciones. • La selección del asterisco tiene una ventaja sobre la selección de todos los campos: Si se agregan o eliminan campos en una tabla o consulta base, la salida de la consulta incluye, automáticamente, los cambios. 33 • Si un nombre de campo incluye dos puntos como un carácter del nombre, deberemos encerrar el nombre entre corchetes si lo usamos en la cuadrícula QBE. Por ejemplo [Grupo: 2]. • En la ventana de la consulta, podemos elegir Ver -> Nombres de tabla para mostrar los nombres de las tablas de origen debajo de los nombres de los campos en la cuadrícula QBE. Esta opción está activada por defecto. Para quitar un campo de la cuadrícula en una consulta: 1. Seleccionamos el campo, haciendo clic en su selector de columna (barra gris superior). 2. Presionamos la tecla SUPR, o bien, usamos la opción Edición -> Eliminar columnas. EXPRESIONES PARA FILTRAR REGISTROS Las expresiones se pueden usar en consultas para especificar criterios, para actualizar valores en un grupo de registros y para crear campos de consulta que se basan en un cálculo. Una expresión se puede escribir en varios lugares de la cuadrícula QBE. La siguiente tabla muestra dónde escribir una expresión para realizar estas operaciones. Escribimos en: Para: Una celda Criterios Especificar criterios para una consulta de selección, de tabla de referencias cruzadas o de acciones. Una celda de actualización Actualizar registros de acuerdo con los resultados de la expresión. Una celda de campo Crear un campo calculado. Notas: • Si abrimos el cuadro de diálogo SQL, se muestran las instrucciones base de SQL correspondientes a la consulta, y podremos ver la manera en que Microsoft Access evalúa las expresiones para la consulta. Para abrir el cuadro de diálogo SQL, podemos usar la opción Ver -> Vista SQL, o bien utilizar el botón Vista SQL. 34 • • Cuando escribimos expresiones en más de una celda Criterios, Microsoft Access las combina usando el operador Y o el operador O: • Si las expresiones están en diferentes celdas de la misma fila, Microsoft Access usa el operador Y. • Si las expresiones están en diferentes filas de la cuadrícula QBE, Microsoft Access usa el operador O. INTRODUCIR EXPRESIONES Si estamos introduciendo una expresión en una hoja de propiedades, cuadrícula o argumento de acción cuya longitud es mayor que el área de entrada normal, podemos escribir la expresión en el cuadro "Zoom". Para abrir el cuadro "Zoom", presionamos las teclas MAYÚSCULAS + F2 cuando el enfoque esté en el lugar donde deseemos introducir la expresión; también podemos usar la correspondiente opción del menú contextual, haciendo clic con el botón derecho del ratón. Cuando introducimos una expresión en una hoja de propiedades, cuadrícula o argumento de acción, Microsoft Access frecuentemente inserta ciertos caracteres automáticamente cuando el enfoque cambia. Dependiendo del lugar donde introduzcamos la expresión, Microsoft Access inserta automáticamente: • Corchetes ([ ]) para encerrar los nombres de formularios, informes, campos o controles. • Símbolos # para encerrar fechas. • Comillas (" ") para encerrar texto. Introducir nombres de objetos: Cuando un elemento de identificador está encerrado entre corchetes ([ ]) significa que el elemento es el nombre de una tabla, consulta, formulario, informe, campo o control. Cuando escribamos un nombre de objeto en un identificador, si dicho nombre contiene un espacio o signo de puntuación, tenemos que encerrarlo entre corchetes. Si el nombre no contiene un espacio o signo de puntuación, podemos escribir el nombre sin corchetes y Microsoft Access a menudo los inserta automáticamente. 35 Los ejemplos de los nombres de formularios, informes, campos y controles en la documentación de Microsoft Access muestran los nombres entre corchetes. Introducir valores de fecha/hora: Cuando un elemento de una expresión está encerrado entre símbolos #, significa que el elemento es un valor de fecha/hora. Microsoft Access automáticamente evalúa un valor encerrado entre símbolos # como un valor de fecha/hora y nos permite escribir el valor en cualquier formato común de fecha u hora. No es necesario encerrar un valor de fecha/hora entre símbolos # en una expresión de validación o Criterios para un campo cuyo tipo de datos es Fecha/Hora. Microsoft Access nos permite escribir el valor en cualquier formato común de fecha u hora e inserta automáticamente un símbolo # a cada lado del valor. Microsoft Access muestra el valor de acuerdo a la configuración de la sección Configuración regional del Panel de control de Windows. El formato de salida se puede cambiar usando la propiedad Formato. Introducir texto: Cuando un elemento de una expresión está encerrado entre comillas, significa que el elemento es texto. Cuando escribimos texto en una expresión de validación o Criterios, el texto deberá encerrarse entre comillas si contiene un espacio o puntuación. Si el texto no contiene un espacio o puntuación, podemos escribir el texto sin las comillas y Microsoft Access las insertará automáticamente. Por ejemplo, si escribimos la expresión París, Microsoft Access muestra la expresión "París". OPERADORES Microsoft Access incluye seis categorías de operadores: aritméticos, de comparación, de concatenación, lógicos, de coincidencia de caracteres y varios. Operadores aritméticos Operador Operación * Multiplicación + Suma - Resta / División 36 \ División de enteros ^ Exponenciación Mod Módulo aritmético Operadores de comparación Operador Significado < Menor que <= Menor que o igual a > Mayor que >= Mayor que o igual a = Igual a <> No igual a Operadores de concatenación Operador Operación & Concatenación de cadenas Operadores lógicos Operador Operación Y Conjunción Eqv Equivalencia Imp Implicación Negado Negación O Disjunción (O inclusivo) OExcl Exclusión (O exclusivo) 37 Operadores de coincidencia de caracteres Operador Operación Como Comparación de cadenas Operadores varios Operador Descripción ! Usado para separar elementos en un identificador; precede el nombre de un objeto definido por el usuario. .(dot) Usado para separar elementos en un identificador; precede el nombre de un objeto definido por Microsoft Access. Entre...Y Determina si el valor de una expresión está comprendido entre un rango de valores. En Determina si el valor de una expresión es igual a cualquiera de los valores en una lista especificada. Es Usado con la palabra reservada Null para determinar si una expresión es Null A continuación vamos a aclarar algunos operadores que pueden resultar interesantes: ENTRE: Útil para especificar un rango de valores. La cláusula Entre 10 Y 20 es la misma que la especificación >=10 Y <=20. EN: Útil para especificar una lista de valores, entre los que uno de ellos puede ser igual que el campo que se está buscando. La cláusula En ("ALICANTE";"CASTELLON";"VALENCIA") tiene el mismo resultado que "ALICANTE" O "CASTELLON" O "VALENCIA". COMO: Permite buscar muestras en campos de texto. Se pueden incluir caracteres especiales y rangos de valores en cadenas de comparación ‘COMO’ para definir la muestra de carácter deseada. El carácter ? sustituye a cualquier carácter simple en esa posición; * indica ninguno o más caracteres en esa posición; # especifica un único dígito numérico en esa posición. Se pueden definir rangos entre corchetes [a-g] o [0-5] y excepciones usando ! [!0-9] (que significa "cualquier carácter, menos un número"). Por ejemplo, la expresión Como "?[a-k]d[0-9]*", selecciona: un carácter cualquiera en la primera posición; una letra entre la a y la k en la segunda posición; la letra d en la 38 tercera posición; cualquier número (entre 0 y 9) en la cuarta; y cualquier número de caracteres después de todo eso. DIA (fecha): Devuelve un valor de 1 a 31 para el día del mes. Por ejemplo, Día([Nacido])<15, selecciona los nacidos en la primera quincena. MES (fecha): Devuelve un valor de 1 a 12 para el mes del año. Por ejemplo, Mes([Nacido])=6, selecciona los nacidos en junio. AÑO (fecha): Devuelve un valor entre 1900 y 9999 para el año. Año([Nacido])=1985, selecciona los nacidos en el año 1985. DIASEM (fecha): Devuelve un valor de 1 (domingo) a 7 (sábado) para el día de la semana. DíaSem([Nacido]) Entre 2 y 6, selecciona los nacidos en día laboral. HORA (fecha): Devuelve la hora (desde 0 hasta 23). Por ejemplo, HORA([Entrega])<12, selecciona los entregados antes de las 12. AHORA(): Devuelve la fecha y la hora actual del sistema. Por ejemplo, <AHORA()-30, selecciona fechas de hace más de 30 días. ORDENAR LOS REGISTROS Los registros de una consulta se pueden ordenar en orden alfabético o en secuencia numérica, ya sea en orden ascendente (A-Z, 0-9) o descendente (Z-A, 9-0). Podemos ordenar en base a un solo campo (por ejemplo, un campo Apellidos) o usando hasta diez campos. Para ordenar los registros en una consulta: 1. Abrimos la consulta en Vista diseño. 2. Hacemos clic en la celda Orden de la cuadrícula QBE del campo por el que deseemos ordenar. 3. Hacemos clic en la flecha abajo y seleccionamos una opción. 4. Para ordenar por campos adicionales, repetimos los pasos 2 y 3. Para quitar un orden: 1. Hacemos clic en la celda Orden del campo cuyo orden deseemos quitar. 2. Hacemos clic en la flecha abajo y en la lista, seleccionamos "(sin ordenar)". Notas: 39 • El orden de los campos en la cuadrícula QBE es importante cuando se desea ordenar por múltiples campos. Microsoft Access primero ordena por el campo Orden más a la izquierda, después por el siguiente campo Orden a la derecha y así sucesivamente. Por ejemplo, para ordenar primero por el campo Apellidos y después por el campo Nombre, el campo Apellidos deberá estar a la izquierda del campo Nombre en la cuadrícula. • Cuando se cierra una consulta, Microsoft Access mueve los campos Orden a las columnas más a la izquierda de la cuadrícula QBE. Si posteriormente abrimos la consulta en Vista diseño, la cambiamos y guardamos los cambios, Microsoft Access muestra los campos Orden en el extremo izquierdo de la hoja de datos. Si es necesario, podemos reorganizar los campos. • No es posible ordenar basándose en un asterisco (que representa a todos los campos de una tabla o consulta). Si deseamos ordenar los registros de una consulta que incluya un asterisco, tendremos que agregar los campos individuales por los que deseamos ordenar (además del asterisco), y después ocultar los campos adicionales, para impedir que Microsoft Access los muestre dos veces. • Se usa el orden de clasificación ascendente para ordenar fechas y horas de la más antigua a la más reciente. Se usa el orden de clasificación descendente para ordenar de la más reciente a la más antigua. CALCULAR TOTALES Una consulta se puede usar para calcular totales para todos los registros o para grupos de registros. Por ejemplo, se puede buscar el número total de pedidos procesados o el número de pedidos procesados por categoría de productos. Microsoft Access calcula los totales basándose en la función de agrupamiento que seleccionemos en la fila Total de la cuadrícula QBE. Por ejemplo, podemos seleccionar Suma para que Microsoft Access sume los valores seleccionados o Promedio para encontrar el promedio de los valores seleccionados. Si lo deseamos, podemos especificar criterios en un cálculo de totales para limitar los registros ya sea antes o después de que Microsoft Access realice el cálculo. Para calcular totales en una consulta: 1. Creamos una consulta de selección o de tabla de referencias cruzadas en Vista diseño. 2. Agregamos las tablas cuyos registros deseemos sumar. 3. Hacemos clic en el botón "Totales" de la Barra de herramientas (o usamos la opción Ver -> Totales). Microsoft Access muestra la fila Total en la cuadrícula QBE. 4. Arrastramos los campos para los que deseamos calcular totales, definir agrupamientos y especificar criterios a la cuadrícula QBE. 40 5. En la fila Total, seleccionamos la opción apropiada para cada campo de la cuadrícula. Para cada campo de una consulta de totales, deberemos seleccionar una opción en la fila Total. 6. Si lo deseamos, podemos introducir criterios en los campos apropiados. 7. Si es necesario, desactivamos la casilla de la fila Mostrar para aquellos campos que no deseemos incluir en la hoja de respuestas dinámica. También podemos ordenar por campos. 8. Hacemos clic en el botón "Vista hoja de datos" de la Barra de herramientas para ver la hoja de respuestas dinámica. Nota: • No es posible agregar la opción asterisco (*) a una fila Campo de una consulta en la que está calculando totales. Para especificar criterios al calcular totales: • Para limitar las agrupaciones, podemos especificar los criterios en los campos Agrupar por. Por ejemplo, si estamos calculando el número de pedidos por categoría de productos, podríamos especificar criterios para devolver totales únicamente para Productos del mar y Frutas y verduras. • Para devolver únicamente los valores de totales seleccionados, debemos especificar los criterios en la fila Total (el campo en el que selecciona una función de agrupamiento). Por ejemplo, si estamos calculando el número de pedidos por departamento, podemos especificar los criterios para que Microsoft Access muestre solamente aquellos departamentos que cuenten con más de 200 pedidos en la hoja de respuestas dinámica. • Para limitar los registros en los que se realiza el cálculo, debemos usar la opción "Dónde" en la fila Total. Podemos especificar criterios para el mismo campo que estamos usando para calcular totales arrastrando el campo hacia abajo una segunda vez. O bien, podemos especificar criterios para otros campos arrastrando esos campos y seleccionando "Dónde" en la fila Total. Por ejemplo, si estamos calculando el número de pedidos por departamento, podemos limitar los pedidos a aquellos realizados en el último trimestre de 1991 especificando criterios para el campo Fecha de pedido. Para especificar criterios para una consulta de totales: 41 Creamos una consulta en Vista diseño, agregando las tablas que deseemos usar en la consulta. A continuación: 1. Arrastramos los campos que deseamos usar en la consulta a la cuadrícula QBE. 2. Hacemos clic en el botón "Totales" de la Barra de herramientas para agregar la fila Total a la cuadrícula. 3. Seleccionamos una opción en la fila Total para cada campo de la cuadrícula. 4. En la fila Criterios, escribimos criterios para los campos apropiados. 5. Hacemos clic en el botón "Vista Hoja de datos" de la Barra de herramientas para ver la hoja de respuestas dinámica. Notas: • Microsoft Access evalúa los criterios Dónde antes de realizar el cálculo. • Hay que ocultar siempre los campos para los que seleccionó "Dónde", desactivando la casilla de verificación de la fila Mostrar. MOSTRAR VALORES SUPERIORES Es posible especificar cuántos valores (de los más altos o de los más bajos) debe devolver la consulta. Para ello, escribimos una cifra en la fila "Valores superiores" de las propiedades de la consulta. La configuración de la propiedad Valores Superiores es un entero o un porcentaje. Por ejemplo, para mostrar los 10 valores superiores de un campo, escribimos 10 en el cuadro de la propiedad Valores Superiores; y para mostrar los valores que se encuentren en el 10 por ciento superior, escribimos 10%. Para mostrar las propiedades de la consulta, podemos elegir la opción Ver -> Propiedades o utilizar el botón adecuado de la barra de herramientas. Para asegurarnos de que mostramos las propiedades de la consulta, y no las de un campo, podemos hacer clic en una zona vacía de la parte superior del diseño de la consulta. Observaciones: • El campo cuyos valores superiores deseemos mostrar debe ser el campo de Orden situado más a la izquierda en la cuadrícula QBE. En la celda Orden del campo, seleccionaremos Descendente para presentar los valores más altos o Ascendente para presentar los más bajos. Podemos ordenar según otros campos, en caso de que la consulta devuelva varios registros con el mismo valor en el primer campo. 42 • • Para obtener los valores más altos o más bajos sin que aparezcan valores duplicados, debemos establecer Sí en la propiedad Valores Únicos. Al establecer la propiedad Valores Superiores, Microsoft Access devuelve los primeros n registros en los que los valores de los campos especificados cumplen los criterios. También se devuelven todos los registros con valores que concuerdan con el valor del registro n-ésimo. CONSULTAS DE TABLA DE REFERENCIAS CRUZADAS Usaremos una consulta de tabla de referencias cruzadas cuando deseemos resumir datos en un formato de filas y columnas. Con una consulta de tabla de referencias cruzadas, usamos valores de un campo determinado o una expresión como encabezados de columnas, a fin de poder ver los datos en un formato más compacto que el que se obtiene con una consulta de selección. Podemos crear una consulta de tabla de referencias cruzadas con la ayuda de un Asistente, o bien seguir los pasos siguientes para hacerlo sin él: Para crear una consulta de tabla de referencias cruzadas sin un Asistente: 1. En el modo de Vista Diseño, de la consulta, hacemos clic en el botón desplegable "Tipo de consulta" de la barra de herramientas, o bien elegimos el comando Consulta -> Tabla de referencias cruzadas. Microsoft Access mostrará las filas Total y Tab ref cruz en la cuadrícula QBE. 2. 3. Si es necesario, agregamos tablas, incluimos campos y establecemos criterios (de la misma forma que al crear una consulta de selección) para seleccionar los registros que deseemos con la consulta de tabla de referencias cruzadas. 4. Para el campo o campos cuyos valores deseemos que aparezcan como filas, hacemos clic en la fila Tab ref cruz y en el cuadro de lista desplegable, seleccionamos "Encabezado de fila". Debemos dejar el valor predeterminado de Agrupar por en la fila Total de estos campos. 5. Para los campos cuyos valores deseemos que aparezcan como encabezados de columnas, hacemos clic en la fila Tab ref cruz y seleccionamos "Encabezado 43 de columna". También debemos dejar el valor predeterminado de Agrupar por en la fila Total de estos campos. 6. Para los campos cuyos valores deseemos usar en la tabla de referencias cruzadas, hacemos clic en la fila Tab ref cruz y seleccionamos "Valor". En la fila Total de este campo, seleccionamos el tipo de función de agrupamiento que deseemos para la tabla de referencias cruzadas (por ejemplo, Suma, Promedio o Cuenta). 7. Si estamos especificando criterios, seleccionamos "Dónde" en la fila Total del campo deseado y escribimos una expresión en la fila Criterios. Por ejemplo, podríamos mostrar los totales de ventas para los productos de ciertas categorías, tal como Carnes y Pescados/Mariscos. Dejamos la fila Tab ref cruz de este campo en blanco. 8. Para ver el resultado de la consulta de tabla de referencias cruzadas, hacemos clic en el botón "Vista Hoja de datos" de la barra de herramientas. Para detener la ejecución de la consulta: Presionar las teclas CTRL+INTERRUMPIR. Notas: • Microsoft Access cuenta con una opción especial para ordenar y limitar los valores de los encabezados de columna. Por ejemplo, podemos ordenar los meses del año cronológicamente en lugar de alfabéticamente, como se muestra en el ejemplo de consulta de tabla de referencias cruzadas. Para ordenar o limitar los títulos de las columnas, hacemos clic en el botón "Propiedades" de la barra de herramientas, y seleccionamos la propiedad Encabezados de columna. Escribimos los encabezados en el orden que deseemos, separándolos con un punto y coma. • Si incluimos un campo en la consulta, pero elegimos "(sin mostrar)" en la celda Tabla de referencias cruzadas y "Agrupar por" en la celda Total, Microsoft Access agrupa de acuerdo a ese campo como Encabezado de columna, pero no muestra la fila en la hoja de respuestas dinámica. • Si los valores de Encabezado de columna incluyen caracteres que normalmente no se permiten en los nombres de campos (por ejemplo, decimales), Microsoft Access reemplaza el carácter con un carácter de subrayado en la hoja de datos. 44 CONSULTAS DE CREACIÓN DE TABLA Se puede crear una tabla a partir de la hoja de respuestas dinámica de una consulta, definiendo una consulta de creación de tabla. Las consultas de creación de tabla se pueden usar para archivar registros antiguos, crear copias de seguridad de las tablas o crear copias para exportar a otras bases de datos, o usar como la base de informes que muestran datos correspondientes a un período de tiempo específico. Por ejemplo, podríamos crear una tabla de Ventas mensuales por región ejecutando la misma consulta de crear tabla cada mes. Para crear una tabla a partir de los resultados de una consulta: 1. Creamos una consulta de selección para seleccionar los registros que deseamos incluir en la nueva tabla. 2. Hacemos clic en el Botón "Vista hoja de datos" para verificar la hoja de respuestas dinámica y asegurarnos de que hemos seleccionado los registros correctos. Cuando estemos satisfechos con la hoja de respuestas dinámica, volvemos a la Vista diseño. 3. Elegimos la opción Consulta -> Consulta de creación de tabla. 4. Microsoft Access muestra el cuadro de diálogo Crear tabla. 5. 6. En el cuadro "Nombre de tabla", escribimos el nombre de la tabla nueva, o bien, seleccionamos la tabla en el cuadro de lista desplegable si deseamos reemplazar los datos de la tabla seleccionada con los datos de la hoja de respuestas dinámica. Si el nombre de tabla que escribimos o seleccionamos es el mismo nombre de una tabla existente, Microsoft Access reemplaza la estructura y datos de la tabla original con los de la tabla nueva. 7. Hacemos clic sobre "Aceptar" cuando terminemos. En este momento, aún NO se ha creado la nueva tabla. 8. Para crearla efectivamente, hay que ejecutar la consulta. Para ello, hacemos clic en el botón "Ejecutar" de la Barra de herramientas (o usamos la opción Consulta -> Ejecutar). Microsoft Access muestra un cuadro de confirmación que nos indica cuántos registros se agregarán a la nueva tabla. 45 9. Elegimos "Aceptar" para ejecutar la consulta. CONSULTAS DE ACTUALIZACIÓN Una consulta de actualización se puede usar para realizar cambios a un grupo de registros que nosotros especifiquemos con criterios establecidos. Podemos usar expresiones en una consulta de actualización para realizar el cambio. Por ejemplo, podemos disminuir el precio de todas las bebidas en un 10 por ciento o aumentar los gastos por envío de todos los artículos en un 3 por ciento. Para actualizar registros: 1. Creamos una consulta de selección para seleccionar los registros que deseemos actualizar. 2. Hacemos clic en el botón "Vista hoja de datos" para verificar la hoja de respuestas dinámica y asegurarnos de que hemos seleccionado los registros correctos. Cuando estemos satisfechos con la hoja de respuestas dinámica, volvemos a la Vista diseño. 3. Elegimos la opción Consulta -> Consulta de actualización. Microsoft Access agrega la fila Actualizar a, a la cuadrícula QBE de la consulta de actualización. 4. En la celda Actualizar a del campo que deseamos actualizar, introducimos una expresión o un valor para cambiar los datos. Por ejemplo, para reducir los precios en un 20 por ciento en un campo Costo, escribimos [Costo]*0,8. 5. Hacemos clic en el botón "Ejecutar" de la Barra de herramientas. Microsoft Access muestra un cuadro de confirmación que nos indica cuántos registros se actualizarán en la tabla. 6. Elegimos "Aceptar" para ejecutar la consulta. Nota: Es mejor usar el comando Edición -> Reemplazar (en una hoja de datos o formulario) en lugar de una consulta de actualización cuando se desee confirmar cada cambio o cambiar sólo una cadena de texto en los registros. Por ejemplo, es posible que sea más rápido usar el comando Reemplazar para cambiar un título de Vendedor a Representante de ventas que cambiarlo usando una consulta de actualización. CONSULTAS DE DATOS ANEXADOS Usaremos una consulta de datos anexados cuando queramos copiar todos los registros (o un grupo determinado de registros basados en un conjunto de criterios) de una tabla a otra. 46 Para anexar registros: 1. Creamos una consulta de selección para seleccionar los registros que deseemos anexar. 2. Hacemos clic en el botón "Vista hoja de datos" para verificar la hoja de respuestas dinámica y asegurarnos de que hemos seleccionado los registros correctos. Cuando estemos satisfechos con la hoja de respuestas dinámica, volvemos a la Vista diseño. 3. Elegimos la opción Consulta -> Consulta de datos anexados. 4. 5. Tras escribir o seleccionar el nombre de la tabla a la que se anexarán los registros seleccionados, pulsamos sobre el botón Aceptar. 6. En la cuadrícula QBE aparecerá la fila Anexar a. 7. En la celda Anexar a indicaremos el nombre del campo de la tabla de destino donde se pegarán los datos correspondientes al campo de la tabla de origen. 8. Hacemos clic en el botón "Ejecutar" de la Barra de herramientas. Microsoft Access muestra un cuadro de confirmación que nos indica cuántos registros se anexarán en la tabla. 9. Elegimos "Aceptar" para ejecutar la consulta. CONSULTAS DE ELIMINACIÓN Son un tipo de consulta de acciones. Usaremos una consulta de eliminación para eliminar numerosos registros, que podemos especificar estableciendo criterios. Por ejemplo, usaremos una consulta de eliminación para eliminar todos los registros de los pedidos recibidos en 1999. Importante: • Hay que asegurarse de haber seleccionado los registros correctos antes de ejecutar una consulta de eliminación, y comprobar la hoja de respuestas 47 dinámica haciendo clic en el botón "Vista Hoja de datos". Una vez ejecutada la consulta, si elegimos "Aceptar" para confirmar la eliminación, no podremos deshacer la operación. • Es muy importante conservar copias de seguridad de los datos en todo momento. Así, si eliminamos los registros incorrectos, podremos recuperarlos a partir de las copias de seguridad. Notas: • Microsoft Access ignorará la propiedad Valores Únicos (establecida en la hoja de propiedades de la consulta) si primero se crea una consulta de selección y luego se la convierte en una consulta de eliminación haciendo clic en el botón "Consulta de eliminación". • Sólo se puede eliminar registros completos de una tabla y no datos de campos específicos. • Se puede eliminar registros de una sola tabla o de múltiples tablas que tienen una relación uno a uno. Sin embargo, se debe ejecutar dos consultas para eliminar los registros de múltiples tablas que tienen una relación uno a varios. CONSULTAS DE PARÁMETROS Cuando contamos con consultas que ejecutamos periódicamente, podemos automatizar el proceso de cambiar los criterios creando una consulta de parámetros. Cuando tenemos una consulta de parámetros, Microsoft Access nos pide los criterios cuando ejecutamos la consulta. Esto elimina los pasos adicionales de abrir la consulta en Vista diseño y cambiar los criterios. Por ejemplo, podríamos definir una consulta para mostrar las ventas semanales de los vendedores individuales y hacer que Microsoft Access nos pida el nombre del vendedor cuyas ventas deseamos examinar. Las consultas de parámetros son particularmente útiles cuando se usan como la base de formularios o informes, pues podemos hacer que Microsoft Access nos pida los criterios cuando abra el formulario o cuando imprima el informe. También podemos crear nuestro propio formulario que nos pida los criterios antes de imprimir un informe. Para crear una consulta de parámetros: 1. Creamos una consulta de selección. 2. En la fila Criterios del campo en el que generalmente introducimos los criterios, escribimos el texto que deseamos que aparezca en el cuadro de diálogo, encerrándolo entre corchetes. Por ejemplo, escribiremos [Escriba el nombre del país] para que Microsoft Access nos pida que escribamos el nombre del país. Nota: No se debe usar solamente el nombre de campo como mensaje, pues la 48 duplicación del nombre de campo podría causar problemas. Sin embargo, sí se puede incluir el nombre de campo dentro del mensaje. 3. Hacemos clic en el botón "Vista hoja de datos" para comprobar la consulta. Microsoft Access nos pedirá los criterios, usando el texto que hayamos escrito. Notas: • Podemos hacer que Microsoft Access nos pida múltiples criterios. Para ello, escribimos los diferentes textos en las celdas apropiadas de la cuadrícula QBE. • Se puede usar el operador Entre...Y en una consulta de parámetros para permitir un rango de valores. Por ejemplo, podríamos escribir Entre [Precio mínimo] Y [Precio máximo] en la fila Criterios para permitir al usuario mostrar una lista de productos dentro de un determinado rango de precios. • Una consulta de parámetros se puede usar con el operador Como que le permite al usuario usar caracteres comodín. Por ejemplo, podría escribir Como [Escriba la primera letra]&* para permitir que el usuario escriba B para mostrar todos los valores que comienzan con la letra B. GENERAR INSTRUCCIONES SQL DESDE UNA CONSULTA Las cláusulas e instrucciones SQL pueden usarse en muchas expresiones, como argumentos para los procedimientos de Access Basic y como configuraciones de propiedad. Cada vez que creamos una consulta en la ventana de la consulta, en el fondo, Microsoft Access construye el equivalente en SQL. Podemos examinar esta instrucción SQL y copiarla y pegarla en cualquier lugar donde la necesitemos. Para generar una instrucción SQL y copiarla y pegarla: 1. En la ventana de diseño de la consulta, creamos la consulta a partir de la que deseamos generar la instrucción SQL. 2. Elegimos Ver -> Vista SQL. El cuadro de diálogo muestra el equivalente SQL de lo que hayamos creado en la ventana de la consulta. 3. En el cuadro de diálogo, seleccionamos toda o parte de la instrucción SQL y después presionamos CTRL+C para copiar el texto seleccionado en el Portapapeles. 4. Cerramos el cuadro de diálogo. 5. Colocamos el punto de inserción donde deseemos pegar la instrucción SQL. 6. Presionamos las teclas CTRL+V para pegar el texto. 49 Formularios (Microsoft Access) Características de los formularios Cómo crear formularios Diseñar un formulario: Vista diseño Los controles del cuadro de herramientas Manejo de los controles Crear un formulario con el Asistente para formularios CARACTERÍSTICAS DE LOS FORMULARIOS La introducción de datos directamente sobre las tablas es bastante incómoda. No sólo no se pueden ver todos los campos sin desplazarse con la barra de herramientas, sino que, además, los registros están uno encima de otro. Si se pierde la referencia del registro, se pueden introducir datos que no correspondan a ese registro. Los formularios permiten la introducción de datos en las tablas de una forma más sencilla y más limpia. En vez de introducir los datos directamente sobre la tabla, los datos se introducen en la tabla a través de los formularios. Hay diferentes formatos de formularios: en alguno de ellos, los registros se pueden ver de forma aislada; en otros, todos los registros juntos; finalmente, también se puede diseñar un formulario con un formato totalmente personalizado. En una base de datos se puede crear más de un formulario basado en una misma tabla. Un formulario puede coger unos cuantos campos de una tabla o todos, e incluso puede tomar campos de diferentes tablas. Las tablas almacenan la información y los formularios se encargan de recogerla y mostrarla. Para que las tablas puedan incluir los datos de los formularios deben estar cerradas. Al cerrar o guardar los formularios, las tablas se actualizan. Los formularios ofrecen: • Una interfaz de usuario mucho más cómoda, ordenada y atractiva que la ofrecida por las tablas y las consultas. 50 • Una introducción más rápida y sencilla de datos. • La posibilidad de controlar y mejorar la manera en que los datos aparecen en la pantalla. Por ejemplo, se puede añadir color y sombreado, o añadir formatos especiales de números. • La visualización de objetos OLE como fotografías, gráficos o dibujos directamente en el formulario. • Unos nuevos elementos (los controles) que sirven para mostrar los datos (controles textuales o gráficos) o para automatizar tareas (controles de automatización). • La posibilidad de añadir controles como listas desplegables o cuadros de comprobación. • La incorporación de tareas que no se pueden realizar en la introducción de datos directamente en una tabla o en una consulta. • La posibilidad de incorporar macros. CÓMO CREAR FORMULARIOS Para crear un nuevo formulario, tenemos que seleccionar la pestaña Formularios de la ventana de la base de datos. Tras pulsar sobre el botón Nuevo, aparecerá la siguiente ventana: En esta ventana se nos dan siete posibilidades distintas para crear un formulario, que responden a tres situaciones distintas: 51 1) Crear el formulario, manualmente, en Vista diseño; 2) crearlo con ayuda de los asistentes; 3) que se cree él solo, mediante los autoformularios. Veamos las siete posibilidades: • Vista Diseño: seleccionando esta opción, podremos crear un formulario totalmente personalizado. Sin embargo, tendremos que hacer todo el trabajo nosotros. • Asistente para formularios: Access crea automáticamente un formulario con los campos que nosotros seleccionemos, y con las opciones que escojamos en cada paso. Con este asistente podemos crear formularios de formatos muy distintos. • Autoformulario: en columnas: Access crea automáticamente un formulario en columnas con todos los campos de la tabla. Cada registro aparece de forma independiente con los campos ordenados en una columna. • Autoformulario: en tabla: Access crea automáticamente un formulario con todos los campos en formato tabular: Los registros aparecen en filas y columnas. En este tipo de formulario se presentan todos los registros que se hayan introducido. • Autoformulario: en hoja de datos: esta opción crea automáticamente un formulario con el formato de hoja de datos. Éste es el mismo formato que el que tienen las tablas para introducir datos. • Asistente para gráficos: crea un formulario con un gráfico, es decir, muestra los datos en formato gráfico. • Asistente para tablas dinámicas: crea un formulario de Microsoft Access con una tabla dinámica de Microsoft Excel. Una tabla dinámica es una tabla interactiva que puede resumir grandes cantidades de datos, utilizando el formato y los métodos de cálculo que se elijan. DISEÑAR UN FORMULARIO: VISTA DISEÑO Habrá casos en los que queramos diseñar un formulario independiente, es decir que no dependa de ninguna tabla o consulta. Por ejemplo, el formulario principal que se abre al iniciar Access y que funciona como un "centro de control" que nos lleva, mediante el uso de botones, a las demás opciones de la aplicación de base de datos. En el resto de casos, lo más frecuente y práctico es dejar que Access cree el formulario (con los asistentes o los autoformularios) y, posteriormente, nosotros retocaremos el diseño, para adaptarlo a nuestros gustos o necesidades. Por ejemplo, así se vería un autoformulario (en columnas) de la tabla Países del mundo. 52 Al pasar a la Vista diseño, el aspecto sería éste: 53 Como su nombre indica, en esta vista, fundamentalmente, se varía el diseño del formulario. La ventana se compone de la barra de menús y tres barras de herramientas: La primera barra de herramientas se refiere al diseño de formularios. La mayoría de los botones son conocidos. Hay que destacar el botón caja de herramientas que sirve para abrir o cerrar el cuadro de herramientas. , La segunda barra de herramientas se refiere al formato del formulario, y es muy parecida a la barra de herramientas de un editor de textos. Está compuesta por: Objeto: dentro del marco aparece el objeto seleccionado. Si pulsamos la flecha de la derecha, aparecerán todos los objetos del formulario. Si hacemos clic sobre cualquiera de ellos, el objeto se selecciona y le podemos aplicar todas las características de formato que queramos. A través de este menú, sólo podemos seleccionar los objetos de uno en uno. Fuente: al pulsar la flecha de la derecha, se despliegan los diferentes tipos de fuentes que existen, y que podemos aplicar a todos los objetos de un formulario. Tamaño: sirve para dar mayor número de puntos a una fuente, y, de esta forma, aumentar el tamaño. Negrita, Cursiva y Subrayado: Para aplicar estos estilos al objeto seleccionado. Alinear a la izquierda, Centrar, Alinear a la derecha: Para aplicar estos estilos al objeto seleccionado. Color de fondo o de relleno, Color de fuente o de primer plano, Color de borde o de línea: pulsando sobre cualquiera de estos botones, se despliega una paleta de colores predeterminados. Al elegir cualquiera de ellos, este color se aplicará al objeto que esté seleccionado. Ancho de borde o de línea: hay seis grosores diferentes, además del que viene por defecto. Efecto especial: hay seis efectos especiales para aplicar al campo: sin relieve, con relieve, bajo relieve, grabado, sombreado y cincelado. La tercera barra de herramientas se refiere al cuadro de herramientas. En él se encuentran todos los elementos que componen el formulario, los "controles". Dada la importancia de los mismos, se estudia en capítulo aparte. 54 LOS CONTROLES DEL CUADRO DE HERRAMIENTAS Toda la información de un formulario está contenida en los controles: • Los controles son objetos de un formulario que muestran datos, realizan acciones o decoran el formulario. • Los controles también son elementos del informe. • Los controles pueden ser dependientes, independientes o calculados. • Control dependiente: está unido a un campo de una tabla o consulta. Los controles dependientes se utilizan para mostrar, introducir y actualizar valores de los campos de la base de datos. • Control independiente: no tiene origen en una tabla o consulta. Los controles independientes se pueden utilizar para mostrar información, líneas, rectángulos e imágenes, independientemente de que éstos existan en la tabla. • Control calculado: el origen de los datos de un control calculado es una expresión, no un campo. Una expresión es una combinación de operadores ("=", "+", "-", "*" y "/"), nombres de controles, nombres de campos, funciones que devuelven un solo valor y valores constantes. La expresión puede incluir datos de un campo de la tabla o consulta del formulario o datos de otro control del formulario. A los controles se tiene acceso a través del cuadro de herramientas de la Vista diseño. Estos son los diferentes tipos de controles: Etiqueta Crea una etiqueta Cuadro de texto Sirven para mostrar o introducir datos Grupo de opciones Formado por un grupo de casillas de verificación o botones de opción. Sólo permite que se active una opción. Botón de alternar Para valores Si/No. No puede utilizarse dentro de un grupo de opciones. Botón de opción Para valores Si/No. Se puede utilizar dentro de un grupo de opciones. Casilla de verificación Para valores Si/No. Se puede utilizar dentro de un grupo de opciones. 55 Cuadro combinado Permite seleccionar un elemento de una lista o escribir el dato directamente. Cuadro de lista Permite seleccionar un elemento de una lista. Botón de comando Inserta un botón que, al ser pulsado, ejecuta instrucciones. Imagen Inserta un marco para incluir una imagen. No es un objeto OLE. No se edita. Marco de objeto independiente Inserta un marco para incluir un objeto OLE que no depende del contenido de un campo. Marco de objeto dependiente Inserta un marco para incluir un objeto OLE que depende del valor de un campo. Salto de página Cuando el formulario tiene más de una página, así se indica dónde empieza cada una. Control ficha Sirve para presentar varias páginas de información como un solo conjunto de información. Subformulario/subinforme Permite introducir un formulario dentro de otro. Línea Inserta una línea en el formulario. Rectángulo Inserta un rectángulo. En el cuadro de herramientas hay otros botones que no son controles: Pulsando este botón se podrá seleccionar cada uno de los objetos. Para utilizar el asistente de controles. Para ver más controles. MANEJO DE LOS CONTROLES Hay controles independientes que muestran información que sólo está en el formulario. Por ejemplo, las etiquetas, las líneas y los rectángulos. Hay controles dependientes que muestran información contenida en la tabla o consulta subyacente. Por ejemplo, los cuadros de texto y los marcos de objeto. Para realizar cualquier modificación en un control, hay que seleccionarlo, haciendo clic sobre él. 56 Para modificar el tamaño de las etiquetas y desplazar los campos se selecciona la etiqueta. Seleccionar: para seleccionar varios campos, se debe pulsar la tecla Mayúsculas y, sin soltarla, hacer clic sobre todos los elementos que se desee seleccionar. Si, por equivocación, se seleccionara uno que no se quisiera, sin soltar la tecla Mayúsculas se debe volver a hacer clic sobre el elemento equivocado para deseleccionarlo. También se puede seleccionar uno o varios elementos haciendo un cuadrado con el ratón. Para realizar esta operación se hace clic sobre una de las esquinas de lo que va a ser el cuadrado, se arrastra el ratón en diagonal sin soltar el botón y, cuando ese cuadrado abarque todo lo que se quiere seleccionar, se suelta el botón del ratón. Modificar el tamaño: haciendo clic sobre los cuadraditos pequeños de las esquinas, se modifica el tamaño del objeto seleccionado. El ratón se convertirá en una flecha que apunta en dos direcciones; al estirar hacia una de ellas, variará el tamaño. Modificar la posición: si se pulsa sobre la esquina superior izquierda el ratón se convertirá en una mano con el dedo índice apuntando hacia arriba. Haciendo clic se podrá mover la etiqueta o el campo de forma independiente. Sin embargo, si se pasa el ratón sobre cualquiera de los bordes del campo o de la etiqueta el cursor será una mano abierta. Si se hace clic y se mueve, se moverá tanto el campo como la etiqueta. Alinear: para alinear varios elementos, primero hay que seleccionarlos y luego elegir la opción Formato -> Alinear. Se desplegará un menú para seleccionar respecto a qué lado se deben alinear esos campos. CREAR UN FORMULARIO CON EL ASISTENTE PARA FORMULARIOS 1. En la ventana de la base de datos, hacer clic en la pestaña del objeto "Formularios" y después en el botón "Nuevo". 2. En la siguiente ventana, seleccionar la opción Asistente para formularios y la tabla de la que se van a extraer los campos. 57 3. En la siguiente ventana, elegir los campos que se desea que aparezcan en el formulario. Aunque en la ventana anterior se ha seleccionado la tabla de la cual se quieren extraer los campos para el formulario, aún se puede cambiar de tabla pulsando sobre la flecha que se encuentra bajo Tablas/Consultas. Una vez seleccionada la tabla, escoger los campos que se quiere que aparezcan en el formulario. Se pueden seleccionar todos los campos o sólo algunos. Incluso se pueden seleccionar campos de diferentes tablas para un mismo formulario. 4. Para seleccionar los campos del formulario se utilizan los botones que hay entre Campos disponibles y Campos seleccionados: Pasar un campo Pasar todos los campos Eliminar un campo ya seleccionado Eliminar todos los campos ya seleccionados 5. 6. Para añadir un campo a la lista de Campos seleccionados: primero se selecciona . El campo aparecerá en la el campo con el ratón y después se pulsa el botón zona de la derecha: Campos seleccionados. A su vez, el campo desaparecerá de la lista de Campos disponibles. 7. Tras seleccionar todos los campos que se quiere que aparezcan en el formulario, se pulsa el botón Siguiente para continuar con la creación del formulario. 8. Siempre se puede volver al paso anterior pulsando el botón Atrás para volver y modificar alguna de las elecciones hechas. Si se pulsa el botón Cancelar se cancela la creación de un formulario sin guardar lo que se ha hecho. Si se pulsa el botón Finalizar el formulario quedará guardado hasta el paso en el que se esté en ese momento. 9. Tras pulsar Siguiente aparece una nueva pantalla, en la que se debe seleccionar el tipo de distribución de los campos. Al seleccionar cada opción, aparece una muestra de cada distribución en la ventana izquierda: • En columnas: cada columna tiene un campo y una etiqueta. • Tabular: cada fila es un registro. En la primera fila están las etiquetas. • Hoja de datos: es el mismo formato que el de las tablas. • Justificado: los campos están juntos, respetando la longitud de cada uno. 9. Tras elegir el tipo de distribución se pulsa Siguiente. 10. En la siguiente ventana se selecciona el aspecto gráfico del formulario: el color o la imagen de fondo y el color de las etiquetas y los botones. Se selecciona uno de los modelos de la lista y se pulsa Siguiente. 58 11. En la nueva ventana, se le da nombre al formulario. Éste es el último paso de creación del formulario. A partir de este momento se pueden introducir datos a través del formulario. También cabe la opción de seguir modificando el diseño del formulario desde la Vista diseño. 12. El formulario ya está creado. Dependiendo de las modificaciones personales, tendrá un aspecto distinto, pero la finalidad es la misma: introducir datos de una forma más cómoda. INFORMES (Microsoft Access) Características de los informes Cómo crear un informe Crear un informe con el Asistente para informes Crear un informe con el Asistente para etiquetas CARACTERÍSTICAS DE LOS INFORMES Se pueden imprimir tablas y consultas en el modo de Vista Hoja de Datos; también se pueden imprimir datos provenientes de formularios. Pero el método más correcto para imprimir datos es la utilización de informes. Los informes no guardan información, sólo son una presentación gráfica de los datos contenidos en tablas o los hallados en consultas. Esta presentación gráfica está orientada a la impresión de los datos. El diseño puede ser en columnas, en tablas o en etiquetas, dependiendo de la utilidad que se le vaya a dar al impreso. También se pueden hacer informes que contengan gráficos. Los informes constituyen la mejor manera de crear una copia impresa de la información extraída o calculada a partir de los datos de la base de datos. Poseen dos ventajas principales sobre otros métodos de impresión de datos: 1. Los informes pueden comparar, resumir y calcular subtotales a partir de grandes conjuntos de datos. 2. Se pueden crear informes para generar, en un formato muy atractivo, diversos documentos como facturas, pedidos de compra, etiquetas de correos, elementos de presentación y otros tipos de documentos que se pudieran necesitar. Como características principales de los informes se pueden señalar éstas: • Se pueden definir criterios de agrupación para separar los niveles de detalle. • Se pueden definir encabezados y pies independientes para cada grupo. 59 • Se pueden realizar cálculos complejos, no sólo dentro de un grupo o conjunto de filas, sino también a lo largo de varios grupos. • Además de encabezados y pies para cada página, se puede definir un encabezado y un pie para todo el informe. CÓMO CREAR UN INFORME Para crear un informe, hay que seleccionar, en la ventana de la base de datos, la pestaña de Informes. • Para crear un informe nuevo, se hace clic sobre el botón Nuevo. • Para modificar el diseño de un informe ya creado se selecciona Diseño. • Para ver cómo se imprimirá el informe se selecciona Vista Previa. Tras seleccionar Nuevo, aparece la ventana donde se indican los diferentes modos de creación de un informe: 1. Vista Diseño: permite crear manualmente un informe, sin ayuda de los Asistentes. 2. Asistente para informes: el Asistente guía al usuario para la creación de varios modelos de informes. 3. Autoinforme: en columnas: es una forma automática de crear un informe en columnas. Sólo hay que seleccionar la tabla o la consulta de la que se van a extraer los datos. Los nombres de los campos aparecen en la columna izquierda, mientras que en la columna derecha aparecen los datos. En cada registro vuelven a aparecer los nombres de los campos. 4. Autoinforme: en tablas: esta opción crea, de forma automática, un informe con un diseño en filas y columnas, como en una hoja de cálculo. En la primera fila aparecen los nombres de los campos, y, en el resto de las filas, los datos. 5. Asistente para gráficos: es un Asistente que crea informes gráficos. El Asistente ayuda a elegir los campos a incluir en el gráfico y el tipo de gráfico que se quiere. Con este Asistente se seleccionan los campos que se desea que pasen a formar parte de un gráfico donde, por ejemplo, se pueden hacer comparaciones entre datos visualmente. 6. Asistente para etiquetas: ayuda a la creación de informes tipo etiquetas. Con este formato se pueden confeccionar etiquetas postales. El Asistente ayuda a la elección de los campos a incluir en la etiqueta y al diseño de la misma. 60 ASISTENTE PARA INFORMES Con este Asistente se pueden crear informes genéricos con diseños variados. Tras haber seleccionado Asistente para informes en la ventana de nuevo Informe, se debe seleccionar la tabla o la consulta con la que se va a elaborar el informe. En la siguiente ventana se seleccionan los campos que se quiere que aparezcan en el informe. Si se quiere, en esta ventana se puede cambiar de tabla o, incluso, seleccionar campos de diferentes tablas. Para seleccionar los campos se utilizan los mismos botones que se vieron en el tema de los formularios. Una vez ya se han seleccionado los campos que aparecerán en el informe, se pulsa sobre el botón Siguiente. En la siguiente ventana se especifican los niveles de agrupamiento. Para añadir o quitar un agrupamiento, se utilizan las flechas que hay entre los dos recuadros: • Recuadro izquierdo: muestra los campos seleccionados para el informe. • Recuadro derecho: muestra los campos del informe agrupados según se haya seleccionado. Si no se toca nada, los campos aparecerán sin agrupación. Para agrupar los campos del informe, se selecciona el campo deseado en el recuadro izquierdo y se pulsa el botón adecuado. Una vez determinado el agrupamiento de los campos, se hace clic sobre Siguiente. En la siguiente ventana se establece si se quiere modificar el orden en el que aparecerán los registros. Se pueden ordenar por uno o por varios campos, de forma ascendente o descendente. En los campos en blanco, se selecciona el nombre del campo por el que se ordenarán los registros; y pulsando el botón de la derecha, varía el orden a aplicar (ascendente o descendente). Tras haber determinado el orden de los registros se hace clic sobre Siguiente para continuar. En la siguiente ventana se selecciona el tipo de distribución del informe. Seleccionando cada tipo de distribución, la pantalla izquierda mostrará gráficamente de qué se trata. Para un informe sólo se puede utilizar un tipo de distribución. También se puede modificar la orientación de la página. Finalmente, con la opción "Ajustar el ancho del campo de forma que quepan todos los campos en una página" cabrán todos los campos en una sola línea del ancho de la página, pero es posible que no se vea el contenido completo. Esto se puede intentar mejorar, bien cambiando posteriormente el tamaño de la letra, o bien seleccionando menos campos. Tras pulsar Siguiente, aparecerá una nueva ventana para seleccionar un diseño predeterminado de los que presenta el programa. Según se vayan seleccionando los nombres del recuadro derecho, el aspecto del recuadro izquierdo variará. Este diseño no tiene por qué ser definitivo, se podrá modificar posteriormente. Se selecciona un diseño y se pulsa Siguiente. En la última ventana se le asigna un nombre al informe que se ha creado y se decide si se quiere ver el aspecto del informe ("Vista previa del informe") o si se quiere 61 "Modificar el diseño del informe". Una vez seleccionadas las opciones que se quieran utilizar, se pulsa Finalizar. Con ello, la creación del informe habrá concluido. Si, una vez confeccionado y cerrado el informe, se desea hacer algún cambio, se selecciona la pestaña Informes y se pulsa el botón Diseño. Desde Vista Diseño se hacen todos los cambios referentes al aspecto del informe. Se pueden modificar las fuentes de los campos, añadir logotipos, texto, etc. Para cambiar un campo, se selecciona el campo haciendo clic sobre él. A continuación, se busca en la hoja de propiedades la que se quiera modificar. Para ver cómo quedará el informe impreso se utiliza la Vista preliminar. ASISTENTE PARA ETIQUETAS Las etiquetas son un tipo de informe de Access que permite imprimir información de una tabla o consulta en forma de etiquetas. La creación de etiquetas utilizando el Asistente resulta muy sencilla. Al igual que con el Asistente para informes, sólo hay que ir completando las pantallas que aparezcan. Para crear etiquetas con el Asistente se selecciona Asistente para etiquetas. Tras seleccionar el Asistente y la tabla, se pulsa Aceptar. En la ventana que aparece se debe elegir el tamaño de las etiquetas. Todo depende del papel de impresión de etiquetas que se tenga. Dependiendo del modelo habrá una, dos o tres etiquetas por fila. En la caja de las etiquetas suele venir el nombre del modelo, que está en la primera columna. En la segunda columna se encuentran las dimensiones de la etiqueta, para seleccionarla según su medida. Estas dimensiones se pueden ver en dos tipos de medidas (inglesa o métrica), dependiendo de la que esté seleccionada en Unidad de medida. Además del tamaño de las etiquetas, se puede seleccionar si el papel en el que se imprimirán las etiquetas es continuo o si son hojas sueltas. Tras seleccionar todo, se pulsa sobre el botón Siguiente. En la siguiente ventana se selecciona el formato del texto de las etiquetas: el nombre de la fuente, el tamaño, si es normal, fina, negrita..., y el color de la letra. A continuación se seleccionan los campos que aparecerán en la etiqueta. Se pueden seleccionar todos los campos o sólo aquellos que interesen. Para seleccionar un campo, se hace doble clic sobre el campo o bien se utiliza el botón que hay entre los dos recuadros. Los campos aparecerán todos en la misma línea si no se pulsa la tecla Intro después de insertar un campo. También se puede escribir texto dentro del prototipo. 62 El orden que presenten las etiquetas puede ser el que se utilizó cuando se introdujeron los datos u otro distinto. En la siguiente ventana, Access permite seleccionar el campo por el que se ordenarán las etiquetas para la impresión. En la última ventana se indica el nombre del informe y el paso que se dará a continuación, bien Ver las etiquetas tal y como se imprimirán (Vista preliminar), o bien Modificar el diseño de la etiqueta (Vista Diseño). Tras seleccionar todo, se pulsa sobre el botón Terminar. MACROS (Microsoft Access) Aclaraciones previas Características de las macros Cómo crear macros Argumentos de acción Guardar una macro Ejecutar una macro Ejecutar una macro paso a paso ACLARACIONES PREVIAS • En los formularios de Access se pueden insertar Botones de comando que, al pulsarlos, realicen acciones sueltas o conjuntos de acciones. • Estas acciones las podemos definir mediante el uso de macros. • Para añadir un Botón de comando a un formulario usaremos la herramienta adecuada del Cuadro de herramientas del diseño de formularios. • Para indicar a los Botones de comando la acción o acciones a realizar, podemos seguir dos caminos: • Automático: Cuando se añade un Botón de comando a un formulario y se activa el Asistente correspondiente, éste nos guía, paso a paso, en la creación de dicho botón y en la asignación de las acciones a realizar. • Manual: Crear, previamente, la macro o macros que ejecutarán más tarde los botones de comando del formulario. A continuación, añadir los Botones de comando necesarios al formulario sin activar el Asistente para controles. Finalmente, asociar las macros a los eventos de los botones. 63 CARACTERÍSTICAS DE LAS MACROS • Una macro es una lista de instrucciones, a la que se ha asignado un nombre, que nosotros podemos crear para que Microsoft Access las siga. A cada instrucción se le llama acción. • Cuando Access ejecuta la macro, realiza las acciones en el orden en que aparecen, usando los objetos o datos que hayamos especificado para los argumentos de acción. • Podemos usar las macros para automatizar las tareas repetitivas y para aumentar las capacidades de la base de datos. • Ejemplos de macros: enviar a imprimir un informe de forma automática, abrir automáticamente un formulario, o una hoja de datos de una tabla, o ejecutar automáticamente una consulta. • Las macros se ejecutan a través de botones de comando; estos botones se pueden incluir en un formulario o en un informe. • Si a una macro le ponemos el nombre Autoexec, se ejecutará automáticamente al abrirse la base de datos. CÓMO CREAR MACROS Las macros se crean exactamente igual que los demás objetos de Access. Seleccionando la pestaña Macros y pulsando el botón Nuevo, se abrirá la ventana para definir las macros. Para la creación de una macro: • En la columna Acción se indican, en cada fila, las diferentes acciones a ejecutar, en el orden en que se deben ejecutar. • En la columna Comentario se puede escribir una explicación de lo que realiza esa acción. • Una vez se ha seleccionado una acción en la columna adecuada, aparecerán, en la parte inferior de la pantalla, los Argumentos de Acción (dependiendo de la acción seleccionada, aparecerán más o menos argumentos). Cada acción tiene un número de argumentos con valores distintos. Un argumento con el mismo nombre puede actuar de forma distinta dependiendo del objeto sobre el que actúe. ARGUMENTOS DE ACCIÓN 1. Nombre de Tabla / Consulta / Formulario / Informe: Nombre del objeto de la base de datos sobre el que recaerá la acción. Al hacer clic en el campo, aparecerá 64 una flecha desplegable en la parte derecha; si se pulsa, se muestra la lista de todos los elementos del objeto seleccionado que haya en la base de datos. 2. Vista: Indica la vista en la que se activará el objeto seleccionado. Variará según el objeto del que se trate: un informe tiene tres vistas, pero un formulario tiene cuatro vistas. 3. Nombre del filtro: Con el filtro se activan criterios de selección; de esa forma sólo se obtendrán determinados datos. Se puede utilizar un filtro o una consulta existente, con la condición de que coincida en número de campos con el objeto que se desee abrir. 4. Condición WHERE: Es una cláusula del lenguaje SQL, que permite seleccionar determinados registros de una tabla o consulta. Si se seleccionan Nombre del filtro y Condición WHERE, entonces ésta se ejecutará sobre el resultado de aplicar el filtro. Para redactar la condición, se hace clic sobre los puntos suspensivos que aparecen a la derecha y se abrirá el generador de expresiones. 5. Modo de datos: En esta opción se indica la forma en la que se va a trabajar sobre los datos que se muestren: • Agregar: Permitirá agregar nuevos registros a la tabla en la que esté basado el formulario o la consulta. • Modificar: Permite tanto agregar nuevos registros como modificar los existentes. • Sólo lectura: No permite realizar ningún cambio en los registros existentes ni añadir ninguno nuevo; sólo permite consultar los registros existentes. 6. Modo de la ventana: Esta opción es el modo en el que se mostrará el objeto seleccionado. Los posibles modos son normal, oculta, icono, diálogo. El modo normal muestra el objeto según las propiedades normales. GUARDAR UNA MACRO Una vez se han determinado todas las acciones sucesivas, y los argumentos de acción de cada una de las acciones seleccionadas, se guarda la macro pulsando el botón Guardar. Aparecerá la correspondiente ventana, en la que se debe poner un nombre a la macro creada. EJECUTAR UNA MACRO 1. Desde la ventana de la base de datos, seleccionando la pestaña Macros, aparecerán todas las macros creadas. 2. Se selecciona la macro que se desea ejecutar. 65 3. Se pulsa el botón Ejecutar. Automáticamente se ejecutará la macro seleccionada. EJECUTAR UNA MACRO PASO A PASO Al pulsar el botón Ejecutar, desde la pestaña Macros de la ventana de la base de datos, todas las acciones se realizan de una sola vez. Para poder observar cada uno de los pasos de la macro: 1. Abrir la macro en Vista diseño. 2. Seleccionar el botón paso a paso, o elegir la opción Ejecutar -> Paso a paso. 3. Pulsar el botón Ejecutar. Al ejecutar la macro, en modo paso a paso, aparecerá cada acción en una ventana, con sus argumentos y la posibilidad de ver, en cada paso, lo que se ha puesto en la Macro, para depurarla en el caso de que tenga algún error. Las opciones que aparecen en cada paso son: Paso a paso: Pulsando este botón, se ejecuta la acción que se muestra en ese momento en la ventana, y muestra la ventana de la siguiente acción. Detener: Detiene la macro. Se cerrará la ventana de Paso a paso y se cancelará la macro. Continuar: Continúa ejecutando la macro, pero sin mostrar la ventana de Paso a paso antes de realizar cada acción. 66