Office
Aanmelden

Subrapporten maken en gebruiken

Wanneer u werkt met relationele gegevens (waarbij gerelateerde gegevens in afzonderlijke tabellen zijn opgeslagen), moet u vaak gegevens uit meerdere tabellen of query's weergeven in hetzelfde rapport. U wilt bijvoorbeeld de klantgegevens bekijken, maar u wilt tegelijk ook informatie zien over de orders van de klant. Een subrapport is hiervoor een handig hulpmiddel in Access omdat u hiermee de ordergegevens op logische en leesbare wijze kunt weergeven in het rapport met de klantgegevens. In Access kunt u op veel manieren snel subrapporten maken.

Wat wilt u doen?

Meer informatie over subrapporten

Een subrapport maken

Ontwerpwijzigingen aanbrengen in een subrapport

Meer informatie over subrapporten

Een subrapport is een rapport dat is ingevoegd in een ander rapport. Wanneer u rapporten combineert, is een van de rapporten het hoofdrapport dat het andere rapport bevat. Een hoofdrapport is afhankelijk of niet-afhankelijk. In een afhankelijk rapport kunnen gegevens worden weergegeven en dit kan een tabel, query of SQL-instructie bevatten die is opgegeven in de eigenschap Recordbron. Een niet-afhankelijk rapport is niet gebaseerd op een tabel, query of SQL-instructie (dat wil zeggen dat de eigenschap Recordbron van het rapport leeg is).

Voorbeeld van een niet-afhankelijk hoofdrapport met twee niet-gerelateerde subrapporten    

In een niet-afhankelijk hoofdrapport zelf kunnen geen gegevens worden weergegeven, maar dit kan wel fungeren als hoofdrapport voor niet-gerelateerde subrapporten die u wilt combineren.

Niet-afhankelijk hoofdrapport met twee subrapporten waarin niet-gerelateerde gegevens worden weergegeven

1. Het niet-afhankelijke hoofdrapport bevat twee subrapporten.

2. Eén subrapport bevat een overzicht van de verkoop per werknemer.

3. Het andere subrapport bevat een overzicht van de verkoop per categorie.

Voorbeeld van een hoofdrapport en subrapport die afhankelijk zijn van dezelfde recordbron    

U kunt het hoofdrapport gebruiken om detailrecords weer te geven, zoals elke verkoop in een jaar, en vervolgens een subrapport gebruiken voor samenvattingsgegevens, zoals de totale verkoop voor elk kwartaal.

Hoofdrapport en subrapport zijn afhankelijk van dezelfde recordbron

1. Het subrapport bevat een overzicht van de verkoop in een jaar per kwartaal.

2. Het hoofdrapport bevat de dagelijkse verkoop.

Voorbeeld van een hoofdrapport en een subrapport die afhankelijk zijn van gerelateerde recordbronnen    

Een hoofdrapport kan gegevens bevatten die beschikbaar zijn in een of meer subrapporten. In dit geval bevat het subrapport gegevens die zijn gerelateerd aan de gegevens in het hoofdrapport.

Hoofdrapport met twee subrapporten waarin gerelateerde gegevens worden weergegeven

1. Het hoofdrapport bevat de naam en plaats van elke beurs.

2. Het subrapport bevat de vertegenwoordigers die naar elke beurs gaan.

Subformulieren in een rapport

Een hoofdrapport kan subformulieren bevatten naast subrapporten en kan zoveel subformulieren en subrapporten bevatten als u wilt. Daarnaast kan een hoofdrapport maximaal zeven niveaus van subformulieren en subrapporten bevatten. Een rapport kan bijvoorbeeld een subrapport bevatten en dit subrapport kan een subformulier of een subrapport bevatten enzovoort, tot maximaal zeven niveaus diep.

Als u een subformulier aan een rapport toevoegt en het rapport vervolgens opent in de rapportweergave, kunt u het subformulier gebruiken om de records te filteren en hierin te navigeren. VBA-code (Visual Basic for Applications) en ingesloten macro's die zijn gekoppeld aan het formulier en de bijbehorende besturingselementen, worden nog steeds uitgevoerd, hoewel sommige gebeurtenissen in deze context zijn uitgeschakeld. U kunt geen records toevoegen, bewerken of verwijderen met behulp van een subformulier in een rapport.

Een rapport koppelen aan een subformulier of subrapport

Wanneer u een subformulier of subrapport invoegt met gegevens die zijn gerelateerd aan gegevens in het hoofdrapport, moet het besturingselement van het subrapport zijn gekoppeld aan het hoofdrapport. Met de koppeling wordt ervoor gezorgd dat de weergegeven records in het subformulier of subrapport overeenkomen met de records die worden afgedrukt in het hoofdreport.

Wanneer u een subformulier of subrapport maakt via een wizard of door een object van het navigatiedeelvenster naar een rapport te slepen, wordt het subformulier of subrapport automatisch aan het hoofdrapport gekoppeld als aan een van de volgende voorwaarden wordt voldaan.

  • U definieert relaties voor de tabellen die u selecteert of u definieert relaties voor de onderliggende tabellen van de query's die u selecteert.

  • Het hoofdrapport is gebaseerd op een tabel met een primaire sleutel en het subformulier of subrapport is gebaseerd op een tabel met een veld dat dezelfde naam heeft als de primaire sleutel en hetzelfde of een compatibel gegevenstype. Als de primaire sleutel van de onderliggende tabel van het hoofdrapport bijvoorbeeld het veld AutoNummering is en de eigenschap Veldlengte is ingesteld op Lange integer, moet het bijbehorende veld in de onderliggende tabel van het subformulier of subrapport het veld Nummer zijn waarvoor de eigenschap Veldlengte is ingesteld op Lange integer. Als u een of meer query's als de recordbron van een subformulier of subrapport selecteert, moeten de onderliggende tabellen in de query of query's voldoen aan dezelfde voorwaarden.

Naar boven

Een subrapport maken

Als het subrapport wordt gekoppeld aan het hoofdrapport, moet u ervoor zorgen dat de onderliggende recordbronnen zijn gerelateerd voordat u de volgende procedure uitvoert.

Een subrapport maken met de wizard Subrapport

In deze procedure wordt ervan uitgegaan dat u al een rapport hebt waaraan u een subrapport wilt toevoegen. Zie de artikelen Eenvoudige rapporten maken of Een gegroepeerd rapport of een overzichtsrapport maken voor meer informatie over het maken van een rapport.

  1. Klik in het navigatiedeelvenster met de rechtermuisknop op het rapport waaraan u een subrapport wilt toevoegen en klik op Ontwerpweergave.

  2. Open op het tabblad Ontwerp in de groep Besturingselementen de galerie Besturingselementen door rechtsonder op de pijl-omlaag te klikken:

    afbeelding van lint

  3. Zorg ervoor dat in het menu dat wordt weergegeven, de optie Wizards voor besturingselementen gebruiken is geselecteerd.

  4. Open de galerie Besturingselementen opnieuw en klik op Subformulier/subrapport.

  5. Klik op het formulier op de positie waarop u het subrapport wilt plaatsen.

  6. Als er een dialoogvenster met een beveiligingsmelding wordt weergegeven, klikt u op Openen om de wizard te starten.

  7. Als u een nieuw subformulier of subrapport wilt maken en dit wilt baseren op een tabel of query, klikt u op de eerste pagina van de wizard Subrapport op Bestaande tabellen en query's gebruiken. Als er een bestaand rapport of formulier is dat u wilt gebruiken als subrapport, klikt u op Een bestaand rapport of formulier gebruiken, selecteert u het rapport of formulier in de lijst en klikt u op Volgende.

    De gegevensbron kiezen in de wizard Subrapport

    Opmerking:  Als de database geen andere rapporten of formulieren bevat, is de lijst leeg en is de optie Een bestaand rapport of formulier gebruiken niet beschikbaar.

  8. Als u Een bestaand rapport of formulier gebruiken op de vorige pagina van de wizard kiest, slaat u deze stap over en gaat u direct naar stap 9. Selecteer anders in de lijst Tabellen/query's de tabel of query met de velden die u wilt opnemen in het subrapport en dubbelklik op de gewenste velden in de lijst Beschikbare velden om deze toe te voegen aan het subrapport.

    Velden kiezen in de wizard Subrapport

    Als u het subrapport wilt koppelen aan het hoofdrapport, moet u het veld of de velden opnemen die worden gebruikt om de koppeling te maken, ook als u deze niet wilt weergeven. Meestal is het koppelingsveld een id-veld. In het voorafgaande voorbeeld is de tabel Orders de recordbron van het subrapport en is de tabel Klanten de recordbron van het hoofdrapport. Omdat de tabel Orders aan de tabel Klanten is gerelateerd via het veld Klant-id, wordt dit veld toegevoegd aan de lijst Geselecteerde velden.

    Opmerking: U kunt velden uit meerdere tabellen en query's opnemen in het subrapport. Wanneer u klaar bent met het toevoegen van velden uit een tabel, selecteert u de volgende tabel of query in de lijst Tabellen/query's en voegt u de gewenste velden toe.

    Klik op Volgende om door te gaan.

  9. Op deze pagina van de wizard bepaalt u hoe het subrapport moet worden gekoppeld aan het hoofdrapport. Als er in Access velden worden aangetroffen die geschikt lijken voor het koppelen van het subrapport aan het hoofdrapport, wordt er in de wizard een lijst met mogelijke koppelingssuggesties weergegeven.

    Suggesties voor koppelingsvelden in de wizard Subrapport

    U selecteert de koppelingssuggestie selecteren die het beste bij uw situatie past of u selecteert Geen als u niet wilt dat het subrapport wordt gekoppeld aan het hoofdrapport. Als u het subrapport wilt koppelen aan het hoofdrapport, maar geen van de suggesties geschikt lijken, klikt u op Mijn eigen definiëren.

    Opmerking: Als in de wizard geen velden kunnen worden gevonden die geschikt zijn voor het koppelen, wordt er geen lijst met koppelingssuggesties weergegeven en wordt automatisch de optie Mijn eigen definiëren geselecteerd.

    Uw eigen koppelingen definiëren in de wizard Subrapport

    Wanneer de Mijn eigen definiëren is geselecteerd, worden in de wizard twee sets met lijsten weergegeven.

    • Selecteer onder Formulier-/rapportvelden het veld of de velden in het hoofdrapport dat/die u wilt gebruiken om het hoofdrapport te koppelen aan het subformulier of subrapport. U kunt maximaal drie velden selecteren. Elk veld dat u selecteert, moet overeenkomen met een gerelateerd veld in de gegevensbron van het subformulier of subrapport.

    • Selecteer onder Subformulier-/subrapportvelden het bijbehorende veld of de velden uit het subformulier of subrapport die worden gekoppeld aan de geselecteerde velden in het hoofdrapport.

    • Als u het subformulier of subrapport niet wilt koppelen aan het hoofdrapport, zorgt u ervoor dat alle lijsten leeg zijn.

      Klik op Volgende om door te gaan.

  10. Op de laatste pagina van de wizard typt u een naam voor het subformulier of subrapport of klikt u op Voltooien om de standaardwaarde te accepteren.

    Een naam opgeven in de wizard Subrapport

In Access wordt een subrapportbesturingselement toegevoegd aan het rapport en wordt het besturingselement als volgt gebonden (dat wil zeggen dat de eigenschap Bronobject van het besturingselement wordt ingesteld):

  • Als u Een bestaand rapport of formulier gebruiken hebt geselecteerd op de eerste pagina van de wizard, wordt het subrapportbesturingselement gebonden aan het opgegeven rapport of formulier.

  • Als u Bestaande tabellen en query's gebruiken hebt geselecteerd op de eerste pagina van de wizard, wordt een nieuw rapportobject gemaakt in het navigatiedeelvenster en wordt het subrapportbesturingselement hieraan gebonden. De naam van het nieuwe rapportobject is hetzelfde als de naam die u hebt getypt op de laatste pagina van de wizard.

Een tabel, query, formulier of rapport aan een rapport toevoegen als een subrapport

U kunt een subrapport snel aan een rapport toevoegen door het hoofdrapport te openen in de indelingsweergave of ontwerpweergave en een object hiernaartoe te slepen vanuit het navigatiedeelvenster. Als u het subrapport wilt koppelen aan het hoofdrapport, zorgt u ervoor dat de onderliggende recordbronnen zijn gerelateerd en dat de recordbronnen de velden bevatten die moeten worden gebruikt om het subformulier of subrapport te koppelen aan het hoofdrapport.

  1. Klik in het navigatiedeelvenster met de rechtermuisknop op het rapport dat u wilt gebruiken als hoofdrapport en klik op Indelingsweergave of Ontwerpweergave in het snelmenu.

  2. Sleep een tabel, query, formulier of ander rapport van het navigatiedeelvenster naar het gedeelte van het hoofdrapport waarin u het subrapport wilt weergeven.

In Access wordt een van de volgende handelingen uitgevoerd:

  • Als er kan worden vastgesteld hoe de twee objecten moeten worden gekoppeld, wordt een subrapportbesturingselement toegevoegd aan het rapport. Als u een formulier of rapport toevoegt, wordt het subrapportbesturingselement aan dit object gebonden. Als u een tabel of query toevoegt, wordt er in Access eerst een rapportobject gemaakt en wordt het subrapportbesturingselement vervolgens aan dit nieuwe object gekoppeld.

  • Als er niet kan worden bepaald hoe de twee objecten moeten worden gekoppeld, wordt de wizard Subrapport weergegeven. Als u wilt doorgaan, volgt u de procedure in de sectie Een subrapport maken met de wizard Subrapport vanaf stap 9.

    Wanneer u de wizard hebt voltooid, wordt het subrapport aan het rapport toegevoegd.

Gebruik de volgende procedure om te controleren of het subformulier of subrapport juist aan het hoofdrapport is gekoppeld.

  1. Klik op het subrapportbesturingselement om dit te selecteren.

  2. Als het eigenschappenvenster nog niet wordt weergegeven, geeft u dit weer door op F4 te drukken.

  3. Bekijk op het tabblad Gegevens van het eigenschappenvenster de eigenschappen Hoofdvelden koppelen en Subvelden koppelen.

    • Voor een niet-gekoppeld subformulier of subrapport zijn beide eigenschappen leeg.

    • Voor een gekoppeld subformulier of subrapport worden bij de eigenschappen Hoofdvelden koppelen en Subvelden koppelen het veld of de velden weergegeven op basis waarvan de twee objecten zijn gerelateerd. Als in het hoofdrapport bijvoorbeeld gegevens uit de tabel Werknemers worden weergegeven en het subformulier of subrapport gegevens uit de tabel Orders bevat, moet bij de eigenschap Hoofdvelden koppelen het veld Id van de tabel Werknemers worden weergegeven en moet bij de eigenschap Subvelden koppelen het veld Werknemers-id uit de tabel Orders worden weergegeven.

Het kan gebeuren dat deze eigenschappen moeten worden bewerkt voor een goede werking van het subformulier of subrapport. Gebruik de volgende procedure.

  1. Klik op het tabblad Gegevens van het eigenschappenvenster op het eigenschappenvak Hoofdvelden koppelen en klik op de knop Opbouwen knopafbeelding .

    Het dialoogvenster Koppelfunctie voor subrapportvelden wordt weergegeven.

    Dialoogvenster Koppelfunctie voor subrapportvelden

  2. Selecteer in de lijsten Hoofdvelden en Subvelden de velden waarmee u de rapporten wilt koppelen. Als u niet zeker weet welke velden moeten worden gebruikt, klikt u op Suggereren om te proberen of de velden automatisch kunnen worden bepaald. Wanneer u klaar bent, klikt u op OK.

    Als u het veld niet ziet waarmee u het rapport wilt koppelen, moet u de recordbron van het hoofdrapport of het subformulier of subrapport bewerken, zodat deze het koppelingsveld bevat. Als het rapport bijvoorbeeld is gebaseerd op een query, moet u ervoor zorgen dat het veld voorkomt in de queryresultaten.

  3. Sla het hoofdrapport op en schakel over naar de rapportweergave om te controleren of het rapport werkt zoals u verwacht.

Een tabel of query aan een rapport toevoegen als een gegevensblad

Een gegevensblad is een eenvoudige, visuele weergave van gegevens, die vergelijkbaar is met een spreadsheet. Elke kolom in een gegevensblad staat voor een veld in de brontabel of query en elke rij voor een record. U kunt het besturingselement Subformulier/subrapport gebruiken om een gegevensblad in een rapport weer te geven. Dit is handig in situaties waarin u een compacte weergave van gegevens nodig hebt, maar niet de opmaakmogelijkheden van een formulier- of rapportobject hoeft te gebruiken. Een gegevensblad toevoegen aan een rapport:

  1. Klik in het navigatiedeelvenster met de rechtermuisknop op het rapport dat u wilt gebruiken als hoofdrapport en klik op Ontwerpweergave in het snelmenu.

  2. Open op het tabblad Ontwerp in de groep Besturingselementen de galerie Besturingselementen door rechtsonder op de pijl-omlaag te klikken:

    afbeelding van lint

  3. Zorg ervoor dat in het menu dat wordt weergegeven, de optie Wizards voor besturingselementen gebruikenniet is geselecteerd.

  4. Open de galerie Besturingselementen opnieuw en klik op Subformulier/subrapport.

  5. Klik op het formulier op de positie waarop u het subrapport wilt plaatsen.

  6. Als de wizard Subrapport wordt gestart, klikt u op Annuleren om deze te sluiten.

  7. Als het eigenschappenvenster nog niet wordt weergegeven, geeft u dit weer door op F4 te drukken.

  8. Klik in het rapport op het nieuwe subrapportbesturingselement om dit te selecteren.

  9. Klik op het tabblad Gegevens van het eigenschappenvenster op de pijl in het eigenschappenvak Bronobject en klik op de tabel of query die u wilt weergeven in het subrapportbesturingselement. Als u de tabel Orders wilt weergeven, klikt u bijvoorbeeld op Tabel.Orders.

    Er wordt geprobeerd het gegevensblad te koppelen aan het hoofdrapport, op basis van de relaties die zijn gedefinieerd in de database.

  10. Bekijk op het tabblad Gegevens van het eigenschappenvenster de eigenschappen Hoofdvelden koppelen en Subvelden koppelen.

    • Zorg er voor een niet-gekoppeld gegevensblad voor dat beide eigenschappen leeg.

    • Voor een gekoppeld gegevensblad worden bij de eigenschappen Hoofdvelden koppelen en Subvelden koppelen het veld of de velden weergegeven op basis waarvan de het hoofdrapport is gerelateerd aan het gegevensblad. Als in het hoofdrapport bijvoorbeeld gegevens uit de tabel Werknemers worden weergegeven en het gegevensblad gegevens uit de tabel Orders bevat, moet bij de eigenschap Hoofdvelden koppelen het veld Id van de tabel Werknemers worden weergegeven en moet bij de eigenschap Subvelden koppelen het veld Werknemers-id uit de tabel Orders worden weergegeven.

In sommige gevallen moet u de eigenschappen voor de koppelingsvelden mogelijk zelf instellen. U kunt dit doen met de volgende procedure.

  1. Klik op het tabblad Gegevens van het eigenschappenvenster op het eigenschappenvak Hoofdvelden koppelen en klik op de knop Opbouwen knopafbeelding .

  2. Als er een dialoogvenster met een beveiligingsmelding wordt weergegeven, klikt u op Openen.

    Het dialoogvenster Koppelfunctie voor subrapportvelden wordt weergegeven.

    Dialoogvenster Koppelfunctie voor subrapportvelden

  3. Selecteer in de lijsten Hoofdvelden en Subvelden de velden waarmee u het hoofdrapport wilt koppelen aan het gegevensblad. Als u niet zeker weet welke velden moeten worden gebruikt, klikt u op Suggereren om te proberen of de velden automatisch kunnen worden bepaald. Wanneer u klaar bent, klikt u op OK.

    Als u het veld niet ziet waarmee u het rapport wilt koppelen, moet u de recordbron van het hoofdrapport of het gegevensblad bewerken, zodat deze het koppelingsveld bevat. Als het gegevensblad bijvoorbeeld is gebaseerd op een query, moet u ervoor zorgen dat het koppelingsveld voorkomt in de queryresultaten.

  4. Sla het hoofdrapport op en schakel over naar de rapportweergave om te controleren of het rapport werkt zoals u verwacht.

Naar boven

Ontwerpwijzigingen aanbrengen in een subrapport

Wanneer u een subrapport hebt toegevoegd aan een rapport, wilt u mogelijk ontwerpwijzigingen aanbrengen in het subrapport of wilt u mogelijk in het hoofdrapport verwijzingen maken naar subrapportgegevens. De volgende secties bevatten tips voor het uitvoeren van deze taken.

Een subformulier of subrapport openen in een nieuw venster in de ontwerpweergave

Als u wijzigingen wilt aanbrengen in een subformulier of subrapport terwijl u in de ontwerpweergave aan het hoofdrapport werkt, kunt u het subformulier of subrapport in een apart venster openen.

  1. Klik op het subformulier of subrapport om het te selecteren.

  2. Klik op het tabblad Ontwerp in de groep Extra op Subrapport in nieuw venster.

Opmerking: Deze opdracht is niet beschikbaar als het subformulier-/subrapportbesturingselement is gebonden aan een tabel of query.

Een totaal van een subrapport weergeven in het hoofdrapport

Stel dat u het subrapport Subrapport Orders gebruikt, dat een tekstvak met de naam Totale verzendkosten heeft. In dit tekstvak wordt de som van de kolom Verzendkosten berekend. Als u de som van het subrapport wilt weergeven in het hoofdrapport, moet u een tekstvak toevoegen aan het hoofdrapport en een expressie gebruiken om te verwijzen naar het tekstvak Totale verzendkosten in het subrapport. U kunt dit doen met de volgende procedure.

  1. Klik met de rechtermuisknop op het hoofdrapport in het navigatiedeelvenster en klik op Ontwerpweergave in het snelmenu.

  2. Klik op het tabblad Ontwerp in de groep Besturingselementen op Tekstvak.

  3. Klik in het hoofdrapport op de positie waarop u het nieuwe tekstvak wilt plaatsen.

  4. Als het eigenschappenvenster nog niet wordt weergegeven, geeft u dit weer door op F4 te drukken.

  5. Typ de volgende expressie op het tabblad Gegevens van het eigenschappenvenster in het eigenschappenvak Besturingselementbron.

    =IIf(ISFOUT([Subrapport Orders].[Rapport]![Totale verzendkosten]),0,[Subrapport Orders].[Rapport]![Totale verzendkosten])

    Notities: 

    • In dit voorbeeld kunt u de eenvoudigere expressie =[Subrapport Orders].[Rapport]![Totale verzendkosten] gebruiken, maar als het subrapport dan geen gegevens bevat, wordt in het besturingselement in het hoofdrapport #Fout weergegeven. Als u de functie ISFOUT gebruikt in de functie IIf, zoals is aangegeven in de eerste expressie, wordt in het tekstvak in het hoofdrapport een nul (0) weergegeven als het subrapport geen gegevens retourneert.

    • U kunt de Opbouwfunctie voor expressies gebruiken om de expressie te maken door op de knop Opbouwen knopafbeelding te klikken in het eigenschappenvak Besturingselementbron.

  6. Stel op het tabblad Opmaak van het eigenschappenvenster de eigenschap Notatie in op de juiste waarde (in dit geval Valuta).

  7. Sla het rapport op en schakel over naar de rapportweergave om te controleren of de berekening werkt zoals u verwacht.

Naar boven

Uw Office-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.

×