[ r_nikola @ 10.04.2005. 13:08 ] @
Baza podataka mi sadrzi korisnike koji obavljaju neke usluge.Kako da pri odabiru korisnika automatski dodelim broj usluge. Na pr. korisnici su KV,MBL i sl. a pri odaberu korisnika KV broj usluge treba da bude KV 001 ili pri odabiru korisnika MBL broj usluge treba da bude MBL 001 i tako redom . Nasao sam ,cini mi se, slicno pitanje ali odgovor nisam najbolje razumeo.
[ Mario_os @ 10.04.2005. 15:46 ] @
Imam slično pitanje, dali mogu nekako napraviti format za autonumber da izgleda ovako:
001/2005
[ dakuri @ 11.04.2005. 06:55 ] @
Probajte sa input Mask
[ Simke @ 11.04.2005. 07:17 ] @
Za to sto hoces treba da napises funkciju koja postavlja sledeci redni broj i ubacuje prefix ispred njega. Drugim recima, funckija koja formatira string po tvojim potrebama i pise ga u polje tipa text.
[ r_nikola @ 11.04.2005. 19:24 ] @
Uh, kakva funkcija? Da to znam verovatno bih slao odgovore a ne pitanja.
[ Zidar @ 12.04.2005. 21:22 ] @
Citat:
Na pr. korisnici su KV,MBL i sl. a pri odaberu korisnika KV broj usluge treba da bude KV 001 ili pri odabiru korisnika MBL broj usluge treba da bude MBL 001 i tako redom .


Nije dobra ideja da se ovakao izracunati broj pakuje u tabelu. ako bas mora na izvestajima da stoji KV 027 i KV 032, onda je mnogo bolje da KV i 27 stoje u zasebnim poljima. KV je ionako neka vrsta identifikacionog 'broja' za korisnika. Pretpostavljam da imas tebele
tblUsluga - lista svih raspolozivih usluga, PK=UslugaID
tblKorisnik - lista svih korisnika, PK=KorisnikID - ono KV, MBL itd.
tblKorisnikUsluga - PK po tri polja (UslugaId, KorisnikID, RedniBrojUsluge as long)

Ocekujem da ti je tabela tblKorisnikUsluga u relaciji sa tabelama tblUsluga i tblKorisnik, gde su ove dve polsednje 'parent' tabele. Ono sto tebi treba jeste da izracunas RedniBrojUsluge, kad god dodajses rekord u tabelu tblKorisnikUsluga. UslugaId, KorisnikID su ti poznati.

Napravis funkciju kao na primer (pseudo kod):
Code:

function funNextredniBroj (pKorisnikID as String) as Long

dim varMaxBroj as variant

varMaxBroj = dmax("RedniBrojUsluge ","tblKorisnikUsluga ","KorisnikID=" & Quoted(pKorisnikID )
varMaxBroj =nz(varMaxBroj ,0)
funNextredniBroj =1+varMaxBroj 

end function


Funkciju funNextredniBroj pozivas kad kreiras novi rekord u tblKorisnikUsluga.

Funkciju Quoted mozes naci na forumu u top temi Baza Znanja i treba da stoji u nekom nezavisnom modulu da bi bila vidljiva iz celog MDB fajla.

Onda u kverijima i reportima spajas KorisnikID i RedniBrojUsluge po zelji.

Ako upotrebis funkciju funNextredniBroj da izracunas vrednost koju ces da cuvas u tabeli, ne valja ti posao.

:-)
[ r_nikola @ 13.04.2005. 00:14 ] @
Hvala puno zidar na iscrpnom odgovoru, kao i na svim tvojim odgovorima u ovom forumu. Vise ovako naucim nego iz gomile kupljenih knjiga o accessu.