Pitanje
Citat:
kad upisem sifru_p da mi odmah napise naziv proizvoda(npr. u polju sifra_p upisem sifru za sladoled king i onda mi se u polju naziv upise:sladoled king ).tako znam da li sam pogresila prilikom upisa sifre.mozda moj nacin razmisljanja nije dobar.
Ovo resavas sa dva combo boxa i ne treba ti nikakkav kod. Moram malo da se vratim nazad nekoliko koraka da bi lakse razumela o cemu se radi.
Ovako:
Tvoja tabela u koju upisujes sta se prodaje/kupuje neka se zove tblStavkeTransakcije i izgleda ovako:
tblStavkeTransakcije: (SifraTransakcije, RedniBrojStavke, SifraArtikla, Kolicina) Primary Key

SifraTransakcije, RedniBrojStavke, SifraArtikla)
Za ovu tabelu postoji roditelj tabela tblTransakcije (SifraTransakcije, DatumTransakcije, Kupac, prodavac....) Primary Key: (SifraTransakcije)
Za ovo sto radimo intersantno je samo polje SifraTransakcije, ostalo ne igra ulogu.
Plan aplikacije: imaces formu i na njoj subformu. Forma ima RowSource = tblTransakcije . Subforma ima row source tblStavkeTransakcije. Forma i subforma povezane su preko polja SifraTransakcije.
Forma i subforma, ako su pravilno povezane rade ovako: kad pocnes da unosis rekord u subformu, vezno polje (ili polja, ako ih ima vise) se popune sami od sebe. Ako si sigurna u svoje poznavanje SifraArtikla, onda samo kucas redni broj, zatim sifru i kolicinu i gotova prica. Sad dolazi ono sto smo hteli da objasnimo: sta ako nisi sigurna u sifre?
Na subformi ces imati po jednu kontrolu za svako polje iz tabele tblStavkeTransakcije. Ako ih samo navuces iz tabele, sva ce polja biti text box. Kontrole ce imati imena identicna njihovom Data Source. Tako radi Access. Dobro.
Izaberi text box "SifraArtikla" i promeni ga da bude combo box. To radis ovako: main menu>Format>Change To>Combo Box. Tvoj tetx box postaje Combo Box, sa sitim imenom kao i dok je bio text box. Posto je u pitanju combo box, treba mu Row Source - odakle ce combo box da cita podatke koje ce ti ponuditi za izbor. Stavis u Data properties da je:
Row source = "SELECT SifraArtikla, NazivArtikla FROM tblArtikli"
Bound Column = 1
Ovde smo pretpostavili da imas negde tabelu tblArtikli u kojoj se cuvaju maticni podaci o artilklima (sifranik artikala?). primeti da smo stavili dve kolone, SifraArtikla, NazivArtikla iako nam je jedna dovoljna. Mozes da stavis i Limit to list = yes, kako te je Trko savetovao. Bilo bi dobro da pored Limit To List na combo boxu imas i relationship sa tblArtikli na tblStavkeTransakcije, po polju SifraArtikla. Onda ides na Format properties za combo box i kazes
Columns Count = 2
Column Widths = 1,3
List Width = 4.5 (zbir sirina svih kolona plus 0.5)
Ovo se malcice razlikuje od onoga sto si ti vec napravila. Kad otvoris combo box, prikazace ti se u levoj koloni sifra artikla, a u desnoj naziv artikla. Kd izaberes artikl, videce se samo sifra.
Sad se mozda pitas "a gde mi je naziv artikla? Ovaj Zidar moera da je nesto pogresio!"
Rekosmo, ovo je resenja sa DVA combo boxa. U desgn modu, izaberi svoj combo box SifraArtikla, onda klikni Ctrl C pa Ctrl V (copy/Paste) i dobices jos jedan identican combo box, sa nekim imenom, recomo Combo17 ili tako nesto. Bas te briga za ime, neka ga. Sve ostalo bice tu - row source, dve kolone. E sad dolazi GLAVNA STVAR. Za novi combo box, postavi sirine kolona da budu
Column Widths = 0,3
Bound Colum = 1
Sada ce novi combo box nuditi za izbor i prikazivati posle izbora samo naziv artikla. Posto je Data Source i dalje isti kao za prvi combo, DataSource = SifraArtikla, ispada (i tacno je

da oba combo boxa povezuju subformu sa istim poljem u tabeli. Ako promenis vrednost jednog combo boxa, automatski se sam od sebe promeni i drugi. tajna je u tome sto smo u drugom combo boxu stavili da j serina prve kolne nula, ap se ta kolona (Sufar Artikla) nece videti. Kolona i dalje postoji i bas je ta kolona Data Source za combo box, samo se ne vidi.
Iz combo boxa se ne moraju stvari samo birati, moze se i kucati, bas kao u text box. Ako ne znas sifru, preskocis taj combo, ne dioras ga, nego pocnes da u drugom kucas ime. Ako ti je AutoExpand property (Data tab) Yes, Access ce za tebe dovrsiti kucanje, ili te dovesti na priblizni artikl. Ovo vec verovatno znas, nema potrebe da te podsecam.
Gde je ovde programiranje? Nema programiranja, jer nema potrebe za tim. Programiranje su odradili u Microsoftu, pa ti samo dodelis vrednosti nekim properties i onda Access odradi tacno ono sto treba da odradi. Object oriented teorija u svom najlepsem svetlu.
Nije cilj programirati, cilj je praviti dobre programe.
Puno stvari smo poemuli u ovom postu, procitaj sve pazljivo od pocetka, ako treba nekoliko puta. Posebno obrati paznju na pretpostavke koje sam spomenuo. To sev moras dbro da razumes, pre nego sto bilo sta uradis. da sam kojim slucajem profesor na nekom fakultetu, Access bi bio dvosemestralni ispit. ovo sto ti pokusavs da uradis stuenti bi bili u stanju da urade tek posle odslusanog celog prvog semestra (14 sedmica po dva casa predavanaj plus dva casa vezbi) Posto nisam profesor, moras da se snalazis kao znas i umes. Vreme sam pomenuo tek da se ne razocaras ako ti nesto ne ide od prve.
Srecan rad
