mailxmail - Cursos para compartir lo que sabes Tablas, formularios y expresiones en Access Autor: Julián Casas 1 mailxmail - Cursos para compartir lo que sabes Presentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las relaciones entre las tablas, la integridad referencial, cómo introducir datos de varias tablas relacionadas a la vez, cómo usar la hoja de datos para introducir información y modificar su apariencia para adecuarla a nuestras necesidades. Aprende además que Access nos proporciona herramientas para diseñar formularios que nos permitirán introducir datos en nuestras tablas de una forma mucho más fácil e intuitiva. Conoce cómo utilizarlas. 2 mailxmail - Cursos para compartir lo que sabes 1. Introducir datos en las tablas Objetivos del capítulo 1, 2 y 3 • Las relaciones en Access. • Integridad referencial. • Modificar datos ya introducidos. • La vista de Diseño y de Hoja de datos. En capítulos anteriores, hemos comentado que Access es una base de datos relacional; en este capítulo descubriremos qué son las relaciones entre tablas y qué nos aporta el hecho de que estén relacionadas. Veremos los distintos tipos de relaciones y aprenderemos un concepto nuevo: la integridad referencial. También veremos cómo introducir datos de varias tablas relacionadas a la vez, cómo usar la hoja de datos para introducir nuestra información y cómo modificar su apariencia para adecuarla a nuestras necesidades. Las relaciones entre las tablas Antes de empezar a introducir datos en las tablas, vamos a crear las relaciones entre las tablas que ya hemos creado en el capítulo anterior. Hay varios motivos para hacerlo así: ð Las relaciones facilitan la introducción de datos. Básicamente, si creamos las relaciones entre las tablas, va a ser posible introducir datos de más de una tabla a la vez. Por ejemplo, a la vez que damos de alta un curso, podemos incluir los alumnos que van a recibir dicho curso. ð En ocasiones, las relaciones obligan a que se introduzca un dato en la tabla. Por ejemplo, es obligatorio introducir los campos clave de las tablas relacionadas. ð Si introducimos los datos en las tablas sin crear las relaciones, es más que posible que a la hora de crear dichas relaciones, tengamos problemas con algún dato porque no cumpla las normas de dicha relación. Esto provoca un engorroso proceso de depuración de las tablas, que podemos evitar definiéndolas ahora. Ya vimos en el capítulo 1 que las relaciones entre tablas es la base de las tablas relacionales, y nos permiten evitar la repetición de datos en las tablas. Tipos de relaciones Cuando se trabaja con bases de datos relacionales, se pueden dar distintas situaciones a la hora de relacionar datos de dos tablas. Por ejemplo, en nuestro caso práctico, vemos que hay dos tipos de relaciones distintas: ð Hemos asumido que un curso sólo lo imparte un profesor. Sin embargo, un mismo profesor puede impartir varios cursos distintos. En estos casos, se habla de una relación del tipo 1-a-muchos, ya que 1 profesor puede impartir muchos cursos. 3 mailxmail - Cursos para compartir lo que sabes ð Sin embargo, vemos que un alumno puede asistir a varios cursos y que, evidentemente, cada curso tiene varios alumnos. En este caso, la relación entre los alumnos y los cursos es de muchos-a-muchos. El término «muchos» aquí debe entenderse como posibilidad de que haya «más de uno». Que un alumno concreto sólo reciba un curso, no implica que no pueda darse que un alumno asista a varios cursos. Nota Hay un tipo especial de relación llamada de 1 - a - 1 que se usa muy poco. No la veremos aquí. Relaciones de 1 a muchos Éste es el tipo de relaciones más normal en las bases de datos relacionales. Como hemos dicho, un registro de una tabla (llamada tabla principal) tiene relación con varios registros de la otra tabla (llamada tabla secundaria). Por ejemplo, un profesor puede impartir varios cursos. Por tanto, la tabla principal sería la de profesores y la secundaria la de cursos. Crear relaciones en Access Aunque en un principio el tema de las relaciones se muestra muy complicado de entender, con un ejemplo como el nuestro estamos convencidos de que se aclararán las dudas. Vamos a definir la primera relación de nuestra base de datos. Lo haremos entre las tablas Profesores y Cursos. Para definir las relaciones entre las tablas de una base de datos realiza los siguientes pasos (asumimos que la base de datos está abierta en Access): 1. Haz clic en la ficha Herramientasde bases de datos en la cinta de opciones y observa el grupo de comandos Mostrar u ocultar. 2. Haz clic en el comando Relaciones de ese grupo. Aparecerá la ventana Relacionesy, delante, el cuadro de diálogo Mostrar tabla. Si no aparece el cuadro Mostrar tab Mostrar tabla, sólo tienes que hacer clic en el comando del mismo nombre de la ficha Herramientas de relaciones de la cinta de opciones. 3. En el cuadro de diálogo, haz doble clic en cada una de las tablas que quieras relacionar. Nuestro consejo (hazlo ahora) es que hagas doble clic en todas las tablas, aunque no participen en la relación. 4. Al terminar, haz clic en Cerrar para cerrar el cuadro de diálogo Mostrar tabla. 5. Para crear una relación entre dos tablas, arrastra el nombre del campo que vas a usar para la relación desde la tabla principal a la secundaria. Aparece el cuadro Modificar relac Modificar relaciones. 6. Activa las casillas de verificación (Exigir integridad referencial, Actualizar en cascada y Eliminar en cascada) de este cuadro (figura 4.1). 7. Haz clic en Aceptar. 4 mailxmail - Cursos para compartir lo que sabes Figura 4.1. Cuadro Modificar relaciones con nuestra primera relación Realiza estos pasos ahora para crear la relación entre las tablas Cursos y Profesores. El campo que se utiliza para relacionarlas es el campo IdProfesor, que nos permite identificar en cada curso al profesor que lo imparte. Recuerda que la tabla principal en este caso es Profesores, ya que un profesor puede impartir varios cursos. Cuando termines, verás la ventana Relacionescon la primera relación creada. La figura 4.2 muestra todas las relaciones que vamos a crear en este capítulo. Observa ahora la existente entre las tablas Cursos y Profesores. Figura 4.2. Las relaciones en nuestra base de datos Nota La ventana Relacionesse utiliza como cualquier otra de Windows. Al terminar de definir todas las relaciones, ciérrala usando el botón Cerrar. Integridad referencial En la secuencia de pasos para crear la relación anterior, ha aparecido el término integridad refer integridad referencial. Este concepto de Access permite asegurarse de que no se cometen errores a la hora de introducir datos en las tablas. 5 mailxmail - Cursos para compartir lo que sabes En concreto, cada casilla tiene su misión: ð Exigir integridad referencial. Esta casilla indica que no puede existir un campo en la tabla secundaria que no exista también en la tabla principal. Por ejemplo, no podremos introducir un profesor (campo IdProfesor) en la tabla Cursos que no exista en la tabla Profesores. ð Actualizar en cascada. Cuando se modifica un valor del campo relacionado en la tabla principal, automáticamente dicho -valor se modificará también en todos los registros de la tabla secun-daria en los que aparecezca. Por ejemplo, si cambiamos el IdProfesor de uno de nuestros profesores, automáticamente se modificará en todos los registros de la tabla Cursos en los que aparezca. ð Eliminar en cascada. Si activas esta casilla, al eliminar un regis-tro de la tabla principal, automáticamente se eliminarán todos los registros de la tabla secundaria que estuvieran relacionados con él. Si eliminas un registro de un profesor concreto, desaparecerán todos los registros de la tabla Curso en lo que estuviera dicho profesor. Consejo Nuestro consejo es que siempre marques todas estas casillas y que no elimines registros de las tablas a menos que sea imprescindible. Si no vas a contratar más a un profesor, no hace falta eliminar su registro. Ocupa poco y se evita perder información relevante. Relaciones de muchos a muchos Las relaciones de muchos a muchos se dan cuando varios registros de una tabla pueden estar relacionados con varios registros de otra tabla (y viceversa). Ya hemos visto un ejemplo, entre las tablas Alumnos y Cursos existe una relación de este tipo, ya que un alumno puede asistir a varios cursos, mientras que en un curso siempre hay varios alumnos. El problema es que Access no contempla este tipo de relaciones. Por tanto, para crearlas, hay que utilizar una tabla especial, llamada tabla intermedia, que permite simular esta relación. La figura 4.2 muestra las relaciones entre las tablas Alumnos y Cursos. Observa que hemos utilizado la tabla AlumnosPorCurso para relacionar estas dos tablas. Esta tabla la hemos creado desde cero (no hace falta usar Plantillas de tablas ni Plantillas de campos) porque sólo contiene tres campos: uno autonumérico como clave, otro para indicar el alumno y otro para indicar el curso del que se trata. La figura 4.3 muestra su vista de diseño. 6 mailxmail - Cursos para compartir lo que sabes Figura 4.3. Vista de diseño de la tabla intermedia Por tanto, lo que hemos hecho para crear una relación de muchos-a-muchos en Access es lo siguiente: 1. Hemos creado la tabla intermedia que va a relacionar las dos tablas principales. 2. Hemos creado una relación 1-a-muchos entre una de las tablas principales y la tabla intermedia. 3. Hemos creado otra relación 1-a-muchos entre la otra tabla principal y la tabla intermedia. Modificar y eliminar relaciones Las relaciones hay que pensarlas bien desde el principio. Sin embargo, es normal que cometamos algún error al crearlas y sea necesario modificarlas o, incluso, borrarlas. Para llevar a cabo estas tareas, realiza los siguientes pasos: 1. En la ficha Herramientasde base de datos, haz clic en el comando Relaciones para abrir la ventana del mismo nombre que contiene las relaciones existentes. 2. Si quieres eliminar una relación, haz clic sobre la línea que la representa para seleccionarla y pulsa la tecla Supr. Access pedi-rá confirmación antes de borrarla. 3. Si quieres modificar una relación, haz doble clic sobre la línea que la representa y volverás a ver el cuadro de diálogo Modificar relaciones (figura 4.1). Realiza los cambios deseados (por ejemplo, activa o desactiva las casillas de la integridad referencial) y haz clic en Aceptar. 7 mailxmail - Cursos para compartir lo que sabes 2. Introducir datos en la hoja de datos Una vez definidas las relaciones y creadas las tablas de nuestro ejemplo, vamos a empezar a introducir datos en las tablas de la base de datos. Vamos a utilizar para ello la hoja de datos de las tablas, que, si recuerdas, era la ventana de las tablas diseñada para introducir, modificar y ver los datos existentes en las tablas. La figura 4.4 muestra un ejemplo de la hoja de datos de la tabla Profesores con algunos datos en su interior. De hecho, éstos son los datos que vamos a introducir a continuación para aprender a usar la hoja de datos. Observa que en la parte superior de la figura aparecen los primeros campos de la tabla, mientras que en la parte inferior se representan el resto. Hemos repetido los tres primeros campos de cada registro para que los identifiques correctamente. Figura 4.4. Ejemplo de la hoja de datos de la tabla Profesores El primer paso que hay que seguir para introducir (o ver) datos en una tabla consiste en abrir la hoja de datos de dicha tabla: 1. Abre la base de datos en la que se encuentre la tabla. Si ya la tienes abierta, sitúate en panel de exploración. 2. Haz clic en el menú del panel y elige Tipos de de objeto, como categoría, y Tablas, para filtrar por grupo y ver las tablas existentes en la base de datos. 3. Haz clic secundario con el ratón sobre la tabla que quieras abrir y haz clic en la opción Abrir. (Si haces doble clic sobre una tabla, la abrirás directamente). Abrir una tabla significa abrir la vista de la hoja de datos de la tabla. Como vimos en 8 mailxmail - Cursos para compartir lo que sabes Abrir una tabla significa abrir la vista de la hoja de datos de la tabla. Como vimos en el capítulo anterior, la otra vista de las tablas en la que hemos trabajado de sobra se llama ventana de diseño y sirve para modificar la estructura de la tabla. Sigue ahora estos pasos para abrir la tabla Profesores. Una vez que se ha abierto la tabla, ya se puede comenzar a introducir los datos en ella. Si has utilizado alguna vez un programa de hoja de cálculo (como Excel) o has usado tablas en un procesador de textos (como Word), las siguientes operaciones te resultarán familiares. En los siguientes apartados veremos cómo realizar las distintas funciones que se pueden llevar a cabo con la hoja de datos. Introducir datos en sí Cuando se abre la ventana de la hoja de datos, Access sitúa el punto de inserción en el primer campo del primer registro de la tabla. Si la tabla está vacía, como es nuestro caso, la hoja de datos aparece vacía y el punto de inserción parpadeando listo para empezar a escribir en la primera celda del primer campo y registro. Nota Si el primer campo de la tabla es un campo autonumérico, Access no te dejará introducir ningún valor, ya que este tipo de campos los rellena él automáticamente. Para empezar a introducir datos en la hoja de datos de una tabla sólo hay que seguir estos pasos: 1. Escribe el valor del primer campo del primer registro de la tabla. Si es un campo autonumérico (como en nuestro ejemplo), pasa direc-tamente al siguiente paso. 2. Pulsa la tecla Tab para pasar al siguiente campo del registro. 3. Escribe el valor del siguiente campo. 4. Repite los pasos 2 y 3 tantas veces como campos tenga el registro de la tabla. Al terminar de introducir los datos del primer registro de la tabla, te encontrarás en el último campo de dicho registro, como muestra la figura 4.5. Para introducir los datos del siguiente registro, sólo hay que volver a pulsar la tecla Tab y te situarás en la primera celda del siguiente registro. Figura 4.5. Datos del primer registro de la tabla Profesores Prueba ahora a introducir todos los datos mostrados en la figura 4.4. Ten en cuenta que cuando se abre una hoja de datos de una tabla, los registros se ordenan por el campo clave de dicha tabla. En este ejemplo, como el campo clave es el código del 9 mailxmail - Cursos para compartir lo que sabes profesor y es un campo autonumérico, los registros aparecerán en el mismo orden que se hayan introducido. Sin embargo, si el campo clave es otro, el orden de introducción no define el orden de los registros en el futuro. 10 mailxmail - Cursos para compartir lo que sabes 3. Hoja de datos en tablas relacionadas Una vez que hemos introducido los datos de la tabla Profesores, es el momento de que tú solo introduzcas los datos de otra de las tablas que hemos creado: la tabla Cursos. Sigue las instrucciones dadas en el apartado anterior para introducir información sobre los tres cursos mostrados en la figura 4.6. Figura 4.6. Datos de la tabla Cursos En este caso, hemos utilizado la hoja de datos de la tabla Cursos para introducir los tres primeros cursos, igual que hicimos con la hoja de datos de la tabla profesores. Pero hay otra forma de introducir datos cuando las tablas están relacionadas. Cierra ahora todas las ventanas de hojas de datos que estén abiertas y abre la vista hoja de datos de la tabla Profesores. Observa que hay un signo más (+) a la izquierda de cada registro. Pues bien, si haces clic en dicho signo, verás los datos de los cursos impartidos por cada profesor (figura 4.7). Figura 4.7. Ejemplo de datos de tablas relacionadas en la hoja de datos Al igual que se han visto los datos introducidos, también se puede usar la hoja de datos de este modo para introducir datos de más de una tabla a la vez. Por ejemplo, en la figura 4.8 hemos introducido un nuevo profesor y, a la vez, un nuevo curso que va a impartir dicho profesor. 11 mailxmail - Cursos para compartir lo que sabes Figura 4.8. Introducir datos de dos tablas a la vez De este modo, cada vez que aparezca un nuevo profesor, se pueden introducir sus datos y los del curso que vaya a impartir sin necesidad de tener que ir abriendo y cerrando varias hojas de datos. Además, es mucho más sencillo asignar un curso nuevo al profesor que tener que introducir un nuevo curso en la tabla Cursos y «averiguar» el código del profesor. Si no estás convencido, intenta ahora introducir los datos de este curso de Internet y de este nuevo profesor cada uno en su hoja de datos, y verás que tardas mucho más y es mucho menos intuitivo. Cambiar el diseño de la hoja de datos Ya hemos visto cómo usar la hoja de datos para introducir datos en las tablas. Sin embargo, es habitual que se quiera modificar el contenido de las tablas una vez creadas. Hay muchas formas de hacerlo, dependiendo de la operación que se quiera llevar a cabo. Los apartados que aparecen a continuación muestran los pasos que hay que seguir en cada caso. Modificar un dato ya introducido Una vez que se han introducido los datos en una tabla, es normal que queramos cambiar alguno de ellos. Hay muchos motivos, aunque lo más probable es que nos hayamos equivocado (el apellido no es García sino Gracia) o simplemente haya cambiado la información del registro (por ejemplo, un profesor ha cambiado de teléfono o de dirección). Para modificar los datos de una tabla, se utiliza la hoja de datos de la misma. La forma más sencilla de modificar un dato consiste en seguir estos pasos: 1. Con el ratón, haz clic sobre el campo que quieras modificar. Observa que aparece el punto de inserción en la posición que hayas hecho clic. 2. Utiliza las teclas del cursor y las teclas Retroceso y Supr para eliminar el dato que esté mal. 3. Escribe el valor que quieras que tenga el dato. Estos pasos son idénticos a los que se usan en cualquier aplicación de Windows y no merecen mayor explicación. Sin embargo, sí es conveniente que conozcas la diferencia entre seleccionar un campo con el ratón y con el teclado. ð Al hacer clic en un campo con el ratón, verás que aparece el punto de inserción en la posición en la que hayas hecho clic, pero no se selecciona el contenido del campo. A este modo de trabajar se le llama modo Edición. 12 mailxmail - Cursos para compartir lo que sabes campo. A este modo de trabajar se le llama modo Edición. ð Si te desplazas por los campos utilizando la tecla Tab, verás que se selecciona el contenido del campo completo. Esto provoca que si tecleas cualquier cosa cuando un campo está seleccionado, su contenido se modifica completo. Este modo de trabajo se llama modo Desplazamiento. La tecla F2 permite pasar de tener un campo seleccionado a tener el punto de inserción activo y viceversa. En otras palabras, puedes pasar del modo Edición al modo Desplazamiento (y viceversa) utilizando la tecla F2. Ordenar los registros por un campo distinto al clave Como hemos dicho, la hoja de datos de una tabla aparece ordenada por el campo clave de dicha tabla. Sin embargo, en muchas ocasiones, querrás ver la tabla ordenada por un campo distinto. Por ejemplo, si quieres ver los profesores de una población, puedes ordenar la tabla por el campo Ciudad y será más sencillo. La forma de ordenar la vista de la tabla por un campo consta de dos pasos: 1. Haz clic en el campo por el que desees ordenar la vista de la tabla. 2. Haz clic en el comando Orden ascendente situado en la ficha Inicio de la cinta de opciones. Observa que hemos dicho dos veces que ordenas «la vista de la tabla», ya que realmente la tabla en sí seguirá ordenada por su campo clave. Si utilizas el botón Orden descendente en lugar de Orden ascendente, Access ordenará la tabla de mayor a menor, en lugar de menor a mayor como lo hace normalmente. Ten en cuenta que si un campo es de texto, la A se considera la primera letra y la Z la última (en orden ascendente), mientras que en los campos numéricos y de hora, se sigue el orden natural de los dígitos. Nota Cuando se realiza un cambio en la hoja de datos, al cerrar la ventana, Access te pedirá confirmación para guardar los cambios realizados en el diseño de la misma. Si guardas esos datos, la próxima vez que abras la tabla, la verás en el mismo formato en que estaba al cerrarla. Por ejemplo, ordenada por un campo según los dos pasos anteriores. Modificar el ancho de una columna o el alto de una fila Otro de los cambios que se pueden realizar en el diseño de la hoja de datos consiste en aumentar o reducir el ancho de una columna. Es muy normal que no se vea el contenido íntegro de todos los campos. Por ejemplo, si abres la hoja de datos de la tabla Profesores, no verás completo el contenido de los campos Apellidos y Dirección. Para modificar el ancho de una columna, deberás seguir los pasos que aparecen a continuación: 1. Sitúa el puntero del ratón a la derecha del título de la columna que se quiere modificar hasta que adopte la forma de una doble flecha. Por ejemplo, para aumentar el tamaño de la columna nombre, hay que situarlo entre el título Apellidos y el título -Dirección (figura 4.8). 13 mailxmail - Cursos para compartir lo que sabes 2. Haz clic y, sin soltar, arrastra el puntero del ratón hacia la derecha o a la izquierda según se quiera aumentar o disminuir el -ancho de la columna. Consejo Si se hace doble clic cuando el puntero del ratón tiene forma de doble flecha, Access automáticamente asignará a la columna el ancho necesario para que se vea todo su contenido, ya que lo adapta al contenido más largo que exista. Igual que se modifica el ancho de las columnas, se puede cambiar la altura de las filas. Sólo hay que situar el puntero del ratón entre dos registros de la tabla y arrastrarlo hacia abajo. Eso sí, mientras que cada columna puede tener una anchura distinta, todas las filas han de tener el mismo alto. Cambiar el orden de las columnas El orden en el que aparecen las columnas en la hoja de datos es idéntico al orden en el que se crearon los campos. Si compruebas la vista de diseño de las tablas y sus correspondientes hojas de datos, verás que esto es así. Sin embargo, también puedes cambiar el orden de las columnas realizando los siguientes pasos: 1. Selecciona la columna que quieras mover de posición haciendo clic en su título (como se indica en la figura 4.8). 2. Una vez seleccionada, vuelve a situar el puntero del ratón sobre el título de la columna, haz clic y, sin soltar, arrastra la columna a la posición deseada. Ocultar columnas En ocasiones, querrás dejar de ver una columna o varias. Sólo tienes que seleccionar la columna en cuestión y hacer clic con el botón derecho sobre ella; elige Ocultar columna del menú emergente que aparece. Para hacer que vuelvan a verse, haz clic igual sobre cualquier columna y elige Mostrar columnas... Inmovilizar columnas Si te fijas de nuevo en la figura 4.4, en ella se encuentran los datos de la tabla Profesores divididos en dos partes. Para identificar perfectamente los registros de los que se trata, se han repetido las columnas IdProfesor, Nombre y Apellidos. Pues bien, esta operación se llamainmovilizar columnas, y consiste en indicar a Access que muestre siempre el contenido de algunas columnas aunque usemos las barras de desplazamiento para ver otras columnas alejadas de las primeras. Para inmovilizar columnas: 1. Selecciona la columna que quieras inmovilizar. 2. Haz clic con el botón derecho en su encabezado y selecciona el comando Inmovilizar columnas del menú contextual. 3. Repite los dos primeros pasos para todas las columnas que quieras inmovilizar. Has de tener en cuenta que la primera columna que inmovilices se situará la primera a la izquierda y así sucesivamente. Si tienes interés en que estén inmovilizadas en 14 mailxmail - Cursos para compartir lo que sabes un orden determinado, tienes que seguir dicho orden a la hora de inmovilizarlas. Si no quieres que las columnas sigan inmovilizadas, sólo has de ejecutar el comando Liberar todas las columnas del menú contextual. Cambiar la cuadrícula en sí La ficha Hojade datos de las Opciones de Access (en el Botón Office), permite modificar la apariencia de la hoja de datos en sí. La figura 4.9 muestra el cuadro de diálogo Opciones de Access que aparece al seleccionar esta ficha. En este cuadro, lo mejor que puedes hacer es seleccionar las distintas opciones y probar su efecto. Puedes, por ejemplo, modificar el color de fondo, las líneas de la cuadrícula o incluir relieve. Figura 4.9. Ficha Hoja de datos de Opciones de Access Cambiar la fuente de texto El grupo de comandos Fuente de la ficha Inicio de la cinta de opciones también permite modificar la fuente de texto que se utiliza para mostrar la información de las tablas. La figura 4.10 muestra un ejemplo de fuente que, sin ser atractiva, muestra las posibilidades de este comando. También se ha modificado el formato de la cuadrícula y se ha aumentado el alto de la fila como vimos en apartados anteriores. 15 mailxmail - Cursos para compartir lo que sabes Figura 4.10. Hoja de datos con el formato modificado Cambiar el nombre de una columna Para terminar con las operaciones que se pueden realizar en la hoja de datos, también se puede modificar el título de una columna. Recuerda que en las columnas de las hojas de datos, aparece el valor que tuviera la propiedad Título del campo correspondiente. Pues bien, si quieres cambiarlo en una hoja de datos, sigue estos pasos: 1. Selecciona la columna a la que quieras cambiar el título. 2. Ejecuta el comando Cambiar nombre de la ficha Hojade datos de Herramientas de tabla en la cinta de opciones. Observa que aparece el nombre resaltado. 3. Escribe el nuevo nombre que quieras asignar a la columna. Ten en cuenta que si cambias el nombre de una columna, realmente estás cambiando el nombre del campo en sí. Si pasas a la vista de diseño de la tabla, verás que ha cambiado el nombre del campo y, además, ha desaparecido el valor que tuviera la propiedad Título (si lo había). 16 mailxmail - Cursos para compartir lo que sabes 4. Formularios en Access Objetivos del capítulo 4, 5 y 6 • Crear formularios. • El Asistente para formularios. • Utilizar el formulario. En capítulos anteriores hemos visto cómo introducir datos desde la hoja de datos; Access nos proporciona herramientas para diseñar formularios que nos permitirán introducir datos en nuestras tablas de una forma mucho más fácil e intuitiva. En este capítulo aprenderemos a crear y utilizar formularios. También aprenderemos a utilizar el Asistente para formularios y para formularios automáticos. Los formularios de Access Hemos visto en los capítulos anteriores cómo crear las tablas de una base de datos y cómo rellenarlas utilizando la hoja de datos de las tablas. Ahora vamos a ver los formularios, cuya misión principal es la de mostrar, introducir y modificar dichos datos. Observa la figura 5.1. En ella se muestra un formulario que permite conocer los datos de un curso, incluidos los alumnos que intervienen en el mismo. Figura 5.1. Un formulario con datos de varias tablas Vamos a trabajar en este capítulo y en el siguiente para crear un formulario de este tipo. Crear un formulario usando el Asistente Vamos a crear el primer formulario referente a los alumnos. Lo hacemos así para veas que se pueden crear formularios de una única tabla (como éste) y de varias, como veremos más adelante. Para crear un formulario usando el Asistente para formularios de Access, realiza los siguientes pasos: 17 mailxmail - Cursos para compartir lo que sabes ð En la cinta de opciones, haz clic en la ficha Crear. Observa el grupo de comandos Formulario Formularios. ð Haz clic en el comando Más formularios y luego en la opción Asistentepara formularios para abrir la primera ventana del asistente. ð Primero, selecciona la tabla de la que quieras crear un formulario en la lista desplegable Tablas/Consultas. En el ejemplo, seleccio-na Alumnos. ð En la lista Camposdisponibles, selecciona cada uno de los campos que quieras incluir en el formulario y haz clic en el botón > (figura 5.2). Si quieres añadir todos los campos, haz clic en el botón >> (hazlo ahora para el ejemplo). Figura 5.2. Primera ventana del Asistente ð Tras seleccionar los campos, haz clic en el botón Siguiente para ver la segunda ventana del Asistente. Selecciona el tipo de distribución del formulario. Haz clic en todas las opciones y mira su apariencia en el cuadro de la izquierda. En el ejemplo, hemos seleccionado En columnas. ð Haz clic en Siguiente para ver la tercera ventana del Asistente. Selecciona el estilo que quieras aplicar al formulario. Por ejemplo, prueba el estilo Oficina. ð Tras hacer clic en Siguiente, verás la última ventana del Asistente. Escribe el título del formulario (Formulario para alumnos) y haz clic en Finalizar. La figura 5.3 muestra el resultado de crear nuestro primer formulario con el Asistente para formularios de Access. 18 mailxmail - Cursos para compartir lo que sabes Figura 5.3. Primer formulario de la tabla Alumnos Observa que aparece vacío de contenidos, ya que en el capítulo anterior no introdujimos ningún dato en la tabla Alumnos. También hay que destacar que aparecen todos los campos de la tabla de alumnos y que la etiqueta que aparece junto al campo coincide con la propiedad Título de dichos campos y no con su nombre. Aquí es donde se empieza a ver la importancia de las propiedades de los campos. También notarás que hay etiquetas que no se ven enteras. En el capítulo siguiente veremos cómo modificar un formulario y arreglar estos pequeños problemas. Nota Como ves en el punto 4 anterior, es posible crear un formulario de una tabla que no muestre todos los campos de la misma. Por ejemplo, muchas veces se ignoran los campos autonuméricos. 19 mailxmail - Cursos para compartir lo que sabes 5. Utilizar un formulario en Access Una vez creado el formulario, vamos a ver cómo usarlo para introducir datos de las tablas. Puede ocurrir que el formulario esté vacío (porque no se haya introducido ningún registro en la tabla en la que se basa dicho formulario, como ocurre en nuestro ejemplo de Alumnos) o que ya tenga datos, como veremos más adelante. Para introducir nuevos datos, hay que seguir unos pasos similares a los vistos al usar la hoja de datos de la tabla: 1. Escribe el dato del primer campo del nuevo registro. 2. Pulsa la tecla Tab para ir al segundo campo del registro. 3. Repite los pasos 2 y 3 hasta llegar al final del primer registro. 4. Cuando pulses la tecla Tab al final del primer registro, pasarás al primer campo del registro nuevo. También se pueden rellenar los campos utilizando el ratón. Sólo hay que hacer clic dentro de cada control que representa a un campo e introducir su valor. Por ejemplo, en nuestro formulario de Alumnos (figura 5.3), haz clic en el control Nombre del primer registro del formulario y escribe el nombre del alumno: Francisco. Vuelve a hacer clic en el campo Apellidos y escribe Lucas Cordero. Sigue este método para el resto de campos. Sin embargo, suele ser más cómodo usar la tecla Tab como se ha indicado en los pasos anteriores y no tener que usar el ratón continuamente. Pulsa ahora Tab y observa cómo se pasa al campo Dirección. Rellena ahora los campos de los seis primeros alumnos siguiendo los datos de la tabla 5.1. Tabla 5.1. Datos de la tabla Alumnos Nombre Fecha móvil Apellidos Dirección Población Código Provincia Teléfono postal nacim. Francisco Lucas Avda. Juan Badajoz 606606 17/04/69 Cordero Carlos I, 11 06001 Badajoz José 626626 Gómez C/ Almen11/05/72 Gómez dralejo, 2 Mérida 06800 Badajoz Pedro 616616 Yuste Cáceres 10002 Cáceres 616 Joaquín 636636 Suárez Cáceres 10003 Cáceres 636 Av. Antonio 17/12/75 Luengo Hurtado, 5 Paseo 17/11/74 Delgado Cánovas, 2 20 606 626 mailxmail - Cursos para compartir lo que sabes Sandra Badajoz Cristina 25/8/73 Gómez C/ Zurbarán, 646 646646 1/12/72 Aranaz 23 Alonso Franco Badajoz 06002 Paseo Roma, Mérida 06800 Badajoz 606 000000 s/n Moverse por un formulario Para moverte por los registros de un formulario, utiliza los botones situados en la parte inferior de la ventana del formulario. La figura 5.4 explica la función de cada uno de esos botones. Figura 5.4. Botones para desplazarse por los registros Si además de ver los registros, quieres modificarlos, primero sitúate en el registro en cuestión usando los botones de la figura 5.4 y, una vez en el registro, haz clic con el ratón en el campo que quieras modificar. Dentro de cada campo, las teclas funcionan igual que en la hoja de datos de las tablas, incluidas las teclas Supr y Retroceso. Consejo Al igual que en la hoja de datos de la tabla, al mover la tecla Tabpara ir de un campo a otro, seleccionas el contenido de los campos enteros (modo Desplazamiento Desplazamiento). Si pulsas Supr o Retroceso, borrarás todo el registro. La tecla F2 te permite editar sólo parte del contenido de un campo. Cerrar y abrir un formulario Al terminar de trabajar con un formulario, sólo tienes que cerrarlo para haciendo clic en el botón Cerrar de dicho formulario. Tras cerrarlo, lo puedes volver a abrir en cualquier momento realizando estos dos pasos: 1. En el panel de exploración, haz clic en el menú y elige la categoría Formularios Formulariospara saber los formularios que hay creados en la base de datos. 2. Haz doble clic en el nombre del formulario, o clic secundario con el ratón para elegir la opción Abrir. Crear Formularios sin usar el asistente Hemos querido que vieras primero cómo crear un formulario con el Asistente para que sepas cómo controlar elementos del mismo, como el fondo o el efecto de sombra de los campos. Ahora que ya sabes hacerlo, vamos a ver cómo crear un formulario de un único paso. Access crea los formularios de manera automática con sólo decirle de qué tabla queremos crear el formulario. Los pasos que tienes que seguir son: 21 mailxmail - Cursos para compartir lo que sabes 1. En panel de exploración, asegúrate de que muestra todos los objetos. Verás las cuatro tablas creadas en el capítulo anterior. 2. Selecciona la tabla Alumnos y en la cinta de opciones, haz clic en la ficha Crear. 3. Ejecuta el comando Formulario. Como hemos dicho, Access crea automáticamente un nuevo formulario. En nuestro ejemplo, al usar la tabla Profesores, muestra el formulario de la figura 5.5. Observa que en esta figura aparecen los datos del primer profesor que introdujimos en el capítulo anterior. Recuerda que Access ordena los registros por el campo clave, y en este caso este campo es autonumérico y, por tanto, se mantiene el orden de introducción de los registros. Figura 5.5. El nuevo formulario en modo de vista Presentación Este formulario es muy parecido al creado antes, pero tiene tres diferencias que merece la pena destacar: ð El fondo y el estilo del formulario son distintos a los empleados en el ejemplo de los alumnos. Access ha seleccionado las opciones por omisión. ð El modo de vista es Presentación, uno nuevo modo que permite realizar cambios en el diseño, pero no introducir datos. De hecho, tiene sus propias fichas nuevas en la cinta de opciones, con comandos para añadir título al formulario, un logotipo o cambiar el fondo y el estilo con el comando Autoformatos. Si quisieras comenzar a trabajar ya con el formulario e introducir los datos, tendrías que cambiar a la vista Formulario, con el comando Ver en la cinta de opciones o con el botón de la barra de estado. ð Como habíamos introducido datos en la tabla Profesores, el formulario muestra los datos del primer registro. Esto significa que para introducir nuevos datos, hay que usar el botón para crear un nuevo registro de la figura 5.4. ð La diferencia más importante es que Access ha incluido en la parte inferior los 22 mailxmail - Cursos para compartir lo que sabes datos de los cursos que ha impartido o va a impartir el profesor. Por tanto, Access ha creado un formulario que contiene datos de dos tablas distintas relacionadas entre sí. Por un lado, están los datos completos del profesor y, por otro, los datos de los cursos que tiene asignados o ya ha impartido. Ten en cuenta que Access lo ha hecho porque hemos definido las relaciones en el capítulo anterior. De ahí la importancia de crear dichas relaciones cuanto antes, para que el trabajo futuro sea mucho más sencillo. Prueba ahora a crear un autoformulario con la tabla Alumnos y llámalo Formulario automático para alumnos (figura 5.6). Observa que Access incluye también el código del curso en la parte inferior, relacionando a los alumnos con los cursos que han recibido (aunque esté vacío por ahora). Figura 5.6. El formulario automático de la tabla Alumnos 23 mailxmail - Cursos para compartir lo que sabes 6. Usar un formulario de dos tablas La figura 5.5 muestra el formulario de profesores con dos tablas: la tabla Profesores y la tabla Cursos. Para llenar datos en este tipo de formularios, se hace igual que en el caso de un formulario de una tabla (aunque como ya contiene datos, primero hay que situarse en un registro nuevo): utiliza la tecla Tab para ir pasando de un campo a otro hasta llegar al final del mismo. Sin embargo, al llegar al último campo de un registro de profesores y pulsar Tab, observa que el punto de inserción pasa al primer registro de la tabla Cursos (concretamente al campo IdCurso, que es el que identifica al curso). Estos formularios existentes dentro de un formulario mayor reciben el nombre de subformularios (y al formulario mayor se le llama formulario principal). Nota En concreto, este subformulario funciona de manera idéntica a la hoja de datos y por tanto no vamos a repetir cómo usarlo. Introduce ahora los datos de un nuevo profesor con un curso, como muestra la figura 5.7. Figura 5.7. El formulario de dos tablas con un nuevo registro Ya veremos cómo modificar los formularios en el siguiente capítulo de forma que se vea todo el contenido del subformulario. 24 mailxmail - Cursos para compartir lo que sabes Los datos usados son: ð Nombre curso: Internet ð Fecha de inicio: 4/11/09 ð Fecha de fin: 29/11/09 ð Hora de inicio: 5:00 pm ð Hora de fin: 7:00 pm ð Precio: 130,00 € Formularios de varios elementos Tanto el formulario de alumnos creado por nosotros como los formularios automáticos son formularios del tipo «columna simple». Estos formularios se caracterizan porque muestran cada registro de la tabla en un pantalla del formulario. Al usar los botones para desplazarte de la figura 5.6 para pasar al siguiente registro, éste aparece en una nueva ventana del formulario. Access también dispone de otros tipos de formularios, entre los que destacan dos: ð El formulario de hoja de datos. Es idéntico a una hoja de datos y hemos visto un ejemplo en el subformulario de cursos de la figura 5.5. ð El formulario de tablas. En estos formularios, los registros se muestran uno encima del otro, de forma que en una misma pantalla se pueden ver varios registros de la tabla. Vamos a crear ahora un formulario de tablas para que veas cómo es: 1. En la panel de exploración, haz clic en el menú y elige la categoría Formularios. Observa que en el espacio en blanco del panel aparecen los formularios ya creados. 2. Haz clic en la opción Másformularios y luego en la opción Asistente para formularios para abrir la primera ventana del asistente. 3. Primero, selecciona la tabla de la que quieras crear un formulario en la lista desplegable Tablas/Consultas. En el ejemplo, seleccio-na Cursos. 4. En la lista Camposdisponibles, selecciona cada uno de los campos que quieras incluir en el formulario y haz clic en el botón > . Si quieres añadir todos los campos, haz clic en el botón > > (hazlo ahora para el ejemplo). 5. En la segunda ventana del asistente, selecciona la opción Tabular y haz clic en Siguiente. 6. Termina los pasos del asistente como ya vimos anteriormente al crear el formulario de profesores. Nosotros hemos seleccionado el estilo Estándar y hemos titulado el formulario Formulario para cursos. La forma de introducir datos en los formularios tabulares es similar a la utilizada en los formularios de columna simple, pero al crear un nuevo registro, éste aparecerá debajo del anterior, y no en una nueva ventana. La verdad es que el resultado obtenido con el Asistente para formularios tabulares 25 mailxmail - Cursos para compartir lo que sabes La verdad es que el resultado obtenido con el Asistente para formularios tabulares no es el mejor posible (figura 5.8). Como ves, las etiquetas no se ven completas. Figura 5.8. El formulario tabular original En el capítulo siguiente veremos cómo modificar los formularios para conseguir que este formulario se vea correctamente. Nota Una vía más rápida de crear formularios tabulares es seleccionar la tabla en el panel de exploración y, en la cinta de opciones, ficha Crear, ejecuta el comando Varios elementos. 26 mailxmail - Cursos para compartir lo que sabes 7. Modificar formularios en Access Objetivos del capítulo 7, 8 y 9 • Introducir cambios en los formularios. • Vista de diseño del formulario. • Los controles. En el capítulo 5 vimos cómo crear un formulario mediante el asistente, pero en algunas ocasiones el resultado que nos ofrece no será del todo de nuestro agrado. En este capítulo aprenderás a: modificar un formulario, identificar los controles, realizar operaciones básicas sobre los controles, ver las propiedades e incluir nuevos controles en el formulario. También aprenderás a distinguir entre las vistas de Formulario, de Diseño y de Presentación de formularios. Modificar un formulario En el capítulo 5 vimos cómo se crean los formularios. Ahora vamos a ver cómo modificar un formulario que hayamos creado con el Asistente para formularios o con el comando Formulario. Cuando hablamos de modificar un formulario, nos referimos a cambiar el diseño del formulario y no su contenido. Ya hemos visto cómo cambiar el contenido de las tablas usando formularios y no lo vamos a repetir. Hay muchos motivos para modificar un formulario, entre los que destacan los siguientes: ð Puede ser que el formulario creado con un asistente tenga problemas porque no se vean bien los nombres de las etiquetas de los campos o el contenido de los mismos. Esto ocurre con el formulario de la figura 6.1, que es el que obtuvimos al usar el Asistente para formularios con la tabla Alumnos. 27 mailxmail - Cursos para compartir lo que sabes Figura 6.1. Ejemplo del formulario creado con el asistente ð También puede pasar que se quieran incluir nuevos elementos en un formulario, como el logotipo de una empresa o un recuadro para destacar algunos campos del formulario. ð Finalmente, otro motivo típico es incluir elementos del formulario que permitan realizar operaciones aritméticas, como sumar, restar o multiplicar. Vamos a aprovechar el formulario de la figura 6.1 como ejemplo para aprender a modificar formularios. Al igual que ocurría con las tablas, hay varias vistas en las que se pueden ver los formularios. Las tres principales son: ð La Vista Formulario. Esla que se utiliza para ver, introducir y modificar datos en las tablas usando los formularios. ð La Vista Presentación. Unavez creado el formulario, se muestra esta vista para ajustar fácilmente su diseño. La ventaja es que se ven los datos reales del formulario como referencia, y puedes reorganizar los controles y ajustar su tamaño. ð La Vista Diseño se utiliza para modificar el diseño o apariencia de los formularios al detalle. No muestra dato alguno, solo la cuadrícula de diseño puro y duro. Como es evidente, necesitamos abrir la vista de diseño de nuestro formulario de ejemplo para modificarlo. Para abrir esta vista, sigue estos pasos: ð Selecciona el formulario que quieres modificar. ð En la cinta de opciones, haz clic en el comando Ver en la ficha Inicio o en la ficha Diseño de Herramientas de... y elige el modo Vista Diseño. ð Otra opción es hacer clic en el botón de vista correspondiente en la barra de estado. 28 mailxmail - Cursos para compartir lo que sabes estado. La figura 6.2 nos muestra la vista de diseño del formulario Formulario para alumnos. Vista de diseño de formularios Ya hemos visto cómo llegar a la ventana de diseño de un formulario, tanto desde la ventana de la base de datos como desde la ventana de presentación de dicho formulario. Una vez en ella (figura 6.2), verás que esta ventana tiene los siguientes elementos principales: ð El Herramientas de controles. Este grupo de comandos sirve para crear nuevos controles y para seleccionar los ya existentes. ð La Lista de campos. Muestra los campos de la tabla en la que está basado el formulario. Si no aparece por defecto, pulsa en el comando Agregar campos existentes en la cinta de opciones. ð Las secciones. La vista de diseño de los formularios y de los informes están divididas en secciones. Las veremos en el capítulo de informes, ya que tienen mucha más importancia a la hora de imprimir (objetivo de los informes) que cuando se trabaja en pantalla. ð Los controles. Son los elementos principales de los formularios (e informes), los objetos que lo forman. Cuando Access crea de forma automática el formulario, los agrupa en diseños. Un diseño, indicado por una cuadrícula anaranjada en torno a los controles, ayuda a alinear los controles. Tipos de controles Como hemos indicado, los elementos más importantes de esta vista de diseño son los controles. Hay varias formas de clasificar los controles de los formularios, según su origen o según el elemento de Windows que lo representa. Según el origen de un control, hay tres tipos principales de controles: ð Los controles dependientes. Son controles que tienen relación directa con los valores de los campos. De hecho, muestran dichos valores. Por ejemplo, en la figura 6.2, el control CódPostal muestra el contenido del campo del mismo nombre de la tabla Alumnos. Por tanto, se dice que es un control «dependiente» del contenido de dicho campo. 29 mailxmail - Cursos para compartir lo que sabes Figura 6.2. Ventana de diseño ð Los controles independientes son los que no tienen relación con los valores de los campos. Por ejemplo, las etiquetas que aparecen junto a los controles de los campos no son dependientes de ningún campo, ya que su valor no se almacena en ningún campo de la tabla. ð Los controles calculados. Son los controles cuyo valor se obtie-ne de alguna operación aritmética realizada con otros controles. Por ejemplo, se puede crear un control que calcule la edad de un alumno basándose en la fecha de nacimiento. Además de por su origen, los campos también se pueden clasificar por el elemento de Windows que los representa. En la figura 6.2 sólo hay dos tipos de controles: ð Los campos están representados por controles del tipo cuadro de texto que contienen el valor de estos campos. ð A su lado, aparece un texto explicativo que es un control del tipo etiqueta. Estos controles muestran el valor de la propiedad Títulode los campos correspondientes. En el grupo de comandos Controles puedes ver los otros tipos de controles que pueden existir en un formulario, en la tabla 6.1 resumimos los más importantes. Tabla 6.1. Tipos de controles según el elemento que los representa Tipo de control Uso Etiqueta Aparece una eticampo. Se utilizan para incluir textos explicativos. queta por cada control que representa un Cuadro de texto para modifiutilizado por Se usan para mostrar los datos de los campos y carlos, si así se desea. Es el tipo de control omisión para representar a la mayoría de los campos 30 mailxmail - Cursos para compartir lo que sabes (excepto a los del tipo Sí/No). Botón de alternar valores Se usan para representar campos que contienen excluyentes o valores de tipo Sí/No. Casilla de verificación Igual que el anterior, pero más común. Cuadro combinado un campo Estos controles muestran los posibles valores de en forma de lista desplegable. Cuadro de lista necesidad Igual que el anterior, pero la lista se muestra sin de desplegar ningún cuadro. Botón de comando él. En de Sirve para ejecutar instrucciones al hacer clic sobre los formularios están muy ligados al uso de macros y módulos. Imagen almace- Los controles de tipo Imagen están pensados para nar imágenes gráficas en los formularios, como logotipos o fotografías. Objeto independiente creados Access. Objeto dependiente contenido datos. Subformularios formulario capítulo 5 Subinformes un Los objetos independientes representan elementos con otras aplicaciones informáticas distintas de También lo veremos al tratar los objetos. Los objetos dependientes son elementos cuyo está vinculado con archivos externos a las bases de Estos controles especiales permiten incluir un dentro de otro. Ya vimos un par de ejemplos en el al crear nuestros primeros formularios. Estos controles permiten incluir un informe dentro de formulario. Es muy parecido a incluir un formulario dentro de otro. Tabla 6.1. Tipos de controles según el elemento que los representa (continuación) Tipo de control Línea como eleRectángulo elemento Uso Este tipo de control permite incluir líneas rectas mentos decorativos en los formularios. Este control permite incluir un rectángulo como decorativo dentro de un formulario. 31 mailxmail - Cursos para compartir lo que sabes 8. Operaciones con controles A la hora de modificar un formulario, lo más normal es realizar cambios en los controles. En los siguientes apartados vamos a ver las operaciones principales que se pueden llevar a cabo con estos elementos básicos de los formularios. Seleccionar controles La primera operación que vamos a ver para modificar un formulario consiste en seleccionar los controles. Como es normal, antes de poder realizar ninguna operación con un control (como eliminarlo o cambiarle el tamaño), es imprescindible indicar a Access a qué control queremos aplicar dichos cambios. La operación de selección de un control cumple con esta función. Para seleccionar un control, sólo hay que seguir dos pasos: 1. Asegúrate de que está activa la herramienta Seleccionar del grupo de comandos Controles (es la de la flecha blanca). Si no lo está, haz clic sobre ella. 2. Haz clic sobre el control que desees seleccionar. Se sabe que un control está seleccionado porque aparecen unos puntos a su alrededor que se llaman selectores. Si lo que aparece es un borde anaranjado, entonces has seleccionado un diseño, conteniendo a varios controles. Los diseños también tienen sus selectores. En la figura 6.2 hemos seleccionado el diseño Nombre Nombre. Una vez que el control está seleccionado, podrás llevar a cabo la operación que quieras. Sin embargo, si quieres llevar a cabo la misma operación con varios controles a la vez, es mucho mejor agruparlos en diseños antes de utilizar el comando correspondiente. Si quieres quitar de un diseño uno o varios controles para seleccionar luego cada control independientemente, sigue estos pasos: 1. Haz clic en el primer control que quieras seleccionar. 2. Mantén pulsada la tecla Mayúsy, sin soltarla, haz clic en el resto de controles. 3. En la ficha Organizar, en el grupo Diseño de control, haz clic en Quitar. Consejo Si vas a sacar bastantes controles de un diseño, este dejará de tener sentido y es mejor quitarlo por completo; para eso selecciónalo entero con un clic en el cuadro selector de diseños situado en la parte superior izquierda del diseño. Ya puedes ejecutar Quitar. Operaciones básicas Una vez seleccionado un control, puedes realizar con él todas las operaciones que desees: moverlo, borrarlo, cambiarle el tamaño, etcétera. Algunas son muy sencillas y las podemos explicar en un párrafo: ð Para borrar un control, selecciónalo y pulsa la tecla Supr(o selecciona el comando Eliminar Eliminar del menú contextual si haces clic secundario). 32 mailxmail - Cursos para compartir lo que sabes Otras de las operaciones básicas que se pueden llevar a cabo con los controles consisten en usar los comandos Copiar, Cortar y Pegar en el grupo Portapapeles de la ficha Inicio, al igual que en cualquier otra aplicación de Windows: 1. Selecciona el control que quieras copiar (o cortar). 2. Ejecuta el comando Copiar (o Cortar) en la cinta de opciones. 3. Haz clic en la zona del formulario en la que quieras situar el control. 4. Selecciona el comando Pegar del grupo Portapapeles. Si utilizas Copiar, lograrás un duplicado del control, mientras que el comando Cortar Cortar sirve para «mover» un control de una parte a otra del formulario. El uso de los comandos Copiar, Cortar y Pegar es útil cuando se quiere mover un control de una sección a otra del formulario. Recuerda que las secciones las veremos con detenimiento al tratar los informes. Figura 6.3. Selección de varios controles a la vez Mover un control Si quieres mover un control de una posición a otra dentro de la misma sección del formulario, no tienes que usar los comandos Cortar y Pegar. Es mucho más rápido moverlo de posición directamente con el ratón siguiendo estos pasos: 1. Selecciona el control que quieras mover. Recuerda que aparecen los selectores a su alrededor para indicar que realmente se -encuentra seleccionado. 2. Una vez que esté seleccionado, sitúa el puntero del ratón en la línea que aparece alrededor del control. Sitúalo en cualquier punto de dicha línea menos en los selectores. 33 mailxmail - Cursos para compartir lo que sabes 3. Cuando el puntero se convierta en un icono con cuatro flechas, haz clic y arrastra el ratón hasta la posición en la que desees situar el control. Nota Recuerda que si seleccionas varios controles en el paso 1, puedes moverlos todos a la vez. Ten en cuenta que en los controles dependientes, las etiquetas están adosadas a los controles. Por tanto, si mueves un control, moverás su etiqueta con él. Esto es útil en la mayoría de las ocasiones, ya que querrás que la etiqueta esté siempre cerca del control al que está adosada. Si por algún motivo (y en nuestro ejemplo veremos alguno) quieres mover sólo el control, sigue estos pasos: 1. Selecciona el control haciendo clic sobre él. 2. Sitúa el puntero del ratón en la esquina superior izquierda de dicho control (justo en el recuadro negro grande). 3. Cuando el puntero del ratón se convierta en un icono con cuatro flechas, haz clic y arrastra para mover sólo el control hasta la nueva posición. Si lo que quieres es mover sólo la etiqueta, haz clic sobre la etiqueta para seleccio-narla (no selecciones el control) y utiliza la misma técnica: sitúa el puntero del ratón en la esquina superior izquierda y arrastra el ratón cuando se convierta en icono con cuatro flechas. Nota Si mueves un control más allá del tamaño del formulario, éste aumenta su tamaño automáticamente para que quepa el control completo. Es una forma sencilla de aumentar el tamaño del formulario. Cambiar el tamaño de un control Para cambiar el tamaño de un control se utilizan los selectores. Por eso se decía en el apartado anterior que para mover un control no se pueden arrastrar estos selectores, ya que en lugar de moverlo le cambiarías el tamaño. Los pasos que aparecen a continuación indican cómo modificar el tamaño de un control: 1. Selecciona el control al que quieras cambiar el tamaño. 2. Sitúa el puntero del ratón sobre uno de los selectores del control (excepto el de arriba a la izquierda que ya sabemos que sirve para moverlo). 3. Cuando el puntero del ratón se convierta en una doble flecha, pulsa el ratón y arrástralo sin soltarlo. Dependiendo del selector usado, podrás modificar la altura o la anchura del control (o las dos a la vez). La figura 6.4 muestra la utilidad de cada selector de un control seleccionado. Así, si utilizas los selectores de las esquinas, modificas a la vez el alto y el ancho del control. 34 mailxmail - Cursos para compartir lo que sabes Figura 6.4. Dependiendo del selector usado, varía la operación realizada Igualar tamaños Con las técnicas para modificar el tamaño vistas en el apartado anterior, puede ocurrir que varios controles que desees que tengan el mismo tamaño terminen siendo más altos o más anchos unos que otros. Buscando la mejor apariencia posible, Access proporciona una serie de comandos en la ficha Organizar de Herramientas de diseño de formulario pensados para igualar el tamaño de varios controles entre sí. Los siguientes pasos muestran cómo usar estos comandos: 1. Selecciona los controles que quieras que tengan la misma altura (o anchura). 2. Observa el grupo de comandos Tamaño,de la ficha Organizaren la cinta de opciones. 3. Selecciona el comando correspondiente según lo que quieras conseguir: Ajustar al más alto, Ajustar al más corto, Ajustar al más ancho, Ajustar al más estrecho, Ajustar a la cuadrícula o Ajustar al contenido. Alinear los controles Del mismo modo que puedes igualar el tamaño de los controles, también puedes alinearlos vertical u horizontalmente. Los pasos son similares a los vistos en el apartado anterior: 1. Selecciona los controles que quieras alinear. 2. Observa el grupo de comandos Alineación de controles, de la ficha Organizar Organizaren la cinta de opciones (figura 6.5). 3. Selecciona el comando correspondiente según lo que quieras conseguir: A la cuadrícula (alinearlos a la cuadrícula de diseño), Izquierda (alinearlos según sus lados izquierdos), Derecha (alinearlos a la derecha), Arriba (alinearlos verticalmente por la parte superior) o Abajo (alinearlos verticalmente por la parte inferior). Además, en el grupo de comandos Posición, de la ficha Organizarde Herramientas de diseño de formulario puedes controlar la separación entre los controles. 35 mailxmail - Cursos para compartir lo que sabes Figura 6.5. El submenú Alinear permite alienar controles vertical y horizontalmente Cambiar el contenido de una etiqueta Como última modificación, por ahora, del contenido de un formulario, vamos a ver la forma de cambiar el contenido de una etiqueta. Ya hemos comentado en varias ocasiones a lo largo del libro que las etiquetas de estos controles muestran el contenido de la propiedad Títulode los campos correspondientes. Si se quiere modificar el contenido de una etiqueta, sólo hay que seguir estos pasos: 1. Haz clic en la etiqueta para seleccionarla. 2. Una vez que esté seleccionada, vuelve a hacer clic dentro de la etiqueta (o pulsa la tecla F2) para que aparezca el punto de inserción en el texto de la etiqueta. 3. Cuando termines de cambiar el texto de la etiqueta, pulsa Intro. Un poco de práctica Ahora que ya sabemos cómo modificar un formulario, vamos a usar todo lo aprendido para lograr que nuestro formulario de la figura 6.1 se parezca al mostrado en la figura 6.6, que sin duda tiene mejor apariencia. 36 mailxmail - Cursos para compartir lo que sabes Figura 6.6. El formulario modificado Los cambios que hemos realizado son: ð Se han cambiado las etiquetas de los controles llamados EdoOProv e IdAlumno, para poner, respectivamente, Provincia e Id. alumno. ð Se ha reducido el tamaño del control IdAlumno, ya que al ser autonumérico no tiene que ser muy grande. ð Se ha aumentado el tamaño del control Dirección, ya que en la figura 6.1 se ve que no caben las direcciones si son un poco largas. Lo mismo se ha hecho con el campo Apellidos. ð Se ha aumentado el tamaño de la etiqueta Fechanacimiento con el fin de que se pueda leer completa. Para hacerlo, hemos creado un diseño apilado junto con los controles de Nombre, Apellidos, IdAlumno (seleccionas estos controles con sus etiquetas y ejecutas Apilado en el grupo de comandos Diseño de controles). Así hemos controlado además la separación entre ellos. ð Se han movido muchos de los controles, de forma que el primer campo sea el identificador del alumno. ð También se han movido los controles para «agrupar» los datos del alumno en distintos bloques con diseños apilados: ð Los datos básicos, como el identificador, el nombre y los apellidos. Se ha incluido la fecha de nacimiento, pero se podía haber dejado en cualquier otra posición. ð Por otra parte se han agrupado los datos de la dirección, con el código postal, la población y la provincia. ð Los teléfonos también se encuentran unos junto a otros. 37 mailxmail - Cursos para compartir lo que sabes ð Por último, el control Notas queda inde-pen-diente. ð Finalmente, se han usado los comandos del grupo Diseño de controles para aseguranos de que todos los controles están alineados entre sí. Cambiar el orden de la tecla Tab Vimos en el capítulo 5 que para rellenar datos en un formulario lo más cómodo era usar la tecla Tab para moverse de unos campos a otros de dicho formulario. Por omisión, Access va moviendo el punto de inserción de unos campos a otros de manera lógica: desde el primer control hacia abajo hasta llegar al último. Sin embargo, cuando se utilizan las técnicas vistas aquí para mover controles en un formulario, Access mantiene el orden de los controles como estuvieran en el formulario original. Por tanto, si ahora intentas usar la tecla Tab para moverte por el formulario, es fácil que te pierdas, ya que pasarás de unos controles a otros sin mucho sentido. Los siguientes pasos indican cómo definir el orden de los controles cuando se pulsa la tecla Tab: 1. Si es necesario, abre la vista de diseño del formulario. 2. Ejecuta el comando Orden de tabulación del del grupo Diseño de controles para abrir el cuadro de diálogo de la figura 6.7. 38 mailxmail - Cursos para compartir lo que sabes Figura 6.7. Cuadro de diálogo Orden de tabulación 3. Seleccióna Detalle si es necesario en el cuadro Sección. Recuer-da que veremos las secciones al tratar los informes. En la lista Ordenpersonalizado, aparece el orden en el que la tecla Tab se desplaza en este momento. 4. Para mover un control de posición en el orden de tabulación, primero has de seleccionarlo haciendo clic en el botón gris que hay a su izquierda. 5. Una vez seleccionado, vuelve a hacer clic en dicho botón y, sin soltar, arrastra el control hacia arriba o hacia abajo para indicar su posición en el orden de tabulación. 6. Cuando termines de ordenar todos los controles, haz clic en el botón Aceptar. Nota El botón Orden automático organiza los controles automáticamente de arriba hacia abajo. No nos sirve en el ejemplo, ya que nosotros queremos que el tabulador se desplace por los grupos que hemos creado. La figura 6.7 muestra el orden de tabulación idóneo para el formulario de ejemplo. Formato de los controles Además de las operaciones vistas hasta ahora para modificar los controles de un 39 mailxmail - Cursos para compartir lo que sabes formulario, Access incluye una buena cantidad de opciones para modificar la apariencia de dichos controles. De hecho, cuando seleccionas un control, observa que se activa el grupo de comandos Fuente (figura 6.8). Este grupo es similar al existente en otras aplicaciones, como Word y Excel, y sirve para cambiar el formato de un control de manera rápida. Figura 6.8. Barra de herramientas Formato La tabla 6.2 explica brevemente cada comando del grupo, pero la mejor forma de ver su función es seleccionar uno o varios controles e ir probando el resultado obtenido al seleccionar estos botones. Tabla 6.2. Botones del grupo de comandos Fuente Botón Descripción Fuente control o contro- Permite cambiar la fuente de texto del les seleccionados. Tamaño de fuente control o con- Permite modificar el tamaño del texto del troles seleccionados. Negrita controles Permite resaltar en negrita el texto de los seleccionados. Cursiva controles Permite resaltar en cursiva el texto de los seleccionados. Subrayado seleccionados. Permite subrayar el texto de los controles Alinear a la izquierda Permite alinear a la izquierda el texto de los controles seleccionados. Tabla 6.2. Botones del grupo de comandos Fuente (continuación) Botón Centrar seleccionados. Descripción Permite centrar el texto de los controles Alinear a la derecha Permite alinear a la derecha el texto de los controles seleccionados. Color de fondo o de relleno Permite cambiar el color de fondo de los controles seleccionados. 40 mailxmail - Cursos para compartir lo que sabes Color de fuente o Permite cambiar el color del texto de los controles de primer plano seleccionados. Color de fondo o de relleno controles alternativo Copiar formato formato de un Permite cambiar el color del borde de los seleccionados. Permite traspasar las características de control o valor a otro. Formato condicional Permite cambiar la apariencia de los controles o su valor en función de una o varias condiciones. Por ejemplo, mostrar los valores monetarios en rojo si son negativos. 41 mailxmail - Cursos para compartir lo que sabes 9. Propiedades de los controles en Access Al crear las tablas de nuestro ejemplo en el capítulo 3, vimos brevemente que los campos tenían propiedades que definían su forma de actuar o de mostrarse. En el caso de los controles de los formularios, las propiedades también son muy importantes, ya que permiten definir, por ejemplo, la manera en que se tiene que comportar el control o su apariencia física. Las propiedades de los controles se pueden ver y cambiar usando el cuadro de propiedades de cada control. Para ver este cuadro, sólo tienes que hacer doble clic sobre un control. Si no eres capaz de abrir el cuadro de propiedades de este modo, realiza los dos pasos siguientes: 1. Selecciona el control haciendo clic sobre él. 2. Haz clic en Hoja de propiedades en la ficha Diseño. La figura 6.9 muestra el cuadro de propiedades del control Nombre de nuestro formulario de ejemplo. 42 mailxmail - Cursos para compartir lo que sabes Figura 6.9. Cuadro de propiedades del control Nombre Observa que este cuadro presenta cinco pestañas distintas: ð La pestaña Formato muestra las propiedades que afectan a la apariencia del control. De hecho, cada vez que se usa un botón del grupo de comandos Fuente para cambiar el formato de un control (como el color del texto o el tamaño del borde), realmente se está modificando una propiedad de formato de dicho control. Algunas de las propiedades de Formato las vimos al tratar las propiedades de los campos de las tablas (como Lugares decimales o Formato). Nota Ten en cuenta que en los controles dependientes, el control «hereda» las propiedades de datos y de formato del campo correspondiente. Así, si se ha definido una máscara de entrada de un campo, se utilizará la misma máscara en el control correspondiente. ð La pestaña Datos es, sin duda, la más importante, ya que define los datos que 43 mailxmail - Cursos para compartir lo que sabes representa el control. Has de tener en cuenta que sólo los controles dependientes y calculados tienen propiedades en esta categoría. Las propiedades de esta categoría son similares a las vistas en los campos de las tablas, excepto la propiedad Origen del control, que define de dónde se obtiene el contenido del control. Si es un control dependiente, aparecerá el nombre del campo que representa; si es un control calculado, aparecerá la fórmula de su cálculo. ð La pestaña Eventos está íntimamente ligada al uso de macros y módulos, y la veremos al estudiar las macros más adelante. ð La pestaña Otras contiene un conjunto de propiedades que no pueden clasificarse en ninguna de las categorías anteriores. No suelen usarse, pero no está de más que les eches un vistazo. ð Finalmente, la pestaña Todas muestra todas las propiedades del control (figura 6.9) sin clasificar por su categoría. Te recomendamos que eches un vistazo a las propiedades de formato y de datos de un control de nuestro formulario de ejemplo. Los siguientes pasos te muestran cómo obtener información sobre una propiedad concreta: 1. Haz clic dentro de la propiedad sobre la que desees obtener alguna información. 2. Pulsa la tecla F1 para que Access muestre la ayuda sobre dicha propiedad. Añadir controles Para terminar con los controles, hay una operación muy importante que queda por ver: añadir nuevos controles a un formulario. Para hacerlo, se emplea el grupo de comandos Controles de la vista de diseño. Este grupo de comandos contiene los siguientes botones: ð Seleccionar objetos. Sirve para seleccionar objetos. Ya sabemos que para seleccionar un control, basta con hacer clic -sobre dicho control. Pues bien, si quieres seleccionar objetos, te tienes que asegurar de que este botón está activo (presionado) antes de hacer clic sobre cualquier objeto. ð Utilizar asistente para controles. Este botón activa o desactiva los asistentes para controles. Estos asistentes entran en acción cuando se crea un control de un tipo determinado (como los cuadros de lista). Veremos uno de estos asistentes más adelante, al crear un formulario de varias tablas desde cero. Nuestro consejo es que actives este botón, ya que los asistentes para crear controles suelen estar muy bien diseñados. ð El resto de botones sirven para crear controles del tipo que indica su nombre. Estos controles los vimos en la tabla 6.1. A la hora de crear un control, es esencial distinguir entre los controles dependientes, los independientes y los calculados. Para crear un nuevo control dependiente, sigue estos pasos: ð Asegúrate de tener en pantalla la ficha Diseño con el grupo Controles y la Lista de campos. Si no es así, haz clic en la ficha Diseño de Herramientas de diseño de formulario y en el comando Agregar campos existentes del grupo Herramientas, en la cinta de opciones. ð Haz clic en la herramienta del tipo de control que quieres crear. Por ejemplo, para 44 mailxmail - Cursos para compartir lo que sabes crear un cuadro de texto, haz clic en Cuadro de texto. ð Arrastra el nombre del campo desde la lista de campos hasta la posición del formulario en la cual quieres colocar el nuevo control. ð Cuando sueltes el botón del ratón, aparecerá el nuevo control (con su correspondiente etiqueta adosada). En algunas ocasiones, dependiendo del control, puede aparecer un asistente para crear controles. Sigue los pasos que indica y crearás el control fácilmente. Si el control es independiente, la diferencia está en que no tienes que arrastrar ningún nombre de campo en el paso 3 de la secuencia anterior. Basta con que selecciones el tipo de control en el cuadro de herramientas y hagas clic en la posición del formulario en que desees crear el control. Finalmente, para crear un campo calculado, realiza estos pasos: 1. Asegúrate de tener en pantalla la ficha Diseño con el grupo Controles. Si no es así, haz clic en la ficha Diseño de Herramientas de formulario en la cinta de opciones. 2. Haz clic en la herramienta Cuadro de texto del grupo Controles. 3. Haz clic en la posición del formulario en la que desees crear el control calculado. Access creará un nuevo control con el texto independiente en su interior y con una etiqueta adosada. 4. Haz clic en el interior del cuadro de texto y aparecerá el punto de inserción. 5. Escribe la fórmula (la expresión) que calcula el valor del campo y haz clic en Intro Intro cuando termines. 45 mailxmail - Cursos para compartir lo que sabes 10. Expresiones y consultas en Access Objetivos del capítulo 10 y 11 • Conocer las expresiones. • Crear consultas. • Las condiciones. En este capítulo conoceremos las expresiones y los elementos que las forman. Aprenderás a «interrogar» a tu base de datos, creando consultas e incorporando expresiones y condiciones de búsqueda. Las expresiones En el capítulo anterior, se citaron las expresiones como elementos que sirven, entre otras cosas, para definir el valor de los controles calculados. De este modo, si se escribe la siguiente expresión en un control de un formulario: =[Precio]/1,04 obtendremos el precio de un curso sin IVA (asumiendo que éste es el 4%). Hay muchas ocasiones en las que se pueden utilizar las expresiones dentro de Access. Por ejemplo: ð En las propiedades de los campos o de los controles. Si recuerdas la propiedad Valorpredeterm Valorpredeterminado, ésta puede contener la expresión Fecha(Ahora()), que incluye como valor predeterminado la fecha del ordenador en el momento de acceder a un nuevo registro de una tabla. ð En los controles calculados de los formularios (e informes). -Hemos visto que la expresión =[Precio]/1,04 calcula el precio, sin IVA, de un curso. ð En las consultas. En las consultas, el uso de las expresiones es constante, de ahí que hayamos dejado este tema para el primer capítulo dedicado a consultas. Nota La gran diferencia entre el uso de expresiones en las consultas y en los campos calculados es que en éstos últimos aparece siempre el signo igual al principio de las expresiones, mientras que en las consultas no aparece así. Elementos de las expresiones Independientemente del lugar en el que se utilicen las expresiones, éstas pueden estar formadas por cinco elementos principales. Esto no implica que todas las funciones tengan que contener todos los elementos posibles: ð Los literales. Son fechas, números o textos que aparecen en las expresiones tal y como son. Suelen utilizarse para indicar en una expresión el valor que ha de tener un campo o control para cumplir una condición. 46 mailxmail - Cursos para compartir lo que sabes ð Las constantes. Son valores fijos que aparecen en las expresiones. Las más comunes son Verdadero, Falso y Nulo. ð Los operadores. Los operadores son los elementos que relacionan el resto de elementos de una expresión. Así, pueden relacionar las funciones con constantes, etcétera. ð Los identificadores. Los identificadores toman su nombre de la función que tienen: identificar un campo, un control o una propiedad. En las expresiones es muy normal realizar operaciones con campos, y los identificadores sirven para representar dichos campos. ð Las funciones. Las funciones son pequeños programas existentes en Access que permiten realizar operaciones rápidamente. Las funciones aparecen siempre con su nombre y con un conjunto de argumentos entre paréntesis detrás del mismo. Por ejemplo, Año([FechaFin]) calcula el año de la fecha existente en el campo FechaFin. Año es el nombre de la función y el único argumento en este ejemplo es [FechaFin]. Normas básicas en las expresiones En las expresiones pueden encontrarse valores que representan fechas, textos, números, etcétera. Hay una serie de normas básicas a la hora de introducir este tipo de datos en las expresiones, y que se resumen en: ð Los nombres de campos, controles, tablas, consultas, formularios, informes, etcétera han de escribirse entre corchetes. Por ejemplo, en la expresión =[Precio]/1,04 =[Precio]/1,04, vemos que el campo Precio va escrito entre corchetes. ð Las fechas se han de incluir entre almohadillas. En la expresión Fecha(Ahora()) > # 1 8 / 0 4 / 1 0 #, vemos que la fecha 18 de abril de 2010 va entre almohadillas. ð El texto se incluye entre comillas. Por ejemplo, en la expresión [Ciudad] = «Málaga», vemos que el nombre de la ciudad (Mála-ga) va entre comillas, mientras que el nombre del campo (-Ciudad) aparece entre corchetes. Los operadores De entre todos los elementos de las expresiones, vamos a dedicar un apartado especial a los operadores, ya que son los que permiten realizar las operaciones y las comparaciones en estas expresiones. Dependiendo de la función del operador, éstos se dividen en varios tipos. Es bueno conocer estos tipos de operadores, ya que, por ejemplo, tendrás que utilizar un operador aritmético si quieres realizar una operación en una expresión, pero tendrás que usar un operador de comparación para usarlo en un condición de una consulta. Los tipos principales de operadores son: ð Operadores aritméticos. Son los operadores -, *, /, \, ^, + y Residuo. En otras palabras, son los operadores de suma, resta, multiplicación y división, además de algunos operadores especiales como división entera (\, que ignora los decimales), exponenciación (^) y de resto (Residuo). ð Operadores de comparación. Estos operadores tienen, principalmente, la función para realizar condiciones en las consultas. Son los siguientes: < (menor que), <= (menor o igual que), <> (distinto que), = (igual que), > (mayor que), >= (mayor o igual que) y Entre (que sirve para introducir una serie de valores concretos). 47 mailxmail - Cursos para compartir lo que sabes igual que) y Entre (que sirve para introducir una serie de valores concretos). ð Operadores lógicos. Estos operadores sirven principalmente para indicar si en una condición se han de cumplir una o varias de las condiciones. Los tres esenciales son O, Y y No. La mejor forma de entender el uso de los operadores y de las expresiones en sí consiste en usarlas en ejemplos concretos. A lo largo de este capítulo vamos a utilizar mucho las expresiones para crear consultas. Este tipo de expresiones utilizan, básicamente, los operadores de comparación y los operadores lógicos. Las consultas En el capítulo 1, vimos los objetos que podían formar parte de una base de datos de Access. De los principales, ya hemos visto las tablas y los formularios. Nos quedan las consultas y los informes. Vamos a dedicar este capítulo a crear y usar consultas de Access, que nos permitirán crear en capítulos siguientes un formulario y un informe realmente útil para gestionar nuestro centro de formación. Qué son las consultas Las consultas son elementos de las bases de datos que, como su nombre indica, sirven para «interrogar» a Access sobre el contenido de las tablas. Por ejemplo, las consultas sirven para que podamos obtener información como la siguiente: ð ¿Cuáles son los alumnos que viven en Cáceres? ð ¿Cuántos profesores han impartido más de dos cursos este año? ð ¿Cuántos profesores de los cursos han trabajado en el último trimestre del año 2009? La forma de contestar a este tipo de preguntas consiste en crear consultas que proporcionen la información que queramos obtener. Nota Si lo que quieres es simplemente localizar una información en una tabla, por ejemplo el teléfono de un alumno, no uses consultas, sino las herramientas para buscar y reemplazar de Access. Crear una consulta Antes de crear una consulta, hay que tener claro para qué se quiere la consulta. Concretamente, son dos las cosas que tienes que pensar: ð ¿Qué información quieres obtener? Dicho de otra forma, qué valores de las tablas quieres conocer. Por ejemplo, si quieres buscar los profesores de Madrid, debes saber si quieres encontrar sus apellidos o también su nombre, su teléfono, etcétera. ð ¿Qué condiciones han de cumplir los datos para realizar la consulta? En el ejemplo anterior, la condición es que el profesor sea de Madrid, pero también podría ser que fuera de la provincia de Barcelona (usaríamos el código postal que empezara por 08)o que tuviera teléfono móvil. 48 mailxmail - Cursos para compartir lo que sabes Vamos a ir creando las consultas poco a poco. Además, nos ayudaremos del Asistente para consultas de Access. El Asistente para consultas Para crear una consulta usando el Asistente para consultas de Access, realiza los siguientes pasos: 1. En panel de exploración, haz clic en el menú y elige Consultas. Verás que aún no tenemos consultas creadas anteriormente. 2. Ve a la ficha Crear en la cinta de opciones y haz clic en el comando Asistente para consultas para abrir la primera ventana de este asistente, donde elegimos consulta sencilla y aceptamos. 3. Selecciona la tabla que contenga los datos que quieres consultar en el cuadro Tablas/Consultas. En nuestro ejemplo, sería Profesores. 4. En la lista Camposdisponibles, haz doble clic en los campos que quieras ver en la consulta. Nosotros hemos seleccionado el nombre, los apellidos, la dirección, la ciudad, el código postal y el teléfono móvil (figura 7.1). 5. Haz clic en el botón Siguiente para ir a la segunda ventana del asistente. 6. Escribe el título de la consulta. Por ejemplo, Profesores de -Madrid y haz clic en Finalizar. Figura 7.1. Ventana del Asistente para consultas La figura 7.2 muestra el resultado de la consulta que hemos creado. Observa dos aspectos muy importantes: ð Sólo aparecen los campos que hemos seleccionado en el asistente de la consulta y no todos los datos de un registro de la tabla Profesores. Así, no aparece el teléfono particular ni la provincia, sólo el nombre, los apellidos, la dirección, la ciudad, el código postal y el teléfono móvil. 49 mailxmail - Cursos para compartir lo que sabes ð Sin embargo, muestra todos los profesores de la tabla y no sólo los que viven en Madrid, que es lo que queríamos. Esto se debe a que no hemos introducido ninguna condición todavía. Cierra ahora la consulta y veremos cómo introducir estas condiciones a continuación. Figura 7.2. Resultado de la consulta Hoja de datos Nota La figura 7.2 es la ventana de presentación de las consultas y funciona exactamente igual que la hoja de datos de las tablas. Puedes, por tanto, ensanchar sus columnas, modificar las fuentes, aplicar tipos de letras, etcétera. Vista de diseño La figura 7.2 muestra el resultado de la consulta creada con el asistente. Esta ventana se llama vista hoja de datos o ventana de presentación de las tablas que vimos en el capítulo 4. Esta hoja de datos se puede usar para ver, añadir y modificar datos en las tablas, pero nuestro consejo es que para hacerlo utilices los formularios o las hojas de datos de las tablas. Pues bien, además de la hoja de datos, las consultas también disponen de una vista de diseño, que permite modificar las consultas (igual que la hoja de diseño de la tabla sirve para modificar una tabla o la vista de diseño de los formularios sirve para modificar los formularios). Para abrir la hoja de diseño de una consulta: 1. Haz clic en el menú del panel de exploración y elige Consultas. 2. Selecciona la consulta, en nuestro caso la única que hemos creado, y haz clic secundario sobre su nombre. 3. Finalmente, haz clic en la opción Vista Diseño. Consejo Si está abierta una vista de hoja de datos de una consulta, puedes ver su vista de diseño haciendo clic en el botón Vista Diseño en la barra de estado. La figura 7.3 muestra la ventana de diseño de nuestra consulta de ejemplo. En esta ventana, hay dos partes esenciales: 50 mailxmail - Cursos para compartir lo que sabes Figura 7.3. Ventana de diseño de la consulta ð En la parte superior, aparece la tabla (o tablas) de las que se muestran datos en la consulta. En nuestro ejemplo, es la tabla Profesores. ð En la parte inferior, aparece la cuadrícula que define la consulta. Esta cuadrícula está, a su vez, formada por varias filas y varias columnas: ð Aparece una columna por cada campo añadido a la consulta. En nuestro ejemplo, hay seis columnas, una por campo. ð La fila Campo muestra el nombre del campo. ð La fila Tabla indica de qué tabla proviene dicho campo. Sólo es importante cuando se usan datos de varias tablas. En nuestro ejemplo, todos los campos son de la tabla Profesores. ð La fila Orden permite clasificar la salida de la consulta por cualquiera de los campos. Por ejemplo, observa que en la figura 7.4 hemos ordenado la salida por el nombre. ð La fila Mostrar indica si el campo va a aparecer en el resultado de la consulta o no. Es muy útil cuando se emplea un campo para introducir una condición, pero no interesa que aparezca en el resultado. ð Finalmente, la fila Criteriosy las restantes son las filas de condiciones. Veremos cómo se usan en el siguiente apartado. 51 mailxmail - Cursos para compartir lo que sabes 11. Access. Condiciones en las consultas En nuestro ejemplo, queríamos ver la información mostrada en la figura 7.3, pero sólo de los profesores que viven en Madrid. Esto implica indicar a Access una condición, que la ciudad del profesor sea Madrid. La figura 7.4 muestra cómo se introduce esta condición: basta con escribir el nombre «Madrid» en la fila Criteriosde la columna Ciudad. Nota Recuerda que «Madrid» aparece entre comillas porque es un texto. Si lo introduces sin estas comillas, Access las incluirá automáticamente. Una vez modificada una consulta en la ventana de diseño, sólo queda ejecutarla para volver a ver la hoja de datos. Para ejecutar una consulta, elige una de las siguientes opciones: 1. Haz clic en el botón Ejecutar en el grupo Resultados, de la ficha Diseño de Herramientas de consultas 2. Haz clic en el comando Ver del mismo grupo y elegir la vista hoja de datos o clic en el botón Vista de Hoja de datos de la barra de estado. Este último botón es muy útil para ir pasando de la ventana de diseño de la consulta a la hoja de datos y viceversa. De ese modo, podrás hacer todas las pruebas que desees antes de dar por finalizada la consulta. Si ejecutas ahora nuestra consulta de ejemplo, verás sólo los profesores que viven en Madrid, que era nuestro objetivo. Otros tipos de condiciones La condición usada en la figura 7.4 se llama «de igualdad», ya que consiste en pedir que un valor sea igual que otro (que la ciudad del profesor sea igual a Madrid). Sin embargo, hay muchos tipos de condiciones que se pueden usar en las consultas: 52 mailxmail - Cursos para compartir lo que sabes Figura 7.4. La consulta con una condición ð Condiciones de igualdad. Es la usada antes y utiliza el operador de comparación = (igual que). La condición se considera cumplida si el valor indicado es igual que el existente en la tabla (algo así como Ciudad = «Madrid»). ð Condiciones mayor o menor que. Utiliza los operadores de comparación >, <, >=, <= para indicar que la condición no es un valor exacto, sino que el valor de la tabla sea menor (<), mayor (>), menor o igual (<=) o mayor o igual (>=). ð Condiciones “distinto que”. Finalmente, existe el operador distinto que (<>), para indicar que sirve cualquier valor menos el indicado. Además de estos operadores de comparación, en las expresiones de las consultas se utilizan mucho las constantes Verdadero, Falso y Nulo. En concreto: ð En los campos del tipo Sí/No, se usan las constantes Verdadero y Falso para indicar si están activados o desactivados. Si el campo se llama Pagado, el valor Verdadero puede indicar que una factura está ya abonada, mientras que el valor Falso indicará lo contrario. ð La constante Nulo también es importante. Esta constante permite saber si un campo tiene algún valor en su interior o está vacío. Así, es útil para saber si un profesor, por ejemplo, tiene teléfono móvil. La expresión usada para indicar que un campo no tiene ningún valor es la siguiente: ES NULO. Por el contrario, ES NO NULO indica que un campo tiene cualquier valor, -independientemente de cuál sea. Varias condiciones en la consulta La figura 7.4 muestra una única condición en la consulta de ejemplo. Sin embargo, es posible introducir varias condiciones en una consulta. Las normas para crear una consulta con varias condiciones son muy sencillas, 53 mailxmail - Cursos para compartir lo que sabes aunque un poco farragosas de explicar. Usaremos varios ejemplos para explicar cómo introducir varias condiciones en una consulta. Varias condiciones en un mismo campo La primera forma de introducir varias condiciones en una consulta consiste en introducir varias condiciones en un mismo campo. Por ejemplo, indicar que el profesor viva en Madrid o en Málaga. Para estos casos, se utilizan los operadores lógicos indicados al principio del capítulo: Y y O: ð Utiliza el operador Y entre las condiciones para indicar que se tienen que cumplir todas las condiciones para que un registro aparezca en el resultado. Por ejemplo, la condición > = # 0 1 / 0 1 / 1 0 # Y < = # 3 1 / 0 3 / 1 0 # indica que la fecha ha de pertenecer al primer trimestre del año 2010. ð Utiliza el operador O para indicar que basta con que se cumpla una condición para dar el registro como válido. Por ejemplo la condición «Málaga» O «Madrid» en el campo Ciudad de la tabla Profesores mostrará los profesores que vivan en Málaga y los que vivan en Madrid. La figura 7.5 muestra el ejemplo visto aquí. Si se ejecuta esta consulta, se verán los cuatro profesores que viene en Madrid (3) o en Málaga (1). Figura 7.5. Dos condiciones en un mismo campo Varias condiciones en campos distintos Ya hemos visto que los operadores lógicos sirven para introducir varias condiciones relativas a un mismo campo. Sin embargo, en muchas ocasiones, querrás que las condiciones no se apliquen sobre un mismo campo, sino sobre varios campos de la misma tabla. En estos casos, hay que introducir las condiciones en las distintas columnas de una misma fila. Por ejemplo, la fila Criteriosde la figura 7.6 muestra las condiciones: ð El profesor tiene que vivir en Madrid. ð Además, tiene que llamarse José. 54 mailxmail - Cursos para compartir lo que sabes ð Y, además, tener teléfono móvil (Es No Nulo). Figura 7.6. Consulta con varias condiciones en la misma fila de criterios Como ves, si se introducen varias condiciones en la misma fila de criterios, han de cumplirse todas para que Access muestre un registro como válido. Condiciones de todo tipo Para terminar, vamos a ver un ejemplo que combina todos los tipos de condiciones vistas anteriormente. La figura 7.7 muestra cómo se utilizan el resto de filas de criterios (la fila O y el resto) para introducir condiciones. Figura 7.7. Ejemplo de consulta con varias condiciones Si observas esta figura, las condiciones introducidas en la cuadrícula QBE de la consulta indican lo siguiente: ð La fila Criterios ya hemos dicho que mostrará los profesores de Madrid que se llamen José y tengan teléfono móvil. ð La fila O mostrará los profesores que se llamen Ofelia, sin más condiciones. ð La tercera fila mostrará los profesores que, viviendo en Badajoz, no tengan teléfono móvil. ð Finalmente, la cuarta fila mostrará los profesores cuyos apellidos empiecen por la 55 mailxmail - Cursos para compartir lo que sabes ð Finalmente, la cuarta fila mostrará los profesores cuyos apellidos empiecen por la C, la D o la E. En esta condición, se ha utilizado el operador Y en una de las filas de criterios, mostrando que es posible mezclar todos los conceptos anteriores sobre condiciones para lograr el objetivo que perseguíamos de ver sólo los -datos que nos interesen. 56