Citat:
1. Dakle, kako da kada odaberem proizvod za otpremu sam ucita jedinicu mere koju ovaj proizvod ima, dakle ako se proizvod prodaje na komad ucitava "kom" ili ako je jedinica mere L (litar) ucitava "L".Jedinica mere je atribut tabele proizvodi i za neke proizvode je "kom", za neke "L".Treba li to da se radi pomocu VBA coda ili kako...???
Odgovor: nemoj uopste da ucitavas jdinicu mere kad odaberes proizvod. kako sam kazes, "Jedinica mere je atribut tabele proizvodi ....". Tacno tako, i tu treba i da ostane. Gde bi se to ucitala jedinica mere na neko drugo mesto? U tabelu DetaljiOtpreme? Ni slucajno. Ako zelis da se na nekom dokumentu vidi jedinica mere za artikle na otpremnici, napravi kveri koji ima JOIN izmedju tabela DetaljiOtpremnice i tabele Roba. Pogledaj teme Magacin i Maloprodaja robe i Kafic, tamo imas mnogo o slicnim situacijama.
[Quote]2. Trebam neki upit koji upozorava korisnika da klijentovom vozilu istice registracija za npr. 10 dana (kao upozorenje).Datum prve registracije 20/1/2000. tako bi za sledecu godinu 10/1/2001. trebao da upozorava.Dakle godina nije bitna (jer se uvecava) vec samo dan i mesec.Mozda upit koji koristu f-ju koja bi ovo odradila bez gresaka.[Quote]
Odgovor: ne treba ti funkcija. Ti zelis da se pokaze upozorenje deset dana pre isticanja registracije. Znaci, treba da razlika izmedju tekuceg datuma i datume registracije bude 355 dana ili veca. probaj ovako:
SELECT * FROM tblVozila WHERE (Date()-DatumRegistracije)>=355
Predpostavka je da je DatumRegistracije datum kad je poslednji put vozilo bilo registrovano, prosle godine.
Citat:
3. Hocu na obrascu da prikazuje podatke o vozilu (tblVozila) i ime klijenta koji ga vozi (tblKlijenti).E sad sve klijente sa stavio u jednu tabelu (tblKlijenti), dakle fizicka i pravna lica.Fiz lica imaju "ime" i "prezime", a pravna "naziv_firme". Nisam hteo da razdvajam u dve tabele fiz. i pravna lica jer se isto tretiraju.Znaci, za fiz. lice polje naziv_firme je null. Zakljucak: dali postoji neka funkcija ili upit koja ako je polje naziv_firme is null, prikazuje u obrascu ime i prezime kao vlasnika, a ako je:
naziv_firme is not null, prikazuje u obrascu naziv firme kao vlasnika.
Moze da se uradi, funkcijom IIF i ISNULL, vidi zakacen primer. Medjutim, tu imas ozbiljan problem u dizajnu tabele. U zelejenom kveriju, sta zelis da pokazes? Ako je firma, naziv firem (jedna kolona). Ako je fizicko lice, imas Ime i Prezime (dve kolone). Da li zelis u jednom slucaju da se pokaze jedno polje, a u drugom slucaju dva polja? Tesko, jer za bilo koji kveri mora da se definise jedinstven broj kolona. Ako zelis da spojis Ima i Prezime ficickog lica u jednu kolonu, to vec moze, ovako:
Code:
SELECT IIF(ISNULL([Naziv_Firme]),[Ime] & " " [prezime], [Naziv_Firme]) AS Ime Klijenta FROM tblKlijenti
Cim moras da radis ovakve akrobacije, to ti je siguran znak da nesto u dizajnu tabele ne valja. Recimo da usvojis resenje sa spajanjem imena i prezimena u jednu kolonu. Koji bi bio naziv te kolone u kveriju? Osim razlike u zapisivanju imena, mora biti da postoje i druge razlike izmedju fizickog i pravnog lica. Ovo govori da bi ih trebalo odvojiti u razlicite tabele.
Ako si pocetnik, da se zaustavimo ovde, zanemari primedbu o losem dizajnu tabele i zadovolji se time da si se susreo sa dosad nepoznatim funkcijama ISNull i IIF i ponesto naucio od aritmetici sa datumima. Kasnije pokusaj da proucis nauku o modelovanju podataka, jer ako radis sa losim primerima krajnji rezulat ucenja bice los.
Srecan rad
