Microsoft Office Excel |
|
|
Da li je upit izvršen?Nivo:
Programirana kontrola stanja izvršenosti upita je veoma osetljivo pitanje. Ne možete predvideti vreme izvršavanja i zato bi bilo najbolje da uspostavite redosled komandi pre i posle izvršenog upita. Evo kako ćete to učiniti... Mogućnost Excela da pristupi spoljnom sadržaju i uveze neke podatke predstavlja važnu alatku u korporativnom okruženju. Lakoća kojom se prave razne analize podataka rasterećuje projektante baza podataka od potrebe da formiraju namenske upite i analize u samoj bazi. Međutim, u automatizaciji postupaka postoji jedna nezgoda: ne može se predvideti koliko će tačno trajati osvežavanje ranije formiranog upita. Ako se upit pozove iz makroa, nije prikladno nastavljati neko izvršavanje u istom makrou, pošto VBA ne ispituje da li je osvežavanje završeno; to znači da ne smete izvoditi kompletan posao unutar istog makroa. Rešenje ipak postoji, a sastoji se u tome da ćete poziv osvežavanja upita odvojiti u poseban makro; prethodno ćete definisati klasu upita i u njoj pripremiti makroe događaja BeforeRefresh i AfterRefresh, u kojima ćete definisati sve potrebne akcije pre i posle osvežavanja. Evo vrlo skraćene šeme koda: uđite u VBE, ubacite novi modul klase (Insert/Class Module) i u njemu formirajte sledeće makroe događaja:
Potom ubacite novi (običan) modul i tamo napišite sledeći makro:
Kada želite da osvežite upit, pokrenite makro iz dijaloga Tools/Macro/Macros (ALT+F8). Da bi se ceo scenario pravilno izveo pri otvaranju radne sveske, kada se upit podrazumevano osvežava, obezbedite i makro Auto_Open koji će pozvati celu spremljenu garnituru na izvršavanje:
Detaljniji komentar i opis ove tehnike pronaći ćete u bazi znanja Microsofta u članku Q182735
|
|
Vrh stranice Prethodna stranica Naslovna strana Mapa sajta Pretraga |
| AFORIZAM ZA DANAS | OVIH DANA SLUŠAMO... |
| Copyright © Praktikum na Webu, 2000-2009; Valinor Design; sva prava pridržana. |