
Drago mi je sto vam se dopao primer. Neka mi bude dozvoljeno da komentarisme neke lepe stvari, ali i neke veome ruzne u vezi sa aplikacijom.
Lepo:
-Nadam se da je bar nekome pomogla ideja o organizovanju reporta i kverija. Na ovaj nacin nema potrebe za dodavanjem dugmica po formama i switchboardima kad god se doda novi report ili kveri.
-Videli ste primer reporta koji se otvara pomocu kriterijumske forme.
-Nesto sto mozda niste zapazili odmah, ali je vazno - glavna forma je unbound, i na nju je postravjena unbound subforma za unos podataka. Glavna forma je tako postala nosac unbound sunforme. Ovim smo dobili prostor za postavljanje dugmica, na glavnoj formi. Ako bi samo otvorili samo datasheet formu za unios podataka, ne bi imali kako da pozovemo forme sa reportima i kverijima. Lazem, mogli bi, jedino ako podesimo formin toolbar i menu bar a verujte mi to je ruzan posao.
-Postavljanjem datasheet forme na non-datasheet nosac resavate i jednu manu Access Switchboard wizarda. Switchboardi koje gradi Access ne dozvoljavaju da se otvaraju datasheeti ili kveriji, samo forme u Form view. Na ovaj nacin vi varate switchboard. Otvarate vasu nosac formu, a sta je na njoj to switchboard ne zna niti ga interesuje. Ako vam treba kveri da se vidi, napravite datasheet fomu, stavite je na nosac i pozovite nosac sa switchboarda. Mnogo lakse nego menjati kod na switchboard formi i Switchboard ites tabelu.
- Najbrzi nacin da se napravi datasheet forma NIJE Form Wizard. Najobcniji AutoForm je ubedljivo najbrzi i sva se polja lepo vide. Onda u properties promenite FormView na Datasheet i gotovo.
-Datasheet forma je jako zgodna za pretrazivanje i sortiranje - ne morate da programirate nista. korisnik brzo nauci da koristi A->Z ikone za sortiranje. Probajte da koristite Right Click i opciju Filter By Selection. U praksi, ako zelimo da vidimo samo uplate, postavimo kursor u bilo koje polje gde pise Uplata. right Click, filter by selection => samo se uplate vide. naucite korisnika da radi ovo i bice vam veoma zahvalan. Korisnik se oseca bolje ako mu dozvolite da i on nesto zna, a vi ne morate da se mucite i programirate razne Search/Sort opcije sa kombo boksovoma i rekrdsetima i slicno.
Ruzno:
-
Ceo program ima malo veze sa realnoscu, iako je upotrebljiv. Izgleda kao da bi se nesto ovako moglo upotrebiti za knjigu blagajne. Samo izgleda, u stvarnosti je neupotrebljivo. Zasto? Kad se vodi knjiga blagajne, pisu se priznanice. Kad od nekoga uzmete pare, vi mu napisete priznanicu. Kad nekome date pare, on vama napise priznanicu. Znaci, svaka transakcija mora biti pokrivena nekim papirom. Kada se odstampa dnevni izvestaj, onda pametan blagajnik pogleda sve transakcije i pogleda sve priznanice. Mora da se slazu 100%. Za svaku transakciju mora postojati priznanica, i za svaku priznanicu mora postojati transakcija. Ako ovo nije tacno, nedostajace vam para u blagajni pa cete ili zavrsiti u zatvoru ili ce vam neko polomiti kolena bejzbol palicom. Znaci, nedostaje polje za cuvanje Prizanice.
-
Podaci su potpuno nezasticeni od naknadne izmene, namerne ili slucajne. Zamislite da ste lepo sravnili priznanice i transakcije, odstampali dnevni izvestaj i odlozili ga u arhivu. Sutradan, greskom,nenamerno, niste ytoga ni svesni, prtvorite neki 20.00 DIN u 200.00 dinara. Ili obrisete rekord. A brisanje je veoma lako - kliknite na rekord selector i pritisnite taster Delete. Jos gore, mozete 'ladno da obrisete SVE rekorde u jednom potezu. Klinite na levi gornji ugao subforme, ili otkucajte Ctrl A. time ste selektovali SVE rekorde. DELETE taster i boom, sve je otislo. Ctrl Z ili Undo NE POMAZU. Znaci, potrebno je na neki nacin zastititi zavrsene rekorde od brisanja-izmene. Neko polje, nazovimo ga 'Zakljucano', tipa Yes/No bi odradilo posao, pa kad se setuje na Zakljucano=Yes ond aje rekord zakljucan. Onda na BeforeUpdate za formu stavite Cancel=me!Zakljucano i svaki pokusaj brisanja ili promene rekorda bio bi ignorisan. Nazalost, ako odete direktno u tabelu, mozete da radite sta hocete, tamo nema BeforeUpdate. Bilo bi dobro stoga da se podaci odvoje u poseban MDB, pa linkuju na vas programski MDB. Onda programski MDB napravite da bude MDE. Pre toga sakrijete database Window i ukinete tatser F11 za pozivanje DB window. Ovo je vec nesto ozbiljno. Korisnik startuje MDB i vid samo forme koje vi ponudite kroz program. Posto ne mogu da se vide tabele direktno, sve izmene, brisanja, dodavanja moraju da se rade kroz forme, gde vi imate kontrolu nad dogadjajima.
Svrha ovog primera je bila da demonstrira neke korisne metode u dizajnu aplikacije i dizajnu tabele i mislim da smo to postigli, bar delimicneo. Ako ima interesa, mozemo da pokusamo da popravimo dizajn tako da ove lose stvari budu ili eliminisane ili smanjene na neku prihvatljivu dozu rizika.