7. Formularios con superpoderes: subformularios y relaciones

a { text-decoration: none; color: #464feb; } tr th, tr td { border: 1px solid #e6e6e6; } tr th { background-color: #f5f5f5; }

¿ Imaginas poder ver, dentro del mismo formulario, datos de dos tablas diferentes al mismo tiempo? Eso es justamente lo que lograrás con los subformularios . En términos simples, un subformulario es un formulario metido dentro de otro formulario . Se suele hablar de formulario principal (el que “contiene”) y subformulario (el formulario “contenido”). Esta combinación es tan poderosa que a veces se le llama formulario maestro/detalle o principal/secundario .
¿Para qué sirven los subformularios? Para ver fácilmente información relacionada sin cambiar de pantalla. Son ideales cuando tienes tablas con relaciones de “uno a varios” y quieres ver en un solo vistazo los datos del lado “uno” y del lado “varios” simultáneamente. Por ejemplo, en la base de datos de nuestra biblioteca, un socio puede tener varios préstamos . En un formulario normal de Socios, quizás solo verías los datos generales del socio. Con un subformulario , puedes mostrar dentro de esa misma ventana todos los préstamos (los “varios”) asociados a ese socio (el “uno”) . Resultado: un vistazo completo, sin tener que ir abriendo y cerrando tablas.
Piensa en ello así: el formulario principal es el “protagonista” y el subformulario es su “compañero” fiel . El formulario principal muestra un registro a la vez (por ejemplo, la ficha de un socio), mientras que el subformulario le acompaña mostrando varios registros relacionados con ese mismo elemento (los préstamos de ese socio). Ambos están conectados por la relación previamente establecida entre sus tablas. En nuestro caso, la relación la establecimos en la # diciendo que la tabla Préstamos tiene un campo que identifica al socio (por ejemplo, ID_Socio ). Gracias a eso, acceda a “sabe” qué préstamos pertenecen a cada persona y puede enlazar la información automáticamente.

Todo en uno

Los subformularios te permiten ver dos niveles de información a la vez . Por ejemplo, los datos de un socio junto con sus préstamos sin salir del formulario.

Información vinculada

El subformulario siempre muestra los registros relacionados con el registro que tengas activo en el formulario principal. Si cambias de socio en el formulario principal, el subformulario actualizará la lista de préstamos automáticamente.

Para relaciones "uno a varios"

Los subformularios aprovechan las relaciones uno-a-varios que definiste entre tablas. Son la mejor herramienta para casos donde un elemento tiene muchos asociados (un socio con muchos préstamos, un pedido con muchos productos, etc.).

Ahorro de tiempo

Con un subformulario evitas búsquedas manuales . No necesitas abrir otra tabla ni hacer consultas para ver los datos relacionados: el formulario principal y el subformulario se encargan de mostrarlos en conjunto.

a { text-decoration: none; color: #464feb; } tr th, tr td { border: 1px solid #e6e6e6; } tr th { background-color: #f5f5f5; }

Ejemplo práctico: un socio y sus préstamos

Siguiendo el ejemplo de la biblioteca, imaginemos un formulario principal de “Socios” y un subformulario de “Préstamos” . Cuando abramos el formulario, veremos en la parte superior los datos del socio (por ejemplo: nombre, apellidos, correo electrónico, etc.), y debajo una lista de los préstamos de ese socio en particular (por ejemplo: títulos de los libros prestados, fecha de préstamo, fecha de devolución, etc.).
Supón que tienes estos datos en tus tablas:
  • Socio: Ana LópezLibros prestados: Cien años de soledad (15/01/2026) y La sombra del viento (01/02/2026).
  • Socio: Juan PérezLibros prestados: El Hobbit (25/01/2026).
Si consultas la ficha de Ana López con tu formulario de Socios, el subformulario de Préstamos mostrará dos registros : uno para “Cien años de soledad” (prestado el 15/01/2026) y otro para “La sombra del viento” (prestado el 01/02/2026). Si luego pasas al registro de Juan Pérez en el formulario principal, verás que el subformulario cambia automáticamente para exhibir solo el registro de “El Hobbit” (25/01/2026) que corresponde a Juan. ¡Magia! ✨ Bueno, en realidad es lógica de base de datos, pero parece magia porque Access hace todo el trabajo sucio: detecta que Juan Pérez es el socio actual y filtra el subformulario para que solo veas sus préstamos. Si el subformulario no estuviera vinculado correctamente, verías todos los préstamos de todos los socios a la vez , lo cual sería un caos. Por eso es importante haber definido las relaciones entre las tablas antes de usar subformularios (en este caso, decirle a Access que Préstamos está relacionado con Socios a través del ID del socio).

Cómo crear un formulario con subformulario (paso a paso)

La manera más sencilla de construir este “formulario doble” es usando el Asistente para formularios de Access. Este asistente nos permite, en un solo proceso, crear el formulario principal, el subformulario y que queden correctamente vinculados . Te guiaré por los pasos usando nuestro ejemplo de Socios (principal) con Préstamos (secundario):
  1. En la pestaña Crear , haz clic en Asistente para formularios . Se abre una ventana que te preguntará qué información quieres visualizar.
  2. Primero, seleccione la tabla del formulario principal (el lado “uno” de la relación). En nuestro caso, elige Tabla: Socios . Justo debajo, verás la lista de Campos disponibles de la tabla Socios. Como de costumbre, pasa al lado derecho los campos que quieras ver en el formulario del socio (por ejemplo, Nombre, Apellidos, e Email del socio).
  3. Ahora viene la parte clave: sin cerrar esa pantalla, busca la lista desplegable que dice de nuevas Tablas/Consultas y selecciona la tabla relacionada que contiene los “varios”. En nuestro ejemplo, elige Tabla: Préstamos (lado “varios”). Aparecerán sus campos en la lista. Elige los campos que te interesan del préstamo, por ejemplo TítuloDelLibro , FechaPréstamo y FechaDevolución , y pásalos a la derecha. Esos serán los campos que se mostrarán en el subformulario.
  4. Pulsa Siguiente . Si las relaciones entre las tablas Socios y Préstamos están bien definidas, el asistente de Access te hará la pregunta mágica: “¿Cómo desea ver los datos?” . Te estás preguntando básicamente “¿Cuál es la tabla principal (la del lado uno)?”. Selecciona “Por Socios” (es decir, que los Socios serán el foco principal). En este momento, el asistente te muestra un diagrama de un formulario con un recuadro dentro, indicando que entiendes que vas a crear un subformulario. (Si el asistente no te hizo la pregunta de cómo ver los datos, es posible que no haya reconocido la relación. En tal caso, cancela el asistente, revisa las relaciones de las tablas y vuelve a intentarlo).
  5. A continuación, marca la opción “Formulario con subformularios” y haz clic en Siguiente .
  6. Elegir diseño del subformulario: te preguntará cómo quieres que se muestre el subformulario dentro del formulario principal. Aquí tienes dos opciones principales: Tabular (los datos dispuestos en filas y columnas con sus encabezados, básicamente con aspecto de “tablita”) o Justificado (como si cada registro del subformulario fuera a verso más como un formulario individual). Por simplicidad, elija Hoja de datos (que es similar al tabular y verá como una lista tipo Excel). Pulsa Siguiente .
  7. Escoge un estilo visual que te guste. Esto le da un aspecto de color y fuente a tu formulario y subformulario. Puedes previsualizar diferentes estilos (Acceso, Aspecto, Oficina, etc.) y elegir el que prefieres. Luego haz clic en Siguiente .
  8. Por último, pon nombre a tus formularios . Por ejemplo, llámale “Socios” al formulario principal y “Préstamos de Socio” al subformulario, para que quede claro. Marca la opción de abrir el formulario en vista Formulario (así lo veremos funcionando de inmediato) y haz clic en Finalizar .
¡Tachán! 🎉 Acceda a crear dos nuevos objetos de formulario : uno principal llamado “Socios” (en este ejemplo) y otro que es el subformulario (por ejemplo “Préstamos de socio” ). Abrirá automáticamente el formulario principal con el subformulario incrustado. Observa cómo funciona: utiliza los botones de navegación del formulario principal para moverte por los socios, y verás que el subformulario va cambiando sus datos para mostrar solo los préstamos de cada socio. ¡Ha adquirido un superpoder! 😎 Ahora, en un solo formulario, ves toda la información relacionada .

Últimos retoques y personalización básica del subformulario

Lo mejor de todo es que el subformulario que se creó es, en el fondo, un formulario más . Eso significa que puedes personalizarlo igual que cualquier otro formulario . Por ejemplo, si el subformulario aparece en forma de hoja de datos (filas y columnas grises) pero prefieres un aspecto más personalizado, puedes abrir el objeto “Préstamos de socio” desde el panel de navegación (como harías con cualquier formulario independiente) y cambiar su diseño. Podrías ponerlo en diseño Tabular tradicional, agregar colorcitos, negritas o lo que quieras, exactamente igual que hiciste con tus otros formularios. Después de todo, ¡un subformulario no deja de ser un formulario normal con la particularidad de que vive dentro de otro! También puedes modificar directamente algunas cosas desde la vista Diseño o Presentación del formulario principal: por ejemplo, hacer más grande el recuadro donde vive el subformulario para que quepan más filas, o ajustar cómo se alinean las columnas del subformulario.
En general, con un formulario principal y su subformulario tendrás una vista unificada de la información relacionada , lo que mejorará mucho la experiencia de manejar datos en tu base de datos. Ya no tendrás que hacer malabares entre varias tablas: todo queda integrado en una sola pantalla. Y recuerda, si en algún momento necesitas crear otro par formulario-subformulario, puedes repetir los pasos con las tablas que necesites (siempre que tengan una relación definida). En múltiples situaciones reales los subformularios te harán la vida más fácil: pedidos y detalles de pedidos, facturas y partidas , clases y alumnos , pacientes y citas médicas , ¡y un largo etcétera! En todas esas duplas de datos con relación uno-a-varios, un subformulario puede ser tu mejor aliado.

a {
text-decoration: none;
color: #464feb;
}
tr th, tr td {
border: 1px solid #e6e6e6;
}
tr th {
background-color: #f5f5f5;
}

Comparte el Artículo

Artículos relacionados