Office 2007 - Access

Les 66: Macro’s (3)

66/72 Lessen 

Validatiemacro

Een tweede, wel interessante actie, is de actie “GebeurtenisAnnuleren”.
Met deze actie kunnen we controleren of de ingevoerde gegevens aan bepaalde voorwaarden voldoen, is dit niet het geval, dan wordt de gebeurtenis geannuleerd.
Bijvoorbeeld:
Wordt er in het formulier “Toevoegen Klant” voor het veld “Firma” niets ingevuld, dan zal Access ons hiervan een waarschuwing geven, en het nieuwe record niet toevoegen voor er een klant in het veld “Firma” is ingetypt.

Hiervoor open ik eerst het formulier “Toevoegen Klant” in de “Ontwerpweergave”.

 

Belangrijk:

In het formulier zelf mag er geen enkel veld zijn geselecteerd.
Klik de knop “Eigenschappenvenster” in het lint.
In het bovenste vak van het eigenschappenvenster selecteer je “Formulier”.
Selecteer het veld “Voor bijwerken”, onder het tabblad “Gebeurtenis”, en klik de knop met de drie puntjes.
Waarom kies ik het veld “Voor bijwerken”, wel dan wordt er een actie ondernomen VOOR het record wordt bijgewerkt, indien er aan een bepaalde voorwaarde niet is voldaan.
In dit geval, het niet ingeven van een naam voor een firma.

Wanneer we hebben geklikt op de knop met de drie puntjes, verschijnt het venster “Opbouwfunctie kiezen”.
Kies “Opbouwfunctie voor macro’s”, en klik de knop OK.
Dit opent het macrovenster.
Klik de knop “Voorwaarden” in het macrovenster.
Selecteer het bovenste veld in de kolom “Voorwaarden”, en klik de knop “Opbouwfunctie” in het macrovenster.
In het venster “Opbouwfunctie voor expressies” dubbelklik je in het linkse deel het formulier waarin het veld staat waarvoor we een voorwaarde willen ingeven. In dit geval is dit het formulier “Toevoegen Klant”.
En in het middelste deel dubbelklik je het veld, in dit geval “Firma”.
Typ daarna: Is Null.
Dus in het Nederlands:
wanneer het veld “Firma”, in het formulier “Toevoegen Klant” geen waarde heeft.
Dit is de voorwaarde.
Klik de knop OK om terug te keren naar het macrovenster.

 

Selecteer het bovenste veld in de kolom “Actie”, klik het naar beneden wijzend pijltje, en kies de actie “GebeurtenisAnnuleren”.
De tweede actie die ik wil is, dat er een venster opent wanneer aan de eerste voorwaarde wordt voldaan, wanneer dus het veld “Firma” leeg is.
Dus ik typ de drie puntjes in de kolom “Voorwaarde”, zodat Access weet dat hij verder moet gaan na de eerste actie.
En kies als actie “Berichtvenster”.
Voor deze actie kunnen we 4 argumenten instellen.
Het bericht dat de gebruiker krijgt wanneer hij geen firmanaam ingeeft.
Of je een pieptoon wenst te horen.
Het type van het venster, je hebt keuze tussen vier verschillende vensters, plus geen venster.
En wens je een titel voor dit venster typ je deze hier.

En als laatste actie wil ik nog dat wanneer er niks is ingevuld in het vak “Firma”, de cursor van de gebruiker naar dat lege veld wordt gebracht.
Dus in de kolom “Voorwaarde” typ ik terug de drie puntjes, en in de kolom “Actie” kies ik voor “NaarBesturingselementGaan”.

In het invulvak “”Besturingselementnaam” in de sectie ” Actieargument” typ ik het besturingselement tussen vierkante haken, naar waar de cursor moet springen.
In dit geval is dit het veld [Firma].

Sla de macro op, door op de knop “Opslaan” te klikken in de werkbalk “Snelle toegang”.
Sluit het macrovenster, en probeer in formulierweergave eens een nieuwe klant in te geven zonder het veld “Firma” in te vullen.
Het waarschuwingsvenster wordt uiteraard pas getoond wanneer je, of de knop “Nieuwe (lege) record” klikt, of het formulier wil sluiten.

Formidabel U hebt Les 66 voltooid START VOLGENDE LES