Brz_na_tastaturi mi se cini u pravu. Sta korisnici zele da vide nije bas toliko 'slobodna tema'. Zavisno od bisnzisa koji rade, moze se pretpostaviti sta bi im trebalo, otprilike. Iz prakse znam da je veci problem definisanje WHERE uslova nego potrebnih kolona. Kod mene sa mnogo uspeha ide sledeca taktika:
- ja pisem kverije koji rade sta korisnicaima treba. U pocetku svako malo pa nekome nesto treba sto nemamo, posle se smanji
- ti kveriji nisu upotrenbljeni nigde u aplikaciji, sluze samo da ih korisnici izaberu donekud i pogledaju rezultate
- kveriji imaju uglavnom vise kolona nego sto korisnicima treba
- imam tabelu koju zovem zSysQueries i tu cuvam (qryName, Opis) qryName je ono sto vidimo u Query prozoru. opis je ono sto napisemo da bi korisnici razumeli o cemu se radi.
- Kad god napisem novi kveri (na zahtev korisnika), dodam jedan red u tabelu zSysQueries
- U aplikaciji imam formu na kojoj je veliki lis box, baziran na zSysQueries. Prva kolona, qryName je nevidljiva, vidi se samo Opis
- Korisnik bira opis sa liste i na DblClick ili nekim dugmetom se odradi
DoCmd,OpenQuery QueryName:= me!lstBox
Kad otvore kveri, mogu da sakriju nepotrebne kolone i upotrebom filtera da postignu efekat WHERE.
Ovo pokriva 90% korisnickih potreba. Ktroz vreme, broj zahteva za novim kverijima opada, pa umesto svaki dan, imam potrebu da dopisemo neki kveri jednom u mesec dva.
U cemu je problem sa ovim pristupom? Kad god napisem novi kveri to je promena aplikacije i aplikacija se mora osveziti na svim radnim stanicama. Jedan moj kolega je smislio fenomenalan fazon da se to odradi:
1. na nekom network folderu koji mogu citati svi korisnici aplikacije, drzimo .MDE versiju tekuce aplikacije
2. napravili smo .BAT fajl, u tom istom network folderu koji izgleda ovako:
Citat:
REM Create new local forlder. If exists, it will be overwritten
md c:\SDC_Switchboard
REM Copy our app from the network to the local forlder
copy "SDC_SwitchBoard_PROD_D2K3.mde" c:\SDC_Switchboard\SDC_SwitchBoard_PROD_D2K3.mde
REM launch local copy of the DC_SwitchBoard_PROD_D2K3.mde
REM Note / / instead of \ \
c:/SDC_Switchboard/SDC_SwitchBoard_PROD_D2K3.mde
3. Svim korisnicaim smo dali shortcut na .BAT fajl umesto kopije aplikacije
4. Kad god startuju .BAT fajl, korsnici i ne znajuci obrisu fajl an C drajvu (MD C:\Aplikacija) i donesu sebi novi verziju sa networka.
Ovo mi se mnogo dopalo, jer se aplikacije 'za u kuci' menjaju mnogo cesce nego aplikacije koje pisete za externog korisnika. Stalno se menjaju potrebe, menja se proces rada i dobar sistem (baza + razne aplikacije) sve to mora da prati. Jedini nacin pracenja je da se povremeno dopisuju novi objekti, menjaju ili uklanjaju postojeci. Znaci, jedna vrsta stalne dogradnje aplikacije. Vrlo neprijatna stvar ako je 'deployment' tezak. Sa nasim .BAT fajlom deployment je nepostojeci problem. Cesto dobijemo poziv od korisnika koji je ortkrio neki bug ili treba neku sitnu izmenu. U roku od nekoliko minuta stvar se popravi (najcesce, ne uvek

i samo zovnes korisnika i kazes "Ziko, OK, izadji iz programa i startuj ga ponovo"
Njacesci zahtev za dodavnaje funkcija je dopisivanje kverija, pa odrzavanje aplikacije i dodavanje poslovnih funkcija nije tako veliki problem. Posto je lako menjati aplikaciju i svima dostaviti promenu, onda ni nekompletna specifikacija i nedoreceni projektni zadatka nisu problem. Uvek mozemo lako da dodamo sta nam treba.
Kako pogoditi koji kveriji bi bili interesantni korisnicima, za pocetak? Pogledajte realtionships diagram. To je graf, gde su tabele cvorovi. Teorijski, bilo koji put zmdeju dva cvora jeste kandidat za JOIN. Recim, uvek imate nesto kao
Kupci--< Narudzbe ---< StavkeNarudzbi >------ Artikli
Po meni, jejk kanmdidat za kveri je JOIN izmedju ove cetiri tabele, sa svim mogucim kolonama, bez ponavljanja. Odmah sledi GROUP BY po (Kupac,Narudzba) kao i GROUP BY po Artiklu.
Pagledajte dakle relationship diagram i to ce vam kazati koji otprilike kveriji trebaju, za pocetak. Ne treba bas svi moguci putevi da se pretvore u kveri, ali cete vec dobiti ideju. Naravno, pitajte i korisnike. Kad pocnu da rade sa sistemom, vrlo brzo ce vas izbombardovati zahtevima i kroz nedelju dan imacete cistu sliku i nmnogo funkcionalniju aplikaciju.
Ovakav sistem dodavanja kverija i izbor iz list boxa moze se primeniti i na reporte. Uvek treba neki novi report. Za report se prica malo komplikuje, jer za reporte treba postaviti kriterijum (od datuma do datume, za kupca tog i tog i slicno) pa se u igru uvode i forme za definisanej kriterijuma. O tom drugi put ako ima interesovanja.