IT Fjernundervisning

Makro vs. VBA

Beskrivelse

Makroer vs. VBA

 

 

Du kender sikkert allerede de indbyggede makroer i Access, som man kan oprette på makro fanen:

Access VBA kursus - Makroer 1 - fjernundervisning

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

Access VBA kursus - Makroer 1 - fjernundervisning

Konverter makroer til VBA

Man kan konvertere disse makroer til VBA med følgende proces:

Processen er følgende:

  1. Vælg Funktioner | Makro | Konverter makroer til Visual Basic
  2. Sæt hak i begge de muligheder der fremkommer
  3. Vælg konverter

Access VBA kursus - Makroer 2 - fjernundervisning

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 →