12.174 cursos gratis
8.742.561 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

Access. Formularios, tablas y consultas

Autor: Julián Casas
Curso:
10/10 (1 opinión) |2737 alumnos|Fecha publicación: 23/06/2010
Envía un mensaje al autor

Capítulo 2:

 Formulario de tres tablas relacionadas

Vamos a empezar a crear el ejemplo de la figura 8.1. Para ello, usaremos el Asistente para formularios de Access. Los siguientes pasos indican el proceso a seguir:

1.  En panel de exploración, haz clic en el menú y elige Formularios para ver los formularios que hay creados.

2.  Haz clic en la ficha Crearde la cinta de opciones y ejecuta el comando Más formularios, Asistente para formularios.

3.  En nuestro ejemplo, primero añade todos los campos de la tabla principal (Cursos) y, después, todos los campos de las otras dos tablas relacionadas: AlumnosPorCurso y Alumnos. Al terminar, haz clic en Siguiente.

4.  En la siguiente ventana del asistente (figura 8.4), tienes que indicar la tabla que usarás para el formulario principal (en nuestro ejemplo, la tabla Cursos) y hacer clic en Siguiente.

asistencia con campos de tablas

Figura 8.4. Ventana del asistente con campos de tres tablas

5.  En la siguiente ventana del asistente, has de indicar si quieres un formulario Tabular o una Hoja de datos para mostrar el subformulario. En nuestro ejemplo, hemos usado una hoja de datos. Haz clic en Siguiente.

6.  La siguiente ventana ya la conocemos, y sirve para indicar el estilo del formulario (hemos seleccionado Oficina). Haz clic en Siguiente.

7.  En la última ventana del asistente tienes que indicar el nombre que quieres dar al formulario principal y al subformulario, y ­hacer clic en Finalizar. En nuestro ejemplo, hemos usado los nombres FormularioPrincipal de Cursos y Subformulario AlumnosPorCurso.

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

resultado usar asistentea access

Figura 8.5. Resultado de usar el asistente con tres tablas

La mayoría de las diferencias entre este formulario y el formulario de la figura 8.1 son estéticas. Esto quiere decir que este formulario sirve para introducir datos de los alumnos que van a asistir a cada curso.

Ya vimos que en los formularios de varias tablas, al pulsar la tecla Tabal final del formulario principal se pasa al primer campo del subformulario. Si pruebas a introducir los datos del curso mostrado en la figura 8.1 te surgirán los siguientes problemas:

ð Para introducir los datos del alumno, necesitamos su identificador y, por tanto, vuelve a ser necesario abrir la tabla Alumnos o disponer de un listado en papel.

ð Al tener tantos campos el subformulario, hay que usar la barra de desplazamiento horizontal para moverse hacia la derecha.

Las dos grandes ventajas de este formulario son:

1.  Si el alumno ya existe, basta con introducir su código de alumno para asignarlo al curso. Access añade automáticamente el resto de campos extrayéndolos de la tabla Alumnos.

2.  Si el alumno no existe en la tabla Alumnos, se puede usar el subformulario para crear uno nuevo. Basta con dejar en blanco el campo IdAlumno e introducir el resto de datos. Access asignará un código al nuevo alumno.

Para que el formulario sea igual que el muestra la figura 8.1, es necesario conocer algunos aspectos que no hemos visto y que trataremos brevemente a continuación.

La vista de diseño del formulario

Todos los cambios que hay que llevar a cabo en el formulario, hay que realizarlos en la vista de diseño de dicho formulario. Recuerda que para abrir este modo de vista de diseño:

ð Si estás en el panel de exploración, pulsa en el menú y elige Formularios, selecciona el formulario y haz clic secundario sobre él, elige abrir en Vista Diseño.

ð Si está el formulario abierto, haz clic en el comando Ver.

La figura 8.6 muestra la ventana de diseño del formulario creado. Es muy parecida a la ventana de diseño de cualquiera de los formularios creados anteriormente, pero conviene destacar una serie de elementos:

ventana diseño nuevos formularios

Figura 8.6. Ventana de diseño del nuevo formulario

ð Los datos de las tablas Alumnos y AlumnosPorCurso aparecen en un control especial llamado Subformulario. Este control, a su vez, tiene en su interior todas las partes de un formulario: secciones, controles propios, etcétera.

ð Para modificar el subformulario, solamente tienes que hacer clic sobre él para seleccionarlo, hacer otra vez clic en su interior para seleccionar el control o controles que se quieran ­modificar, y utilizar las técnicas que ya conocemos de modificación de formularios.

ð Si haces clic en la zona del formulario principal, observa que la lista de campos muestra los campos de la tabla Cursos. Sin embar­go, si haces clic en el subformulario, la lista de campos tiene como título SELECT… Esto se debe a que se está usando una consulta para este subformulario (aunque sea transparente para nosotros al haberlo hecho el asistente).

Cuadros de lista desplegable o cuadros combinados

El primer cambio del formulario que vamos a incluir es el uso de un cuadro combinado (también llamado de lista desplegable) para seleccionar el profesor en el formulario principal. De este modo, en lugar de introducir un código (que tendremos que memorizar o tener en una lista impresa), vamos a seleccionar el nombre del profesor de una lista con las siguientes ventajas:

ð No hace falta memorizar los códigos ni llenar la mesa de listas de códigos.

ð No hay posibilidad de equivocarnos de código. Si se selecciona el nombre de una lista, el código lo introduce Access automáticamente.

ð Al ver el formulario en pantalla, cualquier persona sabe cuál es el profesor que imparte el curso, aunque no haya creado el formulario ni sepa nada de Access.

Para lograr este objetivo, hay que utilizar un control del tipo Cuadro combinado. Los siguientes pasos nos muestran cómo añadir uno de estos controles a un formulario:

1.  Abre la vista de diseño del formulario y asegúrate de que se ven la Lista de campos y el grupo de comandos Controles de la ficha Diseño de Herramientas de diseño de formulario .

2.  Asegúrate de que está pulsado el botón Asistentes para controles del grupo de comandos Controles.

3.  Haz clic sobre el botón Cuadro combinado en el grupo de comandos Controles.

4.  Haz clic en el campo que quieras añadir y, después, haz clic en la sección Detalledel formulario (donde están el resto de controles). En nuestro ejemplo, usa el campo IdProfesor. Access abrirá un Asistente para cuadros combinados.

5.  Activa la primera opción si es necesario para indicar a Access que deseas que los valores del cuadro los extraiga de una tabla existente. Haz clic en Siguiente.

6.  En la siguiente ventana del Asistente para cuadros combinados, selecciona la tabla de la que quieras obtener los datos y haz clic en Siguiente. En nuestro ejemplo, Profesores.

7.  En la siguiente ventana, indica los campos que quieras que aparezcan en el cuadro combinado. Introduce siempre el campo clave (es el que usarás para las relaciones) y los campos mínimos necesarios para identificar el registro. En nuestro ejemplo, IdProfesor, Nombre y Apellidos. Haz clic en Siguiente.

8.  Después de elegir un criterio de ordenación, en la siguiente ventana modifica el ancho de las columnas si lo deseas. Haz clic en Siguiente. En nuestro ejemplo, hemos ensanchado la columna Apellidos. (Observa en la figura 8.7 que no aparece el campo IdProfesor, y que está activa la casilla Ocultarla columna clave).

ensanchar columnas

Figura 8.7. Puedes ensanchar las columnas y ocultar el campo clave

9.  En la siguiente ventana, indica en la lista Almacenar el valor en el campo el campo donde vas a guardar el valor seleccionado. En el ejemplo, IdProfesor. Haz clic en Siguiente.

10.  Por último, asigna una etiqueta al nuevo control y haz clic en Finalizar. La etiqueta Profesores la usada en nuestro ejemplo.

Nota

Si no aparece el Asistente para cuadros combinados, puede ser que no esté instalado. Inserta el CD-ROM de Office en tu orde­nador e indica a Access que lo instale.

La figura 8.8 muestra el estado del formulario tras añadir el nuevo control del profesor. Observa que ahora hay dos controles con el dato del profesor: IdProfesor (que introdujo el asistente al crear el formulario) y Profesor, que acabamos de crear.

formulario cuadro combinado

Figura 8.8. El formulario con el nuevo cuadro combinado

Es evidente que nuestro nuevo control es mucho más claro que el otro para ver cuál es el profesor que imparte un curso. Además, seleccionar el profesor es tan sencillo como desplegar el cuadro combinado y hacer clic en su nombre.

Consejo

Prueba a seleccionar un profesor con el nuevo campo combinado. Observa que, automáticamente, varía el contenido del control IdProfesor. Esto se debe a que, realmente, en nuestro nuevo control se almacena el código del profesor y no su nombre.

Otro cuadro combinado en el subformulario

Prueba tú ahora a crear un nuevo cuadro combinado en el subformulario con el contenido del campo IdAlumno de la tabla AlumnosPorCurso (que no sea de la tabla Alumnos). Mediante este nuevo control, seleccionaremos el alumno de una lista, evitando tener que conocer su identificador. Como ayuda, piensa lo siguiente:

ð Tienes que hacer clic en el subformulario para seleccionarlo, y volver a hacer clic en su interior para que la Lista de campos cambie y muestre los campos de este subformulario.

ð Utiliza el campo AlumnosPorCurso_IdAlumno (antes, recuerda que has de seleccionar el botón Cuadro combinado en el grupo de comandos Controles).

ð En el Asistente para cuadros combinados, elige la tabla Alumnos como origen de los datos que vas a mostrar (no uses AlumnosPorCurso, ya que no contiene el nombre ni los apellidos del alumno).

ð Incluye los campos IdAlumno, Nombre y Apellidos en el cuadro combinado.

ð Ensancha si quieres la columna Apellidos.

ð Almacena el valor en el campo
AlumnosPorCurso_IdAlumno.

ð Asígnale el nombre Alumno a la etiqueta del nuevo control.

Access incluirá el nuevo control en la última columna del subformulario. Es una buena idea moverlo ahora junto al control IdAlumno para probar cómo funciona.

Eliminar campos innecesarios

Otra de las diferencias entre el formulario que tenemos en la actualidad y el mostrado en la figura 8.1 es la apariencia del subformulario (su tamaño entre otras cosas) y los controles que aparecen en él.

Por ejemplo, hay cuatro campos que no tiene sentido que estén en el subformulario y que debemos eliminar para clarificar su contenido:

ð El campo Id no sirve para nada. Su única utilidad es servir de campo clave a la tabla AlumnosPorCurso y, por tanto, como no aporta información, se puede quitar del subformulario.

ð El campo Id alumno está repetido, ya que hemos añadido el control Alumno para seleccionar al alumno de una lista, sin nece­sidad de conocer su identificador.

ð El campo Id curso tampoco tiene que aparecer, ya que lo vemos en el formulario principal y es un campo repetido.

ð Finalmente, el campo Alumnos_IdAlumno también está de más, ya que es idéntico al campo Id alumno que hemos ­eliminado.

Es importante que entiendas que podemos eliminar estos campos del subformulario, pero no de la Lista de campos (y por eso lo seleccionamos al crear el formulario con el asistente). Estos campos sirven para relacionar las tablas, aunque no muestren información de interés. Si no estuvieran en la lista de campos del subformulario, Access no podría mostrar los alumnos por curso, ya que no podría relacionarlos. Por eso, los añadimos con el asistente aunque sabíamos que habría que ­eliminarlos.

Últimos retoques

Para lograr la figura 8.1, sólo quedan los siguientes retoques:

ð Elimina el control IdProfesor del formulario principal. Con el nuevo control del profesor creado es suficiente.

ð Sitúa el nuevo control del profesor en la posición en la que estaba el control IdProfesor que acabas de eliminar.

ð Reduce el tamaño del control del precio, ya que es excesivo.

ð Modifica el orden de tabulación del formulario principal para que el nuevo control Profesor vaya después del nombre del curso (se llamará CuadroCombinadoX, siendo X un número).

ð Ensancha el subformulario para que se vean sus campos. Noso­tros hemos reducido el ancho del campo Alumno y lo hemos situado el primero de la hoja de datos, ya que repite el nombre del alumno que aparece a su derecha.

ð Haz el subformulario también más alto, para que si hay más de cuatro alumnos se vean bien.

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

Nuestras novedades en tu e-mail

Escribe tu e-mail:



MailxMail tratará tus datos para realizar acciones promocionales (vía email y/o teléfono).
En la política de privacidad conocerás tu derechos y gestionarás la baja.

Cursos similares a Access. Formularios, tablas y consultas



  • Vídeo
  • Alumnos
  • Valoración
  • Cursos
1. Access. Tutorial: consultas de selección
Access , tutorial con video . Bienvenidos a este curso de Microsoft Access ,... [21/05/10]
7.462
Curso con video
2. Access. Base de datos y tablas
Gracias a este curso de Base de datos en Access podrás aprender qué es Access ,... [23/06/10]
13.460  
3. Access. Tutorial: consultas de selección (2)
Tutorial de Access sobre las consultas de selección en su segunda parte. Pues lo... [25/05/10]
2.091
Curso con video

¿Qué es mailxmail.com?|ISSN: 1699-4914|Ayuda
Publicidad|Condiciones legales de mailxmail