Een formulier maken dat een subformulier bevat (een-op-veel-formulier)

Van toepassing op
Access voor Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Wanneer u in Access met relationele gegevens werkt, moet u vaak meerdere tabellen of query's weergeven op hetzelfde formulier. U wilt bijvoorbeeld klantgegevens uit de ene tabel en klantordergegevens uit een andere tabel tegelijk bekijken. Subformulieren maken dat eenvoudiger en access biedt u verschillende snelle manieren om ze te maken.

Wat wilt u doen?

Meer informatie over subformulieren

Een subformulier is een formulier dat in een ander formulier wordt ingevoegd. Het primaire formulier wordt het hoofdformulier genoemd en het bijgevoegde formulier wordt het subformulier genoemd. Een formulier/subformuliercombinatie wordt ook wel een hiërarchisch formulier, een model/detailformulier of een bovenliggend/onderliggend formulier genoemd.

Subformulieren werken vooral goed als u gegevens wilt weergeven uit tabellen of query's met een een-op-veel-relatie. In dit type relatie komt de primaire sleutelwaarde van elke record in de primaire tabel overeen met de waarde in het overeenkomende veld of de overeenkomende velden van veel records in de gerelateerde tabel. U kunt bijvoorbeeld een formulier maken met werknemersgegevens en een subformulier waarin de orders van elke werknemer worden weergegeven. De gegevens in de tabel Werknemers is de 'een'-kant van de relatie. De gegevens in de tabel Orders zijn de 'veel'-kant van de relatie, omdat elke werknemer meer dan één bestelling kan hebben.

Een formulier met een subformulier

  1. In het hoofdformulier worden gegevens weergegeven van de 'een'-kant van de relatie.

  2. In het subformulier worden gegevens weergegeven van de 'veel'-kant van de relatie.

Het hoofdformulier en het subformulier van dit type formulier zijn gekoppeld, zodat in het subformulier alleen records worden weergegeven die zijn gerelateerd aan de huidige record in het hoofdformulier. Wanneer in het hoofdformulier bijvoorbeeld gegevens van Fenna Plant worden weergegeven, worden in het subformulier alleen haar orders weergegeven. Als het formulier en het subformulier niet aan elkaar zijn gekoppeld, worden in het subformulier alle orders weergegeven, niet alleen die van Nancy.

In de volgende tabel worden termen gedefinieerd die betrekking hebben op subformulieren. Access verwerkt de meeste details als u de procedures in dit artikel gebruikt, maar het is handig om te weten wat er achter de schermen gebeurt als u later wijzigingen moet aanbrengen.

Term Definitie
Subformulierbesturingselement Het besturingselement waarmee een formulier in een formulier wordt ingesloten. U kunt een subformulierbesturingselement zien als een 'weergave' van een ander object in de database (een formulier, tabel of query). Het subformulierbesturingselement levert eigenschappen waarmee u de gegevens die worden weergegeven in het besturingselement, kunt koppelen aan het hoofdformulier.
Eigenschap Bronobject De eigenschap van het subformulierbesturingselement waarmee wordt bepaald welk object in het besturingselement wordt weergegeven.
Gegevensblad Een eenvoudige weergave van gegevens in rijen en kolommen, vergelijkbaar met een spreadsheet. In het subformulierbesturingselement wordt een gegevensblad weergegeven wanneer het bronobject een tabel of query is of wanneer het bronobject een formulier is waarvan de Default View eigenschap is ingesteld op Datasheet. In dergelijke gevallen wordt het subformulier ook wel een gegevensblad of subgegevensblad genoemd in plaats van een subformulier.
Eigenschap Subvelden koppelen De eigenschap van het subformulierbesturingselement waarmee wordt opgegeven welk veld of welke velden in het subformulier worden gekoppeld aan het hoofdformulier.
Eigenschap Hoofdvelden koppelen De eigenschap van het subformulierbesturingselement waarmee wordt opgegeven welk veld of welke velden op het hoofdformulier worden gekoppeld aan het subformulier.

Opmerking

  • Voor de beste resultaten brengt u tabelrelaties tot stand voordat u de procedures in dit artikel uitvoert. Er worden dan automatisch koppelingen tussen subformulieren en hoofdformulieren gemaakt. Als u relaties tussen de tabellen in uw database wilt weergeven, toevoegen of wijzigen, klikt u op het tabblad Hulpmiddelen voor databases in de groep Relaties op Relaties.
  • Wanneer een subformulierbesturingselement een formulier als bronobject heeft, bevat het de velden die u in het formulier plaatst. U kunt het als één formulier, doorlopend formulier of gegevensblad weergeven. Een voordeel van het baseren van een subformulier op een formulierobject is dat u berekende velden kunt toevoegen aan het subformulier, zoals [Quantity] * [Unit price].
  • U kunt een gegevensblad- of draaiweergave in een formulier invoegen door een subformulierbesturingselement te maken waarvan het bronobject een tabel of query is. Zie het gedeelte Gerelateerde gegevens aan een formulier toevoegen zonder een subformulier te maken voor meer informatie.

Naar boven

Een subformulier maken of toevoegen

Gebruik de volgende tabel om te bepalen welke procedure u het beste in uw situatie kunt gebruiken.

Scenario Aanbevolen procedure
U wilt in Access zowel een hoofdformulier als een subformulier maken en het subformulier moet aan het hoofdformulier worden gekoppeld. Een formulier met een subformulier maken met behulp van de wizard Formulier
U wilt een bestaand formulier als hoofdformulier gebruiken, maar in Access moet een nieuw subformulier worden gemaakt en dit subformulier moet aan het hoofdformulier worden toegevoegd. Een of meer subformulieren toevoegen aan een bestaand formulier met behulp van de wizard Subformulier
U wilt een bestaand formulier als hoofdformulier gebruiken en u wilt een of meer bestaande formulieren als subformulier aan dat formulier toevoegen. Een subformulier maken door een formulier naar een ander formulier te slepen

Een formulier met een subformulier maken met behulp van de wizard Formulier

Met deze procedure wordt een nieuwe combinatie van formulier en subformulier gemaakt met behulp van de wizard Formulier. Dit is ook de snelste manier om aan de slag te gaan als u de formulieren die u wilt gebruiken als het hoofdformulier of subformulier nog niet hebt gemaakt.

  1. Klik op het tabblad Maken in de groep Formulieren op Wizard Formulier.

  2. Selecteer op de eerste pagina van de wizard in de vervolgkeuzelijst Tabellen/query's een tabel of query. Als u in dit voorbeeld een formulier Werknemers wilt maken waarin orders voor elke werknemer in een subformulier worden weergegeven, selecteert u Tabel: Werknemers (de 'een'-zijde van de een-op-veel-relatie).

    Opmerking

    Het maakt niet uit welke tabel of query u eerst kiest.

  3. Dubbelklik op de velden die u van deze tabel of query wilt opnemen.

  4. Selecteer op dezelfde pagina van de wizard in de vervolgkeuzelijst Tabellen/query's een andere tabel of query in de lijst. Selecteer voor dit voorbeeld de tabel Orders (de 'veel'-zijde van de een-op-veel-relatie).

  5. Dubbelklik op de velden die u van deze tabel of query wilt opnemen.

  6. Wanneer u op Volgende klikt en u de relaties juist hebt ingesteld voordat de wizard werd gestart, ziet u de vraag Hoe wilt u de gegevens weergeven?, oftewel op basis van welke tabel of query moeten de gegevens worden weergegeven. Selecteer de tabel aan de 'een'-kant van de een-op-veel-relatie. Als u in dit voorbeeld het formulier Werknemers wilt maken, selecteert u op Werknemers. Er wordt een klein diagram van een formulier weergegeven. De pagina ziet er ongeveer uit zoals de volgende afbeelding:

    Schermopname van de subformulierpagina van de wizard Formulier

    Het vak in het lagere gedeelte van het formulierdiagram stelt het subformulier voor.

    Opmerking

    Als de vraag Hoe wilt u de gegevens weergeven? niet wordt weergegeven, is er geen een-op-veel-relatie gevonden tussen de tabellen of query's die u hebt geselecteerd. De wizard wordt verder uitgevoerd, maar er wordt geen subformulier aan het formulier toegevoegd. U kunt op Annuleren klikken om uw tabelrelaties te controleren voordat u verdergaat.

  7. Selecteer onder aan de wizardpagina Formulier met subformulier(en) en klik op Volgende.

  8. Klik op de pagina Welke opmaak wilt u voor het subformulier gebruiken? op de gewenste opmaakoptie en klik op Volgende. Beide indelingsstijlen rangschikken de subformuliergegevens in rijen en kolommen, maar een tabellaire indeling biedt u meer opties. U kunt kleur, graphics en andere opmaakelementen aan een subformulier in de tabelindeling toevoegen, terwijl een gegevensblad net als de gegevensbladweergave van een tabel compacter is.

  9. Selecteer een opmaak voor het formulier op de volgende pagina van de wizard en klik vervolgens op Volgende. Als u Tabelvorm op de vorige pagina hebt gekozen, wordt de opmaak die u kiest ook toegepast op het subformulier.

  10. Typ op de laatste pagina van de wizard de gewenste titels voor de formulieren. Access noemt de formulieren op basis van de titels die u typt en labelt het subformulier op basis van de titel die u voor het subformulier typt.

  11. Geef op of u het formulier in de formulierweergave wilt openen, zodat u gegevens kunt weergeven of invoeren, of in de ontwerpweergave, zodat u het ontwerp kunt wijzigen. Klik vervolgens op Voltooien. Er worden twee formulieren gemaakt: één voor het hoofdformulier dat het subformulierbesturingselement bevat en één voor het subformulier zelf.

Naar boven

Een of meer subformulieren toevoegen aan een bestaand formulier met behulp van de wizard Subformulier

Gebruik deze procedure om een of meer subformulieren toe te voegen aan een bestaand formulier. Voor elk subformulier kunt u kiezen of er in Access een nieuw formulier moet worden gemaakt of een bestaand formulier als subformulier moet worden gebruikt.

  1. Klik met de rechtermuisknop op het bestaande formulier in het navigatiedeelvenster en klik vervolgens op Ontwerpweergave.
  2. Klik op het tabblad Formulierontwerp in de groep Besturingselementen op de pijl-omlaag om de galerie Besturingselementen weer te geven en zorg ervoor dat Wizards voor besturingselementen gebruiken is geselecteerd.
  3. Klik op het tabblad Formulierontwerp in de groep Besturingselementen op de knop Subformulier/Subrapport .
  4. Klik op het formulier waarin u het subformulier wilt plaatsen.
  5. Volg de aanwijzingen in de wizard. Als u op Voltooien klikt, wordt een subformulierbesturingselement aan het formulier toegevoegd. Als u hebt opgegeven dat voor het subformulier een nieuw formulier moet worden gemaakt in plaats van dat een bestaand formulier wordt gebruikt, wordt het nieuwe formulierobject gemaakt en wordt het aan het navigatiedeelvenster toegevoegd.

Een subformulier maken door een formulier naar een ander formulier te slepen

Gebruik deze procedure als u een bestaand formulier als hoofdformulier wilt gebruiken en er een of meer bestaande formulieren als subformulieren aan wilt toevoegen.

  1. Klik in het navigatiedeelvenster met de rechtermuisknop op het formulier dat u als hoofdformulier wilt gebruiken, en klik vervolgens op Indelingsweergave.
  2. Sleep het formulier dat u als subformulier wilt gebruiken van het navigatiedeelvenster naar het hoofdformulier. Er wordt een subformulierbesturingselement aan het hoofdformulier toegevoegd en het besturingselement wordt gekoppeld aan het formulier dat u uit het navigatiedeelvenster hebt gesleept. Ook wordt geprobeerd het subformulier aan het hoofdformulier te koppelen op basis van de relaties die zijn gedefinieerd in de database.
  3. Herhaal deze stap als u meer subformulieren aan het hoofdformulier wilt toevoegen.
  4. Als u wilt controleren of het koppelen is gelukt, gaat u naar het tabblad Start, klikt u in de groep Weergaven achtereenvolgens op Weergave en Formulierweergave, en gebruikt u vervolgens de recordkiezer van het hoofdformulier om door de verschillende records te gaan. Als het subformulier op de juiste manier voor elke werknemer wordt gefilterd, is de procedure voltooid.

Als de vorige test niet werkt, kan Access niet bepalen hoe het subformulier moet worden gekoppeld aan het hoofdformulier en zijn de Link Child Fields eigenschappen en Link Master Fields van het subformulierbesturingselement leeg. U moet deze eigenschappen als volgt handmatig instellen:

  1. Klik met de rechtermuisknop op het hoofdformulier in het navigatiedeelvenster en klik vervolgens op Ontwerpweergave.

  2. Klik eenmaal op het subformulierbesturingselement om het te selecteren.

  3. Als het taakvenster Eigenschappenvenster niet wordt weergegeven, drukt u op F4 om het weer te geven.

  4. Klik in het eigenschappenvenster op het tabblad Gegevens.

  5. Klik op de knop Bouwen naast het Link Child Fields eigenschappenvak. Het dialoogvenster Linkerveld subformulier wordt weergegeven.

  6. Selecteer in de vervolgkeuzelijsten Hoofdvelden en Subvelden de velden waarmee u de formulieren wilt koppelen, en klik op OK. Als u niet zeker weet welke velden moeten worden gebruikt, klikt u op Suggereren om te proberen of de velden automatisch kunnen worden bepaald.

    Tip

    Als u het veld niet ziet dat u wilt gebruiken om de formulieren te koppelen, moet u mogelijk de recordbron van het hoofdformulier of het onderliggende formulier bewerken om ervoor te zorgen dat het koppelingsveld wordt opgenomen. Als het formulier bijvoorbeeld gebaseerd is op een query, moet u ervoor zorgen dat het veld voorkomt in de queryresultaten.

  7. Sla het hoofdformulier op, ga naar de formulierweergave en controleer vervolgens of het formulier op de gewenste manier werkt.

Een subformulier openen in een nieuw venster in de ontwerpweergave

Als u wijzigingen wilt aanbrengen in een subformulier terwijl u aan het hoofdformulier in de ontwerpweergave werkt, kunt u het subformulier in een apart venster openen:

  1. Klik op het subformulier om het te selecteren.
  2. Klik op het tabblad Formulierontwerp in de groep Extra op Subformulier in nieuw venster.

Naar boven

De standaardweergave van een subformulier wijzigen

Wanneer u een subformulier aan een formulier toevoegt, wordt het subformulier/subrapport weergegeven op basis van de eigenschap van Default View het subformulier. Deze eigenschap kan worden ingesteld op de volgende waarden:

  • Enkel formulier
  • Doorlopend formulier
  • Gegevensblad
  • Gesplitst formulier

Wanneer u voor het eerst een subformulier maakt, is deze eigenschap mogelijk ingesteld op Doorlopende formulieren of Enkel formulier. Als u echter de Default View eigenschap van een subformulier instelt op Datasheet, wordt het subformulier weergegeven als een gegevensblad in het hoofdformulier.

De Default View eigenschap van een subformulier instellen:

  1. Sluit alle geopende objecten.

  2. Klik in het navigatiedeelvenster met de rechtermuisknop op het subformulier en klik vervolgens op Ontwerpweergave.

  3. Als het eigenschappenvenster nog niet wordt weergegeven, drukt u op F4 om het weer te geven.

  4. Zorg ervoor dat in de vervolgkeuzelijst boven aan het eigenschappenvenster de optie Formulier is geselecteerd.

  5. Stel op het tabblad Opmaak van het eigenschappenvenster de eigenschap Standaardweergave in op de weergave die u wilt gebruiken.

    Opmerking

    Als de weergave die u wilt gebruiken niet in de lijst staat, controleert u of de Allow...View eigenschap voor die weergave is ingesteld op Ja. Als u bijvoorbeeld Gegevensblad als de standaardweergave voor het formulier wilt opgeven, moet de eigenschap Gegevensbladweergave toestaan zijn ingesteld op Ja.

  6. Sla het subformulier op en sluit het. Open vervolgens het hoofdformulier om het resultaat te controleren.

Naar boven

U hoeft niet altijd een afzonderlijk formulierobject te maken om gerelateerde gegevens weer te geven. Als u bijvoorbeeld werkt met een formulier in de indelings- of ontwerpweergave en u een tabel of query van het navigatiedeelvenster naar het formulier sleept, wordt in Access een subformulier-/subrapportbesturingselement gemaakt waarmee de gegevens in dat object worden weergegeven. De eigenschap van Default View het object bepaalt hoe de gegevens worden weergegeven. Meestal is dit ingesteld op de gegevensbladweergave, maar u kunt de Default View eigenschap van een tabel of query ook instellen op Enkel formulier, Gesplitst formulier of Doorlopende formulieren, zodat u meer flexibiliteit krijgt bij het weergeven van gerelateerde gegevens in formulieren.

Opmerking

Als u de Default View eigenschap voor een tabel of query wijzigt, bepaalt u hoe deze wordt weergegeven wanneer deze wordt geopend, of u deze opent vanuit het navigatiedeelvenster of in een subformulier-/subrapportbesturingselement. Omdat het wijzigen van de weergave-instellingen voor een tabel soms tot verwarring kan leiden wanneer de tabel wordt geopend vanuit het navigatiedeelvenster, wordt u aangeraden een query voor deze procedure te gebruiken in plaats van een tabel.

Naar boven