Pot fi create funcții pentru Access la fel ca pentru orice altă aplicație Office 2016 care are VBA activat – se introduce doar cuvântul Function și i se adaugă un nume.
Însă Access nu are același istoric ca celelalte programe Office (care sunt mai asemănătoare între ele). Astfel, Access are adesea modalități speciale de programare și are mai multe aspecte unice pentru modelele obiectelor sale.
Access are un obiect de uz general numit DoCmd. Acest obiect nu are proprietăți, dar are o mulțime de metode care îndeplinesc sarcini comune precum lansarea altor aplicații, localizarea înregistrărilor și deschiderea rapoartelor și formularelor.
Înainte de a crea o macrocomandă pentru a ilustra modul de utilizare a obiectului DoCmd, este necesară o bază de date simplă cu care se poate experimenta. Access vine cu mai multe șabloane, așa că va fi folosit unul dintre ele. Etape de lucru:
Acum se poate folosi DoCmd pentru a localiza o anumită înregistrare după numărul ID. Se apasă combinația de taste Alt+F11 pentru a deschide Visual Basic Editor din Access; apoi clic dreapta pe numele bazei de date (cea scrisă cu litere îngroșate) din Project Explorer. Se alege Insert > Module din meniul contextual. În noul modul, se tastează următorul cod, care va muta punctul de inserare la o înregistrare nouă:
1. Function MutaLaNew()
2.
3. DoCmd.OpenForm "Contact List"
4. DoCmd.GoToRecord , , acNewRec
5.
6. End Function
Pentru a testa această macrocomandă, se poate închide formularul Contact List sau se face clic în formular undeva pe una dintre înregistrările existente, astfel încât cursorul de inserare intermitent să fie situat deasupra liniei pentru înregistrare nouă (New). Apoi se comută la Editorul VBA și se face clic pe funcția MutaLaNew pentru a plasa cursorul în macrocomandă. Se apasă tasta F5. Apoi se revine la Access și cursorul care clipește ar trebui să se afle pe o înregistrare nouă.
Iată cum funcționează codul:
Se recomandă să se specifice formularul, tabelul sau obiectul cu care se va lucra, pentru că la un moment dat, o macrocomandă ar putea fi executată într-un anumit context. Cu alte cuvinte, dacă se omite linia 3, macrocomanda va acționa asupra oricărui formular deschis în acel moment în Access.