56
Tablas, formularios y expresiones en Access Autor: Julián Casas 1 mailxmail - Cursos para compartir lo que sabes

Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

Embed Size (px)

Citation preview

Page 1: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

Tablas, formularios yexpresiones en AccessAutor: Julián Casas

1

mailxmail - Cursos para compartir lo que sabes

Page 2: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

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 dedatos para introducir información y modificar su apariencia para adecuarla anuestras necesidades.

Aprende además que Access nos proporciona herramientas para diseñarformularios que nos permitirán introducir datos en nuestras tablas de una formamucho más fácil e intuitiva. Conoce cómo utilizarlas.

2

mailxmail - Cursos para compartir lo que sabes

Page 3: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

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 datosrelacional; 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: laintegridad referencial.

También veremos cómo introducir datos de varias tablas relacionadas a la vez, cómousar la hoja de datos para introducir nuestra información y cómo modificar suapariencia para adecuarla a nuestras necesidades.

Las relaciones entre las tablas

Antes de empezar a introducir datos en las tablas, vamos a crear las relaciones entrelas tablas que ya hemos creado en el capítulo anterior. Hay varios motivos parahacerlo así:

ð Las relaciones facilitan la introducción de datos. Básicamente, si creamos lasrelaciones entre las tablas, va a ser posible introducir datos de más de una tabla a lavez. Por ejemplo, a la vez que damos de alta un curso, podemos incluir los alumnosque van a recibir dicho curso.

ð En ocasiones, las relaciones obligan a que se introduzca un dato en la tabla. Porejemplo, 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 posibleque a la hora de crear dichas relaciones, tengamos problemas con algún datoporque no cumpla las normas de dicha relación. Esto provoca un engorroso procesode 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 tablasrelacionales, 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 distintassituaciones a la hora de relacionar datos de dos tablas.

Por ejemplo, en nuestro caso práctico, vemos que hay dos tipos de relacionesdistintas:

ð Hemos asumido que un curso sólo lo imparte un profesor. Sin embargo, un mismoprofesor puede impartir varios cursos distintos. En estos casos, se habla de unarelación del tipo 1-a-muchos, ya que 1 profesor puede impartir muchos cursos.

3

mailxmail - Cursos para compartir lo que sabes

Page 4: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

ð 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 losalumnos y los cursos es de muchos-a-muchos.

El término «muchos» aquí debe entenderse como posibilidad de que haya «más deuno». Que un alumno concreto sólo reciba un curso, no implica que no pueda darseque 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 laveremos aquí.

Relaciones de 1 a muchos

Éste es el tipo de relaciones más normal en las bases de datos relacionales. Comohemos dicho, un registro de una tabla (llamada tabla principal) tiene relación convarios registros de la otra tabla (llamada tabla secundaria). Por ejemplo, unprofesor puede impartir varios cursos. Por tanto, la tabla principal sería la deprofesores y la secundaria la de cursos.

Crear relaciones en Access

Aunque en un principio el tema de las relaciones se muestra muy complicado deentender, con un ejemplo como el nuestro estamos convencidos de que se aclararánlas dudas.

Vamos a definir la primera relación de nuestra base de datos. Lo haremos entre lastablas Profesores y Cursos. Para definir las relaciones entre las tablas de una basede datos realiza los siguientes pasos (asumimos que la base de datos está abierta enAccess):

1.  Haz clic en la ficha Herramientasde bases de datos en la cinta de opciones yobserva el grupo de comandos Mostrar u ocultar.

2.  Haz clic en el comando Relaciones de ese grupo. Aparecerá la ventanaRelacionesy, delante, el cuadro de diálogo Mostrar tabla. Si no aparece el cuadro Mostrar tablaMostrar tabla, sólo tienes que hacer clic en el comando del mismo nombre de laficha 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 quierasrelacionar. 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 ausar para la relación desde la tabla principal a la secundaria. Aparece el cuadro Modificar relacionesModificar relaciones.

6.  Activa las casillas de verificación (Exigir integridad referencial, Actualizar encascada y Eliminar en cascada) de este cuadro (figura 4.1).

7.  Haz clic en Aceptar.

4

mailxmail - Cursos para compartir lo que sabes

Page 5: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

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 permiteidentificar en cada curso al profesor que lo imparte. Recuerda que la tabla principalen este caso es Profesores, ya que un profesor puede impartir varios cursos.

Cuando termines, verás la ventana Relacionescon la primera relación creada. Lafigura 4.2 muestra todas las relaciones que vamos a crear en este capítulo. Observaahora 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 dedefinir 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 referencialintegridad referencial. Este concepto de Access permite asegurarse de que no secometen errores a la hora de introducir datos en las tablas.

5

mailxmail - Cursos para compartir lo que sabes

Page 6: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

En concreto, cada casilla tiene su misión:

ð Exigir integridad referencial. Esta casilla indica que no puede existir un campoen la tabla secundaria que no exista también en la tabla principal. Por ejemplo, nopodremos introducir un profesor (campo IdProfesor) en la tabla Cursos que noexista en la tabla Profesores.

ð Actualizar en cascada. Cuando se modifica un valor del campo relacionado en latabla principal, automáticamente dicho ­valor se modificará también en todos losregistros de la tabla secun­daria en los que aparecezca. Por ejemplo, si cambiamosel IdProfesor de uno de nuestros profesores, automáticamente se modificará entodos los registros de la tabla Cursos en los que aparezca.

ð Eliminar en cascada. Si activas esta casilla, al eliminar un regis­tro de la tablaprincipal, automáticamente se eliminarán todos los registros de la tabla secundariaque 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 dichoprofesor.

Consejo

Nuestro consejo es que siempre marques todas estas casillas y que no eliminesregistros de las tablas a menos que sea imprescindible. Si no vas a contratar más aun profesor, no hace falta eliminar su registro. Ocupa poco y se evita perderinformación relevante.

Relaciones de muchos a muchos

Las relaciones de muchos a muchos se dan cuando varios registros de una tablapueden 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 deeste tipo, ya que un alumno puede asistir a varios cursos, mientras que en un cursosiempre hay varios alumnos.

El problema es que Access no contempla este tipo de relaciones. Por tanto, paracrearlas, hay que utilizar una tabla especial, llamada tabla intermedia, que permitesimular esta relación.

La figura 4.2 muestra las relaciones entre las tablas Alumnos y Cursos. Observa quehemos 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 comoclave, otro para indicar el alumno y otro para indicar el curso del que se trata. Lafigura 4.3 muestra su vista de diseño.

6

mailxmail - Cursos para compartir lo que sabes

Page 7: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

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 enAccess 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 latabla intermedia.

3.  Hemos creado otra relación 1-a-muchos entre la otra tabla principal y la tablaintermedia.

Modificar y eliminar relaciones

Las relaciones hay que pensarlas bien desde el principio. Sin embargo, es normalque 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 Relacionespara 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 paraseleccionarla 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 yvolverás a ver el cuadro de diálogo Modificar relaciones (figura 4.1). Realiza loscambios deseados (por ejemplo, activa o desactiva las casillas de la integridadreferencial) y haz clic en Aceptar.

7

mailxmail - Cursos para compartir lo que sabes

Page 8: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

2. Introducir datos en la hoja de datos

Una vez definidas las relaciones y creadas las tablas de nuestro ejemplo, vamos aempezar a introducir datos en las tablas de la base de datos. Vamos a utilizar paraello la hoja de datos de las tablas, que, si recuerdas, era la ventana de las tablasdiseñ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 conalgunos datos en su interior. De hecho, éstos son los datos que vamos a introducir acontinuación para aprender a usar la hoja de datos. Observa que en la parte superiorde la figura aparecen los primeros campos de la tabla, mientras que en la parteinferior se representan el resto. Hemos repetido los tres primeros campos de cadaregistro 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 consisteen 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 laopció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

Page 9: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

Abrir una tabla significa abrir la vista de la hoja de datos de la tabla. Como vimos enel capítulo anterior, la otra vista de las tablas en la que hemos trabajado de sobra sellama ventana de diseño y sirve para modificar la estructura de la tabla. Sigue ahoraestos pasos para abrir la tabla Profesores.

Una vez que se ha abierto la tabla, ya se puede comenzar a introducir los datos enella.

Si has utilizado alguna vez un programa de hoja de cálculo (como Excel) o hasusado tablas en un procesador de textos (como Word), las siguientes operaciones teresultarán familiares.

En los siguientes apartados veremos cómo realizar las distintas funciones que sepueden 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 enel 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 elpunto de inserción parpadeando listo para empezar a escribir en la primera celdadel 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 seguirestos pasos:

1.  Escribe el valor del primer campo del primer registro de la tabla. Si es un campoautonumé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 enel último campo de dicho registro, como muestra la figura 4.5. Para introducir losdatos del siguiente registro, sólo hay que volver a pulsar la tecla Tab y te situarás enla 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 cuentaque cuando se abre una hoja de datos de una tabla, los registros se ordenan por elcampo clave de dicha tabla. En este ejemplo, como el campo clave es el código del

9

mailxmail - Cursos para compartir lo que sabes

Page 10: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

profesor y es un campo autonumérico, los registros aparecerán en el mismo ordenque se hayan introducido. Sin embargo, si el campo clave es otro, el orden deintroducción no define el orden de los registros en el futuro.

1 0

mailxmail - Cursos para compartir lo que sabes

Page 11: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

3. Hoja de datos en tablas relacionadas

Una vez que hemos introducido los datos de la tabla Profesores, es el momento deque tú solo introduzcas los datos de otra de las tablas que hemos creado: la tablaCursos.

Sigue las instrucciones dadas en el apartado anterior para introducir informaciónsobre 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 lostres 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. Cierraahora todas las ventanas de hojas de datos que estén abiertas y abre la vista hoja dedatos de la tabla Profesores. Observa que hay un signo más (+) a la izquierda decada registro. Pues bien, si haces clic en dicho signo, verás los datos de los cursosimpartidos 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 dedatos 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 cursoque va a impartir dicho profesor.

1 1

mailxmail - Cursos para compartir lo que sabes

Page 12: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

Figura 4.8. Introducir datos de dos tablas a la vez

De este modo, cada vez que aparezca un nuevo profesor, se pueden introducir susdatos y los del curso que vaya a impartir sin necesidad de tener que ir abriendo ycerrando varias hojas de datos. Además, es mucho más sencillo asignar un cursonuevo 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 introducirlos datos de este curso de Internet y de este nuevo profesor cada uno en su hoja dedatos, 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. Sinembargo, es habitual que se quiera modificar el contenido de las tablas una vezcreadas.

Hay muchas formas de hacerlo, dependiendo de la operación que se quiera llevar acabo. Los apartados que aparecen a continuación muestran los pasos que hay queseguir en cada caso.

Modificar un dato ya introducido

Una vez que se han introducido los datos en una tabla, es normal que queramoscambiar alguno de ellos. Hay muchos motivos, aunque lo más probable es que noshayamos equivocado (el apellido no es García sino Gracia) o simplemente hayacambiado la información del registro (por ejemplo, un profesor ha cambiado deteléfono o de dirección).

Para modificar los datos de una tabla, se utiliza la hoja de datos de la misma. Laforma 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 apareceel 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 datoque 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 nomerecen mayor explicación. Sin embargo, sí es conveniente que conozcas ladiferencia 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 enla posición en la que hayas hecho clic, pero no se selecciona el contenido delcampo. A este modo de trabajar se le llama modo Edición.

1 2

mailxmail - Cursos para compartir lo que sabes

Page 13: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

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 elcontenido del campo completo. Esto provoca que si tecleas cualquier cosa cuandoun campo está seleccionado, su contenido se modifica completo. Este modo detrabajo se llama modo Desplazamiento.

La tecla F2 permite pasar de tener un campo seleccionado a tener el punto deinserción activo y viceversa. En otras palabras, puedes pasar del modo Edición almodo 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 campoclave de dicha tabla. Sin embargo, en muchas ocasiones, querrás ver la tablaordenada por un campo distinto. Por ejemplo, si quieres ver los profesores de unapoblació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 cintade opciones.

Observa que hemos dicho dos veces que ordenas «la vista de la tabla», ya querealmente la tabla en sí seguirá ordenada por su campo clave.

Si utilizas el botón Orden descendente en lugar de Orden ascendente, Accessordenará la tabla de mayor a menor, en lugar de menor a mayor como lo hacenormalmente. Ten en cuenta que si un campo es de texto, la A se considera laprimera letra y la Z la última (en orden ascendente), mientras que en los camposnumé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 tepedirá 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 mismoformato en que estaba al cerrarla. Por ejemplo, ordenada por un campo según losdos 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 consisteen aumentar o reducir el ancho de una columna. Es muy normal que no se vea elcontenido íntegro de todos los campos. Por ejemplo, si abres la hoja de datos de latabla Profesores, no verás completo el contenido de los campos Apellidos yDirección.

Para modificar el ancho de una columna, deberás seguir los pasos que aparecen acontinuación:

1.  Sitúa el puntero del ratón a la derecha del título de la columna que se quieremodificar hasta que adopte la forma de una doble flecha. Por ejemplo, paraaumentar el tamaño de la columna nombre, hay que situarlo entre el título Apellidosy el título ­Dirección (figura 4.8).

1 3

mailxmail - Cursos para compartir lo que sabes

Page 14: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

2.  Haz clic y, sin soltar, arrastra el puntero del ratón hacia la derecha o a laizquierda 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, Accessautomáticamente asignará a la columna el ancho necesario para que se vea todo sucontenido, 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 lasfilas. Sólo hay que situar el puntero del ratón entre dos registros de la tabla yarrastrarlo hacia abajo. Eso sí, mientras que cada columna puede tener una anchuradistinta, 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 enel que se crearon los campos.

Si compruebas la vista de diseño de las tablas y sus correspondientes hojas dedatos, verás que esto es así.

Sin embargo, también puedes cambiar el orden de las columnas realizando lossiguientes 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 lacolumna, 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 seleccionarla columna en cuestión y hacer clic con el botón derecho sobre ella; elige Ocultarcolumna del menú emergente que aparece. Para hacer que vuelvan a verse, haz clicigual 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 tablaProfesores divididos en dos partes. Para identificar perfectamente los registros delos que se trata, se han repetido las columnas IdProfesor, Nombre y Apellidos. Puesbien, esta operación se llama inmovilizar columnas, y consiste en indicar a Accessque muestre siempre el contenido de algunas columnas aunque usemos las barrasde 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 primeraa la izquierda y así sucesivamente. Si tienes interés en que estén inmovilizadas en

1 4

mailxmail - Cursos para compartir lo que sabes

Page 15: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

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 elcomando 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), permitemodificar la apariencia de la hoja de datos en sí. La figura 4.9 muestra el cuadro dediálogo Opciones de Access que aparece al seleccionar esta ficha.

En este cuadro, lo mejor que puedes hacer es seleccionar las distintas opciones yprobar su efecto. Puedes, por ejemplo, modificar el color de fondo, las líneas de lacuadrí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énpermite modificar la fuente de texto que se utiliza para mostrar la información delas 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 dela cuadrícula y se ha aumentado el alto de la fila como vimos en apartadosanteriores.

1 5

mailxmail - Cursos para compartir lo que sabes

Page 16: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

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 columnasde las hojas de datos, aparece el valor que tuviera la propiedad Título del campocorrespondiente.

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 Herramientasde 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áscambiando el nombre del campo en sí. Si pasas a la vista de diseño de la tabla, verásque ha cambiado el nombre del campo y, además, ha desaparecido el valor quetuviera la propiedad Título (si lo había).

1 6

mailxmail - Cursos para compartir lo que sabes

Page 17: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

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ánintroducir 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 aprenderemosa 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 ycómo rellenarlas utilizando la hoja de datos de las tablas.

Ahora vamos a ver los formularios, cuya misión principal es la de mostrar, introduciry modificar dichos datos.

Observa la figura 5.1. En ella se muestra un formulario que permite conocer losdatos 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 estetipo.

Crear un formulario usando el Asistente

Vamos a crear el primer formulario referente a los alumnos. Lo hacemos así paraveas 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 paraformularios de Access, realiza los siguientes pasos:

1 7

mailxmail - Cursos para compartir lo que sabes

Page 18: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

ð En la cinta de opciones, haz clic en la ficha Crear. Observa el grupo de comandos FormulariosFormularios.

ð Haz clic en el comando Más formularios y luego en la opción Asistenteparaformularios para abrir la primera ventana del asistente.

ð Primero, selecciona la tabla de la que quieras crear un formulario en la listadesplegable Tablas/Consultas. En el ejemplo, seleccio­na Alumnos.

ð      En la lista Camposdisponibles, selecciona cada uno de los campos quequieras incluir en el formulario y haz clic en el botón > (figura 5.2). Si quieres añadirtodos 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 segundaventana del Asistente. Selecciona el tipo de distribución del formulario. Haz clic entodas 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 estiloque 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ítulodel formulario (Formulario para alumnos) y haz clic en Finalizar.

La figura 5.3 muestra el resultado de crear nuestro primer formulario con elAsistente para formularios de Access.

1 8

mailxmail - Cursos para compartir lo que sabes

Page 19: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

Figura 5.3. Primer formulario de la tabla Alumnos

Observa que aparece vacío de contenidos, ya que en el capítulo anterior nointrodujimos ningún dato en la tabla Alumnos.

También hay que destacar que aparecen todos los campos de la tabla de alumnos yque la etiqueta que aparece junto al campo coincide con la propiedad Título dedichos campos y no con su nombre. Aquí es donde se empieza a ver la importanciade las propiedades de los campos.

También notarás que hay etiquetas que no se ven enteras. En el capítulo siguienteveremos 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 nomuestre todos los campos de la misma. Por ejemplo, muchas veces se ignoran loscampos autonuméricos.

1 9

mailxmail - Cursos para compartir lo que sabes

Page 20: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

5. Utilizar un formulario en Access

Una vez creado el formulario, vamos a ver cómo usarlo para introducir datos de lastablas. Puede ocurrir que el formulario esté vacío (porque no se haya introducidoningún registro en la tabla en la que se basa dicho formulario, como ocurre ennuestro 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 alusar 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 campodel registro nuevo.

También se pueden rellenar los campos utilizando el ratón. Sólo hay que hacer clicdentro 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 controlNombre del primer registro del formulario y escribe el nombre del alumno: Francisco. Vuelve a hacer clic en el campo Apellidos y escribe Lucas Cordero. Sigueeste método para el resto de campos.

Sin embargo, suele ser más cómodo usar la tecla Tab como se ha indicado en lospasos anteriores y no tener que usar el ratón continuamente. Pulsa ahora Tab yobserva cómo se pasa al campo Dirección.

Rellena ahora los campos de los seis primeros alumnos siguiendo los datos de latabla 5.1.

Tabla 5.1. Datos de la tabla Alumnos

Nombre    Apellidos     Dirección       Población   Código Provincia  Teléfono     Fecha                                                                                  postal                  móvil            nacim.

Francisco Lucas           Avda. Juan     Badajoz      06001   Badajoz     606606606                         17/04/69                   Cordero       Carlos I, 11                                      

José          Gómez         C/ Almen-      Mérida       06800   Badajoz     626626626                         11/05/72                   Gómez         dralejo, 2       

Pedro        Yuste           Av. Antonio    Cáceres     10002   Cáceres    616616616                         17/12/75                   Luengo        Hurtado, 5

Joaquín    Suárez         Paseo              Cáceres     10003   Cáceres    636636636                         17/11/74                   Delgado       Cánovas, 2

2 0

mailxmail - Cursos para compartir lo que sabes

Page 21: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

Sandra      Gómez         C/ Zurbarán,                      Badajoz 06002      Badajoz       646 646646        1/12/72                   Aranaz        23                   

Cristina     Alonso        Paseo Roma,  Mérida        06800     Badajoz     606 000000 2 5 / 8 / 7 3                   Franco         s/n                  

Moverse por un formulario

Para moverte por los registros de un formulario, utiliza los botones situados en laparte inferior de la ventana del formulario. La figura 5.4 explica la función de cadauno 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 registroen cuestión usando los botones de la figura 5.4 y, una vez en el registro, haz cliccon el ratón en el campo que quieras modificar.

Dentro de cada campo, las teclas funcionan igual que en la hoja de datos de lastablas, 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 uncampo a otro, seleccionas el contenido de los campos enteros (modo DesplazamientoDesplazamiento). Si pulsas Supr o Retroceso, borrarás todo el registro. La tecla F2te 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 haciendoclic en el botón Cerrar de dicho formulario.

Tras cerrarlo, lo puedes volver a abrir en cualquier momento realizando estos dospasos:

1.  En el panel de exploración, haz clic en el menú y elige la categoría FormulariosFormulariospara 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 paraelegir la opción Abrir.

Crear Formularios sin usar el asistente

Hemos querido que vieras primero cómo crear un formulario con el Asistente paraque sepas cómo controlar elementos del mismo, como el fondo o el efecto desombra de los campos.

Ahora que ya sabes hacerlo, vamos a ver cómo crear un formulario de un únicopaso. 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:

2 1

mailxmail - Cursos para compartir lo que sabes

Page 22: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

1.  En panel de exploración, asegúrate de que muestra todos los objetos. Verás lascuatro 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 nuestroejemplo, al usar la tabla Profesores, muestra el formulario de la figura 5.5. Observaque en esta figura aparecen los datos del primer profesor que introdujimos en elcapítulo anterior. Recuerda que Access ordena los registros por el campo clave, y eneste caso este campo es autonumérico y, por tanto, se mantiene el orden deintroducció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 quemerece la pena destacar:

ð El fondo y el estilo del formulario son distintos a los empleados en el ejemplo delos alumnos. Access ha seleccionado las opciones por omisión.

ð El modo de vista es Presentación, uno nuevo modo que permite realizar cambiosen el diseño, pero no introducir datos. De hecho, tiene sus propias fichas nuevas enla cinta de opciones, con comandos para añadir título al formulario, un logotipo ocambiar el fondo y el estilo con el comando Autoformatos. Si quisieras comenzar atrabajar ya con el formulario e introducir los datos, tendrías que cambiar a la vistaFormulario, con el comando Ver en la cinta de opciones o con el botón de la barrade estado.

ð Como habíamos introducido datos en la tabla Profesores, el formulario muestralos datos del primer registro. Esto significa que para introducir nuevos datos, hayque 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

2 2

mailxmail - Cursos para compartir lo que sabes

Page 23: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

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 tablasdistintas relacionadas entre sí. Por un lado, están los datos completos del profesory, 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 elcapítulo anterior. De ahí la importancia de crear dichas relaciones cuanto antes, paraque el trabajo futuro sea mucho más sencillo.

Prueba ahora a crear un autoformulario con la tabla Alumnos y llámalo Formularioautomático para alumnos (figura 5.6). Observa que Access incluye también elcódigo del curso en la parte inferior, relacionando a los alumnos con los cursos quehan recibido (aunque esté vacío por ahora).

Figura 5.6. El formulario automático de la tabla Alumnos

2 3

mailxmail - Cursos para compartir lo que sabes

Page 24: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

6. Usar un formulario de dos tablas

La figura 5.5 muestra el formulario de profesores con dos tablas: la tabla Profesoresy la tabla Cursos. Para llenar datos en este tipo de formularios, se hace igual que enel caso de un formulario de una tabla (aunque como ya contiene datos, primero hayque situarse en un registro nuevo): utiliza la tecla Tab para ir pasando de un campoa 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). Estosformularios 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 ypor tanto no vamos a repetir cómo usarlo.

Introduce ahora los datos de un nuevo profesor con un curso, como muestra lafigura 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 sevea todo el contenido del subformulario.

2 4

mailxmail - Cursos para compartir lo que sabes

Page 25: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

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 formulariosautomáticos son formularios del tipo «columna simple». Estos formularios secaracterizan 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 siguienteregistro, é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 unejemplo en el subformulario de cursos de la figura 5.5.

ð El formulario de tablas. En estos formularios, los registros se muestran unoencima del otro, de forma que en una misma pantalla se pueden ver varios registrosde 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 paraformularios para abrir la primera ventana del asistente.

3.  Primero, selecciona la tabla de la que quieras crear un formulario en la listadesplegable Tablas/Consultas. En el ejemplo, seleccio­na Cursos.

4.  En la lista Camposdisponibles, selecciona cada uno de los campos que quierasincluir 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 elformulario de profesores. Nosotros hemos seleccionado el estilo Estándar y hemostitulado el formulario Formulario para cursos.

La forma de introducir datos en los formularios tabulares es similar a la utilizada enlos 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

2 5

mailxmail - Cursos para compartir lo que sabes

Page 26: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

La verdad es que el resultado obtenido con el Asistente para formularios tabularesno 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 queeste formulario se vea correctamente.

Nota

Una vía más rápida de crear formularios tabulares es seleccionar la tabla en el panelde exploración y, en la cinta de opciones, ficha Crear, ejecuta el comando Varioselementos.

2 6

mailxmail - Cursos para compartir lo que sabes

Page 27: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

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 enalgunas 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 nuevoscontroles en el formulario.

También aprenderás a distinguir entre las vistas de Formulario, de Diseño y dePresentación de formularios.

 

Modificar un formulario

En el capítulo 5 vimos cómo se crean los formularios. Ahora vamos a ver cómomodificar un formulario que hayamos creado con el Asistente para formularios ocon el comando Formulario.

Cuando hablamos de modificar un formulario, nos referimos a cambiar el diseño delformulario y no su contenido. Ya hemos visto cómo cambiar el contenido de lastablas usando formularios y no lo vamos a repetir.

Hay muchos motivos para modificar un formulario, entre los que destacan lossiguientes:

ð Puede ser que el formulario creado con un asistente tenga problemas porque nose vean bien los nombres de las etiquetas de los campos o el contenido de losmismos. Esto ocurre con el formulario de la figura 6.1, que es el que obtuvimos alusar el Asistente para formularios con la tabla Alumnos.

2 7

mailxmail - Cursos para compartir lo que sabes

Page 28: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

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 delformulario.

ð Finalmente, otro motivo típico es incluir elementos del formulario que permitanrealizar operaciones aritméticas, como sumar, restar o multiplicar.

Vamos a aprovechar el formulario de la figura 6.1 como ejemplo para aprender amodificar formularios.

Al igual que ocurría con las tablas, hay varias vistas en las que se pueden ver losformularios.

Las tres principales son:

ð La Vista Formulario. Esla que se utiliza para ver, introducir y modificar datos enlas tablas usando los formularios.

ð La Vista Presentación. Unavez creado el formulario, se muestra esta vista paraajustar fácilmente su diseño. La ventaja es que se ven los datos reales del formulariocomo 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 formulariosal 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 deejemplo 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 deestado.

2 8

mailxmail - Cursos para compartir lo que sabes

Page 29: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

estado.

La figura 6.2 nos muestra la vista de diseño del formulario Formulario paraalumnos .

Vista de diseño de formularios

Ya hemos visto cómo llegar a la ventana de diseño de un formulario, tanto desde laventana de la base de datos como desde la ventana de presentación de dichoformulario. Una vez en ella (figura 6.2), verás que esta ventana tiene los siguienteselementos principales:

ð El Herramientas de controles. Este grupo de comandos sirve para crear nuevoscontroles y para seleccionar los ya existentes.

ð La Lista de campos. Muestra los campos de la tabla en la que está basado elformulario. Si no aparece por defecto, pulsa en el comando Agregar camposexistentes en la cinta de opciones.

ð Las secciones. La vista de diseño de los formularios y de los informes estándivididas en secciones. Las veremos en el capítulo de informes, ya que tienen muchamás importancia a la hora de imprimir (objetivo de los informes) que cuando setrabaja en pantalla.

ð Los controles. Son los elementos principales de los formularios (e informes), losobjetos que lo forman. Cuando Access crea de forma automática el formulario, losagrupa en diseños. Un diseño, indicado por una cuadrícula anaranjada en torno a loscontroles, ayuda a alinear los controles.

Tipos de controles

Como hemos indicado, los elementos más importantes de esta vista de diseño sonlos controles. Hay varias formas de clasificar los controles de los formularios, segúnsu 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 losvalores de los campos. De hecho, muestran dichos valores. Por ejemplo, en la figura6.2, el control CódPostal muestra el contenido del campo del mismo nombre de latabla Alumnos. Por tanto, se dice que es un control «dependiente» del contenido dedicho campo.

2 9

mailxmail - Cursos para compartir lo que sabes

Page 30: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

Figura 6.2. Ventana de diseño

ð Los controles independientes son los que no tienen relación con los valores de loscampos. Por ejemplo, las etiquetas que aparecen junto a los controles de los camposno son dependientes de ningún campo, ya que su valor no se almacena en ningúncampo de la tabla.

ð Los controles calculados. Son los controles cuyo valor se obtie­ne de algunaoperación aritmética realizada con otros controles. Por ejemplo, se puede crear uncontrol 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 elementode 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 quecontienen el valor de estos campos.

ð A su lado, aparece un texto explicativo que es un control del tipo etiqueta. Estoscontroles muestran el valor de la propiedad Títulode los campos correspondientes.

En el grupo de comandos Controles puedes ver los otros tipos de controles quepueden 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                                 Se utilizan para incluir textos explicativos.Aparece una eti-                              queta por cada control que representa uncampo.

Cuadro de texto                    Se usan para mostrar los datos de los campos ypara modifi-                               carlos, si así se desea. Es el tipo de controlutilizado por                  omisión para representar a la mayoría de los campos

3 0

mailxmail - Cursos para compartir lo que sabes

Page 31: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

(excepto                               a los del tipo Sí/No).

Botón de alternar                Se usan para representar campos que contienenvalores                      excluyentes o valores de tipo Sí/No.

Casilla de verificación       Igual que el anterior, pero más común.

Cuadro combinado              Estos controles muestran los posibles valores deun campo                                 en forma de lista desplegable.

Cuadro de lista                    Igual que el anterior, pero la lista se muestra sinnecesidad                               de desplegar ningún cuadro.

Botón de comando               Sirve para ejecutar instrucciones al hacer clic sobreél. En                                los formularios están muy ligados al uso de macros yde                                                módulos.

Imagen                                  Los controles de tipo Imagen están pensados paraalmace-                  nar imágenes gráficas en los formularios, como logotipos o                             fotografías.

Objeto independiente          Los objetos independientes representan elementoscreados                                con otras aplicaciones informáticas distintas deAccess.                                También lo veremos al tratar los objetos.

Objeto dependiente             Los objetos dependientes son elementos cuyocontenido                       está vinculado con archivos externos a las bases dedatos.

Subformularios                   Estos controles especiales permiten incluir unformulario                 dentro de otro. Ya vimos un par de ejemplos en elcapítulo 5                al crear nuestros primeros formularios.

Subinformes                         Estos controles permiten incluir un informe dentro deun                      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                     Uso

Línea                                     Este tipo de control permite incluir líneas rectascomo ele-                 mentos decorativos en los formularios.

Rectángulo                           Este control permite incluir un rectángulo comoelemento                     decorativo dentro de un formulario.

3 1

mailxmail - Cursos para compartir lo que sabes

Page 32: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

8. Operaciones con controles

A la hora de modificar un formulario, lo más normal es realizar cambios en loscontroles. En los siguientes apartados vamos a ver las operaciones principales quese 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 enseleccionar los controles. Como es normal, antes de poder realizar ningunaoperación con un control (como eliminarlo o cambiarle el tamaño), es imprescindibleindicar a Access a qué control queremos aplicar dichos cambios. La operación deselecció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 comandosControles (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 sualrededor que se llaman selectores. Si lo que aparece es un borde anaranjado,entonces has seleccionado un diseño, conteniendo a varios controles. Los diseñostambién tienen sus selectores. En la figura 6.2 hemos seleccionado el diseño NombreNombre.

Una vez que el control está seleccionado, podrás llevar a cabo la operación quequieras. Sin embargo, si quieres llevar a cabo la misma operación con varioscontroles a la vez, es mucho mejor agruparlos en diseños antes de utilizar elcomando correspondiente.

Si quieres quitar de un diseño uno o varios controles para seleccionar luego cadacontrol 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 esmejor quitarlo por completo; para eso selecciónalo entero con un clic en el cuadroselector de diseños situado en la parte superior izquierda del diseño. Ya puedesejecutar Quitar.

Operaciones básicas

Una vez seleccionado un control, puedes realizar con él todas las operaciones quedesees: moverlo, borrarlo, cambiarle el tamaño, etcétera. Algunas son muy sencillasy las podemos explicar en un párrafo:

ð Para borrar un control, selecciónalo y pulsa la tecla Supr(o selecciona el comando EliminarEliminar del menú contextual si haces clic secundario).

3 2

mailxmail - Cursos para compartir lo que sabes

Page 33: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

Otras de las operaciones básicas que se pueden llevar a cabo con los controlesconsisten en usar los comandos Copiar, Cortar y Pegar en el grupo Portapapelesde 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 CortarCortar sirve para «mover» un control de una parte a otra del formulario. El uso delos comandos Copiar, Cortar y Pegar es útil cuando se quiere mover un control deuna sección a otra del formulario. Recuerda que las secciones las veremos condetenimiento 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 delformulario, no tienes que usar los comandos Cortar y Pegar. Es mucho más rápidomoverlo de posición directamente con el ratón siguiendo estos pasos:

1.  Selecciona el control que quieras mover. Recuerda que aparecen los selectores asu 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 aparecealrededor del control. Sitúalo en cualquier punto de dicha línea menos en losselectores.

3 3

mailxmail - Cursos para compartir lo que sabes

Page 34: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

3.  Cuando el puntero se convierta en un icono con cuatro flechas, haz clic yarrastra 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 ala vez.

Ten en cuenta que en los controles dependientes, las etiquetas están adosadas a loscontroles. Por tanto, si mueves un control, moverás su etiqueta con él. Esto es útilen la mayoría de las ocasiones, ya que querrás que la etiqueta esté siempre cerca delcontrol al que está adosada.

Si por algún motivo (y en nuestro ejemplo veremos alguno) quieres mover sólo elcontrol, 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 (justoen el recuadro negro grande).

3.  Cuando el puntero del ratón se convierta en un icono con cuatro flechas, haz clicy 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 paraseleccio­narla (no selecciones el control) y utiliza la misma técnica: sitúa el punterodel ratón en la esquina superior izquierda y arrastra el ratón cuando se convierta enicono con cuatro flechas.

Nota

Si mueves un control más allá del tamaño del formulario, éste aumenta su tamañoautomáticamente para que quepa el control completo. Es una forma sencilla deaumentar 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 enel apartado anterior que para mover un control no se pueden arrastrar estosselectores, 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 uncontrol:

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 dearriba 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 yarrá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í, siutilizas los selectores de las esquinas, modificas a la vez el alto y el ancho delcontrol.

3 4

mailxmail - Cursos para compartir lo que sabes

Page 35: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

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, puedeocurrir que varios controles que desees que tengan el mismo tamaño terminensiendo más altos o más anchos unos que otros.

Buscando la mejor apariencia posible, Access proporciona una serie de comandos enla ficha Organizar de Herramientas de diseño de formulario pensados paraigualar 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 deopciones.

3.  Selecciona el comando correspondiente según lo que quieras conseguir: Ajustaral más alto, Ajustar al más corto, Ajustar al más ancho, Ajustar al másestrecho, 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 puedesalinearlos vertical u horizontalmente. Los pasos son similares a los vistos en elapartado anterior:

1.  Selecciona los controles que quieras alinear.

2.  Observa el grupo de comandos Alineación de controles, de la ficha OrganizarOrganizaren la cinta de opciones (figura 6.5).

3.  Selecciona el comando correspondiente según lo que quieras conseguir: A lacuadrícula (alinearlos a la cuadrícula de diseño), Izquierda (alinearlos según suslados izquierdos), Derecha (alinearlos a la derecha), Arriba (alinearlos verticalmentepor la parte superior) o Abajo (alinearlos verticalmente por la parte inferior).

Además, en el grupo de comandos Posición, de la ficha Organizarde Herramientasde diseño de formulario puedes controlar la separación entre los controles.

3 5

mailxmail - Cursos para compartir lo que sabes

Page 36: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

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 verla forma de cambiar el contenido de una etiqueta.

Ya hemos comentado en varias ocasiones a lo largo del libro que las etiquetas deestos controles muestran el contenido de la propiedad Títulode los camposcorrespondientes.

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 pulsala 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 loaprendido para lograr que nuestro formulario de la figura 6.1 se parezca almostrado en la figura 6.6, que sin duda tiene mejor apariencia.

3 6

mailxmail - Cursos para compartir lo que sabes

Page 37: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

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 notiene que ser muy grande.

ð Se ha aumentado el tamaño del control Dirección, ya que en la figura 6.1 se veque no caben las direcciones si son un poco largas. Lo mismo se ha hecho con elcampo Apellidos.

ð Se ha aumentado el tamaño de la etiqueta Fechanacimiento con el fin de que sepueda leer completa. Para hacerlo, hemos creado un diseño apilado junto con loscontroles de Nombre, Apellidos, IdAlumno (seleccionas estos controles con susetiquetas 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 elidentificador del alumno.

ð También se han movido los controles para «agrupar» los datos del alumno endistintos bloques con diseños apilados:

ð Los datos básicos, como el identificador, el nombre y los apellidos. Se ha incluidola 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, lapoblación y la provincia.

ð Los teléfonos también se encuentran unos junto a otros.

3 7

mailxmail - Cursos para compartir lo que sabes

Page 38: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

ð Por último, el control Notas queda inde­pen­diente.

ð Finalmente, se han usado los comandos del grupo Diseño de controles paraaseguranos 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 erausar la tecla Tab para moverse de unos campos a otros de dicho formulario. Poromisión, Access va moviendo el punto de inserción de unos campos a otros demanera 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 unformulario, Access mantiene el orden de los controles como estuvieran en elformulario original.

Por tanto, si ahora intentas usar la tecla Tab para moverte por el formulario, es fácilque 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 pulsala 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 controlespara abrir el cuadro de diálogo de la figura 6.7.

3 8

mailxmail - Cursos para compartir lo que sabes

Page 39: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

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 veremoslas secciones al tratar los informes. En la lista Ordenpersonalizado, aparece elorden 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 deseleccionarlo 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 elcontrol 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 haciaabajo. No nos sirve en el ejemplo, ya que nosotros queremos que el tabulador sedesplace 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

3 9

mailxmail - Cursos para compartir lo que sabes

Page 40: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

formulario, Access incluye una buena cantidad de opciones para modificar laapariencia de dichos controles.

De hecho, cuando seleccionas un control, observa que se activa el grupo decomandos Fuente (figura 6.8). Este grupo es similar al existente en otrasaplicaciones, como Word y Excel, y sirve para cambiar el formato de un control demanera rápida.

Figura 6.8. Barra de herramientas Formato

La tabla 6.2 explica brevemente cada comando del grupo, pero la mejor forma dever su función es seleccionar uno o varios controles e ir probando el resultadoobtenido al seleccionar estos botones.

Tabla 6.2. Botones del grupo de comandos Fuente

Botón                                              Descripción

Fuente                                            Permite cambiar la fuente de texto delcontrol o contro-                              les seleccionados.

Tamaño de fuente                         Permite modificar el tamaño del texto delcontrol o con-                             troles seleccionados.

Negrita                                           Permite resaltar en negrita el texto de loscontroles                    seleccionados.

Cursiva                                          Permite resaltar en cursiva el texto de loscontroles                    seleccionados.

Subrayado                                      Permite subrayar el texto de los controlesseleccionados.

Alinear a la izquierda                    Permite alinear a la izquierda el texto de loscontroles                    seleccionados.

Tabla 6.2. Botones del grupo de comandos Fuente (continuación)

Botón                                              Descripción

Centrar                                          Permite centrar el texto de los controlesseleccionados.

Alinear a la derecha                    Permite alinear a la derecha el texto de loscontroles                  seleccionados.

Color de fondo o de relleno         Permite cambiar el color de fondo de loscontroles                       seleccionados.

4 0

mailxmail - Cursos para compartir lo que sabes

Page 41: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

Color de fuente o                          Permite cambiar el color del texto de loscontroles       de primer plano   seleccionados.

Color de fondo o de relleno         Permite cambiar el color del borde de loscontroles      alternativo            seleccionados.

Copiar formato                             Permite traspasar las características deformato de un                              control o valor a otro.

Formato condicional                    Permite cambiar la apariencia de los controles o suvalor                              en función de una o varias condiciones. Por ejemplo,              mostrar los valores monetarios en rojo si son negativos.

4 1

mailxmail - Cursos para compartir lo que sabes

Page 42: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

9. Propiedades de los controles en Access

Al crear las tablas de nuestro ejemplo en el capítulo 3, vimos brevemente que loscampos tenían propiedades que definían su forma de actuar o de mostrarse. En elcaso de los controles de los formularios, las propiedades también son muyimportantes, ya que permiten definir, por ejemplo, la manera en que se tiene quecomportar el control o su apariencia física.

Las propiedades de los controles se pueden ver y cambiar usando el cuadro depropiedades de cada control. Para ver este cuadro, sólo tienes que hacer doble clicsobre un control.

Si no eres capaz de abrir el cuadro de propiedades de este modo, realiza los dospasos 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 nuestroformulario de ejemplo.

4 2

mailxmail - Cursos para compartir lo que sabes

Page 43: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

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 delcontrol. De hecho, cada vez que se usa un botón del grupo de comandos Fuentepara cambiar el formato de un control (como el color del texto o el tamaño delborde), realmente se está modificando una propiedad de formato de dicho control.Algunas de las propiedades de Formato las vimos al tratar las propiedades de loscampos de las tablas (como Lugares decimales o Formato).

Nota

Ten en cuenta que en los controles dependientes, el control «hereda» laspropiedades de datos y de formato del campo correspondiente. Así, si se hadefinido una máscara de entrada de un campo, se utilizará la misma máscara en elcontrol correspondiente.

ð La pestaña Datos es, sin duda, la más importante, ya que define los datos que

4 3

mailxmail - Cursos para compartir lo que sabes

Page 44: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

representa el control. Has de tener en cuenta que sólo los controles dependientes ycalculados tienen propiedades en esta categoría. Las propiedades de esta categoríason 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 uncontrol dependiente, aparecerá el nombre del campo que representa; si es uncontrol calculado, aparecerá la fórmula de su cálculo.

ð La pestaña Eventos está íntimamente ligada al uso de macros y módulos, y laveremos al estudiar las macros más adelante.

ð La pestaña Otras contiene un conjunto de propiedades que no pueden clasificarseen ninguna de las categorías anteriores. No suelen usarse, pero no está de más queles eches un vistazo.

ð Finalmente, la pestaña Todas muestra todas las propiedades del control (figura6.9) sin clasificar por su categoría.

Te recomendamos que eches un vistazo a las propiedades de formato y de datos deun control de nuestro formulario de ejemplo. Los siguientes pasos te muestrancó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 porver: añadir nuevos controles a un formulario. Para hacerlo, se emplea el grupo decomandos Controles de la vista de diseño. Este grupo de comandos contiene lossiguientes botones:

ð Seleccionar objetos. Sirve para seleccionar objetos. Ya sabemos que paraseleccionar un control, basta con hacer clic ­sobre dicho control. Pues bien, siquieres 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 asistentespara controles. Estos asistentes entran en acción cuando se crea un control de untipo determinado (como los cuadros de lista). Veremos uno de estos asistentes másadelante, al crear un formulario de varias tablas desde cero. Nuestro consejo es queactives este botón, ya que los asistentes para crear controles suelen estar muy biendiseñ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 controlesdependientes, los independientes y los calculados. Para crear un nuevo controldependiente, sigue estos pasos:

ð Asegúrate de tener en pantalla la ficha Diseño con el grupo Controles y la Listade campos. Si no es así, haz clic en la ficha Diseño de Herramientas de diseño deformulario 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

4 4

mailxmail - Cursos para compartir lo que sabes

Page 45: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

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 delformulario en la cual quieres colocar el nuevo control.

ð Cuando sueltes el botón del ratón, aparecerá el nuevo control (con sucorrespondiente etiqueta adosada). En algunas ocasiones, dependiendo del control,puede aparecer un asistente para crear controles. Sigue los pasos que indica ycrearás el control fácilmente.

Si el control es independiente, la diferencia está en que no tienes que arrastrarningún nombre de campo en el paso 3 de la secuencia anterior. Basta con queselecciones el tipo de control en el cuadro de herramientas y hagas clic en laposició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 esasí, haz clic en la ficha Diseño de Herramientas de formulario en la cinta deopciones.

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 unaetiqueta 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 IntroIntro cuando termines.

4 5

mailxmail - Cursos para compartir lo que sabes

Page 46: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

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 incorporandoexpresiones y condiciones de búsqueda.

 

Las expresiones

En el capítulo anterior, se citaron las expresiones como elementos que sirven, entreotras cosas, para definir el valor de los controles calculados. De este modo, si seescribe 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 deAccess. Por ejemplo:

ð En las propiedades de los campos o de los controles. Si recuerdas la propiedad ValorpredeterminadoValorpredeterminado, ésta puede contener la expresión Fecha(Ahora()), que incluyecomo valor predeterminado la fecha del ordenador en el momento de acceder a unnuevo registro de una tabla.

ð En los controles calculados de los formularios (e informes). ­Hemos visto que laexpresió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 camposcalculados es que en éstos últimos aparece siempre el signo igual al principio de lasexpresiones, mientras que en las consultas no aparece así.

Elementos de las expresiones

Independientemente del lugar en el que se utilicen las expresiones, éstas puedenestar formadas por cinco elementos principales.

Esto no implica que todas las funciones tengan que contener todos los elementosposibles:

ð Los literales. Son fechas, números o textos que aparecen en las expresiones tal ycomo son. Suelen utilizarse para indicar en una expresión el valor que ha de tenerun campo o control para cumplir una condición.

4 6

mailxmail - Cursos para compartir lo que sabes

Page 47: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

ð Las constantes. Son valores fijos que aparecen en las expresiones. Las máscomunes son Verdadero, Falso y Nulo.

ð Los operadores. Los operadores son los elementos que relacionan el resto deelementos 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 normalrealizar operaciones con campos, y los identificadores sirven para representardichos campos.

ð Las funciones. Las funciones son pequeños programas existentes en Access quepermiten realizar operaciones rápidamente. Las funciones aparecen siempre con sunombre y con un conjunto de argumentos entre paréntesis detrás del mismo. Porejemplo, 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 tipode 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, mientrasque el nombre del campo (­Ciudad) aparece entre corchetes.

Los operadores

De entre todos los elementos de las expresiones, vamos a dedicar un apartadoespecial a los operadores, ya que son los que permiten realizar las operaciones y lascomparaciones en estas expresiones.

Dependiendo de la función del operador, éstos se dividen en varios tipos. Es buenoconocer estos tipos de operadores, ya que, por ejemplo, tendrás que utilizar unoperador aritmético si quieres realizar una operación en una expresión, pero tendrásque 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 otraspalabras, son los operadores de suma, resta, multiplicación y división, además dealgunos 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ónpara realizar condiciones en las consultas. Son los siguientes: < (menor que), <=(menor o igual que), <> (distinto que), = (igual que), > (mayor que), >= (mayor oigual que) y Entre (que sirve para introducir una serie de valores concretos).

4 7

mailxmail - Cursos para compartir lo que sabes

Page 48: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

igual que) y Entre (que sirve para introducir una serie de valores concretos).

ð Operadores lógicos. Estos operadores sirven principalmente para indicar si enuna condición se han de cumplir una o varias de las condiciones. Los tres esencialesson 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 crearconsultas. Este tipo de expresiones utilizan, básicamente, los operadores decomparació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 deAccess. De los principales, ya hemos visto las tablas y los formularios. Nos quedanlas consultas y los informes.

Vamos a dedicar este capítulo a crear y usar consultas de Access, que nos permitiráncrear en capítulos siguientes un formulario y un informe realmente útil paragestionar 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, lasconsultas 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ño2009?

La forma de contestar a este tipo de preguntas consiste en crear consultas queproporcionen la información que queramos obtener.

Nota

Si lo que quieres es simplemente localizar una información en una tabla, porejemplo el teléfono de un alumno, no uses consultas, sino las herramientas parabuscar 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 tablasquieres conocer. Por ejemplo, si quieres buscar los profesores de Madrid, debessaber 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 ejemploanterior, la condición es que el profesor sea de Madrid, pero también podría ser quefuera de la provincia de Barcelona (usaríamos el código postal que empezara por08)o que tuviera teléfono móvil.

4 8

mailxmail - Cursos para compartir lo que sabes

Page 49: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

Vamos a ir creando las consultas poco a poco. Además, nos ayudaremos delAsistente para consultas de Access.

El Asistente para consultas

Para crear una consulta usando el Asistente para consultas de Access, realiza lossiguientes pasos:

1.  En panel de exploración, haz clic en el menú y elige Consultas. Verás que aún notenemos consultas creadas anteriormente.

2.  Ve a la ficha Crear en la cinta de opciones y haz clic en el comando Asistentepara consultas para abrir la primera ventana de este asistente, donde elegimosconsulta 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 enla consulta. Nosotros hemos seleccionado el nombre, los apellidos, la dirección, laciudad, 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 dosaspectos muy importantes:

ð Sólo aparecen los campos que hemos seleccionado en el asistente de la consulta yno todos los datos de un registro de la tabla Profesores. Así, no aparece el teléfonoparticular ni la provincia, sólo el nombre, los apellidos, la dirección, la ciudad, elcódigo postal y el teléfono móvil.

4 9

mailxmail - Cursos para compartir lo que sabes

Page 50: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

ð Sin embargo, muestra todos los profesores de la tabla y no sólo los que viven enMadrid, que es lo que queríamos.

Esto se debe a que no hemos introducido ninguna condición todavía. Cierra ahora laconsulta 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 exactamenteigual 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. Estaventana se llama vista hoja de datos o ventana de presentación de las tablas quevimos 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 dedatos de las tablas.

Pues bien, además de la hoja de datos, las consultas también disponen de una vistade diseño, que permite modificar las consultas (igual que la hoja de diseño de latabla sirve para modificar una tabla o la vista de diseño de los formularios sirve paramodificar 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 clicsecundario 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 dediseñ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 estaventana, hay dos partes esenciales:

5 0

mailxmail - Cursos para compartir lo que sabes

Page 51: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

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 laconsulta. En nuestro ejemplo, es la tabla Profesores.

ð En la parte inferior, aparece la cuadrícula que define la consulta. Esta cuadrículaestá, 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 cuandose usan datos de varias tablas. En nuestro ejemplo, todos los campos son de la tablaProfesores.

ð La fila Orden permite clasificar la salida de la consulta por cualquiera de loscampos. Por ejemplo, observa que en la figura 7.4 hemos ordenado la salida por elnombre.

ð La fila Mostrar indica si el campo va a aparecer en el resultado de la consulta ono. Es muy útil cuando se emplea un campo para introducir una condición, pero nointeresa que aparezca en el resultado.

ð Finalmente, la fila Criteriosy las restantes son las filas de condiciones. Veremoscómo se usan en el siguiente apartado.

5 1

mailxmail - Cursos para compartir lo que sabes

Page 52: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

11. Access. Condiciones en las consultas

En nuestro ejemplo, queríamos ver la información mostrada en la figura 7.3, perosó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 elnombre «Madrid» en la fila Criteriosde la columna Ciudad.

Nota

Recuerda que «Madrid» aparece entre comillas porque es un texto. Si lo introducessin estas comillas, Access las incluirá automáticamente.

Una vez modificada una consulta en la ventana de diseño, sólo queda ejecutarlapara volver a ver la hoja de datos. Para ejecutar una consulta, elige una de lassiguientes 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 clicen 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 consultaa la hoja de datos y viceversa. De ese modo, podrás hacer todas las pruebas quedesees antes de dar por finalizada la consulta.

Si ejecutas ahora nuestra consulta de ejemplo, verás sólo los profesores que vivenen 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 pedirque un valor sea igual que otro (que la ciudad del profesor sea igual a Madrid). Sinembargo, hay muchos tipos de condiciones que se pueden usar en las consultas:

5 2

mailxmail - Cursos para compartir lo que sabes

Page 53: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

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 elexistente 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 tablasea menor (<), mayor (>), menor o igual (<=) o mayor o igual (>=).

ð Condiciones “distinto que”. Finalmente, existe el operador distinto que (<>), paraindicar que sirve cualquier valor menos el indicado.

Además de estos operadores de comparación, en las expresiones de las consultas seutilizan mucho las constantes Verdadero, Falso y Nulo. En concreto:

ð En los campos del tipo Sí/No, se usan las constantes Verdadero y Falso paraindicar 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 valorFalso indicará lo contrario.

ð La constante Nulo también es importante. Esta constante permite saber si uncampo tiene algún valor en su interior o está vacío. Así, es útil para saber si unprofesor, por ejemplo, tiene teléfono móvil. La expresión usada para indicar que uncampo no tiene ningún valor es la siguiente: ES NULO. Por el contrario, ES NO NULOindica 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,

5 3

mailxmail - Cursos para compartir lo que sabes

Page 54: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

aunque un poco farragosas de explicar. Usaremos varios ejemplos para explicarcómo introducir varias condiciones en una consulta.

Varias condiciones en un mismo campo

La primera forma de introducir varias condiciones en una consulta consiste enintroducir varias condiciones en un mismo campo. Por ejemplo, indicar que elprofesor viva en Madrid o en Málaga.

Para estos casos, se utilizan los operadores lógicos indicados al principio delcapítulo: Y y O:

ð Utiliza el operador Y entre las condiciones para indicar que se tienen que cumplirtodas las condiciones para que un registro aparezca en el resultado. Por ejemplo, lacondición > = # 0 1 / 0 1 / 1 0 # Y < = # 3 1 / 0 3 / 1 0 # indica que la fecha ha de perteneceral primer trimestre del año 2010.

ð Utiliza el operador O para indicar que basta con que se cumpla una condición paradar el registro como válido. Por ejemplo la condición «Málaga» O «Madrid» en elcampo Ciudad de la tabla Profesores mostrará los profesores que vivan en Málaga ylos que vivan en Madrid.

La figura 7.5 muestra el ejemplo visto aquí. Si se ejecuta esta consulta, se verán loscuatro 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 condicionesrelativas a un mismo campo.

Sin embargo, en muchas ocasiones, querrás que las condiciones no se apliquensobre un mismo campo, sino sobre varios campos de la misma tabla.

En estos casos, hay que introducir las condiciones en las distintas columnas de unamisma 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é.

5 4

mailxmail - Cursos para compartir lo que sabes

Page 55: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

ð 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 decumplirse 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 condicionesvistas anteriormente. La figura 7.7 muestra cómo se utilizan el resto de filas decriterios (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 laconsulta indican lo siguiente:

ð La fila Criterios ya hemos dicho que mostrará los profesores de Madrid que sellamen 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 tenganteléfono móvil.

ð Finalmente, la cuarta fila mostrará los profesores cuyos apellidos empiecen por la

5 5

mailxmail - Cursos para compartir lo que sabes

Page 56: Tablas, formularios y expresiones en Access · PDF filePresentación del curso Access es una base de datos relacional. En este curso dedicado a tablas y formularios aprenderás las

ð Finalmente, la cuarta fila mostrará los profesores cuyos apellidos empiecen por laC, la D o la E. En esta condición, se ha utilizado el operador Y en una de las filas decriterios, mostrando que es posible mezclar todos los conceptos anteriores sobrecondiciones para lograr el objetivo que perseguíamos de ver sólo los ­datos que nosinteresen.

5 6

mailxmail - Cursos para compartir lo que sabes