Access. Formularios, tablas y consultas Autor: Julián Casas

Documentos relacionados
INSTITUCION EDUCATIVA MANUEL ANGEL ANACHURY AREA: TECNOLOGIA E INFORMATICA

CAPÍTULO 1. ELEMENTOS DE EXCEL

UNIDAD 4. MODIFICAR TABLAS DE DATOS

9.1. Insertar filas en una hoja

En esta lección vamos a ver más utilidades y opciones sobre la

Elaboración de Documentos en Procesadores de Textos

Microsoft Office Word

Clase 1 Excel

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 5: Informes

MICROSOFT EXCEL 2007

Elementos esenciales de Power- Point

Unidad 5. Tablas. La celda que se encuentra en la fila 1 columna 2 tiene el siguiente contenido: 2º Celda

Herramientas Google Aplicadas a Educación. Primera parte

FORMATO CONDICIONAL EN EXCEL

Tablas en vista hoja de datos

Fundamentos de Word. Identificar los elementos de la interfaz de usuario que puede usar para realizar las tareas básicas.

Escuela Normal Superior Río de Oro (Cesar)

Unidad 2. Elementos de Word2007 (I)

Práctica 6: Consultas

Estos márgenes se definen en el menú Archivo, Configurar página... se nos muestra un cuadro de dialogo como este con tres pestañas:

Crear una tabla dinámica

LABORATORIO Nº 8 FILTROS EN EXCEL

ACCESS: PRÓLOGO ACCESS EJERCICIO PRÓLOGO ESTRUCTURA DE UNA BASE DE DATOS: TABLAS, CONSUL- TAS, FORMULARIOS E INFORMES

Diseño de página y configurar un documento

Microsoft Windows Seven. Windows Seven. Elementos de la pantalla principal Iconos del escritorio o Equipo o Papelera de Reciclaje Barra de tareas

TABLAS WORD La tercer opción es usar el vínculo Dibujar Tabla, aquí se dimensiona la tabla dibujándola con el mouse

11.2. Manual de GTC 2.0: El primer contacto

Tablas. Contenido TECNOLOGÍA WORD

3. CREAR FORMULARIOS 3.1. CREAR FORMULARIOS CREAR UN FORMULARIO CON EL ASISTENTE PARA FORMULARIOS UNIDAD 3- CREAR FORMULARIOS

Impress III Elementos interactivos

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 3: Elementos esenciales del formulario

Abrir y explorar plantillas de Word

1.- CREAR UNA BASE DE DATOS CON ACCESS

TECNOLOGÍA E INFORMÁTICA

Fundamentos de PowerPoint

Se abre una ventana que permite especificar el número de filas y columnas para la tabla.

MARKETING IPLAN

FÓRMULAS Y FUNCIONES

Manual de Windows XP Copyleft - Jorge Sánchez 2005

Cómo crear un Juego de preguntas en Educamóvil

CAPÍTULO 5. MANIPULANDO CELDAS

Tutorial de MuseScore, editor de partituras Primeros pasos

INSTITUCIÓN EDUCATIVA COLEGIO NUESTRA SEÑORA DEL PILAR DANE: Licencia de funcionamiento resolución N del 08 de octubre 2007

5.3 CREAR FORMULARIOS

UNIVERSIDAD METROPOLITANA LATIN CAMPUS GUÌA DE ESTUDIO Y EVALUACIÒN. Informática General IV- POWER POINT TEXTO ELECTRÓNICO GRATUITO EDITADO POR UMLA

Base de Datos de Compras. Creación de formularios.

Crear gráficos en Excel Un gráfico es la representación gráfica de los datos de una hoja de cálculo y facilita su interpretación.

Ya sabes cómo introducir datos en listas y hacer operaciones

En la parte inferior de la pantalla se podrá ver el estado de la última copia y la fecha y hora actual.

Ahora ve al registro 4.

UTILIZAMIENTO DE PLANILLA ELECTRÓNICA MS OFFICE EXCEL 2007

Seleccionamos el programa Excel. Nos aparece la pantalla del programa

1.- CREACIÓN DE CONSULTAS.

PROPIEDADES DE LOS CAMPOS. Cada campo de una tabla dispone de una serie de características que proporcionan un control

UNIDAD 9 COMBINAR CORRESPONDENCIA

Manual de OpenOffice Impress

Gestión de bases de datos de mysql desde Dreamweaver

Manual del administrador

Hacemos clic con el ratón para situar el cursor donde queremos que aparezca la tabla. Nos vamos a la barra de Menús, Insertar, Tabla

UNIDAD 1. writer PRIMEROS PASOS. CURSO: LibreOffice

CREACIÓN Y MANEJO DE TABLAS Instructivo N 1

NOTAS TÉCNICAS SOBRE EL SIT: Comisiones Comerciales

INSTRUCCIONES PRESENTACIÓN DE CUENTAS ANUALES EN EL REGISTRO MERCANTIL

Ejercicio corto. Ejercicio corto. Ejercicio corto. Lección 1: Introducción a Word. Lección 2: Modificaciones de documentos

Microsoft Project 2013

SESIÓN 4: PAQUETE OFIMÁTICO OFFICE. MICROSOFT ACCESS (II). Índice de contenidos:

Se encuentra en la página del buscador de estudios del Programa de Estudios y Análisis del Ministerio de Ciencia e Innovación

MANUAL DE USUARIO PROFESORES

3. CREAR FORMULARIOS 3.2. APLICAR OPCIONES DE DISEÑO DE FORMULARIOS

NATIONAL SOFT HOTELES GUÍA DE CONFIGURACIÓN DEL FORMATO DE FACTURAS

Área Académica: Licenciatura en Derecho. Profesor: Lic. Virginia Argüelles Pascual

Manual de Usuario Webmail Horde

Computación Aplicada. Universidad de Las Américas. Aula virtual de Computación Aplicada. Módulo de Excel 2013 LIBRO 4

CREACIÓN Y MODIFICACIÓN DE TABLAS

Sesión No. 10. Contextualización INFORMÁTICA 1. Nombre: Gestor de Base de Datos (Access)

Creación y Modificación de Blog

ACCESS Duración en horas: 20

Una base de datos de Access puede estar conformada por varios objetos, los más comunes son los siguientes:

Antes de empezar... Crear una presentación

FUNCIONES NUMÉRICAS EXCEL Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Sistema de Calificaciones del Nivel de Secundarias

CONSTRUCCIÓN DE GRÁFICOS CON EXCEL

La barra de fórmulas Nos muestra el contenido de la celda activa, es decir, la casilla donde estamos situados.

INSTITUTO ELECTORAL DEL ESTADO DE MÉXICO SECRETARÍA EJECUTIVA UNIDAD DE INFORMÁTICA Y ESTADÍSTICA

Formularios. Contenido TECNOLOGÍA WORD

TUTORIAL SOBRE HOJAS DE CALCULO

GUÍA DE USUARIO: HAIKU DECK

SESIÓN 6 INTRODUCCIÓN A POWER POINT

Mozilla Firefox. Barra de. Barra de navegación. menús. Barra de. Barra de dirección. marcadores

CANTABRIA GOBIERNO DE

Seleccionamos la opción Nadadores dentro de la zona Nadadores y Records. Mostrándonos la siguiente pantalla: Pantalla 1: Nadadores.

Los pasos a seguir para cumplimentar la solicitud son los siguientes: A continuación, se detallarán cada uno de estos apartados.

Ficha n 2 : Creación de las tareas

1. Instalar el componente en el sitio por Extensiones gestor de extensiones.

Cómo crear el objeto de la Máquina del tiempo en Educamóvil

PERIODO 2 SOFTWARE MANEJADOR DE BASE DE DATOS CONCEPTOS BASICOS DE MICROSOFT ACCESS

GOOGLE SITES INICIAL

1. ACCESO A LA WEB DE LOCALIZACIÓN DE ANIMALES POR GPS

Formato de una presentación

5.2. CONTROLAR CAMBIOS Y RESOLVER DIFERENCIAS.

Transcripción:

Access. Formularios, tablas y consultas Autor: Julián Casas 1

Presentación del curso Access. Formularios, tablas y consultas, aprende a crear formularios avanzados que nos permitirán gestionar información de varias tablas relacionadas. Al igual que en los formularios, en las consultas podemos hacer participar a varias tab tablas. Aprende a crear consultas basadas en campos de varias tablas, a introducir condiciones en consultas de varias tablas, a modificar las consultas añadiendo y quitando tablas y campos. Seguramente se te plantearán situaciones en las que sea imprescindible tener la información de tu base de datos en papel. Aprender además a crear informes. 2

1. Formularios de varias tablas Objetivos del capítulo 1, 2 y 3 Operar con formularios de varias tablas. Introducir cuadros de lista desplegables. Los subformularios. En capítulos anteriores hemos aprendido a crear formularios; en este capítulo crearás formularios avanzados que nos permitirán gestionar información de varias tablas relacionadas. También aprenderás a incorporar nuevos controles en tu formulario, e incluso, a introducir un subformulario. Formularios de varias tablas Ya hemos visto en capítulos anteriores un par de ejemplos de formularios de varias tablas. Sin embargo, queremos dedicar un capítulo independiente a este tema, ya que hay algunos aspectos que no hemos visto y que son muy importantes a la hora de crear formularios. Entre éstos destacan: ð Cómo lograr que el profesor se pueda seleccionar de una lista y no haga falta conocer su código para asignarlo a un curso. ð Cómo lograr que no aparezca un código sino un nombre para identificar al profesor. ð Cómo crear un formulario con tablas que están relacionadas de muchos a muchos (bueno, ya sabemos que para este tipo de relación, se crean tres tablas, una de ellas de enlace, como hicimos en las tablas Alumnos, AlumnosPorCurso y Cursos). En la figura 8.1 vemos un ejemplo del formulario de varias tablas que vamos a crear en este capítulo. Como puedes ver, este formulario contiene los datos de un curso, incluidos sus alumnos y el nombre de su profesor. 3

Figura 8.1. Formulario que vamos a crear Crear este formulario va a implicar que debemos aplicar casi todo lo visto sobre formularios hasta ahora, y ver algunos aspectos nuevos. Observa de nuevo el formulario y ten en cuenta lo siguiente: ð El formulario contiene datos de las cuatro tablas de nuestra base de datos de ejemplo, incluida también la tabla AlumnosPorCurso, la cual utilizamos como tabla intermedia entre los cursos y los alumnos. ð En la parte superior, aparecen los datos completos del curso. ð En la parte inferior, aparecen los datos de los alumnos asignados al curso. ð Dentro de los datos del curso, el profesor aparece con nombre y apellidos, y no sólo con su código de identificación. Pues bien, en los siguientes apartados veremos cómo crear un formulario de estas características. Formulario principal y subformulario Al crear un formulario de varias tablas, éste suele estar formado por varios formularios unidos en uno solo. En estos casos, se habla de formulario principal y subformulario (o subformularios): ð El formulario principal es el formulario que muestra los datos de la tabla más importante para dicho formulario. Por ejemplo, el formulario de la figura 8.1 es un formulario pensado para mostrar e introducir datos sobre cursos. Por tanto, el formulario principal es un formulario basado en la tabla Cursos. 4

ð El subformulario (o subformularios, ya que pueden ser varios) contiene los datos del resto de tablas relacionadas. Por ejemplo, en la figura 8.1, el subformulario muestra información sobre los alumnos que asisten a un curso. Nota Lo dicho aquí no es siempre exacto, ya que el formulario principal puede estar basado en una consulta y no en una tabla. El objetivo es que entiendas que en un formulario siempre hay una tabla que actúa como tabla principal. Alternativas al formulario de varias tablas Es posible que ahora te estés planteando la necesidad o no de usar formularios de varias tablas. Si, al fin y al cabo, ya hemos creado formularios con más de una tabla con el Asistente para formularios, para qué vamos a continuar con este tema tan complejo? Si es tu caso, intenta ahora introducir los datos de un curso con sus alumnos respectivos. Para hacerlo, tendrías que seguir estos pasos: 1. Utilizar un formulario de cursos para introducir los datos del curso. El formulario de ejemplo Formulario para cursos que creamos podría servir, aunque con ciertos cambios. 2. Eso sí, al introducir el profesor tendrías que conocer su código, ya que el campo que aparece en la tabla Cursos para identificar al profesor es su código. 3. Después, una vez definido el curso, tendrías que apuntar el código del curso en un papel (por ejemplo, para el curso de Access, el código es el 2). 4. Para introducir los alumnos, habría que usar un formulario de alumnos, como Formulario para alumnos que modificamos en el capítulo 6 y que tiene la apariencia de la figura 8.2. 5. Finalmente, habría que utilizar un formulario de la tabla AlumnosPorCurso para incluir el código del curso y el código de cada alumno de dicho curso. Esta tarea que parece tan sencilla podría llevarte mucho tiempo, ya que tendrías que ir abriendo y cerrando la tabla de alumnos para conocer el código de cada uno de ellos. 5

Figura 8.2. Ejemplo de formulario ya muy trabajado No es mala idea que intentes ahora introducir los datos de un curso como el mostrado en la figura 8.1 para que compruebes exactamente el problema que surge al no utilizar un formulario de varias tablas como el que vamos a crear en este capítulo. Pasos para crear un formulario de varias tablas A la hora de crear un formulario de varias tablas, no hay una única forma de hacerlo. Para simplificar, hay tres maneras principales de llevar a cabo esta tarea: 1. Utilizar el Asistente para formularios para introducir todos los datos necesarios en el formulario y, una vez creado el formulario, utilizar las técnicas de modificación de formularios que cono cemos para darle su apariencia final. 2. Crear el formulario principal por un lado y el subformulario por otro y unirlos posteriormente. 3. Utilizar una consulta como base para el formulario. Esto veremos cómo hacerlo en otro capítulo, cuando sepamos crear y usar las consultas de totales y de agrupación. La elección del método que se va a seguir depende de cada caso. Como norma, nuestro consejo es el siguiente: ð Usa el Asistente para formularios siempre que sea posible, ya que es más fácil modificar un formulario ya creado que tener que crear dos formularios y unirlos luego. En este libro hemos usado esta técnica al crear el formulario Formulario para profesores (figura 5.6). En este formulario sólo hay dos tablas relacionadas con una relación de uno (Profesores) a muchos (Cursos). ð Usa el método del formulario principal y subformulario cuando ya hayas creado un formulario muy sofisticado que te pueda servir como formulario principal. Por ejemplo, ya le hemos dedi cado mucho tiempo a mejorar el formulario Formulario para alumnos (figura 8.2). Si queremos crear el formulario de la figura 8.3, que 6

muestra todos los cursos a los que ha asistido cada alumno, es mejor crear el subformulario y unirlos posteriormente. Lo crearemos en otro capítulo. Figura 8.3. Formulario de alumnos indicando sus cursos 7

2. Formulario de tres tablas relacionadas Vamos a empezar a crear el ejemplo de la figura 8.1. Para ello, usaremos el Asistente para formularios de Access. Los siguientes pasos indican el proceso a seguir: 1. En panel de exploración, haz clic en el menú y elige Formularios para ver los formularios que hay creados. 2. Haz clic en la ficha Crearde la cinta de opciones y ejecuta el comando Más formularios, Asistente para formularios. 3. En nuestro ejemplo, primero añade todos los campos de la tabla principal (Cursos) y, después, todos los campos de las otras dos tablas relacionadas: AlumnosPorCurso y Alumnos. Al terminar, haz clic en Siguiente. 4. En la siguiente ventana del asistente (figura 8.4), tienes que indicar la tabla que usarás para el formulario principal (en nuestro ejemplo, la tabla Cursos) y hacer clic en Siguiente. Figura 8.4. Ventana del asistente con campos de tres tablas 5. En la siguiente ventana del asistente, has de indicar si quieres un formulario Tabula Tabular o una Hoja de datos para mostrar el subformulario. En nuestro ejemplo, hemos usado una hoja de datos. Haz clic en Siguiente. 6. La siguiente ventana ya la conocemos, y sirve para indicar el estilo del formulario (hemos seleccionado Oficina). Haz clic en Siguiente. 7. En la última ventana del asistente tienes que indicar el nombre que quieres dar al formulario principal y al subformulario, y hacer clic en Finalizar. En nuestro ejemplo, hemos usado los nombres FormularioPrincipal de Cursos y Subformulario AlumnosPorCurso. 8

La figura 8.5 muestra el resultado de usar el asistente de formularios con los pasos indicados anteriormente. Comprobarás que crear un formulario es bastante sencillo. Figura 8.5. Resultado de usar el asistente con tres tablas La mayoría de las diferencias entre este formulario y el formulario de la figura 8.1 son estéticas. Esto quiere decir que este formulario sirve para introducir datos de los alumnos que van a asistir a cada curso. Ya vimos que en los formularios de varias tablas, al pulsar la tecla Tabal final del formulario principal se pasa al primer campo del subformulario. Si pruebas a introducir los datos del curso mostrado en la figura 8.1 te surgirán los siguientes problemas: ð Para introducir los datos del alumno, necesitamos su identificador y, por tanto, vuelve a ser necesario abrir la tabla Alumnos o disponer de un listado en papel. ð Al tener tantos campos el subformulario, hay que usar la barra de desplazamiento horizontal para moverse hacia la derecha. Las dos grandes ventajas de este formulario son: 1. Si el alumno ya existe, basta con introducir su código de alumno para asignarlo al curso. Access añade automáticamente el resto de campos extrayéndolos de la tabla Alumnos. 2. Si el alumno no existe en la tabla Alumnos, se puede usar el subformulario para crear uno nuevo. Basta con dejar en blanco el campo IdAlumno e introducir el resto de datos. Access asignará un código al nuevo alumno. Para que el formulario sea igual que el muestra la figura 8.1, es necesario conocer algunos aspectos que no hemos visto y que trataremos brevemente a continuación. La vista de diseño del formulario 9

Todos los cambios que hay que llevar a cabo en el formulario, hay que realizarlos en la vista de diseño de dicho formulario. Recuerda que para abrir este modo de vista de diseño: ð Si estás en el panel de exploración, pulsa en el menú y elige Formularios, selecciona el formulario y haz clic secundario sobre él, elige abrir en Vista Diseño. ð Si está el formulario abierto, haz clic en el comando Ver. La figura 8.6 muestra la ventana de diseño del formulario creado. Es muy parecida a la ventana de diseño de cualquiera de los formularios creados anteriormente, pero conviene destacar una serie de elementos: Figura 8.6. Ventana de diseño del nuevo formulario ð Los datos de las tablas Alumnos y AlumnosPorCurso aparecen en un control especial llamado Subformulario. Este control, a su vez, tiene en su interior todas las partes de un formulario: secciones, controles propios, etcétera. ð Para modificar el subformulario, solamente tienes que hacer clic sobre él para seleccionarlo, hacer otra vez clic en su interior para seleccionar el control o controles que se quieran modificar, y utilizar las técnicas que ya conocemos de modificación de formularios. ð Si haces clic en la zona del formulario principal, observa que la lista de campos muestra los campos de la tabla Cursos. Sin embar go, si haces clic en el subformulario, la lista de campos tiene como título SELECT Esto se debe a que se está usando una consulta para este subformulario (aunque sea transparente para nosotros al haberlo hecho el asistente). Cuadros de lista desplegable o cuadros combinados El primer cambio del formulario que vamos a incluir es el uso de un cuadro 10

combinado (también llamado de lista desplegable) para seleccionar el profesor en el formulario principal. De este modo, en lugar de introducir un código (que tendremos que memorizar o tener en una lista impresa), vamos a seleccionar el nombre del profesor de una lista con las siguientes ventajas: ð No hace falta memorizar los códigos ni llenar la mesa de listas de códigos. ð No hay posibilidad de equivocarnos de código. Si se selecciona el nombre de una lista, el código lo introduce Access automáticamente. ð Al ver el formulario en pantalla, cualquier persona sabe cuál es el profesor que imparte el curso, aunque no haya creado el formulario ni sepa nada de Access. Para lograr este objetivo, hay que utilizar un control del tipo Cuadro combinado. Los siguientes pasos nos muestran cómo añadir uno de estos controles a un formulario: 1. Abre la vista de diseño del formulario y asegúrate de que se ven la Lista de campos y el grupo de comandos Controles de la ficha Diseño de Herramientas de diseño de formulario. 2. Asegúrate de que está pulsado el botón Asistentes para controles del grupo de comandos Controles. 3. Haz clic sobre el botón Cuadro combinado en el grupo de comandos Controles. 4. Haz clic en el campo que quieras añadir y, después, haz clic en la sección Detalledel formulario (donde están el resto de controles). En nuestro ejemplo, usa el campo IdProfesor. Access abrirá un Asistente para cuadros combinados. 5. Activa la primera opción si es necesario para indicar a Access que deseas que los valores del cuadro los extraiga de una tabla existente. Haz clic en Siguiente. 6. En la siguiente ventana del Asistente para cuadros combinados, selecciona la tabla de la que quieras obtener los datos y haz clic en Siguiente. En nuestro ejemplo, Profesores. 7. En la siguiente ventana, indica los campos que quieras que aparezcan en el cuadro combinado. Introduce siempre el campo clave (es el que usarás para las relaciones) y los campos mínimos necesarios para identificar el registro. En nuestro ejemplo, IdProfesor, Nombre y Apellidos. Haz clic en Siguiente. 8. Después de elegir un criterio de ordenación, en la siguiente ventana modifica el ancho de las columnas si lo deseas. Haz clic en Siguiente. En nuestro ejemplo, hemos ensanchado la columna Apellidos. (Observa en la figura 8.7 que no aparece el campo IdProfesor, y que está activa la casilla Ocultarla columna clave). 11

Figura 8.7. Puedes ensanchar las columnas y ocultar el campo clave 9. En la siguiente ventana, indica en la lista Almacenar el valor en el campo el campo donde vas a guardar el valor seleccionado. En el ejemplo, IdProfesor. Haz clic en Siguiente. 10. Por último, asigna una etiqueta al nuevo control y haz clic en Finalizar. La etiqueta Profesores la usada en nuestro ejemplo. Nota Si no aparece el Asistente para cuadros combinados, puede ser que no esté instalado. Inserta el CD-ROM de Office en tu orde nador e indica a Access que lo instale. La figura 8.8 muestra el estado del formulario tras añadir el nuevo control del profesor. Observa que ahora hay dos controles con el dato del profesor: IdProfesor (que introdujo el asistente al crear el formulario) y Profesor, que acabamos de crear. 12

Figura 8.8. El formulario con el nuevo cuadro combinado Es evidente que nuestro nuevo control es mucho más claro que el otro para ver cuál es el profesor que imparte un curso. Además, seleccionar el profesor es tan sencillo como desplegar el cuadro combinado y hacer clic en su nombre. Consejo Prueba a seleccionar un profesor con el nuevo campo combinado. Observa que, automáticamente, varía el contenido del control IdProfesor. Esto se debe a que, realmente, en nuestro nuevo control se almacena el código del profesor y no su nombre. Otro cuadro combinado en el subformulario Prueba tú ahora a crear un nuevo cuadro combinado en el subformulario con el contenido del campo IdAlumno de la tabla AlumnosPorCurso (que no sea de la tabla Alumnos). Mediante este nuevo control, seleccionaremos el alumno de una lista, evitando tener que conocer su identificador. Como ayuda, piensa lo siguiente: ð Tienes que hacer clic en el subformulario para seleccionarlo, y volver a hacer clic en su interior para que la Lista de campos cambie y muestre los campos de este subformulario. ð Utiliza el campo AlumnosPorCurso_IdAlumno (antes, recuerda que has de seleccionar el botón Cuadro combinado en el grupo de comandos Controles). ð En el Asistente para cuadros combinados, elige la tabla Alumnos como origen de los datos que vas a mostrar (no uses AlumnosPorCurso, ya que no contiene el nombre ni los apellidos del alumno). ð Incluye los campos IdAlumno, Nombre y Apellidos en el cuadro combinado. ð Ensancha si quieres la columna Apellidos. 13

ð Almacena el valor en el campo AlumnosPorCurso_IdAlumno. ð Asígnale el nombre Alumno a la etiqueta del nuevo control. Access incluirá el nuevo control en la última columna del subformulario. Es una buena idea moverlo ahora junto al control IdAlumno para probar cómo funciona. Eliminar campos innecesarios Otra de las diferencias entre el formulario que tenemos en la actualidad y el mostrado en la figura 8.1 es la apariencia del subformulario (su tamaño entre otras cosas) y los controles que aparecen en él. Por ejemplo, hay cuatro campos que no tiene sentido que estén en el subformulario y que debemos eliminar para clarificar su contenido: ð El campo Id no sirve para nada. Su única utilidad es servir de campo clave a la tabla AlumnosPorCurso y, por tanto, como no aporta información, se puede quitar del subformulario. ð El campo Id alumno está repetido, ya que hemos añadido el control Alumno para seleccionar al alumno de una lista, sin nece sidad de conocer su identificador. ð El campo Id curso tampoco tiene que aparecer, ya que lo vemos en el formulario principal y es un campo repetido. ð Finalmente, el campo Alumnos_IdAlumno también está de más, ya que es idéntico al campo Id alumno que hemos eliminado. Es importante que entiendas que podemos eliminar estos campos del subformulario, pero no de la Lista de campos (y por eso lo seleccionamos al crear el formulario con el asistente). Estos campos sirven para relacionar las tablas, aunque no muestren información de interés. Si no estuvieran en la lista de campos del subformulario, Access no podría mostrar los alumnos por curso, ya que no podría relacionarlos. Por eso, los añadimos con el asistente aunque sabíamos que habría que eliminarlos. Últimos retoques Para lograr la figura 8.1, sólo quedan los siguientes retoques: ð Elimina el control IdProfesor del formulario principal. Con el nuevo control del profesor creado es suficiente. ð Sitúa el nuevo control del profesor en la posición en la que estaba el control IdProfesor que acabas de eliminar. ð Reduce el tamaño del control del precio, ya que es excesivo. ð Modifica el orden de tabulación del formulario principal para que el nuevo control Profesor vaya después del nombre del curso (se llamará CuadroCombinadoX, siendo X un número). ð Ensancha el subformulario para que se vean sus campos. Noso tros hemos reducido el ancho del campo Alumno y lo hemos situado el primero de la hoja de datos, ya que repite el nombre del alumno que aparece a su derecha. ð Haz el subformulario también más alto, para que si hay más de cuatro alumnos se 14

vean bien. ð Al terminar, guarda los cambios en el formulario y en el subformulario. 15

3. Introducir datos en el formulario Vamos a usar el formulario para incluir alumnos en los cursos existentes. Así comprobarás lo fácil que es introducir ahora nuevos alumnos y asignar un profesor y un alumno a un curso sin saber los códigos. Realiza las siguientes operaciones: ð Asigna al primer curso los 6 alumnos ya existentes en la tabla Alumnos. ð Asigna al segundo curso los 4 primeros alumnos de la tabla Alumnos. ð En el tercer curso, asigna los 3 últimos alumnos de la tabla Alumnos. ð En el cuarto curso, asigna los 3 primeros alumnos de la tabla. ð En el último curso existente, añade los alumnos segundo, cuarto y sexto al último curso. ð Finalmente, crea un nuevo curso y añade los alumnos que se ven en la figura 8.1. Los tres primeros los hemos seleccionado de los ya existentes, pero los otros dos son nuevos. Incluir un subformulario en un formulario Para terminar con el tema de los formularios de varias tablas, vamos a ver cómo introducir un formulario existente como subformulario de otro. Para hacerlo, vamos a utilizar los formularios Formulario para profesores y Formulario para cursos que creamos en los capítulos 5 y 8. Los tres pasos esenciales que se siguen a la hora de crear formularios y añadirles un sobformulario son: 1. Crear el formulario principal. 2. Crear el subformulario. 3. Añadir el subformulario al formulario principal y enlazarlos. Crear el formulario principal En realidad, en el ejemplo, los puntos 1 y 2 están ya hechos, puesto que disponemos de los formularios ya creados. Si no fuera así, tendrías que crear el formulario principal con el Asistente para formularios, como vimos en los capítulos 5 y 8. En nuestro caso, en lugar de crear el formulario principal, abriremos el formulario Formulario para profesores y eliminaremos el subformulario que hay en su interior. Eliminar un subformulario no es más que eliminar un control, así que para preparar nuestro formulario principal, sigue estos pasos: 1. Abre el modo de vista de diseño del formulario Formulario para profesores. 2. Haz clic en el subformulario para seleccionarlo. 3. Finalmente, haz clic en la tecla Suprpara borrar el subformulario. Crear el subformulario Ya sabemos que un subformulario no es más que un formulario dentro de otro. Por tanto, para crearlo, sólo tienes que utilizar el asistente para crearlo. Eso sí, como se va a utilizar como subformulario, has de seguir unas normas mínimas: 16

ð Incluye el campo que sirva para relacionar el formulario con el subformulario. Suele ser el campo clave si es una relación de uno a muchos. ð Utiliza un formato de hoja de datos o tabular para el subformulario. Es la mejor forma de que el resultado quede elegante y se vean todos los campos en el formulario final. Abre ahora el formulario Formulario para cursos y modifícalo para que tenga la apariencia de la figura 8.9. Lo único que hemos hecho ha sido: Figura 8.9. El subformulario modificado ð Reducir el tamaño del control IdCurso (es un número y no aporta información alguna). ð Eliminar el control IdProfesor y su etiqueta. Ten en cuenta que al ser un subformulario, el IdProfesor ya aparecerá en el formulario principal. (No lo elimines de la Lista de campos, sólo del formulario). ð Aumentar el tamaño del control FechaInicio y de su etiqueta, para ver completos el contenido del control y de la etiqueta. ð Aumentar el tamaño del control FechaFin y su etiqueta para lograr ver sus contenidos completos. ð Reducir el tamaño del control Precio y de su etiqueta. ð Finalmente, hemos movido los controles y las etiquetas para que quedaran encima del control correspondiente. Añadir el subformulario al formulario principal El tercer paso consiste en añadir el subformulario al formulario principal. No hay mucha diferencia entre añadir un control del tipo «subformulario» y otros tipos de controles, como muestran los siguientes pasos: 1. Abre la vista de diseño del formulario principal. 2. Asegúrate de que se ve el grupo de comandos Controles y de que está activado el botón Asistente para controles. 17

3. Haz clic en el botón Subformulario/Subinforme del Cuadro de herramientas. 4. Haz clic sin soltar en la posición del formulario en la que desees incluir el subformulario y arrastra hasta darle un tamaño apropiado (si no queda bien, puedes ampliarlo o reducirlo después). Aparece la primera ventana del Asistente para subformulario. 5. Selecciona el formulario que desees y haz clic en Siguiente. En nuestro caso, selecciona Formulario para cursos. 6. Selecciona la opción de relación que sea correcta y pulsa Siguiente. En nuestro caso, se relacionan por el campo IdProfesor. 7. Finalmente, asigna un nombre al subformulario y pulsa Finalizar. Nosotros hemos usado el nombre Subformulario de cursos. Nota Si no está instalado el Asistente para subformularios, Access te lo indicará y te ofrecerá la posibilidad de instalarlo. La figura 8.10 muestra el formulario terminado. En principio, no parece necesitar muchas modificaciones. Si hubiera que modificarlo, solamente tendrías que abrir la ventana de diseño del formulario y realizar los cambios que desees como siempre. Figura 8.10. Formulario terminado 18

4. Consultas de varias tablas y de totales Objetivos del capítulo 4, 5, 6 y 7 Realizar consultas de varias tablas. Consultas de agrupación y de totales. Creación de consultas basadas en consultas. Al igual que en los formularios, en las consultas podemos hacer participar a varias tablas. En este capítulo aprenderemos a crear consultas basadas en campos de varias tablas, a introducir condiciones en consultas de varias tablas, a modificar las consultas añadiendo y quitando tablas y campos. También aprenderemos a crear consultas de totales o de agrupación, a incluir campos calculados en consultas y a crear consultas basadas en otras consultas. Consultas de varias tablas En el capítulo 7, vimos cómo crear consultas con una única condición y con varias condiciones. También vimos que estas condiciones podían referirse a uno o a varios campos. Sin embargo, hasta ahora todas las consultas incluyen condiciones relativas a campos de una única tabla. Por ejemplo, en el capítulo 7 vimos condiciones de todo tipo pero siempre sobre campos de la tabla Profesores. En este apartado vamos a ver cómo crear consultas de datos de más de una tabla. El objetivo de este tipo de consultas suele ser doble: ð Realizar consultas basadas en datos de más de una tabla. Por ejemplo, buscar los profesores que viviendo en Barcelona hayan impartido un curso en el año 2010. En este caso, necesitamos datos de la tabla Profesores (la ciudad del profesor) y de la tabla Cursos (la fecha del curso). ð Crear consultas que sirvan de base para mostrar datos en formularios e informes. Esto lo veremos en otro capítulo. Veamos paso a paso el ejemplo de una consulta con datos de más de una tabla. Ya sabemos que queremos obtener información sobre los profesores de Barcelona que hayan realizado un curso en el año 2010. Como vimos en el capítulo 7, para crear la consulta hay que determinar dos cosas: 1. Qué datos queremos ver? En otras palabras, qué datos deseamos que nos devuelva la consulta? 2. Qué condiciones han de cumplir los registros para que aparezcan en el resultado de la consulta? Crear la consulta El primer paso, por tanto, es determinar qué datos queremos que aparezcan en el 19

resultado de la consulta. A diferencia de las consultas de una única tabla, se pueden mostrar datos de más de una tabla y, por tanto, también hay que saber en qué tabla se encuentra el dato buscado. Para nuestro ejemplo, vamos a crear una consulta con los siguientes datos: ð El nombre del profesor. ð Los apellidos del profesor. ð La ciudad del profesor. ð El teléfono móvil del profesor. ð La fecha de finalización de un curso que haya impartido en el año 2010. Para saber esta información, necesitamos datos de las tablas Profesores (el nombre, los apellidos, la ciudad y el móvil) y datos de la tabla Cursos (la fecha de final del curso). Sabiendo los campos que necesitamos para la consulta, ha llegado el momento de crear la consulta en sí. Los siguientes pasos muestran cómo hacerlo (la única diferencia con los pasos vistos en el capítulo 7 es que hay que indicar que queremos usar campos de varias tablas): 1. En el panel de exploración, haz clic en el menú y elige Consultas. Verás las consultas creadas en el capítulo 7. 2. Ve a la ficha Crear en la cinta de opciones y haz clic en el comando Asistente para consultas para ejecutar el asistente. 3. Elige una consulta sencilla y selecciona la primera tabla que contenga los datos que quieres consultar en el cuadro Tablas/Consultas (la tabla Profesores) y, en la lista Camposdisponibles, haz doble clic en los campos que quieras ver en la consulta. Añade ahora el código del profesor (recuerda, IdProfesor), el nombre, los apellidos, la ciudad y el móvil. 4. Repite el paso anterior para cada una de las tablas de las que quieras obtener campos. En nuestro ejemplo, repítelo con la tabla Cursos y los datos indicados (fecha final y profesor, como muestra la figura 9.1). 5. Haz clic en el botón Siguiente para pasar a la segunda ventana del asistente. Vuelve a hacer clic en Siguiente para crear una consulta de Detalle (las consultas de totales o resumen las veremos más adelante en este mismo capítulo). 6. Escribe el título de la consulta, por ejemplo, Profesores de Barcelona año 2010 y haz clic en Finalizar. 20

Figura 9.1. Selección de campos de varias tablas La figura 9.2 muestra el resultado de esta consulta. Observa que, efectivamente, aparecen datos de la tabla Profesores y de la tabla Cursos, pero hay dos aspectos que hay que destacar especialmente: ð Igual que en el caso de consultas de una tabla, al usar el Asistente para consultas sencillas no se ha introducido ninguna condición, por lo que aparecen profesores que no son de Barcelona y que han terminado sus cursos en el año 2009 (y no sólo durante el 2010). ð Pero lo más relevante es que no aparecen todos los datos de la tabla Profesores. Aunque no se ha introducido ninguna condición en la consulta, sólo aparecen los profesores que han impar tido algún curso. Esto se debe a que Access considera intrínseca la condición siguiente: ð IdProfesor (de la tabla Profesores) = IdProfesor (de la tabla Cursos). Figura 9.2. La consulta con datos de varias tablas El motivo de esta condición intrínseca es que las tablas Profesores y Cursos están 21

relacionadas por medio del campo IdProfesor de cada tabla. Consejo Por este motivo, cuando se usan consultas de varias tablas, es conveniente incluir los campos que relacionan las tablas, aunque no se vayan a utilizar para introducir condiciones ni se quieran mostrar en el resultado de la consulta. Condiciones en consultas de varias tablas Para terminar la consulta de ejemplo, sólo resta incluir las condiciones que consigan que sólo aparezcan los profesores que viviendo en Barcelona hayan terminado algún curso en el año 2010. Como ya sabemos, las condiciones hay que definirlas en la vista de diseño de la consulta. Observa la figura 9.3. Es la vista de diseño de la consulta que ha creado el Asistente para consultas sencillas (cuya ventana de presentación se muestra en la figura 9.2). Figura 9.3. Vista de diseño de la consulta En esta ventana, puedes ver perfectamente varias características que distinguen las consultas de varias tablas de las de una única tabla: ð En la zona de tablas, hay más de una lista de campos. De hecho, aparecerá una lista por cada una de las tablas que se añadan a la consulta. ð Entre las listas de campos de cada tabla, aparece una línea similar a la que aparece en la ventana de relaciones de Access. Esta línea indica que hay una relación entre dichas tablas y que esta relación se «transfiere» también a las consultas creadas con tablas relacionadas (en las consultas, las relaciones reciben el nombre de combinaciones). 22

ð La fila Tabla de la cuadrícula QBE adquiere ahora importancia, ya que indica a qué tabla pertenece cada uno de los campos que se añaden a la cuadrícula QBE. ð Cuando hay dos campos que se llaman de la misma forma en dos o más tablas (como IdProfesor en el ejemplo), Access incluye delante del nombre del campo el nombre de la tabla: Profesores_IdProfesor y Cursos_IdProfesor, para evitar confusiones. Incluir condiciones en las consultas de varias tablas se hace exactamente igual que en las consultas de una única tabla. Por tanto, para lograr el objetivo de nuestro ejemplo, sólo hay que seguir estos pasos: 1. Abre la vista de diseño de la consulta creada (o si estás en la vista de hoja de datos, haz clic en el comando Ver). 2. En el campo FechaFin, escribe >=#1/1/10# Y <=#31/12/10#. 3. En el campo Ciudad, escribe «Barcelona». Esto significa que el curso ha terminado en el año 2010 y que el profesor vive en Barcelona. 23

5. Access. Modificar consultas Las consultas, al igual que el resto de elementos de Access, se pueden modificar siempre que se desee. Como ocurría en los formularios y en las tablas, para realizar cualquier cambio en las consultas hay que abrir la vista de diseño. Algunas de las formas de modificar una consulta son muy sencillas (o ya las conocemos), y sólo les vamos a dedicar una mención: ð Ya sabes cómo añadir condiciones a las consultas. ð Para borrar condiciones, solamente tienes que hacer clic en la condición en cuestión y borrarla utilizando las teclas Supr o Retroceso. ð Para aumentar el ancho de una columna en la consulta, sitúa el puntero del ratón en la línea que separa las dos columnas y cuando se convierta en una doble flecha, haz clic y arrastra sin soltar hacia la izquierda o la derecha. ð Como el orden de las columnas en la ventana de diseño de las consultas define el orden en que se muestran los datos en el resultado de la consulta, es importante saber cómo modificar ese orden. Para cambiar de posición una columna en la consulta, has de seguir estos pasos (es muy parecido al método usado en la hoja de datos de la tabla): 1. Haz clic en el recuadro gris situado justo encima (está marcado en la figura 9.3). Observa que se selecciona toda la columna. 2. Una vez seleccionada la columna, vuelve a hacer clic y, sin soltar el botón del ratón, arrastra la columna a la posición en la que quieras situarla. Observa que Access muestra con una línea vertical gruesa la posición en la que va a situar la columna. 3. Suelta el botón del ratón cuando veas que Access muestra la columna en la posición deseada. Sin embargo, hay otras formas de modificar el diseño de la consulta que debes conocer y que se explican en los apartados siguientes. Añadir más tablas a una consulta Las consultas no han de estar basadas sólo en dos tablas. Pueden estar basadas en tantas tablas como se desee. Eso sí, nuestro consejo es que utilices consultas con tablas relacionadas. Para añadir más tablas a una consulta ya existente, utiliza los siguientes pasos: 1. Abre la vista de diseño de la consulta. 2. Haz clic en el comando Mostrar tabla del grupo Configuración de consultas en la cinta de opciones. 3. En el cuadro de diálogo Mostrar tabla, aparecerán las tablas existentes en la base de datos. Haz doble clic en la tabla que quieras añadir. 4. Repite el paso 3 para cada una de las tablas que quieras añadir. 5. Cuando hayas añadido todas las tablas que desees, haz clic en Cerrar. 24

Una vez que aparezcan en la vista de diseño todas las tablas que quieras usar en la consulta, introduce las condiciones que desees igual que si fuera una consulta de una sola tabla. Prueba ahora a añadir a la consulta Profesores de Madrid el resto de tablas de nuestra base de datos de ejemplo: Cursos, Alumnos y AlumnosPorCurso. Observa en la figura 9.4 el resultado. Figura 9.4. La consulta con cuatro tablas Utiliza el comando Guardar objeto como del menú del Botón Office para guardar la nueva consulta con el nombre Consulta de cuatro tablas. Añadir o eliminar campos en la cuadrícula QBE Dos de las operaciones más habituales a la hora de modificar una consulta son añadir nuevos campos a la cuadrícula QBE o eliminar alguno de los existentes. Para eliminar, que es más sencillo, simplemente hay que seguir los dos siguientes pasos: 1. Seleccionar el campo que se quiere eliminar haciendo clic en el recuadro existente encima de su nombre (marcado en la imagen de la figura 9.3). 2. Pulsar la tecla Supr. Del mismo modo, se puede añadir un campo también en cualquier momento. Los siguientes pasos indican cómo: 1. Asegúrate de que la tabla en la que se encuentra el campo que quieres añadir aparece en la parte superior de la vista de diseño. Si no es así, añade la tabla a la consulta como mostramos en el apartado anterior. 2. Si es necesario, utiliza la barra de desplazamiento de la lista de campos en cuestión para ver el nombre del campo. 3. Haz clic en el nombre del campo que quieras añadir y, sin soltar el botón del ratón, arrástralo a la cuadrícula QBE hasta la posición en la que desees situarlo. Si en lugar de arrastrar el nombre del campo haces doble clic sobre él, se añadirá rápidamente el campo en la primera columna que esté libre. Si quieres situarlo en 25

otra posición, ya sabes que sólo tienes que seleccionar la columna y arrastrarla a la posición deseada. Ocultar un campo en el resultado Otra de las acciones que se pueden llevar a cabo en la cuadrícula QBE es ocultar alguno de los campos existentes en dicha cuadrícula. Aunque ahora pueda parecerte absurdo, hay dos casos en los que se utiliza mucho esta posibilidad: ð Cuando se ha creado una consulta de varias tablas relacionadas utilizando el Asistente para consultas sencillas, lo normal es que aparezca varias veces en el resultado el campo que se utiliza para relacionar las tablas. Es mucho más elegante ocultar campos para que sólo se vea uno. ð Se pueden incluir campos en la cuadrícula QBE con el único fin de especificar condiciones que se hayan de cumplir. En estos casos, no interesa que se vea el campo en el resultado de la consulta, pero es imprescindible que esté en la cuadrícula QBE para poder incluir las condiciones. En estos casos, y en cualquier otro que quieras tener un campo en la cuadrícula QBE pero que no se vea en el resultado, lo único que tienes que hacer es desmarcar la casilla de verificación de la fila Mostrar (haz clic en la casilla para quitar la marca que hay dentro). 26

6. Consultas de agrupación y de totales Las consultas no sólo sirven para saber los datos existentes en las tablas. Hasta ahora, todas las consultas las hemos empleado para saber qué profesores cumplían un número determinado de condiciones, o qué cursos se celebraban en una fecha concreta. Sin embargo, las consultas también se pueden usar para realizar cálculos, que pueden ir desde sumar valores numéricos a contar registros de una tabla que cumplan las condiciones impuestas. Este tipo de consultas recibe el nombre de consultas de totales (y de agrupación, ya que los totales se suelen obtener por grupos de registros, como veremos). Vamos ahora a crear una consulta de totales bastante sencilla, para que aprendas cómo se hace. La figura 9.5 muestra el resultado de la consulta que vamos a crear. Su objetivo es bastante simple (contar el número de alumnos por curso), pero nos va a permitir ver cómo crear una consulta de totales. Figura 9.5. Vista de hoja de datos de la consulta de ejemplo Crear consultas de totales En este caso, para lograr la consulta de ejemplo de la figura 9.5 vamos a comenzar a crear la consulta desde cero, sin usar el Asistente para consultas sencillas. Es la primera vez que lo hacemos, pero es conveniente que sepas crear consultas de este modo, ya que si tienen pocos campos, es más rápido hacerlo así. Los siguientes pasos muestran cómo crear una consulta desde cero: 1. Dentro del panel de exploración, haz clic sobre el menú y elige Consultas. 2. Haz clic en la ficha Crear y ejecuta el comando Diseño de consulta y Access abrirá una vista de diseño vacía y el cuadro de diálogo Mostrar tabla. 3. Añade todas aquellas tablas de las que vayas a obtener datos haciendo doble clic 27

en su nombre (ya vimos cómo añadir tablas a una consulta anteriormente). En nuestro ejemplo, añade Alumnos y Cursos. 4. Añade también las tablas relacionadas que vayas a necesitar. Por ejemplo, para relacionar las tablas Alumnos y Cursos, hemos usado la tabla AlumnosPorCurso. Al terminar, haz clic en Cerrar para cerrar el cuadro de diálogo Mostrar tabla. 5. Añade a la cuadrícula QBElos campos que desees que aparezcan en la consulta; recuerda que puedes hacer doble clic sobre el campo. En nuestro caso, añade los campos mostrados en la figu ra 9.5. Si ejecutas ahora la consulta, verás los campos indicados para cada alumno que ha asistido a cada curso, pero no es esto lo que queremos. 6. Haz clic en el botón Totales de la ficha Diseño en la cinta de opciones. Verás que aparece una nueva línea en la cuadrícula QBEllamada Total con el contenido Agru Agrupar por en todos los campos (por eso también se llaman consultas de agrupación). 7. Utiliza las opciones de la fila Total para indicar la operación de total que desees realizar con cada campo. En nuestro ejemplo, selecciona Cuenta en el campo Apellidos. 8. Al terminar, ejecuta la consulta como siempre: haz clic en el botón Ejecutar. 9. Guarda la consulta con el nombre que desees (nosotros hemos usado Contar AlumnosPorCurso). La tabla 9.1 muestra las opciones que se pueden seleccionar en la lista Total en la cuadrícula QBE. Dependiendo de la selección, se puede realizar una operación u otra. Tabla 9.1. Opciones de la fila Total Opción Agrupar por agrupación registros indi- Suma Promedio Mín Máx Cuenta DesvEst Var Primero Último Expresión Resultado Es el valor por omisión. Se utiliza para realizar la de registros de las tablas. Access busca todos los que tengan iguales los campos con el valor Agrupar por y los considera uno solo a la hora de realizar el cálculo cado con el resto de opciones de esta tabla. Suma los valores de los campos. Calcula la media de los valores. Muestra el valor menor de los existentes. Muestra el valor mayor de los existentes. Cuenta el número de registros. Calcula la desviación estándar de los valores. Calcula la varianza de los valores. Muestra el primer valor. Muestra el último valor. Sirve para crear un campo calculado. 28

Donde Sirve para incluir condiciones. Campos calculados en las consultas de totales Mediante las opciones de la tabla 9.1, es posible crear campos calculados en las consultas de totales. Vamos a ver un ejemplo un poco más complicado pero que mostrará la importancia de las consultas de totales así como de los campos calculados en este tipo de consultas. El objetivo de nuestra consulta es calcular la edad media, la mínima y la máxima de los alumnos de cada curso. De ese modo, podremos conocer según la temática la edad de interés de nuestros alumnos. Para crear esta consulta, sigue los pasos vistos en el apartado anterior, teniendo en cuenta: ð Necesitamos las mismas tablas que en la consulta de la figura 9.5. ð Añade a la cuadrícula los mismos campos que en la figura 9.5. ð Añade un nuevo campo calculado al final de la cuadrícula QBE. Para hacerlo, escribe el nombre del campo calculado seguido de dos puntos y de la operación que realice el cálculo de dicho campo. En nuestro ejemplo, escribe Edad media: (Fecha()-[Fecha nacimiento])/365. Esta expresión calcula el número de días existentes entre la fecha actual (que obtenemos de la función Fecha()) y la fecha de nacimiento. Al final, lo divide entre 365 para calcular los años del alumno. ð Para terminar, define la operación que quieras realizar con el campo calculado en la fila Total (Máx, Mín, Cuenta, etcétera). Si dejas el valor Agrupar por, verás la edad de cada alumno; si incluyes la opción Promedio, obtendrás la media de edad; la opción Máxte indicará la edad del mayor, mientras que la opción Mín te proporcionará la edad del más joven. Consejo En lugar de crear la consulta desde cero, puedes utilizar el comando Guardar como del menú Archivo para guardar la consulta anterior con el nombre Edades por curso y realizar los cambios posteriormente. Usa ahora la opción Promedioy guarda la consulta (parte superior de la figura 9.6). Ejecútala y obtendrás el resultado mostrado en la parte inferior de la figura 9.6. 29

Figura 9.6. Obtención de la media de edad de los alumnos en cada curso Para terminar, cierra la consulta y vuelve a abrir su ventana de diseño. Observa que Access ha introducido automáticamente la opción Expresión en la fila Total del campo calculado y ha introducido la operación de promedio en el propio título del campo calculado. Condiciones en las consultas de totales La parte superior de la figura 9.6 muestra la vista de diseño de la consulta de totales. Como en cualquier otra consulta, se pueden incluir condiciones que afecten a las consultas de totales. En las consultas de totales, hay dos tipos de condiciones: ð Las que se refieren a los valores originales de las tablas. Por ejemplo, que para calcular la media de edad de los cursos sólo tengan en cuenta los cursos que hayan finalizado en el año 2009 o que hayan sido impartidos por un profesor concreto. En este caso, hay que introducir la condición en los campos originales de las tablas. ð Las que se refieren al resultado de la operación de totales. Por ejemplo, podemos indicar que sólo se muestren los datos de los cursos cuya media de edad sea 30

superior a 32 años. La diferencia principal entre estos dos tipos de condiciones radica en el momento en el que Access comprueba la condición. En el primer caso, la condición se comprueba antes de llevar a cabo los cálculos de totales. En el segundo caso, la condición se evalúa una vez realizado el cálculo. Pero, qué hacer si hay que introducir una condición en un campo que no tiene que aparecer en el resultado de la consulta? Pues muy fácil, se introduce el campo, se oculta dicho campo desactivando la casilla Mostrar y se selecciona la opción Dónde Dóndeen la fila Total. De este modo, el campo no aparece en el resultado, ni se tiene en cuenta a la hora de agrupar. 31

7. Crear consultas basadas en consultas Hemos dejado para el final del capítulo sobre consultas la posibilidad de crear consultas basadas en otras consultas. A lo largo del libro, siempre se ha hablado de formularios y de consultas basadas en tablas (y en campos de dichas tablas). Sin embargo, se pueden crear formularios que estén basados en consultas y consultas también basadas en consultas. La única diferencia a la hora de crear una consulta basada en otra consulta es que en lugar de seleccionar los campos desde una tabla, se seleccionan desde una consulta. El objetivo principal de generar una consulta basada en otra es simplificar el trabajo. Vamos a ver un ejemplo que ilustra el uso de consultas basadas en consultas. El objetivo de la consulta es calcular cuánto dinero hemos recaudado en cada curso. Para lograrlo, tenemos que multiplicar el precio del curso por el número de alumnos. La figura 9.7 muestra en su parte superior la ventana de diseño de la consulta creada al efecto que hemos llamado Recaudación por curso. En su parte inferior, la misma figura muestra otra consulta, llamada Recaudación basada en AlumnosPorCurso, que aprovecha la consulta Contar AlumnosPorCurso creada en este capítulo. 32

Figura 9.7. Dos formas de obtener el mismo resultado Es un ejemplo que ilustra el gran objetivo de las consultas basadas en consultas. Sin embargo, la importancia de basar un nuevo objeto en una consulta y no en una tabla radica en la facilidad que tienen las consultas de relacionar datos de varias tablas. Lo veremos en el capítulo siguiente. Para crear una consulta basada en otra consulta, lo único que hay que hacer es, a la hora de añadir tablas a la ventana de diseño, utilizar la pestaña Consultasdel cuadro de diálogo Mostrar tabla (figura 9.8). 33

Figura 9.8. Pestaña Consultas del cuadro Mostrar tabla Una vez añadida la consulta, hay que crear la consulta como siempre: añadir campos y condiciones según se desee. Ten en cuenta que puedes añadir tablas y consultas a la misma consulta, aunque no es muy normal. 34

8. Informes en Access Objetivos del capítulo 8, 9 y 10 Creación de informes. Las secciones en los informes. Modificar los informes. Seguramente se te plantearán situaciones en las que sea imprescindible tener la información de tu base de datos en papel. En este capítulo vamos a aprender a crear informes. Aprenderás a usar la ventana preliminar de informes, a modificar los informes usando la vista de diseño, a ver las secciones de un informe, a modificar el tamaño de los informes y formularios, a añadir imágenes y a modificar una consulta base de un informe. Los informes Vamos a terminar los capítulos sobre Access con los informes. Los informes son los elementos de las bases de datos pensados para imprimir los datos en papel. Las técnicas para crear y modificar los informes son prácticamente las mismas que las utilizadas con los formularios. Las únicas diferencias provienen del hecho de que mientras los formularios se usan para introducir, modificar y ver los datos de las tablas, los informes están diseñados para imprimirlos. Esto implica que, por ejemplo: ð No tenga sentido en los informes el uso de controles que impliquen la intervención del usuario. Por ejemplo, no tiene sentido incluir un cuadro combinado en un informe, ya que no hay forma de que el usuario pueda seleccionar una opción en un papel impreso. ð Las secciones toman una especial importancia en los informes, que no tienen en los formularios. La figura 10.1 muestra los datos de un curso tal y como se imprimirán. De hecho, esto es un informe en la vista que muestra cómo aparecerán los datos al imprimirse en papel. En los siguientes apartados, vamos a ver cómo crear y modificar este informe. 35

Figura 10.1. Ejemplo de informe Crear un informe La forma de crear un informe es similar a la usada para los formularios: emplear un asistente. Los siguientes pasos muestran cómo hacerlo: 1. En el panel de exploración, haz clic sobre el menú y elige Informes. 2. Haz clic en la ficha Crear y ejecuta el Asistente para informes del grupo Informes Informes para abrir la primera ventana del asistente. 3. Utiliza esta ventana de igual forma que en los ejemplos de formularios. Si quieres usar datos de varias tablas, añade campos de tantas tablas como desees. En nuestro ejemplo, hemos añadido los campos IdCurso, Nombre, FechaInicio, FechaFin y Precio de la tabla Cursos. De la tabla AlumnosPorCurso el campo IdAlumno. Y de la tabla Alumnos, el nombre, los apellidos y el teléfono móvil. 4. Al hacer clic en Siguiente, aparece la segunda ventana del asistente (figura 10.2). En ella, al ser varias las tablas involucradas, Access pregunta si quieres mostrar la información por Curso o por Alumno. A nosotros nos interesa por cursos, así que haz clic en Siguiente. 36

Figura 10.2. Segunda ventana del asistente 5. La siguiente ventana pregunta si quieres agrupar los datos por algún tipo de campo. Es útil si se desea realizar alguna suma o contar algún tipo de dato. En este ejemplo no tiene sentido, así que haz clic en Siguiente. 6. La siguiente ventana permite clasificar la salida por un campo (igual que ocurría en las consultas). En nuestro ejemplo, es útil ordenar los alumnos de los cursos primero por nombre y, después, por apellidos (figura 10.3). Figura 10.3. El informe de varias tablas terminado 7. Tras hacer clic en Siguiente, hay que decidir en la nueva ventana la distribución de los datos (haz clic en las distintas opciones y verás el resultado en el cuadro de ejemplo) y la orientación. Nuestro consejo es que elijas la orientación Horizontal. 37

8. Al hacer clic en Siguiente, la nueva ventana muestra los distintos estilos aplicables al informe. Nosotros hemos dejado la opción Oficina. 9. Por último, haz clic en Siguiente, escribe el título del informe (Informe de alumnos por cursos) y haz clic en Finalizar. La figura 10.4 muestra el resultado final de esta larga secuencia de pasos. Figura 10.4. El informe de varias tablas terminado 38

9. Vista preliminar en Access En realidad, la figura 10.4 es una de las posibles ventanas de un informe terminado. En concreto, es la ventana de presentación del informe que también recibe el nombre de vista preliminar. Es más que posible que esta ventana te suene, ya que es similar a la que utilizan otras aplicaciones (como Word y Excel) a la hora de imprimir un documento. Esta vista preliminar sirve para asegurarse de que el resultado obtenido es el deseado antes de enviar a imprimir realmente. Observa en la figura 10.4 que el puntero del ratón tiene forma de lupa con un signo + dentro de ella. Si haces clic sobre el documento, verás el texto más grande. Vuelve a hacer clic y verás de nuevo el documento a página completa. Piensa que la vista preliminar sólo sirve para ver el resultado del informe y, por tanto, no hay muchas operaciones que se puedan llevar a cabo con ella. En la cinta de opciones, aparecen un conjunto de botones con la siguiente función: ð Imprimir. Si te gusta lo que ves en la vista preliminar, puedes imprimir el documento haciendo clic en este botón. Se abrirá el cuadro de diálogo Imprimir donde dar las últimas instrucciones antes de la impresión, como son el número de copias, el intervalo de páginas o la impresora que las imprimirá. ð Zoom. Este botón tiene la misma función que el puntero del ratón sobre el informe: actúa como un interruptor mostrando detalles del informe o el informe a página completa. Si pulsas la flecha que indica desplegable podrás fijar el porcentaje de zoom que se quiere aplicar al informe. En la barra de estado tienes los mismos controles que en este comando. ð Una página. Este botón muestra una única página del informe. Junto con los dos siguientes define el número de páginas que se ven a la vez en pantalla. ð Dos páginas. Este botón muestra en pantalla dos páginas consecutivas del informe. ð Más páginas. Este botón es útil para los documentos de gran tamaño. Permite indicar a la vista preliminar que muestre varias páginas a la vez. Para usarlo, haz clic sobre él y arrastra (sin soltar) hasta definir el número de páginas que quieres ver. ð Diseño de página. Este grupo de comandos sirve para configurar la página. Cambia la orientación o el tamaño de la hoja; si pulsas en márgenes podrás elegir entre tres opciones predefinidas. La casilla Imprimirsolo los datos hace que no se imprima el encabezado ð Datos. Este grupo de comandos sirve para que además de imprimir, exportes el informe a otros tipos de archivo. ð Cerrar. Este botón cierra la vista preliminar. Observa que en la parte inferior de la vista preliminar aparecen unos botones similares a los vistos en los formularios y hojas de datos para moverse entre los registros de las tablas. 39

En este caso, estos botones sirven para moverse entre las páginas del informe (cuando tiene más de una), y su nombre explica perfectamente su función: ð Primera página. Este botón muestra la primera página del informe. ð Página anterior. Este botón muestra la página anterior del informe. ð Recuadro de página. En el recuadro central, puedes escribir el número de página del informe a la que quieras ir. Cuando pulses Intro, Access mostrará dicha página automáticamente. ð Siguiente página. Muestra la página siguiente. ð Última página. Muestra la última página del informe. Vista de diseño de informes Al igual que en el caso de los formularios, los informes tienen una vista de diseño propia que sirve para modificar un informe una vez creado. Para abrir esta vista de diseño, haz clic en el comando Ver de la cinta de opciones y elige el modo de vista que buscamos. Si prefieres hacerlo desde el panel de exploración, sólo tienes que hacer clic secundario sobre el informe correspondiente y elegir la opción Vista Diseño. La figura 10.5 muestra la ventana de diseño del informe creado con el asistente. Esta ventana se usa igual que la ventana de diseño de los formularios. De este modo, podrás usar las técnicas vistas en los formularios para añadir controles, para modificar su tamaño o posición, para asignarles los formatos que desees, para incluir controles calculados, etcétera. Figura 10.5. Ventana de diseño del informe 40

De hecho, ahora deberías usar todas esas técnicas para mejorar la apariencia de este informe y que se vean todas las etiquetas. A continuación te mostramos algunas pistas sobre las operaciones que hemos llevado a cabo para obtener la apariencia del informe de la figura 10.6: Figura 10.6. El informe tras los cambios introducidos ð Aumentar el tamaño de la etiqueta de la sección Encabezadodel informe para que se vea completo el título: Informe de alumnos por cursos. ð Reducir el tamaño del control IdCurso, así como de su etiqueta correspondiente. ð Modificar algunas etiquetas para reducir su contenido. Por ejemplo, Fecha de inicio la hemos convertido en Fecha inicio y Alumnos_Nombre en Nombre alumno. ð Reducir el tamaño del control Precio y de su etiqueta. ð Eliminar el control IdAlumno y su etiqueta, ya que no aporta información ninguna. ð Aumentar el tamaño del control Apellidos. ð Aumentar el tamaño y mover las etiquetas para que muestren todo su contenido justo encima del control correspondiente. 41

10. Access. Secciones en los informes Observa que la vista de diseño de un informe aparece dividida horizontalmente por varias líneas gruesas. Estas líneas separan las secciones de un informe. Lo mismo ocurre en la ventana de diseño de los formularios, pero hemos preferido ver aquí las secciones ya que tienen mucha más importancia en los informes que en los formularios. El contenido de cada sección de un informe aparece una o varias veces dependiendo de la sección de la que se trate. En concreto: ð La sección Encabezadodel informe contiene la información que va a aparecer sólo una vez al principio del informe en la primera página del mismo (en el caso de que tenga varias). Suele incluir el título del informe. ð La sección Encabezadode página contiene la información que va a aparecer al principio de cada página del informe. Esto significa que si el informe se imprime en siete páginas, aparecerá el contenido de esta sección al inicio de cada una de estas páginas. ð La sección Detalle contiene la información que va a aparecer por cada registro que muestre el informe. Por tanto, se repite tantas veces como registros haya representados en el informe. En este ejemplo, aparecen los datos de cada uno de los alumnos que asiste a cada curso. ð La sección Pie de página contiene la información que aparece al final de cada página del informe. ð La sección Pie del informe contiene la información que sólo aparece al final del informe. Suele ser información de totales. ð Finalmente, observa que aparece una sección llamada Encabezado IdCurso. Como el informe está agrupado por curso (por eso la sección Detalle muestra los alumnos de cada curso), el contenido de esta sección aparecerá al principio de cada curso. De ese modo, las etiquetas de cada curso no aparecen tantas veces como alumnos tiene el curso, sino solamente una vez al principio. Si haces clic secundario con el ratón sobre una de estas barras y pulsas en el menú emergente sobre el nombre de la sección podrás ocultarla. Ten en cuenta que si ocultas estas secciones, eliminarás los controles existentes en ellas. Access te advertira con un mensaje antes de que eso ocurra. Cambiar el tamaño de una sección En más de una ocasión, tendrás la necesidad de modificar el tamaño de una sección, esto es, hacer que una sección sea más o menos alta de lo que es. Para cambiar el tamaño de una sección, realiza los siguientes pasos: 1. Sitúa el puntero del ratón en la parte inferior de la sección a la que desees cambiar el tamaño. 2. Cuando el puntero del ratón se convierta en una flecha de dos puntas (hacia arriba y hacia abajo), haz clic y, sin soltar, arrastra el puntero hacia arriba para reducir su tamaño o hacia abajo para aumentarlo. 42

3. Suelta el botón del ratón cuando la sección tenga el tamaño deseado. Access aumentará el tamaño de una sección siempre que intentes crear un nuevo control con un tamaño mayor del que quepa en la sección o cuando aumentes el tamaño de un control más allá de la capacidad de la sección. Aumentar el tamaño del informe Para terminar con el tema de las secciones, queremos mencionar que además de aumentar o reducir el tamaño de una sección, también puedes aumentar o reducir el tamaño del informe (o formulario) completo. Para modificar el tamaño del formulario, sólo hay que arrastrar su borde. Como el término borde puede no estar muy claro cuando se habla de informe o formulario, en la figura 10.7 se muestra el puntero del ratón justo en el borde del informe. Figura 10.7. El borde del informe permite aumentar o reducir su tamaño Si haces clic en este borde y arrastras hacia la parte interior del informe, reducirás su tamaño. Si arrastras hacia la derecha, aumentarás su tamaño. Ten en cuenta que no podrás reducir el tamaño de un informe o formulario si hay algún control que lo impida. En otras palabras, Access no te permitirá que «ocultes» un control al reducir el tamaño del informe. Incluir imágenes en un informe o formulario Si vuelves a observar la figura 10.1, verás que en ella aparece una imagen gráfica en el título del informe. Para terminar el libro, vamos a dedicar unos pequeños apartados a la inclusión de imágenes u otros objetos en informes y formularios de Access. 43