Makro vs. VBA
Beskrivelse
Makroer vs. VBA
Du kender sikkert allerede de indbyggede makroer i Access, som man kan oprette på makro fanen:

Her kan man oprette makroer til mange af de mest almindelige funktioner i Access

Konverter makroer til VBA
Man kan konvertere disse makroer til VBA med følgende proces:
Processen er følgende:
- Vælg Funktioner | Makro | Konverter makroer til Visual Basic
- Sæt hak i begge de muligheder der fremkommer
- Vælg konverter

Så har du fået konverteret dine makroer og du vil kunne finde dem i VBA editoren.
Bemærk at denne funktion ikke er den del af en standard installation af Access!
MEN hvorfor skal man så lære at kode VBA når Access kan gøre det - Jo det skal man fordi, der er en nogle ting, som ikke kan optages
- løkker dvs. gentagelser af de samme handlinger
- betingelser dvs. situationer, hvor handlingen skal afhænge f.eks. af værdien af en celle
- bruger dialog
Øvelse
Vi skal have prøvet at arbejde med disse simple makroer, der kan oprettes i Access. Download denne database og opret følgende makroer:
- Én, der lukker Acces
- Én, der åbner formularen "Salg"
- Én, der går til næste post og én, der går til forrige post
Konverter makroerne til VBA og gå ind i VBA editoren og se, hvad der er kommet ud af det.
Du må gerne oprette flere makroer, end dem jeg har foreslået her...
Det er ikke sådan her vi skal oprette vores VBA makroer, men det er en fin måde at finde ud af, hvilke objekter, der kan bruges.
Når du er færdig skal du sende din database til mig - husk at pakke den sammen eller skifte navn på den, så den ikke længere hedder mdb til efternavn - ellers bliver den stoppet af min Outlook.
Løsning
Du kan downloade mit forslag til en løsning her.
Når de fire makroer er optaget kan Access konvertere dem til koden her:
'------------------------------------------------------------ ' GåTilForrige ' '------------------------------------------------------------ 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 '------------------------------------------------------------ ' GåTilNæste ' '------------------------------------------------------------ Function GåTilNæste() On Error GoTo GåTilNæste_Err DoCmd.GoToRecord , "", acNext GåTilNæste_Exit: Exit Function GåTilNæste_Err: MsgBox Error$ Resume GåTilNæste_Exit End Function '------------------------------------------------------------ ' LukAccess ' '------------------------------------------------------------ Function LukAccess() On Error GoTo LukAccess_Err DoCmd.Quit acSave LukAccess_Exit: Exit Function LukAccess_Err: MsgBox Error$ Resume LukAccess_Exit End Function '------------------------------------------------------------ ' ÅbenSalg ' '------------------------------------------------------------ Function ÅbenSalg() On Error GoTo ÅbenSalg_Err DoCmd.OpenForm "Salg", acNormal, "", "", , acNormal ÅbenSalg_Exit: Exit Function ÅbenSalg_Err: MsgBox Error$ Resume ÅbenSalg_Exit End Function Der er ikke så meget ekstra man kan lære her - læg dog mærke DoCmd linjerne - det er dem der gør en stor del af arbejdet for os i Access VBA.
Brug for hjælp til VBA, VSTO eller SQL?
Scient Data tilbyder professionel IT-konsulentbistand
Kontakt Scient Data →