Los formularios maestro-detalle o subformularios representan formularios que se encuentran localizados dentro de otros formularios. Sirven para mostrar información contextual o adicional de uno o más campos del formulario.
En prácticas anteriores, nos habíamos saltado el paso de añadir subformularios. Ahora ha llegado el momento de utilizar ese paso para crear nuestros subformularios.
2. Base de datos: "videoclub"
Vamos a crear un formulario haciendo que, cada vez que nos movemos entre los distintos registros, nos muestre la información de todas las películas pertenecientes a ese género. Para ello, vamos a utilizar subformularios.
Ejercicio
Crear subformulario
Abre la base de datos "videoclub".
Haz clic en el botón Formularios de la Barra de Objetos.
En la zona superior de Tareas, haz clic en la opción Crear un formulario mediante el asistente.
Paso 1. Selección de campo
Debemos elegir qué campos queremos que se muestren en el formulario.
Elige la tabla GENERO.
Selecciona todos los campos.
Pulsa Siguiente.
Paso 2. Configurar un subformulario
Vamos a crear un subformulario basándonos en la relación existente entre la tabla GENERO y PELICULA, dado que un género tiene muchas películas y dada una película pertenece a un sólo género.
Marca la casilla Agregar subformulario.
Marca la opción Subformulario basado en relación existente. Haz clic sobre la tabla PELICULA.
Haz clic en Siguiente.
Paso 3. Añadir campos de subformulario
Debemos añadir los campos a mostrar en el subformulario.
Selecciona los campos "Titulo", "Director", "Anyo", "Duracion", "Soporte", "Argumento" y "Genero".
Haz clic en Siguiente.
Paso 5. Organizar controles
En el siguiente paso podemos elegir la distribución de los campos en el formulario.
Haz clic en el icono de la izquierda “En columnas - Etiquetas a la izquierda”.
Haz clic en Siguiente.
Paso 6. Establecer entrada de datos
Dejamos las opciones por defecto.
Pulsa Siguiente.
Paso 7. Aplicar estilos
Aquí vamos a elegir uno de los estilos propuestos por Base.
Elige el color y efectos 2D ó 3D que quieras.
Haz clic en Siguiente.
Paso 8. Establecer nombre
Por último guardamos el formulario.
En el campo Nombre del formulario escribe SFGENEROSF. Resto de opciones por defecto.
Haz clic en Finalizar.
Una vez finalizado el asistente, se nos abre el formulario para manipular datos. Si nos fijamos, cada vez que cambiamos de género, los datos del subformulario cambian automáticamente, mostrando información detallada de las películas que pertenecen a ese género.
Personalizar formulario
Ve al formulario SFGENERO.
Abre el formulario en modo diseño.
Puede utilizarse los efectos y colores que se desee.
Cambia el color de fondo.
Redimensiona los elementos de la pantalla.
Inserta un rectángulo redondeado 3D. Escribe dentro el texto “GÉNEROS-DETALLE”.
Por ejemplo:
Guarda los cambios.
Cierra el formulario.
Cerrar la base de datos
Guarda los cambios en la base de datos.
Cierra la base de datos "videoclub".
Subir fichero
Sube la base de datos "videoclub" a la plataforma.
Contenidos
3. Base de datos: "gimnasio"
Vamos a hacer aún más intuitivo el formulario FSOCIO haciendo que, cada vez que nos movemos entre los distintos registros, nos muestre la descripción de la actividad que realiza cada socio. Para ello, vamos a utilizar subformularios.
Ejercicio
Crear consulta
En primer lugar, necesitamos crear una consulta que posteriormente usaremos en nuestro subformulario.
Abre la base de datos "gimnasio" del bloque básico de prácticas.
Crea una consulta en vista diseño con nombre "CSF_actividad". Elige la tabla ACTIVIDAD y selecciona los campos "Actividad" y "Descripcion".
Guarda los cambios.
Cierra la consulta.
Crear subformulario
Haz clic en el botón Formularios de la Barra de Objetos.
En la zona superior de Tareas, haz clic en la opción Crear un formulario mediante el asistente.
Paso 1. Selección de campo
Debemos elegir qué campos queremos que se muestren en el formulario.
Elige la tabla SOCIO.
Selecciona todos los campos.
Pulsa Siguiente.
Paso 2. Configurar un subformulario
Vamos a crear un subformulario basándonos en la relación existente entre la tabla GENERO y PELICULA, dado que un género tiene muchas películas y dada una película pertenece a un sólo género.
Marca la casilla Agregar subformulario.
Marca la opción Subformulario basado en selección manual de campos.
Haz clic en Siguiente.
Paso 3. Añadir campos de subformulario
Debemos añadir los campos a mostrar en el subformulario.
Elige la consulta CSF_ACTIVIDAD y selecciona los 2 campos de dicha consulta.
Haz clic en Siguiente.
Paso 4. Obtener campos combinados
En este paso se define la relación existente entre el subformulario y el formulario principal.
En Primer campo de subformulario combinado, selecciona el campo “Actividad”.
En Primer campo de formulario principal, selecciona el campo “Actividad”.
Haz clic en Siguiente.
Paso 5. Organizar controles
En el siguiente paso podemos elegir la distribución de los campos en el formulario.
Haz clic en el icono de la izquierda “En columnas - Etiquetas a la izquierda”.
Haz clic en Siguiente.
Paso 6. Establecer entrada de datos
Dejamos las opciones por defecto.
Pulsa Siguiente.
Paso 7. Aplicar estilos
Aquí vamos a elegir uno de los estilos propuestos por Base.
Elige el color y efectos 2D ó 3D que quieras.
Haz clic en Siguiente.
Paso 8. Establecer nombre
Por último guardamos el formulario.
En el campo Nombre del formulario escribe "SFSOCIO". Resto de opciones por defecto.
Haz clic en Finalizar.
Una vez finalizado el asistente, se nos abre el formulario para manipular datos. Si nos fijamos, cada vez que cambiamos de socio, los datos del subformulario cambian automáticamente, mostrando la descripción de la actividad que realiza el socio actual.
Guarda los cambios.
Cierra el formulario.
Como podemos observar, se han perdido todos los cambios que habíamos hecho en nuestro formulario FSOCIO, ya que nos faltaría incluir la lista desplegable de actividades y el campo DNI con máscara de edición de datos. Además, también se han perdido los cambios en el diseño como el color, etc.
Contenidos
4. Subformularios en vista diseño
El asistente es una forma rápida de crear subformularios pero tiene el inconveniente de que perdemos todos los cambios efectuados en el formulario principal.
Existe un método alternativo para incluir subformularios sin necesidad de perder las modificaciones realizadas sobre un formulario.
Ejercicio
4.1. Base de datos "gimnasio"
Formulario SOCIO. Diseño
Haz clic en el botón Formularios de la Barra de Objetos.
Ve al formulario FSOCIO.
Abre el formulario en modo diseño.
Crear subformulario
En la barra de herramientas inferior, pulsa el icono Navegador de formularios.
Selecciona el formulario principal MainForm y con el botón derecho del ratón elige la opción Nuevo → Formulario.
Pon como nombre “SFACTIVIDAD”.
Vincular subformulario
Ahora tenemos que indicar el vínculo que existe entre el formulario principal y el subformulario creado.
Haz clic en el subformulario SFACTIVIDAD. Con el botón derecho del ratón elige la opción Propiedades, pestaña Datos.
Tipo de contenido. Elige “Consulta”.
Contenido. Elige la consulta “CSF_ACTIVIDAD”.
Enlazar campos maestros. Haz clic en el botón derecho con puntos suspensivos. Selecciona el campo actividad tanto en la consulta CSF_ACTIVIDAD como en la tabla SOCIO.
Se nos despliega una ventana donde debemos indicar por qué campos vamos a relacionar ambos formularios. Nosotros queremos conseguir que, dado un socio seleccionado en el formulario principal, se muestre la descripción de la actividad realizada en un subformulario. En consecuencia, elegimos el campo en común que comparten ambas tablas de SOCIO y ACTIVIDAD, es decir, el código de actividad.
Haz clic en Aceptar.
Cierra las propiedades del subformulario.
Insertar subformulario en formulario FSOCIO
Ahora sólo nos falta elegir un campo de control que permita mostrar en el subformulario la descripción de la actividad.
Ve al navegador de formularios. Selecciona el subformulario “SFACTIVIDAD".
Pulsa sobre el icono de la barra izquierda llamado Más controles.
Base nos muestra un cuadro con controles adicionales. Hacemos clic en el icono Control de tablas.
Dibuja el nuevo control en el formulario, por ejemplo al lado del campo “Actividad”. Nos aparece un asistente donde elegimos los campos de “Actividad” y “Descripcion” de la consulta CSF_ACTIVIDAD.
Haz clic en el botón Finalizar.
Como podemos ver, se ha creado un nuevo control dentro del subformulario.
Modificar subformulario
Modificamos las propiedades del nuevo control para que sólo se pueda visualizar su contenido.
Haz doble clic sobre el nuevo campo de subformulario.
Selecciona la pestaña General. Modifica las siguientes propiedades:
Activado: No.
Barra de navegación: No.
Marcador de registros: No.
Cierra la ventana Propiedades.
Cierra el navegador de formularios.
Mueve y redimensiona los diferentes campos para dejar un diseño funcional. Por ejemplo:
Cierra el formulario.
Formulario FSOCIO. Entrada de datos
Haz doble clic sobre el formulario FSOCIO. Comprueba que se muestra la descripción de la actividad que realiza cada socio.
No se permite un uso comercial de la obra original ni de las posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
Los reconocimientos se realizan en el apartado Fuentes de información.
Todas las capturas de pantalla tienen copyright y pertenecen a TuInsitutoOnline.com.
TuInstitutoOnline.com permite su uso siempre y cuando se muestren desde el dominio www.tuinstituoonline.com y NO PERMITE enlazar a ellas desde otros lugares.
Además, la estructura diseñada para mostrar el contenido de las unidades es propiedad de TuInstitutoOnline.com.