Schimbarea meniurilor și a barelor de instrumente cu VBA
Prezentarea posibilităților de creare și personalizare a meniurilor și barelor de instrumente nu ar fi completă dacă nu am vorbi despre posibilitățile de gestionare programatică a acestor obiecte. Veți avea nevoie de aceste caracteristici, dacă este necesar, de exemplu:
- Pentru a face meniul, comanda de meniu sau butonul din bara de instrumente indisponibilă;
- Ascundeți sau afișați meniul, comanda de meniu sau butonul din bara de instrumente;
- ascunde sau afișează bara de meniu sau bara de instrumente.
Funcția SetEnabled (barName ca șir, index ca întreg, stat ca boolean) Dim cbar ca obiect
Setați cbar = CornmandBars (barName)
Ca parametri, numele barei de comandă barName, elementul index al panoului index și valoarea proprietății de stat sunt transmise funcției.
Cubul variabil va conține o legătură către panoul dorit (accesul la obiectul familiei CommandBars în acest caz este realizat de numele obiectului).
Familia de controale conține toate elementele panoului. Pentru a accesa un anumit element, se utilizează un index, corespunzător numărului elementului din familie. Spre deosebire de alte familii ale modelului obiect VBA din familia Controls, elementele sunt numerotate nu de la zero, ci de la unul la altul. Aceasta înseamnă că pentru o trimitere la primul element al familiei este necesară utilizarea CommandBar.Controls de exprimare (1) în loc de CommandBar.Controls așteptate (0).
Aceeași funcție poate fi folosită pentru a afișa sau a ascunde comenzile de meniu individuale sau butoanele de pe panoul, trebuie schimbat doar proprietatea Vizibil a acelorași controale de familie:
Funcția SetEnabled (barName ca șir, index ca intreg, stare ca boolean)
Dim cbar ca obiect
Setați cbar = CommandBars (barName)
Meniurile și barele de instrumente create de dvs. trebuie să apară pe ecran la momentul potrivit. În cele mai multe cazuri, se prevede că creează o bară de meniu comună și o bară de instrumente comune de pe ecran atunci când începe de aplicare și sunt înlocuite la momentul meniul din dreapta și barele de instrumente asociate cu formulare și rapoarte (desigur, dacă ați dezactivat programul în meniul și barele de instrumente Access prin specificarea parametrilor de pornire corespunzători).
Cu toate acestea, este posibil să controlați programatic afișarea liniilor de meniu și a barelor de instrumente.
Sau setați proprietatea MenuBar a obiectului Application, aveți posibilitatea să modificați fie bara de meniu de parametri (Meniu Bar) din Setări de pornire (pornire) pentru a seta propriul bara de meniu ca bara de meniu principal în cerere (a se vedea. Sec. „Object Model Microsoft Access“ Capitolul . 13):
Application.MenuBar = "Meniul principal"
Pentru a afișa sau a ascunde barele de instrumente în timp ce programul se execută, puteți utiliza macro-ul barei de instrumente (ShowToolbar). Această macrocomandă are două argumente: numele barei de instrumente și valoarea afișării (Figura 14.34).
Fig. 14.34. Bara de instrumente Macro
Câmpul Afișare din panoul cu argumente macro vă permite să definiți trei valori:
- Da (Da) - bara de instrumente va fi afișată întotdeauna pe ecran;
- În modul normal (unde este adecvat) - bara de instrumente va fi afișată numai dacă este necesar, acest mod este utilizat pentru barele de instrumente încorporate;
- Nu (nu) - bara de instrumente va fi ascunsă.
În locul unei macrocomenzi, puteți folosi metoda showToolbar a obiectului DoCmd. Exemplul prezentat în Fig. 14.34, pot fi exprimate în codul VBA după cum urmează:
DoCmd ShowToolbar "Meniu principal". acToolbarYes,
unde AcToolbarYes este o constantă încorporată.
Este foarte important să furnizați aplicației o interfață ușor de utilizat. Accesul vă permite să ofere o bază de date a tuturor elementelor necesare de interfață - meniuri și bare de instrumente, forme pentru introducere de date, comenzi rapide de la tastatură pentru acces rapid la macro-uri, etc. Toate acestea face de lucru cu baze de date aplicație ușor și dă un aspect finit ...
În capitolele anterioare, am descris modul în care sunt create diferite obiecte baze de date pentru stocarea și prelucrarea datelor. Materialul din acest capitol va ajuta la dezvoltarea interfeței bazei de date Access pentru a lucra cu obiectele sale.
Proiectele noastre
- Navigator în oceanul de arome