Opbouw AdresMenu: modules

Zie ook:

PCMenu Access uitgeplozen Macro, module en programmacode
Tabellen Query's  Formulieren
Andere formulieren Rapporten  

In deze tekst:

Databasevenster: modules
Gebruik in VBA , en .
Indeling van een module
Foutafhandeling
Functies

Databasevenster: tabblad Modules

Met modules kunt u functies en subroutines definiëren. Met functies en subroutines kunt u veel gebruikte bewerkingen eenmalig aanmaken en deze elders in uw programma steeds weer oproepen. 

Een functie geeft altijd een waarde terug, een subroutine niet. Zowel functies als subroutines kunt u oproepen met parameters, die u bij het aanroepen van de functie of subroutine meegeeft. In het volgende voorbeeld geeft u bij de oproep van de functie fInformatie() de parameter "titel" mee:

    strProgrammanaam = fInformatie("titel")

Gebruik in VBA , en .

VBA gaat uit van de Amerikaanse schrijfwijze van getallen, dus met een punt als decimaalteken. Gebruik daarom in VBA een , als scheidingsteken en een . als decimaal teken. In formulieren, rapporten en query's gebruikt u een ; als scheidingsteken en een , als decimaal teken.

Indeling van een module

Tip: Zet als tweede regel in elke module de regel Option explicit . Met deze opdracht dwingt u af dat u alle gebruikte variabelen benoemt. Het voordeel is dat u veel eerder een fout getypte variabele herkent en daardoor een aantal lastig te achterhalen foutmeldingen vermijdt.

 

U kunt commentaar in uw module opnemen door als eerste teken in de regel een ' te typen.

U kunt lange regels afbreken en laten doorlopen op een nieuwe regel, door als laatste teken in de eerste regel(s) een vrijstaande _ te typen. De _ mag niet in een string staan.

Foutafhandeling

In modules kunt u goed een foutafhandeling opnemen. Hiermee voorkomt u dat de gebruiker van uw programma onduidelijke meldingen krijgt, wanneer er een fout in uw programma zit of wanneer de gebruiker een verkeerde handeling uitvoert. U kunt er voor kiezen om:

foutmeldingen te negeren, gebruik dan de regel On Error Resume Next,
foutmeldingen af te handelen zonder dat de gebruiker hier een melding van ziet,
foutmeldingen af te handelen en de gebruiker hiervan een melding te laten zien: zet dan de regel MsgBox .... in de foutafhandelingscode.

Als u foutafhandeling toepast, zorg er dan voor dat er een Exit Function regel staat vóór de foutafhandelingscode, zodat de functie bij normaal verloop verlaten wordt.

Functies

U kunt in de modules functies opnemen die u overal in het programma kunt oproepen. Hieronder ziet u enkele voorbeelden van enkele algemene functies die in AdresMenu gebruikt zijn.

Om een formulier te openen:

U kunt een formulier openen door bij een knop bij de Gebeurtenis Bij klikken de volgende regel te zetten:

    =fForm("frmUwformuliernaam")

Zie de Gebeurtenis Bij openen bij de meeste knoppen op de formulieren in AdresMenu.

Om de eerste spatie in een string op te zoeken:

In AdresMenu staan de belangrijke gegevens van het programma in een aparte tabel (met slechts één record), tblInformatie. Met de functie fInformatie() uit de module basAlgemeen kunt u de verschillende velden van deze tabel uitlezen.

U kunt deze functie testen door Ctrl+G te typen en dan in het Directvenster te typen:

    ? fInformatie("titel")

U krijgt dan de titel van het programma terug. Op diverse plaatsen, onder meer in formulieren en in queries, in het programma wordt de functie fInformatie() gebruikt.

In de module basVertaal is een functie fVt() opgenomen, die een veldnaam naar een door u opgegeven veldnaam vertaalt. U kunt hiermee zelf de namen van een aantal velden aanpassen. De nieuwe veldnamen worden dan op het invulformulier, maar ook op diverse afdrukken getoond. De tabel waarin de veldnamen worden vertaald is de tabel tblVertaal. U kunt deze tabel bijweken vanuit het formulier frmVertaal dat u kunt openen vanaf het Informatie-formulier.

MsgBox, SetWarnings, DoCmd.RunCommand

U kunt MsgBox gebruiken om een melding weer te geven, maar ook om een vraag te stellen aan de gebruiker. U bepaalt zelf welke knoppen zichtbaar zijn (Ja/Yes, Nee/No, OK, Cancel/Annuleren, in dit voorbeeld: de knoppen Ja/Yes en Nee/No) en wat de standaard knop is (in dit voorbeeld: de tweede knop, dus de Nee-knop).

Met SetWarnings onderdrukt u een waarschuwing of foutmelding bij het uitvoeren van de hierop volgende regels programmacode.

Een uitleg van alle RunCommand items vindt u op http://home.clara.net/tkwickenden/. 

With ... End With

Met With ... End With kunt u een verwijzing één keer benoemen en daarna op deze verwijzing doorgaan. In dit voorbeeld zijn alle verwijzingen die met een . beginnen (zoals .cmdVerwijder.Enabled) een verwijzing binnen de verwijzing Screen.ActiveForm.

Sluit een With ... altijd af met een End With regel (hier niet getoond).