Crearea unui formular care conține un subformular (un formular unu-la-mai-mulți)
Applies ToAccess pentru Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Atunci când lucrați cu date relaționale (date asociate stocate în tabele separate) în Access, adesea trebuie să vizualizați mai multe tabele sau interogări în același formular. De exemplu, poate doriți să vedeți în același timp datele de client dintr-un tabel și informațiile despre comenzile clientului respectiv din alt tabel. Subformularele reprezintă un instrument convenabil de a face acest lucru și Access oferă mai multe modalități pentru a le crea rapid.

Ce intenționați?

Aflați despre subformulare

Un subformular este un formular inserat în alt formular. Formularul de bază se numește formular principal, iar cel inclus în formular se numește subformular. O combinație de formulare/subformulare este denumită uneori formular ierarhic, formular principal/detaliu sau formular părinte/fiu.

Subformularele sunt eficiente îndeosebi atunci când doriți să afișați date din tabele sau interogări care au o relație unu-la-mai-mulți. O relație de tip unu-la-mai-mulți este o asociere între două tabele în care valoarea cheii primare a fiecărei înregistrări din tabelul principal corespunde valorii din câmpul sau câmpurile corespunzătoare ale mai multor înregistrări din tabelul asociat. De exemplu, puteți crea un formular care să afișeze datele despre angajați și să conțină un subformular care să afișeze comenzile fiecărui angajat. Datele din tabelul Angajați constituie partea „unu” a relației. Datele din tabelul Comenzi reprezintă partea „mulți” a relației (fiecare angajat poate avea mai multe comenzi.

A form that contains a subform

1. Formularul principal afișează date din partea „unu” a relației.

2. Subformularul afișează date din partea „mulți” a relației.

Formularul principal și subformularul din acest tip de formular sunt legate, pentru ca subformularul să afișeze doar înregistrările asociate înregistrării curente din formularul principal. De exemplu, atunci când formularul principal afișează informații despre Ecaterina Chirilă, subformularul afișează doar comenzile ei. Dacă formularul și subformularul nu ar fi legate, subformularul ar afișa toate comenzile, nu doar comenzile Ecaterinei.

Următorul tabel definește o parte din terminologia asociată subformularelor. Access va gestiona cea mai mare parte din detalii dacă utilizați procedurile din acest articol, dar este util să știți ce se întâmplă în culise dacă trebuie să efectuați modificări mai târziu.

Termen

Definiție

Control subformular

Controlul care încorporează un formular într-un formular. Gândiți-vă la controlul de subformular ca la o „vizualizare” a altui obiect din baza de date, indiferent dacă este vorba de alt formular, de un tabel sau de o interogare. Controlul de subformular oferă proprietăți care vă permit să legați datele afișate în control la datele din formularul principal.

Proprietatea Obiect sursă

Proprietatea controlului de subformular care determină ce obiect este afișat în control.

Foaie de date

O afișare simplă a datelor în rânduri și coloane, foarte asemănătoare cu o foaie de calcul. Controlul de subformular afișează o foaie de date atunci când obiectul său sursă este un tabel sau o interogare sau când obiectul sursă este un formular al cărui proprietate Vizualizare implicită este setată la Foaie de date. În aceste cazuri, subformularul este numit uneori foaie de date sau subfoaie de date, în loc de subformular.

Proprietatea Legare câmpuri descendente

Proprietatea controlului de subformular care specifică ce câmp sau câmpuri din subformular leagă subformularul la formularul principal.

Proprietatea Legare câmpuri principale

Proprietatea controlului de subformular care specifică ce câmp sau câmpuri din formularul principal leagă formularul principal la subformular.

Note: 

  • Pentru rezultate optime, stabiliți relații între tabele înainte de a urma procedurile din acest articol. Acest lucru permite ca Access să creeze automat legăturile dintre subformulare și formularele principale. Pentru a vizualiza, a adăuga sau a modifica relațiile dintre tabelele din baza de date, pe fila Instrumente bază de date , în grupul Relații, faceți clic pe Relații.

  • Atunci când un control de subformular are un formular ca obiect sursă, acesta conține câmpurile pe care le plasați în formular și poate fi vizualizat ca formular unic, ca formular continuu sau ca foaie de date. Un avantaj al bazării unui subformular pe un obiect de formular este faptul că puteți adăuga câmpuri calculate la subformular, cum ar fi [Cantitate] * [Preț unitar].

  • Aveți posibilitatea să inserați o foaie de date sau o vizualizare pivot într-un formular, creând un control de subformular al cărui obiect sursă este un tabel sau o interogare. Pentru mai multe informații, consultați secțiunea Adăugarea de date asociate la un formular fără a crea un subformular.

Începutul paginii

Crearea sau adăugarea unui subformular

Utilizați tabelul următor pentru a determina care procedură este cea mai potrivită pentru situația dvs.

Scenariu

Procedura recomandată

Doriți ca Access să creeze atât un formular principal, cât și un subformular și să lege subformularul la formularul principal.

Crearea unui formular care conține un subformular utilizând Expertul formular

Doriți să utilizați un formular existent ca formular principal, dar vreți ca Access să creeze un nou subformular și să îl adauge la formularul principal.

Adăugarea unuia sau mai multor subformulare la un formular existent utilizând Expertul subformular

Doriți să utilizați un formular existent ca formular principal și să adăugați unul sau mai multe formulare existente la acel formular ca subformulare.

Crearea unui subformular prin glisarea unui formular într-altul

Crearea unui formular care conține un subformular utilizând Expertul formular

Această procedură creează o nouă combinație de formular și subformular, utilizând Expertul formular. De asemenea, este cea mai rapidă modalitate de a începe dacă nu ați creat deja formularele pe care doriți să le utilizați ca formular principal sau subformular.

  1. În fila Creare, în grupul Formulare, faceți clic pe Expert formular

  2. În prima pagină a expertului, în lista verticală Tabele/Interogări, selectați un tabel sau o interogare. Pentru acest exemplu, pentru a crea un formular Angajați care să afișeze comenzile pentru fiecare angajat într-un subformular, vom selecta Tabel: Angajați (partea „unu” a relației unu-la-mai-mulți).

    Notă: Nu are importanță ce tabel sau interogare alegeți mai întâi.

  3. Faceți dublu clic pe câmpurile pe care doriți să le includeți din acest tabel sau din interogare.

  4. În aceeași pagină a expertului, în lista verticală Tabele/Interogări, selectați alt tabel sau altă interogare din listă. Pentru acest exemplu, vom selecta tabelul Comenzi (partea „mulți” a relației unu-la-mai-mulți).

  5. Faceți dublu clic pe câmpurile pe care doriți să le includeți din acest tabel sau din interogare.

  6. Când faceți clic pe Următorul, presupunând că ați configurat corect relațiile înainte de a porni expertul, expertul întreabă Cum doriți să vizualizați datele?, mai exact, după ce tabel sau interogare. Selectați tabelul din partea „unu” a relației unu-la-mai-mulți. Pentru acest exemplu, pentru a crea formularul Angajați, vom face clic pe după Angajați. Expertul afișează o diagramă mică a unui formular. Pagina ar trebui să se asemene ilustrației următoare:

    Pagina subformular a Expertului formular

    Caseta din partea inferioară a diagramei de formular reprezintă subformularul.

    Notă: Dacă expertul nu întreabă Cum doriți să vizualizați datele?, acest lucru înseamnă că Access nu a detectat o relație unu-la-mai-mulți între tabelele sau interogările pe care le-ați selectat. Expertul va continua, dar Access nu va adăuga un subformular în formular. Înainte de a continua, se recomandă să faceți clic pe Anulare și să examinați relațiile de tabel.

  7. În partea de jos a paginii expertului, selectați Cu subformulare, apoi faceți clic pe Următorul.

  8. În pagina Ce aspect doriți pentru subformular?, faceți clic pe opțiunea de aspect pe care o doriți, apoi faceți clic pe Următorul. Ambele stiluri de aspect aranjează datele subformularului în rânduri și coloane, dar un aspect cu file este mai simplu de particularizat. La un subformular cu file se pot adăuga culori, grafice și alte elemente de formatare, în timp ce o foaie de date este mai compactă, la fel ca vizualizarea foaie de date a unui tabel.

  9. Pe pagina următoare a expertului, selectați un stil de formatare pentru formular și faceți clic pe Următorul. Dacă ați ales Tabelar pe pagina anterioară, stilul de formatare ales se va aplica și la subformular.

  10. Pe ultima pagină a expertului, tastați titlurile pe care le doriți pentru formulare. Access denumește formularele pe baza titlurilor pe care le tastați și etichetează subformularul după titlul pe care îl tastați pentru subformular.

  11. Specificați dacă doriți să deschideți formularul în Vizualizarea formular, pentru a vizualiza sau a introduce informații sau în Vizualizarea proiect, pentru a-i modifica proiectul, apoi faceți clic pe Terminare.

    Access creează două formulare: unul pentru formularul principal care conține controlul de subformular și unul pentru subformularul propriu-zis.

Începutul paginii

Adăugarea unuia sau mai multor subformulare la un formular existent utilizând Expertul subformular

Utilizați această procedură pentru a adăuga unul sau mai multe subformulare la un formular existent. Pentru fiecare subformular, este posibil să alegeți ca Access să creeze un formular nou sau să utilizeze un formular existent ca subformular.

  1. În Panoul de navigare, faceți clic dreapta pe formular, apoi faceți clic pe Vizualizare proiect.

  2. Pe fila Proiectare formular , în grupul Controale , faceți clic pe săgeata în jos pentru a afișa galeria Controale și asigurați-vă că ați selectat Utilizare experți control .

  3. Pe fila Proiectare formular , în grupul Controale , faceți clic pe butonul Subformular/Subraport .

  4. Faceți clic pe formular acolo unde doriți să plasați subformularul.

  5. Urmați instrucțiunile din expert.

    Când faceți clic pe Terminare, Access adaugă un control de subformular la formular. Dacă alegeți ca Access să creeze un formular nou pentru subformular în loc să utilizeze un formular existent, Access creează noul obiect de formular și îl adaugă în Panoul de navigare.

Crearea unui subformular prin glisarea unui formular într-altul

Utilizați această procedură dacă doriți să utilizați un formular existent ca formular principal și să adăugați unul sau mai multe formulare existente la acel formular ca subformulare.

  1. În Panoul de navigare, faceți clic cu butonul din dreapta pe formularul pe care doriți să-l utilizați ca formular principal, apoi faceți clic pe Vizualizare aspect.

  2. Glisați formularul pe care doriți să-l utilizați ca subformular din Panoul de navigare în formularul principal.

    Access adaugă un control de subformular la formularul principal și leagă controlul la formularul glisat din Panoul de navigare. De asemenea, Access încearcă să lege subformularul la formularul principal, pe baza relațiilor care au fost definite în baza de date.

  3. Repetați acest pas pentru a adăuga orice subformulare suplimentare în formularul principal.

  4. Pentru a verifica dacă legarea a reușit, pe fila Pornire, în grupul Vizualizări, faceți clic pe Vizualizare, pe Vizualizare formular, apoi utilizați selectorul înregistrării formularului principal pentru a avansa prin diverse înregistrări. Dacă subformularul se filtrează corect pentru fiecare angajat, atunci procedura s-a terminat.

Dacă testul anterior nu funcționează, Access nu a reușit să determine cum să lege subformularul la formularul principal, iar proprietățile Legare câmpuri descendente și Legare câmpuri principale ale controlului de subformular sunt necompletate. Trebuie să setați manual aceste proprietăți, efectuând următoarele:

  1. În Panoul de navigare, faceți clic dreapta pe formularul principal, apoi faceți clic pe Vizualizare proiect.

  2. Faceți clic pe controlul de subformular o dată pentru a-l selecta.

  3. Dacă panoul de activități Foaie de proprietăți nu este afișat, apăsați F4 pentru a-l afișa.

  4. În Foaie de proprietăți, faceți clic pe fila Date.

  5. Faceți clic pe butonul Generare Butonul Generator lângă caseta de proprietăți Legare câmpuri descendente .

    Apare caseta de dialog Editor de legături câmpuri de subformular.

  6. În listele verticale Câmpuri principale și Câmpuri descendente, selectați câmpurile la care doriți să legați formularele, apoi faceți clic pe OK. Dacă nu știți sigur ce câmpuri să utilizați, faceți clic pe Sugestie pentru ca Access să încerce să determine câmpurile de legătură.

    Sfat: Dacă nu vedeți câmpul pe care doriți să îl utilizați pentru a lega formularele, poate fi necesar să editați sursa înregistrării formularului coordonator sau a formularului descendent, pentru a vă asigura că acolo se află câmpul de legătură. De exemplu, dacă formularul se bazează pe o interogare, trebuie să vă asigurați că în rezultatele interogării este prezent câmpul de legătură.

  7. Salvați formularul principal, comutați la Vizualizare formular, apoi verificați dacă formularul funcționează așa cum vă așteptați.

Deschiderea unui subformular într-o fereastră nouă în Vizualizarea proiect

Dacă doriți să efectuați modificări de proiectare la un subformular în timp ce lucrați la formularul principal în Vizualizarea proiect, puteți deschide subformularul în propria sa fereastră:

  1. Faceți clic pe subformular pentru a-l selecta.

  2. Pe fila Proiectare formular , în grupul Instrumente , faceți clic pe Subformular în fereastră nouă.

Începutul paginii

Modificarea vizualizării implicite a unui subformular

Când adăugați un subformular la un formular, controlul de subformular/subraport afișează subformularul în funcție de proprietatea Vizualizare implicită a subformularului. Această proprietate poate fi setată la următoarele valori:

  • Formular unic

  • Formulare continue

  • Foaie de date

  • Scindare formular

Când creați pentru prima dată un subformular, această proprietate poate fi setată la Formulare continue sau, poate, la Formular unic. Totuși, dacă setați proprietatea Vizualizare implicită a unui subformular la Foaie de date, atunci subformularul se va afișa ca foaie de date în formularul principal.

Pentru a seta proprietatea Vizualizare implicită a unui subformular:

  1. Închideți toate obiectele deschise.

  2. În Panoul de navigare, faceți clic dreapta pe subformular, apoi faceți clic pe Vizualizare proiect.

  3. Dacă nu este afișată deja Foaia de proprietăți, apăsați F4 pentru a o afișa.

  4. În lista verticală din partea de sus a Foii de proprietăți, asigurați-vă că ați selectat Formular.

  5. În fila Format a Foii de proprietăți, setați proprietatea Vizualizare implicită la vizualizarea pe care doriți să o utilizați.

    Notă: Dacă vizualizarea pe care doriți să o utilizați nu se află în listă, asigurați-vă că "Se permite... Proprietatea Vizualizare" pentru vizualizare este setată la Da. De exemplu, dacă doriți să specificați Foaie de date ca vizualizare implicită pentru formular, asigurați-vă că proprietatea Se permite vizualizare foaie de date este setată la Da.

  6. Salvați și închideți subformularul, apoi deschideți formularul principal, pentru a verifica rezultatele.

Începutul paginii

Adăugarea de date asociate la un formular fără a crea un subformular

Nu este necesar întotdeauna să creați un obiect de formular separat pentru a afișa datele legate. De exemplu, dacă lucrați la un formular în Vizualizarea aspect sau în Vizualizarea proiect și glisați un tabel sau o interogare din Panoul de navigare în formular, Access creează un control de subformular/subraport care afișează datele din acel obiect. Proprietatea Vizualizare implicită a obiectului determină modul de afișare a datelor. De obicei, aceasta este setată la Vizualizarea foaie de date, dar puteți seta, se asemenea, proprietatea Vizualizare implicită a unui tabel sau a unei interogări la Formular unic, Formular scindat sau Formulare continue, oferindu-vă mai multă flexibilitate pentru afișarea datelor asociate din formulare.

Notă: Modificarea proprietății Vizualizare implicită pentru un tabel sau o interogare determină cum se afișează de fiecare dată când se deschide, indiferent dacă se deschide din Panoul de navigare sau se vizualizează într-un control de subformular/subraport. Pentru că modificarea setărilor de vizualizare pentru un tabel poate cauza uneori confuzie atunci când deschideți tabelul din Panoul de navigare, vă recomandăm să utilizați o interogare pentru această procedură, nu un tabel.

Începutul paginii

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.