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.
kako sa poljima autonumber
Zaključano
Zakačeno
Imam slično pitanje, dali mogu nekako napraviti format za autonumber da izgleda ovako:
001/2005
001/2005
Potpis
Mario
Probajte sa input Mask
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.
Potpis
All beer is good. Some beer is better.
Uh, kakva funkcija? Da to znam verovatno bih slao odgovore a ne pitanja.
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
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.
:-)
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.