Office 2007 - Access

Les 65: Macro’s (2)

65/72 Lessen 

Ingesloten macro

Om een knop in het formulier te voorzien van een macro selecteer je de knop, en open je het eigenschappenvenster.
Hoe je een knop toevoegt, en hoe je het eigenschappenvenster opent zou je ondertussen al moeten weten.
Selecteer het veld “Bij klikken” in het eigenschappenvenster, en klik de knop met de puntjes.
Dit even ter informatie: klikken op het naar benedenwijzend pijltje naast deze knop geeft een lijst met alle eerder gemaakte “zelfstandige” macro’s.

 

 

Dit opent het macrovenster.
De eerste actie die ik toevoeg blijft dezelfde als in de vorige les, dus een rapport openen in afdrukvoorbeeld.
Maar hier voeg ik als voorbeeld nog een tweede actie in.
Wanneer het rapport opent moet de inhoud hiervan worden ingezoomd tot 50%.
Dus klik ik de tweede lijn in de kolom “Actie”, en kies “OpdrachtUitvoeren” in het drop-downlijst.
Voor deze actie kan slechts één actieargument worden ingesteld.
Ik klik hiervoor het veld “Opdracht”, en uit het drop-downmenu kies ik “Zoom50%”.

Klik de knop “Opslaan” in de werkbalk “Snelle toegang”, en sluit het macrovenster.
Wanneer je nu gaat zoeken in het navigatievenster naar de zojuist aangemaakte macro, zal je deze niet vinden. Dit is wat men noemt een “Ingesloten macro”.

Je kunt deze macro niet meer gebruiken voor andere knoppen.

Je zult deze macro ook niet vinden wanneer je het naar benedenwijzend pijltje klikt, in de lijst met “zelfstandige” macro’s.

Voorwaarden ingeven

Het is hier niet de bedoeling van alle acties die mogelijk zijn met een macro te gaan uitleggen, maar een paar belangrijke wil ik je toch niet ontnemen.

Het eerste is een voorwaarde ingeven.

In dit voorbeeld open ik het formulier “Toevoegen klant”, in “Ontwerpweergave”.

Wat ik wil bereiken is, wanneer iemand de postcode 9100 intypt, automatisch in het veld “Woonplaats” de waarde “St-Niklaas” wordt ingevoegd, en dat de cursor springt naar het veld “Telefoon Werk”, wanneer je de tabtoets of de ENTERtoets op je toetsenbord klikt..

Dit even terzijde: het wordt een ingesloten macro.

Hoe doen we dat?

Selecteer eerst het veld “Postcode”, in het formulier.

Open het eigenschappenvenster.
Selecteer het veld “Bij verlaten” in het eigenschappenvenster, onder het tabblad “Gebeurtenis”.

Klik de knop met de drie puntjes, en kies “Opbouwfuncties voor macro’s” in het dialoogvenster.
Klik de knop OK.

Het macrovenster verschijnt.

Aangezien we een voorwaarde willen toevoegen aan de actie, moeten we eerst de kolom “Voorwaarden” openen.
Klik hiervoor de knop “Voorwaarden” in het macrovenster.

Belangrijk is ook, wanneer je met een specifieke waarde werkt voor een specifiek veld, dat je de knop “Alle acties weergeven” klikt, dit geeft ons een lijst met alle acties die we kunnen gebruiken in Access. Standaard zijn deze niet ingesteld, standaard zal je enkel de acties worden weergegeven die volgens Access “veilig” zijn.

Het eerste wat we ingeven is de voorwaarde.

Wanneer je gewend bent met Accesscodes te werken kan je deze manueel ingeven, anders klik je de knop “Opbouwfunctie” in het lint.
Dit opent het venster “Opbouwfuncties voor expressies”.

In dit dialoogvenster selecteer je het tekstvak dat je wil gebruiken in je code.
Dit kan je vinden wanneer je dubbelklikt op de naam van het formulier waarin je werkt, dit is in dit geval het formulier “Toevoegen Klanten “.
In het midden van het dialoogvenster dubbelklik je het veld “Postcode”, en typ je vervolgens de waarde:
In (“9100”)
Deze code betekent eigenlijk niet meer of minder dan:
wanneer je in het formulier “Toevoegen Klant”, in het veld “Postcode” de waarde 9100 intypt.

Belangrijk: Deze waarde moet tussen haakjes staan, en tussen aanhalingstekens.

Klik de knop “OK”

Dit ter informatie:

Heb je meerdere waarden waarmee je automatisch het vak “Woonplaats” wil laten invullen, dan typ je bvb: In (“9100″;”9111″;”9110”).
Je scheidt de verschillende waarden met een puntkomma en elke waarde moet tussen aanhalingstekens.

Dit brengt ons terug in het macrovenster.
Selecteer het eerste veld in de kolom “Actie”, klik het naar benedenwijzend pijltje dat verschijnt, en in het drop-downmenu kies je de actie “WaardeInstellen”.
Selecteer het eerste veld in de kolom “Argumenten”.
Onderaan in het deel “Actieargumenten” typ je tussen vierkante haken, in het vak “Item” het veld dat automatisch moet worden ingevuld, in dit geval het veld [Woonplaats].
In het vak “Expressie” typ je de waarde tussen aanhalingstekens, waarmee het veld “Woonplaats” moet worden ingevuld, in dit geval “St-Niklaas”.

Als tweede actie wilden we dat de cursor naar het veld “Telefoon werk” sprong na het klikken van de ENTERtoets op ons toetsenbord.
Klik hiervoor de tweede rij in de kolom “Actie”, en kies de actie ‘NaarbesturingselementGaan” in het drop-downmenu.
In de kolom “Voorwaarde” typ je drie puntjes, dit betekent voor Access dat hij na de actie “WaardeInstellen” naar de volgende actie moet gaan.
In het deel “Actieargumenten” hebben we voor deze actie slechts één argument nodig, namelijk het besturingselementnaam.
Dit is het besturingselement naar waar de cursor moet springen, wanneer je de ENTERtoets hebt geklikt. In dit geval [Telefoon Werk].
We typen ook dit besturingselement tussen vierkante haken.
Dan hebben we nu dit:

Klik de knop “Opslaan” in de werkbalk “Snelle toegang”.
Sluit het macrovenster, en probeer dit alles even uit in “Formulierweergave”.

Formidabel U hebt Les 65 voltooid START VOLGENDE LES