Microsoft Office Access |
|
|
Optimizacija programaNivo:
VBA optimizacija podrazumeva da se program ponaša očekivano, da se može ponovo upotrebiti na drugom mestu, da je lak za shvatanje i održavanje i, konačno, da radi optimalno brzo. Svako ko je bio u prilici da prepravi program drugog autora ili da menja proceduru kako ba radila nešto drugo shvata deo problema. Kod pisanja procedura treba voditi računa o tome da ona ima jedinstvenu funkciju. Proceduri treba da prosledimo potrebne parametre umesto da u njoj samoj referenciramo konkretan objekat. Za primer, pretpostavimo da imamo više formi u kojim treba da se obavi ista programska operacija. Možemo napisati proceduru sa referencom na polje prve forme, iskopirati proceduru u programski modul druge forme, prepraviti je itd. ili možemo napisati jedinstvenu proceduru kojoj ćemo proslediti parametre naziva forme i polja na njoj. Loša je praksa da se kompletna procedura drži "sakrivena" iza nekog od događaja polja forme ili objekta - ovde treba pisati samo one delove programa koji se odnose na samo polje, a univerzalne procedure ćemo, po pravilu, postavljati na kartici modula. Na ovaj način ćemo brzo pronaći potrebnu proceduru kada nam zatreba na drugom mestu, a najčešće korišćene se mogu držati u zasebnom modulu kojeg po potrebi možemo "šetati" po aplikacijama. Uz poštovanje ostalih osnovnih pravila kod kreiranja aplikacija nad bazom podataka, sledećih nekoliko manje poznatih ali efektnih saveta će u mnogome ubrzati bazu podataka. Optimizacija formiU Access aplikaciji najčešće korišteni objekat je forma. U aplikaciji gde se forme smenjuju, ukupno vreme potrebno za otvaranje i zatvaranje formi postaje nezanemarljivo. Kod naizmeničnog smenjivanja, preporuka je da se otvorena forma nikada ne zatvara sve do kraja rada aplikacije, odnosno da joj se u toku rada samo menja parametar vidljivosti - Visible:
Prilikom zatvaranja forme, Access će proveriti da li je ona izmenjena i postaviti kontrolno pitanje za snimanje izmena. Zatvaranje forme možete ubrzati ukoliko naložite Accessu da ne ispituje eventualne izmene u dizajnu navođenjem parametra acSaveNo:
Optimizacija stringovaČesto će biti potrebno da znate dužinu stringa, kako biste mogli da raščlanite njegov sadržaj. Funkcijom Len možete utvrditi dužinu stringa:
VBA uvek u memoriji čuva dužinu stringa u obliku Long Integer, a ovaj broj se uvek nalazi ispred samog stringa. Funkcija Len zato veoma brzo utvrđuje dužinu stringa. Naročito efikasna, ova funkcija se može upotrebiti za utvrđivanje stringa nulte dužine (praznog stringa). Umesto da poredite promenljivu sa praznim stringom "", proverite dužinu stringa, upoređujući ga sa brojem nula:
Ovakva provera radi mnogo brže nego:
I još o stringovimaSledeća dva saveta će ubrzati operacije sa stringovima. Funkcijom Mid možete pronaći grupu karaktera u bilo kojoj rečenici. Međutim, malo je poznato da se ovom funkcijom može zameniti deo rečenice mnogo brže od svih ostalih načina:
Jedina mana ovog načina menjanja karaktera je ta što tekst koji se zamenjuje i zamenjeni tekst moraju imati istu dužinu. Operacije poređenja dva znaka, kako ste videli u gornjem primeru, veoma su spore. Da biste utvrdili da li se traženi znak nalazi u jednoj reči, uporedite njegovu ASCII vrednost sa brojem. Za primer, proverićete da li se na početku reči nalazi razmak, čija ASCII vrednost iznosi 32:
Ovakav način provere je mnogo brži nego ako biste upoređivali prvi znak sa " ":
Optimizacija deljenjaPrilikom deljenja dva broja, mnogi korisnici su doživeli neprijatan problem "viška" decimala. Funkcijama Fix i Int možete zaokružiti broj na jedan od dva načina:
Umesto funkcije Fix, upotrebite obrnuti znak za deljenje dva broja (\) umesto znaka za deljenje u pokretnom zarezu (/), koji rezultat uvek vraća kao broj tipa Double, bez obzira kog tipa su deljenik i delilac. Za primer, dva broja možete podeliti na sledeći način:
Imajte u vidu da svaki put kada koristite vrednosti deklarisane kao Single ili Double u aritmetičkoj operaciji sa celim brojem, ceo broj i rezultat će biti takođe konvertovani u tip Single ili Double. Kod višestrukih operacija sa celim brojem, može se desiti da mali celi broj pređe u "viši nivo" promenljive (recimo iz Single u Double), pa u tom slučaju morate eksplicitno zahtevati od Accessa da konvertuje broj u "niži nivo" promenljive.
|
|
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. |