Sunteți pe pagina 1din 6

Tema 14

Macrocomenzi
Butoane. Controale combobox, listbox, utilizarea lor
Noţiuni generale
În sens general, programarea spune calculatorului ce să execute şi cum să execute. Se
poate de automatizat o aplicaţie de bază de date folosind programarea prin comenzi macro.
În programarea prin scrierea comenzilor macro creăm mici programe numite comenzi
macro. Fiecare comandă macro constă dintr-o listă de acţiuni (comenzi), pe care dorim să le
execute macro, este necesar de selectat una dintre cele 49 de acţiuni definite pentru a fi incluse în
comenzile macro. Unele dintre aceste acţiuni dublează comenzile din meniu (Print, Close,
Apply, Filter). Altele înclocuiesc acţiunea mouse-lui (SelectObject, OpenForm). Altele acţiuni
ale comenzilor macro nu se numără printre comenzile din meniu şi a mouse-ului (Beep,
MsgBox).
Majoritatea acţiunilor din comenzile macro necesită argumente, care precizează informaţii
suplimentare şi specifică modul în care se execută acţiunea. După ce comanda macro este creată,
comunicăm programului Acces să o execute. Există mai multe moduri de a lansa în execuţie o
comandă macro. Probabil cel mai important mod de a iniţia o comandă macro este să cerem
programului Acces să o execute ca răspuns la un eveniment. Un eveniment este o schimbare a
stării unui obiect care determină o întrerupere a prelucrării normale şi defineşte un răspuns.
Evenimentele apar ca răspuns la o acţiune a utilizatorului (apăsarea unui taste, clic al mouseului).

Crearea şi executarea comenzilor macro


Comenzile macro pot fi create şi editate într-o fereastră specială de proiectare – fereastra
Macro. Fereastra (foaia) Macro are patru coloane: MacroName (numele comenzii Macro);
Condition (condiţia), Action (acţiunea) şi Comments (comentarii). Afişarea primelor două
coloane este controlată prin starea butoanelor MacroNames şi Conditions ale bazei cu
instrumente MacroDesing. Dacă nu se specifică altfel, programul Access afişează doar
coloanele Action şi Comments. Pentru a afişa toate cele patru coloane, selectaţi opţiunile Tools,
Options, eticheta View şi activaţi casetele de validare Names Column şi Conditions Column
din grupul de opţiune Show în MacroDesing din foaia cu proprietăţi Options.
În partea de jos a ferestrei Macro sunt afişate argumentele asociate de o acţiune selectată.
Etapele de creare a unei comenzi macro
1. Decideţi ce doriţi să execute comanda macro. Comenzile macro simple se compun din
câteva acţiuni şi le puteţi concepe în minte. Pentru operaţiile mai complexe utilizaţi o schemă
logică.
2. În fereastra bazei de date executaţi clic pe eticheta Macro.
3. Executaţi clic pe butonul New.
4. Pe prima linie necompletă executaţi clic într-o celulă din coloana Action, apare un
buton cu săgeată în jos în partea dreaptă a zonei active a celulei. Executaţi clic pe acest buton ca
să afişaţi lista casetei combinate ce conţine acţiunile.
5. Selectaţi din lisă acţiunea necesară.
6. În partea de jos ale ferestrei indicaţi argumentele asociate de acţiune, care definesc
modul în care lucrează comanda macro. Unele argumente trebuie testate, dar majoritatea lor
furnizează casete combinate care permit testarea sau selectarea din lista valorii argumentelor.
7. În coloana Comments introduceţi mesaje de informaţie pentru uzul propriu (nu e
obligatoriu).
8. Pentru adăugarea unei noi comenzi macro în liniile următoare repetaţi punctele de la 4
până la 7.
Remarcă. Puteţi introduce acţiuni prin tragerea obiectelor bază de date cu mouse-ul şi plasarea
lor în celulă Action. Dacă trageţi din fereastra DataBase o tabelă, o integrare, un formular sau un
raport şi le plasaţi într-o celulă. Programul Access inserează o linie deasupra celulei peste care
aţi plasat pictograma obiectului şi introduce automat acţiunea care deschide obiectul respectiv.
De asemenea, programul Access completează argumentul acţiunii care apelează numele
obiectului care va fi deschis.

Editarea comenzilor macro


1. În fereastra bazei de date executaţi clic pe eticheta Macro.
2. Selectaţi macroul, pe care doriţi să-l deschideţi.
3. Executaţi clic pe butonul Desing.
4. Introduceţi modificări necesare.
Ştergerea, inserarea sau deplasarea liniilor
Liniile dintr-o comandă macro pot fi şterse atunci când acţiunea sau condiţia nu mai sunt
necesare. Puteţi să ştergeţi una sau mai multe linii executând clic pe săgeata selectorului liniei
din partea stângă a foii de comenzi macro. Ca să selectaţi mai multe linii executaţi clic pe
săgeata selectorului şi trageţi în jos peste câte linii doriţi. După selectarea liniilor apăsaţi tasta
Delete sau executaţi clic pe butonul Delete Row al barei cu instrumente.
Inserarea unor linii într-o comandă macro este necesară dacă doriţi să adăugaţi o acţiune
între două acţiuni existente sau să introduceţi o linie goală între comenzile macro, pentru ca
acestea să fie uşor de citit. Ca să inseraţi linii plasaţi cursorul de editare pe o linie (linia inserată
apare deasupra celei care conţine cursorul de editare). Executaţi clic pe selectorul liniei sau
trageţi cursorul mouse-ului peste mai multe butoane selectare şi apoi apăsaţi tasta Insert sau
executaţi clic pe butonul Insert Row al barei de instrumente.

Remarcă.Ca să anulaţi inserarea sau ştergerea pe care tocmai aţi executat-o selectaţi Edit,
Undo, apăsaţi CTRL+Z sau executaţi clic pe butonul Undo al barei cu instrumente.

Ca să mutaţi una sau mai multe linii folosiţi mouse-ul, executaţi clic pe butonul selector al liniei
sau trageţi peste unul sau mai multe butoane selectoare, ca să selectaţi liniile cărora să doriţi să le
schimbaţi locul. Eliberaţi butonul mouse-ului. Apoi plasaţi indicatorul mouse-ului pe unul dintre
selectoarele de linie selectate şi ţineţi apăsat butonul mouse-ului. În acest timp indicatorul
mouse-ului apare însoţit de un pătrat de culoare închisă. Trageţi indicatorul mouse-ului şi plasaţi-
l în linia, în care să mutaţi liniile selectate. Remarcaţi că apare o linie orizontală acolo unde vor fi
plasate liniile. Eliberaţi indicatorul mouse-ului acolo unde doriţi să mutaţi liniile.
Copierea comenzilor macro
Puteţi să copiaţi toată comanda macro sau numai o parte din ia. Ca să copiaţi o singură
celulă, de exemplu, o acţiune, selectaţi toate caracterele din celulă şi apăsaţi CTRL+C sau
executaţi clic pe butonul Copy al barei cu instrumente. Ca să tăiaţi conţinutul unei celule,
selectaţi caracterele şi apăsaţi CTRL+X sau executaţi clic pe butonul Cut al barei cu instrumente.
Mutaţi cursorul de editare în poziţia în care doriţi să plasaţi conţinutul celulei şi apăsaţi CTRL+V
sau executaţi clic pe butonul Paste al barei cu instrumente. Când copiaţi o acţiune dintr-o celulă
şi îl lipiţi în altă celulă argumentele acţiunii nu sunt copiate în noua poziţie.
Ca să copiaţi linii în întregime sau toată comanda macro, selectaţi liniile dorite cu un clic
pe săgeţile selectoarelor de linie şi apoi apăsaţi CTRL+C sau executaţi clic pe butonul Copy.
Deschideţi o comandă macro nouă sau deja existentă. Selectaţi celula în care se lipiţi
datele copiate şi apăsaţi apoi CTRL+V sau executaţi clic pe butonul Paste.
Organizarea comenzilor macro în grupuri
O foaie cu mai multe comenzi macro este numită grup de comenzi macro. Sintaxa
următoare identifică o anumită comandă macro dintr-un grup:
NumeGrup. NumeMacro
1. În fereastra DataBase executaţi clic pe eticheta Macro.
2. Executaţi clic pe butonul New.
3. Executaţi clic pe butonul MacroNames al barei de instrumente.
4. Tastaţi numele comenzii macro în coloana MacroName.
5. Introduceţi acţiunile şi argumentele lor.
6. Repetaţi punctele de la 3 până la 5.
Specificarea argumentelor unei acţiuni
Argumentele definesc modul de lucru a acţiunii. Fiecare tip de acţiune are un set asociat
de argumente. Când introduceţi pentru prima dată o acţiune în fereastra de jos apare lista
argumentelor. Unele argumente trebuie tastate, dar majoritatea lor furnizează casete combinate
care vă permit să tastaţi valoarea argumentului sau să o selectaţi din lista. Când lista combinată
prezintă un set de opţiuni puteţi executa dublu clic pe argument pentru a parcurge opţiunile
disponsibile. Dacă un argument necesită o expresie butonul Build apare în dreapta casetei text
atunci când selectaţi argumentul. Selectaţi alt argument sau deplasaţi-vă cu tasta Tab la
argumentul următor.
Găsirea acţiunii potrivite
În Access există 49 de acţiuni care pot fi incluse în comenzile macro. Acţiunile
comenzilor macro dublează majoritatea comenzilor necesare într-o aplicaţie de bază de date
automată. Acţiunile comenzilor macro satisfac majoritatea cerinţelor de programare a unei
aplicaţii.
Unele acţiuni ale comenzilor macro:
Add Menu MenuName (nume meniu) Adaugă un meniu derulant unei bare de
MenuMacroName (nume meniu meniuri particulare sau un meniu
de comenzi macro) imediat
Status Bar Text (textul barei de
stare)

Apply Filter Filter name Where Condition Filtrează datele disponibile pentru un
(condiţie Where) formular sau raport folosind un filtru, o
interogare sau o clauză Where în SQL

Beep Fără argumente Produce un sunet pentru avertizare


Close Object Type (tipul obiectului) Include fereastra activă sau o fereastră
Object Name (numele obiectului) specific

CopyObject Destination (destinaţia) DataBase Copiază obiectul bază de date


(baza de date) specificat într-o altă bază de date sau în
New Name (noul nume) aceeaşi bază de date cu alt nume
DeleteObject ObjectType (tip obiect) Object Şterge obiectul specificat
Name (nume obiect)

Echo Echo ON (econ action) Activează/Dezactiovează


Status Bar Text reîmprospătarea ecranului în timpul
execuţiei unei comenzi macro.
Ascunde rezultatele intermediare şi
măreşte viteza de execuţie a comenzii
macro
MsgBox Message (mesaj) Afişează o casetă cu un mesaj de
Beep (sunet) avertizare sau de informare şi aşteaptă
Type (tipul) ca utilizatorul să execute clic pe
Titrle (titlu) butonul OK

OpenForm FormName (nume formular) View Deschide sau activează un formular


(modul de afişare) într-un dintre modurile de
Filter Name (nume filtru) Ehere afişare posibile. Puteţi indica un
Condition (condiţia Where) criteriu de selecţie a datelor din
Data Mode (modul de afişare a formular, diverse moduri de editare şi
datelor) dacă formularul se compară ca casetă
Window Mode (tipul de fereastră) de dialog modală sau de tip meniu
derulant
Open Query Query Name (nume interogare) Deschide o interogare de selecţie sau
View (modul de afişare) încrucişată ori executaţi o interogare
Data Mode (modul de lucru cu
datele

OpenReport ReportMane (nume raport) View Deschide un raport în modul de afişare


(modul de afişare) specificat şi filtrează înregistrările
Filter Name (nume filtru) Where înaintate de tipărire
Condition (condiţia Where)
OpenTable Table Name (nume tabel) Deschide sau activează un tabel în
View (modul de afişare) modul de afişare specificat. Pentru
Data Mode (modul de lucru cu tabele afişate în fereastra DataSheet
datele) View puteţi indica unul dintre
modurile de lucru: introducerea de
date sau editare
Print Print Range (domeniul) Tipăreşte foaia de date, raportul sau
Page From (de la pagina) formularul active
Page To (până la pagina)
Print Quality (tipul de litere)
Copies (numărul de copii) Collate
Copies (copii legate)
Quit Options (opţiuni) Încheie execuţia programului Acces,
salvează obiectele modificate în funcţie
de comenzi dă specificată
Run Macro Macro Name (nume comandă Execută comanda macro specificată.
macro) Introduceţi numele întreg al comenzii
Repeat Count (număr de repetări) macro ca să lansaţi în execuţie o
Repeat expression anumită comandă macro dintr-un grup.
Utilizaţi argumentele Repeat Count şi
Repeat Expressing ca să specificaţi de
câte ori se execută comanda macro.

Luarea deciziilor folosind comenzile macro condiţionale


O comandă macro condiţională furnizează o modalitate prin care Acces ia o decizie
bazată pe valorile curente din baza de date şi execută un set de acţiuni, dacă este îndeplinită o
condiţie. Condiţia este o expresie care, în funcţie de valorile curente, poate fi evaluată ca fiind
True (adevărat) sau False (fals). Condiţiile pot fi create utilizând expresii şi referiri la formulare
şi obiecte de control.
Dacă doriţi ca acţiunile unei comenzi macro să se execute numai dacă o condiţie este
True, afişaţi coloana Condition în foaia/fereastra comenzilor macro şi introduceţi condiţia. În
coloana Action adiacentă introduceţi acţiunea care doriţi să fie executată când condiţia este True.
Dacă doriţi să executaţi mai multe acţiuni când condiţia este True, tastaţi în coloana Condition
câte un semn de omisiune lângă fiecare acţiune pe care comanda macro ar trebui să o execute
suplimentar. După ce a executat acţiunile pentru ramura True, Acces trece la linia următoare şi
verifică dacă există alte condiţii. Dacă nu, programul Access execută acţiunea pentru cazul când
valoarea condiţiei este fie True, fie False Dacă doriţi ca acţiunea să nu se execute pentru condiţia
True, tastaţi acţiunea StopMacro ăe ultima poziţie din setul de acţiuni pentru ramura True.
Pentru a crea comenzi macro cu acţiuni ce se execută când condiţia este evaluată ca True,
procedaţi astfel:
1. Executaţi clic pe butonul Conditions de pe baza cu instrumente Macro pentru că în
foaia comenzilor macro să apară coloana Conditions.
2. Tastaţi condiţia în coloana Conditions.
3. În coloana Action introduceţi acţiunea care doriţi să fie executată când condiţia este
adevărată.
4. Dacă doriţi să executaţi şi alte acţiuni când condiţia este True, introduceţi- le în coloana
Action, sub acţiunea de la pasul 3.
5. Dacă în pasul 4 aţi introdus acţiuni suplimentare, tastaţi câte un semn de omisiune în
coloana Condition în dreptul fiecărei acţiuni.
6. dacă doriţi să executaţi alte acţiuni pentru condiţia True sau False, introduceţi- le sub
acţiunea completată în pasul 5. Dacă doriţi ca aceste condiţii suplimentare să fie executate numai
dacă valoarea condiţiei este False, introduceţi acţiunea StopMacro la sfârşitul setului de acţiuni,
în punctul 5.
Condiţii macro tipice
Condiţia Descriere

Oras = “Paris” True când valoarea obiectului de control este Paris

Quantity > 5 True dacă valoarea din obiectul din control este mai mare
decât 5

Not Quantity > 5 True dacă valoarea din obiectul don control este mai mică
sau el puţin egală cu 5

IsNull Amount True dacă obiectul de control nu are o valoare.


Remarcă. Plasaţi operatorul Not la stânga unei condiţii pentru a obţine condiţia opusă.
Executarea unei comenzi macro
Există mai multe moduri în care puteţi să rulaţi (sau să lansaţi în execuţie) o comandă
macro:
– din fereastra MacroDesing;
– din orice fereastră activă;
– din fereastra DataBase;
– din altă comandă macro;
– cu butonul unei bare cu instrumente particularizată;
– printr-o comandă dintr-un meniu particularizat;
– prin acţionarea unei taste de înlocuire;
– la lansarea în execuţie a aplicaţiei;
– prin preluarea unui eveniment produs de un formular sau un raport.
Primele trei metode sunt utile când creaţi comanda macro care va fi folosită imediat.
Celelalte metode sunt utilizate pentru automatizarea execuţiei unor programe separate şi pentru
crearea unor aplicaţii automatizate.
Executarea unei comenzi comenzi macro din fereastra MacroDesing să efectuează prin
utilizarea butonului Run de pe bara cu instrumente sau selectaţi opţiunile Start, Run.
Ca să executaţi o anumită comandă macro dintr-un grup, selectaţi Tools, Macro. Când
apare caseta de dialog Run Macro tastaţi sau selectaţi din lista combinată numele întreg al
comenzii macro: numele grupului urmat de un punct şi de numele comenzii macro. Apoi
executaţi clic pe OK sau apăsaţi tasta Enter.
Rularea unei comenzi macro folosind o fereastră activă oarecare să efectuează prin
selectarea opţiunilor Tools, Macro şi utilizarea casetei de dialog RunMacro.
Când fereastra DataBase este activă puteţi lansa în execuţie o comandă selectând
opţiunile ToolsMacro şi utilizând caseta de dialog RunMacro. Există şi altă metodă: să executaţi
clic pe butonul Run din fereastra DataBase.

Verificarea cunoştinţelor
1. Definiţi comanda macro.
2. Definiţi noţiunea eveniment.
3. Descrieţi fereastra Macro.
4. Prezentaţi etapele de creare a unei comenzi macro.
5. Cum să efectuează editarea comenzilor macro.
6. Explicaţi metode de copiere a comenzilor macro.
7. Caracterizaţi organizarea comenzilor macro în grupuri.
8. Cum în comenzile macro să specifică argumentele unei acţiuni.
9. Explicaţi luarea deciziilor folosind comenzile macro condiţionale.
10. Cum procedaţi creând comanda macro condiţionată.
11. Descrieţi moduri de lansare în execuţie a comenzilor macro.

S-ar putea să vă placă și