7. Formularis amb superpoders: subformularis i relacions

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

¿ Imagines poder veure, dins del mateix formulari, dades de dos taules diferents al mateix temps? Això és justament el que aconseguiràs amb els subformularis . En termes simples, un subformulari és un formulari metit dins de l'altre formulari . Se suele parlar de formulario principal (el que “contiene”) i subformulario (el formulari “contenido”). Esta combinació és tan poderosa que a vegades se li llama formulario maestro/detalle o principal/secundario .
¿Per a què serveixen els subformularios? Per veure fàcilment la informació relacionada sense canviar de pantalla. Son ideals 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àniament. Per exemple, a la base de dades de la nostra biblioteca, un soci pot tenir diversos préstecs . En un formulari normal de socis, consulteu només les dades generals del soci. Amb un subformulari , pots mostrar dins d'aquesta mateixa finestra tots els préstamos (los “varios”) associats a aquest soci (el “uno”) . Resultat: un vistazo complet, sense tenir que obrir i cerrar tabals.
Piensa en ello així: el formulari principal és el “protagonista” i el subformulari és el seu “compañero” fiel . El formulari principal mostra un registre a la vegada (per exemple, la fitxa d'un soci), mentre que el subformulari li acompanya mostrant diversos registres relacionats amb aquest mateix element (els préstamos d'aquest soci). Ambos estan connectats per la relació prèviament establerta entre els seus tauls. En el nostre cas, la relació que s'estableix a la # dient que el tauler Prestamos té un camp que identifica al soci (per exemple, ID_Socio ). Gràcies a això, Access “sabe” quins préstecs pertanyen a cada persona i podeu obtenir la informació automàticament.

Tot en un

Els subformularios et permeten veure dos nivells d'informació a la vegada . Per exemple, les dades d'un soci junt amb els seus préstecs sense sortir del formulari.

Informació vinculada

El subformulario sempre mostra els registres relacionats amb el registre que té actiu al formulari principal. Si canvies de soci en el formulari principal, el subformulari actualitzarà la llista de préstecs automàticament.

Per a relacions "un a diversos""

Els subformularis aprofiten les relacions un-a-varis que defineixen entre tauls. Son la millor eina per a casos on un element té molts associats (un soci amb molts préstecs, un pedido amb molts productes, etc.).

Estalvi de temps

Amb un subformulari evita cerques manuals . No cal obrir un altre tauler ni fer consultes per veure les dades relacionades: el formulari principal i el subformulari s'encarreguen de mostrar-los en conjunt.

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

Exemple pràctic: un soci i els seus préstecs

Siguiendo l'exemple de la biblioteca, imaginem un formulari principal de “Socios” i un subformulari de “Préstamos” . Quan abram el formulari, veurem a la part superior els dades del soci (per exemple: nom, apellidos, correu electrònic, etc.), i deixo una llista dels préstecs d'aquest soci en particular (per exemple: títols dels llibres prestats, data de préstamo, data de devolución, etc.).
Supón que tinguis aquestes dades als teus taules:
  • 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 prestats: El Hobbit (25/01/2026).
Si consultes la fitxa d' Ana López amb el teu formulari de socis, el subformulario de Préstamos mostrará dos registres : un per a “Cien años de soledad” (prestat el 15/01/2026) i un altre per a “La sombra del viento” (prestat el 01/02/2026). Si després passas al registre de Juan Pérez al formulari principal, veràs que el subformulari canvia automàticament per exhibir en solitari el registre de “El Hobbit” (25/01/2026) que correspon a Juan. ¡Magia! ✨ Bueno, en realitat és lògica de base de dades, però sembla magia perquè Access fa tot el treball sucio: detecta que Juan Pérez és el soci actual i filtra el subformulari per a què només veas els seus préstecs. Si el subformulario no estuviera vinculat correctament, comproveu tots els préstecs de tots els socis a la vegada , el que seria un caos. Per això és important haver definit les relacions entre els tauls abans d'utilitzar subformularis (en aquest cas, dir-li a Access que Prestamos està relacionat amb els socis a través de l'ID del soci).

Com crear un formulari amb subformulari (pas a pas)

La manera més sencilla de construir aquest “formulari doble” s'utilitza l' Assistent per a formularis d'accés. Aquest assistent no permet, en un sol procés, crear el formulari principal, el subformulari i queden correctament vinculats . Us guiaré pels passos usant el nostre exemple de Socios (principal) amb Préstamos (secundari):
  1. En la pestaña Crear , haz clic en Asistente para formulars . S'obre una finestra que us preguntarà què informació voleu visualitzar.
  2. Primer, selecciona la taula del formulari principal (el lado “uno” de la relació). En nuestro cas, elige Tabla: Socios . Justo baix, veureu la llista de Camps disponibles de la taula Socios. Com de costum, passa al dret dels camps que vols veure en el formulari del soci (per exemple, Nombre, Apellidos, e Email del socio).
  3. Ahora viene la parte clave: sin cerrar aquella 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”). Apareceran els seus camps a la llista. Elige els camps que t'interessen del préstamo, per exemple TítuloDelLibro , FechaPréstamo y FechaDevolución , i pásalos a la dreta. Esos seran els camps que es mostraran en el subformulari.
  4. Pulsa Siguiente . Si les relacions entre els tauls Socios i Préstamos estan ben definits, l'assistent d'Access li farà la pregunta màgica: “¿Com vol ver los datos?” . T'estàs preguntant bàsicament “¿Cuál es la tabla principal (la del lado uno)?”. Seleccioneu “Por Socios” (es decir, que los Socios seran el foc principal). En aquest moment, l'assistent us mostra un diagrama d'un formulari amb un requadre dins, indicant que s'ha de crear un subformulari. (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 los tablas y vuelve a intentarlo).
  5. A continuació, marca l'opció “Formulario con subformularios” i fes clic a Siguiente .
  6. Elegir el disseny del subformulari: et preguntarà com vols que se muestre el subformulari dins del formulari principal. Aquí té les dues opcions principals: Tabular (els dades disposades en filas y columns con sus encabezados, básicamente con aspecto de “tablita”) o Justificat (com si cada registre del subformulario fora a vers més com un formulari individual). Per simplicidad, elige Hoja de datos (que és similar al tabular i es veurà com una llista tipus Excel). Pulsa Siguiente .
  7. Escoge un estil visual que et guste. Això li dóna un aspecte de color i font al vostre formulari i subformulari. Pots previsualitzar diferents estils (Acceso, Aspecte, Office, etc.) i triar el que prefereix. Luego haz clic en Siguiente .
  8. Per últim, poseu nom als vostres formularis . Per exemple, llámale “Socios” al formulari principal i “Préstamos de Socio” al subformulari, per que quede clar. Marca l'opció d'obrir el formulari a la vista Formulari (així que segur que funciona de manera immediata) i fes clic a Finalitzar .
¡Tachán! 🎉 Access creará dos nous objectes de formulari : un principal anomenat “Socios” (en aquest exemple) i un altre que és el subformulari (per exemple “Préstamos de socio” ). Obrirà automàticament el formulari principal amb el subformulari incrustat. Observa com funciona: utilitza els botons de navegació del formulari principal per moure't pels socis, i veuràs que el subformulari va canviar les seves dades per mostrar només els préstecs de cada soci. ¡Ha adquirit un superpoder! 😎 Ara, en un sol formulari, ves tota la informació relacionada .

Últims retocs i personalització bàsica del subformulari

Lo millor de tot és que el subformulari que s'ha creat , en el fons, un formulari més . Això significa que pots personalitzar-lo igual que qualsevol altre formulari . Per exemple, si el subformulari apareix en forma de full de dades (fils i columnes grises) però prefereix un aspecte més personalitzat, podeu obrir l'objecte “Préstamos de socio” des del panell de navegació (com harías amb qualsevol formulari independent) i canviar el seu disseny. Podries posarlo en el disseny Tabular tradicional, afegir colors, negritas o lo que vols, exactament igual que hiciste amb els teus altres formularis. Després de tot, un subformulari no deixa de ser un formulari normal amb la particularitat de que viu dins d'un altre! També pots modificar directament algunes coses des de la vista Disseny o Presentació del formulari principal: per exemple, fer més gran el requadre on viu el subformulari per a què puguin més files, o ajustar com es poden alinear les columnes del subformulari.
En general, amb un formulari principal i el seu subformulari tindrà una vista unificada de la informació relacionada , el que millora molt l'experiència de manejar dades a la vostra base de dades. Ja no tindràs que fer malbares entre diversos tabals: tot queda integrat en una sola pantalla. Y recuerda, si en algún momento necesitas crear otro par formulario-subformulario, puedes repetir los pasos con los tablas que necesites (siempre que tengan una relación definida). En múltiples situacions reals els subformularis us faran la vida més fàcil: pedidos i detalls de peticions, factures i partides , classes i alumnes , pacients i cites mèdiques , ¡i un llarg etcètera! En totes aquestes dues dades amb relació un-a-varis, un subformulari pot ser el vostre millor aliat.

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

Comparteix l'article

Articles relacionats