IT Fjernundervisning

Makroer og knapper

Beskrivelse

Makroer og knapper

Makroer du har oprettet eller selv har skrevet kan, som du allerede har set, aktiveres via Makroer fanen og via menupunktet Funktioner | Makro | Afspil makro..., men der er også andre muligheder.

En knap i en formular

Åben den formular, der skal bruge makroen.

Skift til design visning.

Fra toolbox'en kan man vælge en kommandoknap:

Access VBA kursus - Makroer og knapper 1 - fjernundervisning

I den dialog der fremkommer kan man vælge at knytte en makro til knappen:

Access VBA kursus - Makroer og knapper 2 - fjernundervisning

 

 

 

 

 

En knap i en værktøjslinje

Hvis du højreklikker på en værktøjslinje og vælger Tilpas dukker denne dialog frem:

Access VBA kursus - Makroer og knapper 3 - fjernundervisning

Vælger du Kommandoer fanen og Makro kategorien kan du trække den makro du gerne vil bruge op i værktøjslinjen (vær opmærksom på at det skal være INDE i en værktøjslinje for at virke). Højreklikker du nu på makroen (i værktøjslinjen) kan du tilpasse knappens egenskaber.

Læg mærke til, at du også her kan skifte knapflade mm.

 

Bemærk at ændringer i værktøjslinjer og menuer er generelle for Access - dvs. ændringerne også vil være der når du åbner andre databaser, MEN ikke følge med når basen sendes til andre.

Husk, at det også er muligt at lave sin egen værktøjslinje, hvor man kan samle alle sine makroer.

 

 

Et menupunkt

Det skulle du nok kunne finde ud af nu!

I stedet for at trække makroen til værktøjslinjen skal du trække den op i menuen i stedet.

 


Øvelse

Lav en kopi af databasen fra forrige øvelse - kald kopien "Makroer og knapper.mdb".

Opret knapper til de forskellige makroer i formularen

Prøv også at få dine makroer til at virke fra værktøjslinje og menu.

Send din database til mig - husk at pakke sammen eller omdøbe.


Løsning

Du kan downloade mit forslag til løsning her.

Læg mærke til koden til mine knapper - den ser sådan her ud:

Private Sub cmdForrige_Click()   GåTilForrige End Sub  Private Sub cmdLukAccess_Click()   LukAccess End Sub  Private Sub cmdNext_Click()   GåTilNæste End Sub

De 3 makroer, der kaldes er dem jeg optog i sidste øvelse - og én af dem ser sådan her ud:

 

Function GåTilForrige() On Error GoTo GåTilForrige_Err    DoCmd.GoToRecord , "", acPrevious   GåTilForrige_Exit:   Exit Function  GåTilForrige_Err:   MsgBox Error$   Resume GåTilForrige_Exit  End Function

Tricket er, at lade være med at bruge den guide, der kommer frem når man indsætter en ny knap på formen. I stedet navngiver man knappen manuelt og tildeler den en hændelsesprocedure i egenskabsvinduet for knappen.

Start med at trække en kommandoknap ind på formen og klik på Annuler på den dialog, der kommer frem:

Højreklik på knappen og vælg Egenskaber

I toppen på Alt fanen kan du give knappen et fornuftigt navn og en titel tekst

Og på Hændelser fanen kan du knytte en hændelsesprocedure ved at klikke på de 3 ..., der kommer frem når du klikker til højre for det hvide felt ud for Ved klik. Vælg Kode generator i den dialog der kommer frem og du kommer ind i VBA editoren.

 

Læg mærke til at hændelsesproceduren også kan skrives med det samme som vist her:

Private Sub cmdForrige_Click()   On Error GoTo GåTilForrige_Err    DoCmd.GoToRecord , "", acPrevious   GåTilForrige_Exit:   Exit Function  GåTilForrige_Err:   MsgBox Error$   Resume GåTilForrige_Exit  End Sub

Brug for hjælp til VBA, VSTO eller SQL?

Scient Data tilbyder professionel IT-konsulentbistand

Kontakt Scient Data →