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:

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

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

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 →