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

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

Wanneer u met relationele gegevens werkt (gerelateerde gegevens die zijn opgeslagen in aparte tabellen), wilt u vaak meerdere tabellen of query's weergeven op hetzelfde formulier. U wilt bijvoorbeeld tegelijkertijd klantgegevens uit de ene tabel en gegevens over de klantorders uit een andere tabel weergeven. Subformulieren zijn hiervoor een handig hulpmiddel. In Access kunt u op verschillende manieren snel subformulieren maken.

Opmerking : Dit artikel is niet van toepassing op Access-web-apps, het type database dat u met Access ontwerpt en online publiceert.

Wat wilt u doen?

Meer informatie over subformulieren

Een subformulier maken of toevoegen

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

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

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

Een subformulier openen in een nieuw venster in de ontwerpweergave

De standaardweergave van een subformulier wijzigen

Gerelateerde gegevens aan een formulier toevoegen zonder een subformulier te maken

Meer informatie over subformulieren

Een subformulier is een formulier dat is ingevoegd in een ander formulier. Het primaire formulier wordt het hoofdformulier genoemd en het formulier dat wordt ingevoegd wordt het subformulier genoemd. De combinatie van een formulier met een subformulier wordt ook wel aangeduid als een hiërarchisch formulier, een hoofdformulier met een detailformulier of een formulier met bovenliggende en onderliggende items.

Subformulieren zijn met name effectief als u gegevens wilt weergeven van tabellen of query's die een een-op-veel-relatie hebben. Een een-op-veel-relatie is een koppeling tussen twee tabellen waarbij de primaire-sleutelwaarde van elke record in de primaire tabel overeenkomt met de waarde in een of meer bijbehorende velden van veel records in de gerelateerde tabel. U kunt bijvoorbeeld een formulier maken waarin werknemersgegevens worden weergegeven en dat een subformulier bevat 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 is de 'veel'-kant van de relatie (elke werknemer kan meerdere orders 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 hoofdformulier en het subformulier niet aan elkaar zouden zijn gekoppeld, zouden in het subformulier alle orders worden weergegeven, niet alleen die van Fenna.

De volgende tabel bevat definities van enkele termen met betrekking tot subformulieren. Als u de procedures in dit artikel gebruikt worden de meeste taken automatisch uitgevoerd, maar het is toch handig wat inzicht te hebben als u op een later tijdstip 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 als het bronobject een tabel of query is, of als het bronobject een formulier is waarvan de eigenschap Standaardweergave is ingesteld op Gegevensblad. 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 bepaald welke veld(en) in het subformulier het subformulier aan het hoofdformulier koppelen.

Eigenschap Hoofdvelden koppelen

De eigenschap van het subformulierbesturingselement waarmee wordt bepaald welke veld(en) in het hoofdformulier het hoofdformulier aan het subformulier koppelen.

Notities : 

  • 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 de database wilt bekijken, toevoegen of wijzigen, gaat u naar het tabblad Hulpmiddelen voor databases en klikt u in de groep Weergeven/verbergen op Relaties.

  • Wanneer een subformulierbesturingselement een formulier als bronobject heeft, bevat het de velden die u in het formulier plaatst, en kan het worden weergegeven als één formulier, een doorlopend formulier of een gegevensblad. Als u een subformulier op basis van een formulierobject maakt, heeft dit als voordeel dat u berekende velden aan het subformulier kunt toevoegen, zoals [Hoeveelheid]*[PrijsPerEenheid].

  • 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 de snelste manier als u nog geen formulieren hebt gemaakt die als hoofdformulier of subformulier kunnen worden gebruikt.

  1. Klik op het tabblad Maken in de groep Formulieren op Wizard Formulier. Als u Access 2007 gebruikt, klikt u op Maken > Meer formulieren (in de groep Formulieren) > Wizard Formulier.

  2. Selecteer op de eerste pagina van de wizard in de vervolgkeuzelijst Tabellen/query's een tabel of query. Als u bijvoorbeeld een formulier Werknemers wilt maken waarin orders voor elke werknemer in een subformulier worden weergegeven, selecteert u Tabel: Werknemers (de 'een'-kant 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 bijvoorbeeld de tabel Orders (de 'veel'-kant 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. In dit voorbeeld wilt u het formulier Werknemers maken, dus klikt u op volgens Werknemers. Er wordt een klein diagram van een formulier weergegeven. De pagina ziet er ongeveer uit zoals de volgende afbeelding:

    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. Bij beide opmaakstijlen worden de gegevens van het subformulier in rijen en kolommen ingedeeld, maar bij de tabelindeling kunt u gemakkelijker wijzigingen aanbrengen. U kunt kleur, afbeeldingen 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. De formulieren krijgen automatisch namen die gebaseerd zijn op de titels die u typt. Het label van het subformulier wordt toegekend op basis van de titel die u voor het subformulier typt.

  11. Geef aan of het formulier moet worden geopend in de formulierweergave zodat u gegevens kunt bekijken 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. Ga naar het tabblad Ontwerp en klik 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 Ontwerpen in de groep Besturingselementen op de knop Subformulier/subrapport.

  4. Klik op het formulier waar 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 om een bestaand formulier als hoofdformulier te gebruiken en als u een of meer bestaande formulieren als subformulier aan dat formulier 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 niet worden bepaald hoe het subformulier aan het hoofdformulier moet worden gekoppeld en zijn de eigenschappen Subvelden koppelen en Hoofdvelden koppelen 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 dit weer te geven.

  4. Klik in het eigenschappenvenster op het tabblad Gegevens.

  5. Klik op de knop Opbouwen Knop Opbouwfunctie naast het vak van de eigenschap Subvelden koppelen.

    Het dialoogvenster Koppelfunctie voor subformuliervelden 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 waarmee u de formulieren wilt koppelen, moet u misschien de recordbron van het hoofd- of subformulier bewerken zodat deze het betreffende veld bevat. 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 Ontwerpen 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, geeft het subformulier-/subrapportbesturingselement het subformulier weer in overeenstemming met de eigenschap Standaardweergave van het subformulier. Deze eigenschap kan worden ingesteld op de volgende waarden:

  • Enkel formulier

  • Doorlopend formulier

  • Gegevensblad

  • Gesplitst formulier

Wanneer u eerst een subformulier maakt, kan deze eigenschap worden ingesteld op Doorlopend formulier of misschien Enkel formulier. Als u echter de eigenschap Standaardweergave van een subformulier instelt op Gegevensblad, wordt het subformulier als een gegevensblad in het hoofdformulier weergegeven.

U gaat als volgt te werk om de eigenschap Standaardweergave van een subformulier in te stellen:

  1. Sluit alle geopende objecten.

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

  3. Klik op F4 als het eigenschappenvenster nog niet wordt weergegeven, om dit 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 gewenste weergave niet in de lijst voorkomt, zorgt u ervoor dat de eigenschap '…weergave toestaan' 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

Gerelateerde gegevens aan een formulier toevoegen zonder een subformulier te maken

Het is niet altijd nodig een apart 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 Standaardweergave van het object bepaalt hoe de gegevens worden weergegeven. Deze is gewoonlijk ingesteld op de gegevensbladweergave, maar u kunt de eigenschap Standaardweergave van een tabel of query ook instellen op Enkel formulier, Gesplitst formulier of Doorlopend formulier, waardoor u meer flexibiliteit krijgt bij het weergeven van gerelateerde gegevens in formulieren.

Opmerking :  Met de instelling van de eigenschap Standaardweergave voor een tabel of query wordt de weergave bij het openen bepaald, ongeacht of deze wordt geopend vanuit het navigatiedeelvenster of wordt weergegeven 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

Uw vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×