Applies ToAccess voor Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Standaard kunt u rapporten afdrukken die geen records bevatten. U kunt dit probleem oplossen door een macro of VBA-code (Microsoft Visual Basic for Applications) te gebruiken om de afwezigheid van records in een rapport te detecteren en vervolgens de afdrukbewerking te annuleren. In de stappen in dit artikel wordt uitgelegd hoe u beide technieken gebruikt.

Wat wilt u doen?

U wilt waarschijnlijk het afdrukken van een rapport annuleren als het geen records bevat. Als u bijvoorbeeld een nieuw product begint te verkopen, is er waarschijnlijk een periode waarin u nog geen verkopen hebt geregistreerd. U moet daarom rekening houden met de mogelijkheid dat sommige rapporten geen detailrecords bevatten en dat statistische functies, zoals de functie Aantal , mogelijk niets te tellen hebben. Als u een dergelijke gebeurtenis correct wilt afhandelen, kunt u een macro maken waarmee de afdruktaak wordt geannuleerd. U kunt ook een paar regels met zorgvuldig geplaatste VBA-code toevoegen om hetzelfde te doen. VBA is de programmeertaal die Access gebruikt.

U voegt de macro of de VBA-code toe aan de gebeurtenisprocedure On No Data van het rapport. Access activeert de gebeurtenis Geen gegevens wanneer u een rapport uitvoert dat geen records bevat. De macro en de VBA-code die in dit artikel worden beschreven, geven een geschikt bericht weer en annuleren het afdrukken van het rapport wanneer dat rapport geen gegevens bevat. Wanneer u een macro of VBA-code toevoegt aan de gebeurtenisprocedure Bij geen gegevens , wordt de macro of de VBA-code uitgevoerd wanneer u een rapport opent dat geen records bevat. Wanneer u op OK klikt om een van de waarschuwingsberichten te sluiten, sluit de macro ook het lege rapport. Wanneer u de macro of de VBA-code aan het rapport toevoegt, wordt er geen leeg rapport geopend wanneer u het probeert weer te geven in de rapportweergave of indelingsweergave, maar u kunt het rapport wel openen in de ontwerpweergave.

Een macro gebruiken om het afdrukken te annuleren

In de macro die in deze sectie wordt beschreven, wordt een waarschuwingsbericht weergegeven wanneer u een leeg rapport probeert af te drukken. Wanneer u op OK klikt om het berichtvak te sluiten, wordt de afdrukbewerking automatisch geannuleerd. Als u geen waarschuwingsbericht opneemt, lijkt het alsof er niets gebeurt wanneer u het rapport probeert af te drukken, iets wat de gebruikers van het rapport waarschijnlijk in verwarring brengt.

De macro maken

  1. Klik in het navigatiedeelvenster met de rechtermuisknop op het rapport dat u wilt wijzigen en klik op Ontwerpweergave.

  2. Klik op het tabblad Ontwerpen in de groep Weergeven/verbergen op Eigenschappenvenster.

    -of-

    Dubbelklik op het vak in de linker- of rechterbovenhoek van het rapport, afhankelijk van uw land- en taalinstellingen.

  3. Klik op het tabblad Gebeurtenis en klik in het vak Zonder gegevens op Knop Opbouwfunctie.

    Het dialoogvenster Opbouwfunctie kiezen wordt weergegeven.

  4. Klik op Opbouwfunctie voor macro's en klik vervolgens op OK.

    De macroontwerper wordt gestart en er wordt een lege macro weergegeven.

  5. Selecteer In de vervolgkeuzelijst met macroacties in het macroontwerpvenster de optie Berichtenvak in de lijst.

  6. typ in het vak Bericht de tekst voor uw waarschuwingsbericht.

    U kunt bijvoorbeeld het volgende invoeren: Er zijn geen records om te rapporteren.

  7. Wijzig eventueel de waarde van het argument in het vak Pieptoon van Ja in Nee en selecteer in de lijst Type het type pictogram dat u in uw waarschuwingsbericht wilt weergeven.

  8. Typ in het vak Titel de titel voor uw waarschuwingsbericht.

    U kunt bijvoorbeeld Geen records invoeren.

  9. Selecteer de vervolgkeuzelijst met macroacties onder de actie Berichtenvak en selecteer vervolgens AnnulerenGebeurtenis.

  10. Klik op het tabblad Ontwerpen in de groep Sluiten op Opslaan.

  11. Ga naar het tabblad Ontwerp en klik in de groep Sluiten op Sluiten. Als er een waarschuwingsbericht wordt weergegeven en wordt gevraagd of u wijzigingen in de macro en de rapporteigenschap wilt opslaan, klikt u op Ja, sluit u het rapport, slaat u de wijzigingen op als u hierom wordt gevraagd en gaat u verder met de volgende stappen om het te testen.

Uw macro testen

  • Klik in het navigatiedeelvenster met de rechtermuisknop op het rapport dat de macro bevat en klik op Afdrukken. Afhankelijk van de opties die u hebt gekozen, wordt er een waarschuwingsbericht weergegeven.

    Wanneer u op OK klikt om het bericht te sluiten, wordt de afdrukbewerking met de actie CancelEvent gestopt. Omdat u geen andere gebeurtenis hebt opgegeven (zoals het openen van het rapport voor weergave), wordt het rapport gesloten.

Naar boven

VBA-code gebruiken om het afdrukken te annuleren

De VBA-code die hier wordt beschreven, werkt vergelijkbaar met de macro die in de vorige sectie is beschreven: er wordt een waarschuwingsbericht weergegeven wanneer u een leeg rapport opent en vervolgens wordt de afdrukbewerking geannuleerd wanneer u het waarschuwingsbericht sluit.

VBA-code toevoegen

  1. Klik in het navigatiedeelvenster met de rechtermuisknop op het rapport dat u wilt wijzigen en klik op Ontwerpweergave.

    Opmerking: Gebruik een rapport dat geen records bevat om deze procedure te voltooien.

  2. Klik op het tabblad Ontwerpen in de groep Weergeven/verbergen op Eigenschappenvenster.

    -of-

    Dubbelklik op het vak in de linker- of rechterbovenhoek van het rapport, afhankelijk van uw land- en taalinstellingen.

  3. Klik op het tabblad Gebeurtenis en klik in het vak Zonder gegevens op Knop Opbouwfunctie.

    Het dialoogvenster Opbouwfunctie kiezen wordt weergegeven.

  4. Klik op Code Builder en klik vervolgens op OK.

    De Visual Basic Editor wordt gestart en er wordt een lege gebeurtenisprocedure weergegeven.

  5. Typ de volgende code in de Visual Basic Editor, zodat de Report_NoData procedure er precies zo uitziet wanneer u klaar bent:

    Private Sub Report_NoData (Cancel As Integer)  MsgBox "There are no records to report", vbExclamation, "No Records"  Cancel = TrueEnd Sub
  6. Wanneer u klaar bent, klikt u op Bestand en vervolgens op Opslaan.

  7. Klik op Bestand en klik vervolgens op Sluiten en terugkeren naar Microsoft Access.

  8. Sluit het geopende rapport en klik op Ja om het opslaan te bevestigen.

  9. Klik in het navigatiedeelvenster met de rechtermuisknop op het rapport dat u zojuist hebt gewijzigd en klik op Afdrukken. Afhankelijk van de opties die u hebt gekozen, wordt er een waarschuwingsbericht weergegeven.

In de Report_NoData procedure wordt de functie MsgBox gebruikt om het bericht Er zijn geen records te rapporteren en een knop OK weer te geven. Wanneer u op OK klikt, geeft de regel 'Cancel=True' in de procedure de opdracht om het rapport te annuleren. Annuleren is een argument dat automatisch wordt doorgegeven aan de gebeurtenisprocedure en altijd wordt gecontroleerd door Access wanneer de gebeurtenisprocedure is voltooid.

Naar boven

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.