Anda di halaman 1dari 46

mailxmail - Cursos para compartir lo que sabes

Access. Formularios, tablas y consultas


Autor: Julin Casas

mailxmail - Cursos para compartir lo que sabes

Presentacin del curso


Access. Formularios, tablas y consultas, aprende a crear formularios avanzados que nos permitirn gestionar informacin de varias tablas relacionadas. Al igual que en los formularios, en las consultas podemos hacer participar a varias tablas tablas. Aprende a crear consultas basadas en campos de varias tablas, a introducir condiciones en consultas de varias tablas, a modificar las consultas aadiendo y quitando tablas y campos. Seguramente se te plantearn situaciones en las que sea imprescindible tener la informacin de tu base de datos en papel. Aprender adems a crear informes.

mailxmail - Cursos para compartir lo que sabes

1. Formularios de varias tablas


Objetivos del captulo 1, 2 y 3 Operar con formularios de varias tablas. Introducir cuadros de lista desplegables. Los subformularios.

En captulos anteriores hemos aprendido a crear formularios; en este captulo crears formularios avanzados que nos permitirn gestionar informacin de varias tablas relacionadas. Tambin aprenders a incorporar nuevos controles en tu formulario, e incluso, a introducir un subformulario. Formularios de varias tablas Ya hemos visto en captulos anteriores un par de ejemplos de formularios de varias tablas. Sin embargo, queremos dedicar un captulo 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: Cmo lograr que el profesor se pueda seleccionar de una lista y no haga falta conocer su cdigo para asignarlo a un curso. Cmo lograr que no aparezca un cdigo sino un nombre para identificar al profesor. Cmo crear un formulario con tablas que estn relacionadas de muchos a muchos (bueno, ya sabemos que para este tipo de relacin, 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 captulo. Como puedes ver, este formulario contiene los datos de un curso, incluidos sus alumnos y el nombre de su profesor.

mailxmail - Cursos para compartir lo que sabes

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 tambin 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 slo con su cdigo de identificacin. Pues bien, en los siguientes apartados veremos cmo crear un formulario de estas caractersticas. 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 ms 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.

mailxmail - Cursos para compartir lo que sabes


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 informacin 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 acta como tabla principal. Alternativas al formulario de varias tablas Es posible que ahora te ests planteando la necesidad o no de usar formularios de varias tablas. Si, al fin y al cabo, ya hemos creado formularios con ms 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, tendras 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 podra servir, aunque con ciertos cambios. 2. Eso s, al introducir el profesor tendras que conocer su cdigo, ya que el campo que aparece en la tabla Cursos para identificar al profesor es su cdigo. 3. Despus, una vez definido el curso, tendras que apuntar el cdigo del curso en un papel (por ejemplo, para el curso de Access, el cdigo es el 2). 4. Para introducir los alumnos, habra que usar un formulario de alumnos, como Formulario para alumnos que modificamos en el captulo 6 y que tiene la apariencia de la figura 8.2. 5. Finalmente, habra que utilizar un formulario de la tabla AlumnosPorCurso para incluir el cdigo del curso y el cdigo de cada alumno de dicho curso. Esta tarea que parece tan sencilla podra llevarte mucho tiempo, ya que tendras que ir abriendo y cerrando la tabla de alumnos para conocer el cdigo de cada uno de ellos.

mailxmail - Cursos para compartir lo que sabes

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 captulo. 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 tcnicas de modificacin 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 cmo hacerlo en otro captulo, cuando sepamos crear y usar las consultas de totales y de agrupacin. La eleccin del mtodo 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 ms fcil modificar un formulario ya creado que tener que crear dos formularios y unirlos luego. En este libro hemos usado esta tcnica al crear el formulario Formulario para profesores (figura 5.6). En este formulario slo hay dos tablas relacionadas con una relacin de uno (Profesores) a muchos (Cursos). Usa el mtodo 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

mailxmail - Cursos para compartir lo que sabes


muestra todos los cursos a los que ha asistido cada alumno, es mejor crear el subformulario y unirlos posteriormente. Lo crearemos en otro captulo.

Figura 8.3. Formulario de alumnos indicando sus cursos

mailxmail - Cursos para compartir lo que sabes

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 exploracin, 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 Ms formularios, Asistente para formularios. 3. En nuestro ejemplo, primero aade todos los campos de la tabla principal (Cursos) y, despus, 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 usars 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 Tabular 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. La figura 8.5 muestra el resultado de usar el asistente de formularios con los pasos

mailxmail - Cursos para compartir lo que sabes


La figura 8.5 muestra el resultado de usar el asistente de formularios con los pasos indicados anteriormente. Comprobars que crear un formulario es bastante sencillo.

Figura 8.5. Resultado de usar el asistente con tres tablas La mayora de las diferencias entre este formulario y el formulario de la figura 8.1 son estticas. 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 surgirn 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 cdigo de alumno para asignarlo al curso. Access aade automticamente el resto de campos extrayndolos 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 cdigo 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 continuacin. La vista de diseo del formulario

mailxmail - Cursos para compartir lo que sabes


Todos los cambios que hay que llevar a cabo en el formulario, hay que realizarlos en la vista de diseo de dicho formulario. Recuerda que para abrir este modo de vista de diseo: Si ests en el panel de exploracin, pulsa en el men y elige Formularios, selecciona el formulario y haz clic secundario sobre l, elige abrir en Vista Diseo. Si est el formulario abierto, haz clic en el comando Ver. La figura 8.6 muestra la ventana de diseo del formulario creado. Es muy parecida a la ventana de diseo de cualquiera de los formularios creados anteriormente, pero conviene destacar una serie de elementos:

Figura 8.6. Ventana de diseo 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, etctera. 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 tcnicas que ya conocemos de modificacin 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 ttulo 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

mailxmail - Cursos para compartir lo que sabes


combinado (tambin llamado de lista desplegable) para seleccionar el profesor en el formulario principal. De este modo, en lugar de introducir un cdigo (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 cdigos ni llenar la mesa de listas de cdigos. No hay posibilidad de equivocarnos de cdigo. Si se selecciona el nombre de una lista, el cdigo lo introduce Access automticamente. Al ver el formulario en pantalla, cualquier persona sabe cul 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 cmo aadir uno de estos controles a un formulario: 1. Abre la vista de diseo del formulario y asegrate de que se ven la Lista de campos y el grupo de comandos Controles de la ficha Diseo de Herramientas de diseo de formulario . 2. Asegrate de que est pulsado el botn Asistentes para controles del grupo de comandos Controles. 3. Haz clic sobre el botn Cuadro combinado en el grupo de comandos Controles. 4. Haz clic en el campo que quieras aadir y, despus, haz clic en la seccin Detalledel formulario (donde estn el resto de controles). En nuestro ejemplo, usa el campo IdProfesor. Access abrir un Asistente para cuadros combinados. 5. Activa la primera opcin 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 usars para las relaciones) y los campos mnimos necesarios para identificar el registro. En nuestro ejemplo, IdProfesor, Nombre y Apellidos. Haz clic en Siguiente. 8. Despus de elegir un criterio de ordenacin, 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

mailxmail - Cursos para compartir lo que sabes

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 aadir 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

mailxmail - Cursos para compartir lo que sabes

Figura 8.8. El formulario con el nuevo cuadro combinado Es evidente que nuestro nuevo control es mucho ms claro que el otro para ver cul es el profesor que imparte un curso. Adems, 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, automticamente, vara el contenido del control IdProfesor. Esto se debe a que, realmente, en nuestro nuevo control se almacena el cdigo 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 botn 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

mailxmail - Cursos para compartir lo que sabes


Almacena el valor en el campo AlumnosPorCurso_IdAlumno. Asgnale 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 cmo 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 tamao entre otras cosas) y los controles que aparecen en l. Por ejemplo, hay cuatro campos que no tiene sentido que estn en el subformulario y que debemos eliminar para clarificar su contenido: El campo I d no sirve para nada. Su nica utilidad es servir de campo clave a la tabla AlumnosPorCurso y, por tanto, como no aporta informacin, se puede quitar del subformulario. El campo Id alumno est repetido, ya que hemos aadido 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 tambin est de ms, ya que es idntico 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 informacin de inters. Si no estuvieran en la lista de campos del subformulario, Access no podra mostrar los alumnos por curso, ya que no podra relacionarlos. Por eso, los aadimos con el asistente aunque sabamos que habra que -eliminarlos. ltimos retoques Para lograr la figura 8.1, slo quedan los siguientes retoques: Elimina el control IdProfesor del formulario principal. Con el nuevo control del profesor creado es suficiente. Sita el nuevo control del profesor en la posicin en la que estaba el control IdProfesor que acabas de eliminar. Reduce el tamao del control del precio, ya que es excesivo. Modifica el orden de tabulacin del formulario principal para que el nuevo control Profesor vaya despus del nombre del curso (se llamar CuadroCombinadoX, siendo X un nmero). 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 tambin ms alto, para que si hay ms de cuatro alumnos se

14

mailxmail - Cursos para compartir lo que sabes


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

15

mailxmail - Cursos para compartir lo que sabes

3. Introducir datos en el formulario


Vamos a usar el formulario para incluir alumnos en los -cursos existentes. As comprobars lo fcil que es introducir ahora -nuevos alumnos y asignar un profesor y un alumno a un curso sin saber los cdigos. 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, aade los alumnos segundo, cuarto y sexto al ltimo curso. Finalmente, crea un nuevo curso y aade 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 cmo 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 captulos 5 y 8. Los tres pasos esenciales que se siguen a la hora de crear formularios y aadirles un sobformulario son: 1. Crear el formulario principal. 2. Crear el subformulario. 3. Aadir el subformulario al formulario principal y enlazarlos. Crear el formulario principal En realidad, en el ejemplo, los puntos 1 y 2 estn ya hechos, puesto que disponemos de los formularios ya creados. Si no fuera as, tendras que crear el formulario principal con el Asistente para formularios, como vimos en los captulos 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 ms que eliminar un control, as que para preparar nuestro formulario principal, sigue estos pasos: 1. Abre el modo de vista de diseo 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 ms que un formulario dentro de otro. Por tanto, para crearlo, slo tienes que utilizar el asistente para crearlo. Eso s, como se va a utilizar como subformulario, has de seguir unas normas mnimas:

16

mailxmail - Cursos para compartir lo que sabes


Incluye el campo que sirva para relacionar el formulario con el subformulario. Suele ser el campo clave si es una relacin 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 modifcalo 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 tamao del control IdCurso (es un nmero y no aporta informacin 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, slo del formulario). Aumentar el tamao del control FechaInicio y de su etiqueta, para ver completos el contenido del control y de la etiqueta. Aumentar el tamao del control FechaFin y su etiqueta para lograr ver sus contenidos completos. Reducir el tamao del control Precio y de su etiqueta. Finalmente, hemos movido los controles y las etiquetas para que quedaran encima del control correspondiente. Aadir el subformulario al formulario principal El tercer paso consiste en aadir el subformulario al formulario principal. No hay mucha diferencia entre aadir un control del tipo subformulario y otros tipos de controles, como muestran los siguientes pasos: 1. Abre la vista de diseo del formulario principal. 2. Asegrate de que se ve el grupo de comandos Controles y de que est activado el botn Asistente para controles.

17

mailxmail - Cursos para compartir lo que sabes


3. Haz clic en el botn Subformulario/Subinforme del Cuadro de herramientas. 4. Haz clic sin soltar en la posicin del formulario en la que desees incluir el subformulario y arrastra hasta darle un tamao apropiado (si no queda bien, puedes ampliarlo o reducirlo despus). 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 opcin de relacin 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 tendras que abrir la ventana de diseo del formulario y realizar los cambios que desees como -siempre.

Figura 8.10. Formulario terminado

18

mailxmail - Cursos para compartir lo que sabes

4. Consultas de varias tablas y de totales


Objetivos del captulo 4, 5, 6 y 7 Realizar consultas de varias tablas. Consultas de agrupacin y de totales.

Creacin de consultas basadas en consultas. Al igual que en los formularios, en las consultas podemos hacer participar a varias tablas. En este captulo aprenderemos a crear consultas basadas en campos de varias tablas, a introducir condiciones en consultas de varias tablas, a modificar las consultas aadiendo y quitando tablas y campos. Tambin aprenderemos a crear consultas de totales o de agrupacin, a incluir campos calculados en consultas y a crear consultas basadas en otras consultas. Consultas de varias tablas En el captulo 7, vimos cmo crear consultas con una nica condicin y con varias condiciones. Tambin vimos que estas condiciones podan 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 captulo 7 vimos condiciones de todo tipo pero siempre sobre campos de la tabla Profesores. En este apartado vamos a ver cmo crear consultas de datos de ms de una tabla. El objetivo de este tipo de consultas suele ser doble: Realizar consultas basadas en datos de ms de una tabla. Por ejemplo, buscar los profesores que viviendo en Barcelona -hayan impartido un curso en el ao 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 captulo. Veamos paso a paso el ejemplo de una consulta con datos de ms de una tabla. Ya sabemos que queremos obtener informacin sobre los profesores de Barcelona que hayan realizado un curso en el ao 2010. Como vimos en el captulo 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 resultado de la consulta.

19

mailxmail - Cursos para compartir lo que sabes


resultado de la consulta. A diferencia de las consultas de una nica tabla, se pueden mostrar datos de ms de una tabla y, por tanto, tambin 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 telfono mvil del profesor. La fecha de finalizacin de un curso que haya impartido en el ao 2010. Para saber esta informacin, necesitamos datos de las tablas Profesores (el nombre, los apellidos, la ciudad y el mvil) 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 cmo hacerlo (la nica diferencia con los pasos vistos en el captulo 7 es que hay que indicar que queremos usar campos de varias tablas): 1. En el panel de exploracin, haz clic en el men y elige Consultas. Vers las consultas creadas en el captulo 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. Aade ahora el cdigo del profesor (recuerda, IdProfesor), el nombre, los apellidos, la ciudad y el mvil. 4. Repite el paso anterior para cada una de las tablas de las que quieras obtener campos. En nuestro ejemplo, reptelo con la tabla Cursos y los datos indicados (fecha final y profesor, como muestra la figura 9.1). 5. Haz clic en el botn 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 ms adelante en este mismo captulo). 6. Escribe el ttulo de la consulta, por ejemplo, Profesores de Barcelona ao 2010 y haz clic en Finalizar.

20

mailxmail - Cursos para compartir lo que sabes

Figura 9.1. Seleccin 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 condicin, por lo que aparecen profesores que no son de Barcelona y que han terminado sus cursos en el ao 2009 (y no slo durante el 2010). Pero lo ms relevante es que no aparecen todos los datos de la tabla Profesores. Aunque no se ha introducido ninguna condicin en la consulta, slo aparecen los profesores que han impar-tido algn curso. Esto se debe a que Access considera intrnseca la condicin 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 condicin intrnseca es que las tablas Profesores y Cursos estn

21

mailxmail - Cursos para compartir lo que sabes


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, slo resta incluir las condiciones que consigan que slo aparezcan los profesores que viviendo en Barcelona hayan terminado algn curso en el ao 2010. Como ya sabemos, las condiciones hay que definirlas en la vista de diseo de la consulta. Observa la figura 9.3. Es la vista de diseo de la consulta que ha creado el Asistente para consultas sencillas (cuya ventana de presentacin se muestra en la figura 9.2).

Figura 9.3. Vista de diseo de la consulta En esta ventana, puedes ver perfectamente varias caractersticas que distinguen las consultas de varias tablas de las de una nica tabla: En la zona de tablas, hay ms de una lista de campos. De hecho, aparecer una lista por cada una de las tablas que se aadan a la consulta. Entre las listas de campos de cada tabla, aparece una lnea similar a la que aparece en la ventana de relaciones de Access. Esta lnea indica que hay una relacin entre dichas tablas y que esta relacin se transfiere tambin a las consultas creadas con tablas relacionadas (en las consultas, las relaciones reciben el nombre de combinaciones).

22

mailxmail - Cursos para compartir lo que sabes


La fila Tabla de la cuadrcula QBE adquiere ahora importancia, ya que indica a qu tabla pertenece cada uno de los campos que se aaden a la cuadrcula QBE. Cuando hay dos campos que se llaman de la misma forma en dos o ms 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, slo hay que seguir estos pasos: 1. Abre la vista de diseo de la consulta creada (o si ests en la vista de hoja de datos, haz clic en el comando Ver). 2. En el campo FechaFin, escribe > = # 1 / 1 / 1 0 # Y < = # 3 1 / 1 2 / 1 0 #. 3. En el campo Ciudad, escribe Barcelona. Esto significa que el curso ha terminado en el ao 2010 y que el profesor vive en Barcelona.

23

mailxmail - Cursos para compartir lo que sabes

5. Access. Modificar consultas


Las consultas, al igual que el resto de elementos de Access, se pueden modificar siempre que se desee. Como ocurra en los formularios y en las tablas, para realizar cualquier cambio en las consultas hay que abrir la vista de diseo. Algunas de las formas de modificar una consulta son muy sencillas (o ya las conocemos), y slo les vamos a dedicar una mencin: Ya sabes cmo aadir condiciones a las consultas. Para borrar condiciones, solamente tienes que hacer clic en la condicin en cuestin y borrarla utilizando las teclas Supr o -Retroceso. Para aumentar el ancho de una columna en la consulta, sita el puntero del ratn en la lnea 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 diseo de las consultas define el orden en que se muestran los datos en el resultado de la consulta, es importante saber cmo modificar ese orden. Para cambiar de posicin una columna en la consulta, has de seguir estos pasos (es muy parecido al mtodo 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 botn del ratn, arrastra la columna a la posicin en la que quieras situarla. Observa que Access muestra con una lnea vertical gruesa la posicin en la que va a situar la columna. 3. Suelta el botn del ratn cuando veas que Access muestra la columna en la posicin deseada. Sin embargo, hay otras formas de modificar el diseo de la consulta que debes conocer y que se explican en los apartados siguientes. Aadir ms tablas a una consulta Las consultas no han de estar basadas slo en dos tablas. Pueden estar basadas en tantas tablas como se desee. Eso s, nuestro consejo es que utilices consultas con tablas relacionadas. Para aadir ms tablas a una consulta ya existente, utiliza los siguientes pasos: 1. Abre la vista de diseo de la consulta. 2. Haz clic en el comando Mostrar tabla del grupo Configuracin de consultas en la cinta de opciones. 3. En el cuadro de dilogo Mostrar tabla, aparecern las tablas existentes en la base de datos. Haz doble clic en la tabla que quieras aadir. 4. Repite el paso 3 para cada una de las tablas que quieras aadir. 5. Cuando hayas aadido todas las tablas que desees, haz clic en Cerrar.

24

mailxmail - Cursos para compartir lo que sabes


Una vez que aparezcan en la vista de diseo 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 aadir 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 Botn Office para guardar la nueva consulta con el nombre Consulta de cuatro tablas. Aadir o eliminar campos en la cuadrcula QBE Dos de las operaciones ms habituales a la hora de modificar una consulta son aadir nuevos campos a la cuadrcula QBE o eliminar alguno de los existentes. Para eliminar, que es ms 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 aadir un campo tambin en cualquier momento. Los siguientes pasos indican cmo: 1. Asegrate de que la tabla en la que se encuentra el campo que quieres aadir aparece en la parte superior de la vista de diseo. Si no es as, aade 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 cuestin para ver el nombre del campo. 3. Haz clic en el nombre del campo que quieras aadir y, sin soltar el botn del ratn, arrstralo a la cuadrcula QBE hasta la posicin en la que desees situarlo. Si en lugar de arrastrar el nombre del campo haces doble clic sobre l, se aadir rpidamente el campo en la primera columna que est libre. Si quieres situarlo en otra posicin, ya sabes que slo tienes que seleccionar la columna y arrastrarla a la

25

mailxmail - Cursos para compartir lo que sabes


otra posicin, ya sabes que slo tienes que seleccionar la columna y arrastrarla a la posicin deseada. Ocultar un campo en el resultado Otra de las acciones que se pueden llevar a cabo en la cuadrcula QBE es ocultar alguno de los campos existentes en dicha cuadrcula. 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 ms elegante ocultar campos para que slo se vea uno. Se pueden incluir campos en la cuadrcula 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 cuadrcula QBE para poder incluir las condiciones. En estos casos, y en cualquier otro que quieras tener un campo en la cuadrcula QBE pero que no se vea en el resultado, lo nico que tienes que hacer es desmarcar la casilla de verificacin de la fila Mostrar (haz clic en la casilla para quitar la marca que hay dentro).

26

mailxmail - Cursos para compartir lo que sabes

6. Consultas de agrupacin y de totales


Las consultas no slo sirven para saber los datos existentes en las tablas. Hasta ahora, todas las consultas las hemos empleado para saber qu profesores cumplan un nmero determinado de condiciones, o qu cursos se celebraban en una fecha concreta. Sin embargo, las consultas tambin se pueden usar para realizar clculos, que pueden ir desde sumar valores numricos a contar registros de una tabla que cumplan las condiciones impuestas. Este tipo de consultas recibe el nombre de consultas de totales (y de agrupacin, 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 cmo se hace. La figura 9.5 muestra el resultado de la consulta que vamos a crear. Su objetivo es bastante simple (contar el nmero de alumnos por curso), pero nos va a permitir ver cmo 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 ms rpido hacerlo as. Los siguientes pasos muestran cmo crear una consulta desde cero: 1. Dentro del panel de exploracin, haz clic sobre el men y elige Consultas. 2. Haz clic en la ficha Crear y ejecuta el comando Diseo de consulta y Access abrir una vista de diseo vaca y el cuadro de dilogo Mostrar tabla. 3. Aade todas aquellas tablas de las que vayas a obtener datos haciendo doble clic

27

mailxmail - Cursos para compartir lo que sabes


en su nombre (ya vimos cmo aadir tablas a una consulta anteriormente). En nuestro ejemplo, aade Alumnos y Cursos. 4. Aade tambin 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 dilogo Mostrar tabla. 5. Aade a la cuadrcula QBElos campos que desees que aparezcan en la consulta; recuerda que puedes hacer doble clic sobre el campo. En nuestro caso, aade los campos mostrados en la figu-ra 9.5. Si ejecutas ahora la consulta, vers los campos indicados para cada alumno que ha asistido a cada curso, pero no es esto lo que queremos.

6. Haz clic en el botn Totales de la ficha Diseo en la cinta de opciones. Vers que aparece una nueva lnea en la cuadrcula QBEllamada - T o t a l con el contenido Agrupar por Agrupar por en todos los campos (por eso tambin se llaman consultas de agrupacin). 7. Utiliza las opciones de la fila Total para indicar la operacin 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 -botn 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 cuadrcula QBE. Dependiendo de la seleccin, se puede realizar una operacin u otra. Tabla 9.1. Opciones de la fila Total Opcin Agrupar por agrupacin registros indiSuma Promedio Mn Mx Cuenta DesvEst Var Primero ltimo Expresin Resultado Es el valor por omisin. 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 clculo 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 nmero de registros. Calcula la desviacin estndar de los valores. Calcula la varianza de los valores. Muestra el primer valor. Muestra el ltimo valor. Sirve para crear un campo calculado.

28

mailxmail - Cursos para compartir lo que sabes


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 ms 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 mnima y la mxima de los alumnos de cada curso. De ese modo, podremos conocer segn la temtica la edad de inters 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. Aade a la cuadrcula los mismos campos que en la figura 9.5. Aade un nuevo campo calculado al final de la cuadrcula QBE. Para hacerlo, escribe el nombre del campo calculado seguido de dos puntos y de la operacin que realice el clculo de dicho campo. En nuestro ejemplo, escribe Edad media: (Fecha()-[Fecha nacimiento])/365. Esta expresin calcula el nmero de das existentes entre la fecha actual (que obtenemos de la funcin -Fecha()) y la fecha de nacimiento. Al final, lo divide entre 365 para calcular los aos del alumno. Para terminar, define la operacin que quieras realizar con el campo calculado en la fila Total (Mx, Mn, Cuenta, etctera). Si dejas el valor Agrupar por, vers la edad de cada alumno; si incluyes la opcin Promedio, obtendrs la media de edad; la opcin Mxte indicar la edad del mayor, mientras que la opcin Mn te proporcionar la edad del ms 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 opcin Promedioy guarda la consulta (parte superior de la figura 9.6). Ejectala y obtendrs el resultado mostrado en la parte inferior de la figura 9.6.

29

mailxmail - Cursos para compartir lo que sabes

Figura 9.6. Obtencin de la media de edad de los alumnos en cada curso Para terminar, cierra la consulta y vuelve a abrir su ventana de diseo. Observa que Access ha introducido automticamente la opcin Expresin en la fila Total del campo calculado y ha introducido la operacin de promedio en el propio ttulo del campo calculado. Condiciones en las consultas de totales La parte superior de la figura 9.6 muestra la vista de diseo 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 slo tengan en cuenta los cursos que hayan finalizado en el ao 2009 o que hayan sido impartidos por un profesor concreto. En este caso, hay que introducir la condicin en los campos originales de las tablas. Las que se refieren al resultado de la operacin de totales. Por ejemplo, podemos indicar que slo se muestren los datos de los cursos cuya media de edad sea superior a 32 aos.

30

mailxmail - Cursos para compartir lo que sabes


superior a 32 aos. La diferencia principal entre estos dos tipos de condiciones radica en el momento en el que Access comprueba la condicin. En el primer caso, la condicin se comprueba antes de llevar a cabo los clculos de totales. En el segundo caso, la condicin se evala una vez realizado el clculo. Pero, qu hacer si hay que introducir una condicin en un campo que no tiene que aparecer en el resultado de la consulta? Pues muy fcil, se introduce el campo, se oculta dicho campo desactivando la casilla Mostrar y se selecciona la opcin Dnde Dndeen la fila Total. De este modo, el campo no aparece en el resultado, ni se tiene en cuenta a la hora de agrupar.

31

mailxmail - Cursos para compartir lo que sabes

7. Crear consultas basadas en consultas


Hemos dejado para el final del captulo 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 estn basados en consultas y consultas tambin 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 cunto dinero hemos recaudado en cada curso. Para lograrlo, tenemos que multiplicar el precio del curso por el nmero de alumnos. La figura 9.7 muestra en su parte superior la ventana de diseo de la consulta creada al efecto que hemos llamado Recaudacin por curso. En su parte inferior, la misma figura muestra otra consulta, llamada Recaudacin basada en AlumnosPorCurso, que aprovecha la consulta Contar AlumnosPorCurso creada en este captulo.

32

mailxmail - Cursos para compartir lo que sabes

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 captulo siguiente. Para crear una consulta basada en otra consulta, lo nico que hay que hacer es, a la hora de aadir tablas a la ventana de diseo, utilizar la pestaa Consultasdel cuadro de dilogo Mostrar tabla (figura 9.8).

33

mailxmail - Cursos para compartir lo que sabes

Figura 9.8. Pestaa Consultas del cuadro Mostrar tabla Una vez aadida la consulta, hay que crear la consulta como siempre: aadir campos y condiciones segn se desee. Ten en cuenta que puedes aadir tablas y consultas a la misma consulta, aunque no es muy normal.

34

mailxmail - Cursos para compartir lo que sabes

8. Informes en Access
Objetivos del captulo 8, 9 y 10 Creacin de informes. Las secciones en los informes. Modificar los informes.

Seguramente se te plantearn situaciones en las que sea imprescindible tener la informacin de tu base de datos en papel. En este captulo vamos a aprender a crear informes. Aprenders a usar la ventana preliminar de informes, a modificar los informes usando la vista de diseo, a ver las secciones de un informe, a modificar el tamao de los informes y formularios, a aadir imgenes y a modificar una consulta base de un informe. Los informes Vamos a terminar los captulos sobre Access con los informes. Los informes son los elementos de las bases de datos pensados para imprimir los datos en papel. Las tcnicas para crear y modificar los informes son prcticamente 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 estn diseados para imprimirlos. Esto implica que, por ejemplo: No tenga sentido en los informes el uso de controles que impliquen la intervencin 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 opcin 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 imprimirn. De hecho, esto es un informe en la vista que muestra cmo aparecern los datos al imprimirse en papel. En los siguientes apartados, vamos a ver cmo crear y modificar este informe.

35

mailxmail - Cursos para compartir lo que sabes

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 cmo hacerlo: 1. En el panel de exploracin, 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, aade campos de tantas -tablas como desees. En nuestro ejemplo, hemos aadido 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 telfono mvil. 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 informacin por Curso o por Alumno. A nosotros nos interesa por cursos, as que haz clic en Siguiente.

36

mailxmail - Cursos para compartir lo que sabes

Figura 10.2. Segunda ventana del asistente 5. La siguiente ventana pregunta si quieres agrupar los datos por algn tipo de campo. Es til si se desea realizar alguna suma o contar algn 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 ocurra en las consultas). En nuestro ejemplo, es til ordenar los alumnos de los cursos primero por nombre y, despus, 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 distribucin de los datos (haz clic en las distintas opciones y vers el resultado en el cuadro de ejemplo) y la orientacin. Nuestro consejo es que elijas la orientacin Horizontal.

37

mailxmail - Cursos para compartir lo que sabes


8. Al hacer clic en Siguiente, la nueva ventana muestra los distintos estilos aplicables al informe. Nosotros hemos dejado la -opcin Oficina. 9. Por ltimo, haz clic en Siguiente, escribe el ttulo 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

mailxmail - Cursos para compartir lo que sabes

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 presentacin del informe que tambin recibe el nombre de vista preliminar. Es ms 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 ratn tiene forma de lupa con un signo + dentro de ella. Si haces clic sobre el documento, vers el texto ms grande. Vuelve a hacer clic y vers de nuevo el documento a pgina completa. Piensa que la vista preliminar slo 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 funcin: Imprimir. Si te gusta lo que ves en la vista preliminar, puedes imprimir el documento haciendo clic en este botn. Se abrir el cuadro de dilogo Imprimir donde dar las ltimas instrucciones antes de la impresin, como son el nmero de copias, el intervalo de pginas o la impresora que las imprimir. Zoom. Este botn tiene la misma funcin que el puntero del ratn sobre el informe: acta como un interruptor mostrando detalles del informe o el informe a pgina completa. Si pulsas la flecha que indica desplegable podrs 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 pgina. Este botn muestra una nica pgina del informe. Junto con los dos siguientes define el nmero de pginas que se ven a la vez en pantalla. Dos pginas. Este botn muestra en pantalla dos pginas consecutivas del informe. Ms pginas. Este botn es til para los documentos de gran tamao. Permite indicar a la vista preliminar que muestre varias pginas a la vez. Para usarlo, haz clic sobre l y arrastra (sin soltar) hasta definir el nmero de pginas que quieres ver. Diseo de pgina. Este grupo de comandos sirve para configurar la pgina. Cambia la orientacin o el tamao de la hoja; si pulsas en mrgenes podrs 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 adems de imprimir, exportes el informe a otros tipos de archivo. Cerrar. Este botn 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

mailxmail - Cursos para compartir lo que sabes


En este caso, estos botones sirven para moverse entre las pginas del informe (cuando tiene ms de una), y su nombre explica perfectamente su funcin: Primera pgina. Este botn muestra la primera pgina del -informe. Pgina anterior. Este botn muestra la pgina anterior del -informe. Recuadro de pgina. En el recuadro central, puedes escribir el nmero de pgina del informe a la que quieras ir. Cuando pulses Intro, Access mostrar dicha pgina automticamente. Siguiente pgina. Muestra la pgina siguiente. ltima pgina. Muestra la ltima pgina del informe. Vista de diseo de informes Al igual que en el caso de los formularios, los informes tienen una vista de diseo propia que sirve para modificar un informe una vez creado. Para abrir esta vista de diseo, 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 exploracin, slo tienes que hacer clic secundario sobre el informe correspondiente y elegir la opcin Vista Diseo. La figura 10.5 muestra la ventana de diseo del informe creado con el asistente. Esta ventana se usa igual que la ventana de diseo de los formularios. De este modo, podrs usar las tcnicas vistas en los formularios para aadir controles, para modificar su tamao o posicin, para asignarles los formatos que desees, para incluir controles calculados, etctera.

Figura 10.5. Ventana de diseo del informe

40

mailxmail - Cursos para compartir lo que sabes


De hecho, ahora deberas usar todas esas tcnicas para mejorar la apariencia de este informe y que se vean todas las etiquetas. A continuacin 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 tamao de la etiqueta de la seccin Encabezadodel informe para que se vea completo el ttulo: Informe de alumnos por cursos. Reducir el tamao 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 tamao del control Precio y de su etiqueta. Eliminar el control IdAlumno y su etiqueta, ya que no aporta informacin ninguna. Aumentar el tamao del control Apellidos. Aumentar el tamao y mover las etiquetas para que muestren todo su contenido justo encima del control correspondiente.

41

mailxmail - Cursos para compartir lo que sabes

10. Access. Secciones en los informes


Observa que la vista de diseo de un informe aparece dividida horizontalmente por varias lneas gruesas. Estas lneas separan las secciones de un informe. Lo mismo ocurre en la ventana de diseo de los formularios, pero hemos preferido ver aqu las secciones ya que tienen mucha ms importancia en los informes que en los formularios. El contenido de cada seccin de un informe aparece una o varias veces dependiendo de la seccin de la que se trate. En concreto: La seccin Encabezadodel informe contiene la informacin que va a aparecer slo una vez al principio del informe en la primera pgina del mismo (en el caso de que tenga varias). Suele incluir el ttulo del informe. La seccin Encabezadode pgina contiene la informacin que va a aparecer al principio de cada pgina del informe. Esto significa que si el informe se imprime en siete pginas, aparecer el contenido de esta seccin al inicio de cada una de estas pginas. La seccin Detalle contiene la informacin 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 seccin Pie de pgina contiene la informacin que aparece al final de cada pgina del informe. La seccin Pie del informe contiene la informacin que slo aparece al final del informe. Suele ser informacin de totales. Finalmente, observa que aparece una seccin llamada Encabezado IdCurso. Como el informe est agrupado por curso (por eso la seccin Detalle muestra los alumnos de cada curso), el contenido de esta seccin 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 ratn sobre una de estas barras y pulsas en el men emergente sobre el nombre de la seccin podrs ocultarla. Ten en cuenta que si ocultas estas secciones, eliminars los controles existentes en ellas. Access te advertira con un mensaje antes de que eso ocurra. Cambiar el tamao de una seccin En ms de una ocasin, tendrs la necesidad de modificar el tamao de una seccin, esto es, hacer que una seccin sea ms o menos alta de lo que es. Para cambiar el tamao de una seccin, realiza los siguientes pasos: 1. Sita el puntero del ratn en la parte inferior de la seccin a la que desees cambiar el tamao. 2. Cuando el puntero del ratn 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 tamao o hacia abajo para aumentarlo.

42

mailxmail - Cursos para compartir lo que sabes


3. Suelta el botn del ratn cuando la seccin tenga el tamao deseado. Access aumentar el tamao de una seccin siempre que intentes crear un nuevo control con un tamao mayor del que quepa en la seccin o cuando aumentes el tamao de un control ms all de la capacidad de la seccin. Aumentar el tamao del informe Para terminar con el tema de las secciones, queremos mencionar que adems de aumentar o reducir el tamao de una seccin, tambin puedes aumentar o reducir el tamao del informe (o formulario) completo. Para modificar el tamao del formulario, slo hay que arrastrar su borde. Como el trmino borde puede no estar muy claro cuando se habla de informe o formulario, en la figura 10.7 se muestra el puntero del ratn justo en el borde del informe.

Figura 10.7. El borde del informe permite aumentar o reducir su tamao Si haces clic en este borde y arrastras hacia la parte interior del informe, reducirs su tamao. Si arrastras hacia la derecha, aumentars su tamao. Ten en cuenta que no podrs reducir el tamao de un informe o formulario si hay algn control que lo impida. En otras palabras, Access no te permitir que ocultes un control al reducir el tamao del informe. Incluir imgenes en un informe o formulario Si vuelves a observar la figura 10.1, vers que en ella aparece una imagen grfica en el ttulo del informe. Para terminar el libro, vamos a dedicar unos pequeos apartados a la inclusin de imgenes u otros objetos en informes y formularios de Access.

43

mailxmail - Cursos para compartir lo que sabes


Vamos a comenzar por el ejemplo ms sencillo, que consiste en incluir una imagen ya existente en un informe de Access. Como siempre, todo lo visto para los informes lo puedes aplicar a los formularios. Los pasos que aparecen a continuacin muestran cmo incluir una imagen que ya existe en un informe: 1. Abre la vista de diseo del informe en el que quieras insertar la imagen y asegrate de que aparece en pantalla la ficha de la cinta de opciones Diseo de Herramientas de diseo de informe. 2. Haz clic en el comando Imagen. 3. Haz clic en el interior de la seccin del informe en la que desees situar la imagen. En nuestro ejemplo, hemos hecho clic en la seccin Encabezado del informe, si usas el comando Logotipo, se coloca por defecto en esa seccin. Aparecer el cuadro de dilogo Insertar imagen. 4. Usa este cuadro de dilogo para localizar la imagen que desees insertar en el informe y haz clic en Aceptar cuando la hayas encontrado. Nota Si hubisemos incluido la imagen en la seccin Encabezadode pgina, la imagen habra aparecido en la parte superior de todas las pginas del informe en cuestin. Al terminar estos pasos, Access incluir la imagen seleccionada en el punto indicado en el paso 3. Una vez est el nuevo control en el informe, puedes moverlo, cambiarle el tamao, etctera, como a cualquier otro control del informe. Otros elementos grficos independientes Adems de las imgenes, queremos destacar en este apartado del libro la posibilidad de usar los elementos grficos existentes en el grupo de comando Controles Controles. En concreto, la Lnea y el Recuadro. Es muy normal que el Asistente para informes y formularios incluya en estos objetos de la base de datos lneas para separar las secciones entre s o para destacar informacin importante, como los ttulos. T tambin puedes utilizarlos para el mismo fin. Lo nico que tienes que hacer es aadirlos como cualquier otro control: 1. En la vista de diseo del informe o formulario, asegrate de que se muestra el grupo de comandos Controles. 2. Haz clic sobre el botn Lnea o Rectngulo de este grupo en la cinta de opciones. 3. Haz clic en la posicin del informe en la que quieras aadir el nuevo elemento grfico. 4. Modifica el tamao y posicin de la lnea o del recuadro para situarlo donde desees. Nota El uso de rectngulos es perfecto para, sobre todo en los formularios, conseguir

44

mailxmail - Cursos para compartir lo que sabes


agrupar los controles relacionados entre s. Observa en el Formulario para alumnos (captulo 8) cmo se ven mucho ms claras las divisiones de controles que hicimos en su momento. Modificar la consulta base de un informe o formulario Ya hemos dicho en muchas ocasiones que los informes y formularios pueden estar basados en consultas en lugar de en tablas. De hecho, lo normal al usar el Asistente para informes con varias tablas es que Access base el informe creado en una consulta y no en una tabla. Para comprobar si un informe est basado en una tabla o en una consulta, slo tienes que seguir estos pasos: 1. Una vez que ests en la vista de diseo del informe, selecciona la opcin Informedel cuadro de lista desplegable Objeto. Este cuadro de lista es el primero que aparece en la barra de herramientas Formato. 2. Haz clic en el comando Hoja de propiedades de la ficha Diseo, grupo de comandos Herramientas, para abrir as el cuadro de propiedades del informe. 3. Haz clic sobre la pestaa Datos (observa la figura 10.8). 4. Observa el contenido de la propiedad Origendel registro. Si empieza por SELECT, es que el informe est basado en una consulta. Slo si aparece el nombre de una tabla es que el infor-me est basado en ella.

Figura 10.8. Cuadro de propiedades del informe Sin embargo, esto no implica que la consulta origen no se pueda modificar. Para abrir dicha consulta y modificarla a nuestro antojo, slo hay que hacer clic en el cuadro de puntos suspensivos que aparece a la derecha de la propiedad Origendel registro cuando se hace clic en su interior. La figura 10.9 muestra el resultado de hacer clic en este botn en la consulta de ejemplo. Como ves, la consulta en s no tiene ms que las tablas de las que se han obtenido campos y los campos correspondientes en la cuadrcula QBE.

45

mailxmail - Cursos para compartir lo que sabes

Figura 10.9. Consulta base del informe de ejemplo Una vez abierta, se pueden aadir nuevos campos, eliminar alguno de los existentes, aadir condiciones, etctera. En definitiva, combinando lo aprendido sobre consultas con lo aprendido sobre informes y formularios, podrs crear objetos realmente potentes en Access.

46

Anda mungkin juga menyukai