[ tonijel @ 19.03.2006. 22:26 ] @
Postovanje, kako cu u Accessu 2003 napraviti inkrementalno generiranje brojeva pri svakom novom unosu nekih podataka u tablicu. Npr. 1-03 2-03 3-03 itd. pozdrav |
[ tonijel @ 19.03.2006. 22:26 ] @
[ Zidar @ 20.03.2006. 13:34 ] @
Mozes da napises funkciju koja se izvrsava na formi kad god uneses novi rekord. Medjutim, sve su sanse da tebi to i ne treba uopste. 1-03, 2-03, 3-03 lici starsno na nesto tipa broj-godina. Dakle, dva podatka u jednom polju. Znaci prekrseno pravilo normalizacije broj 1, koje kaze 'svaki podatak u svakoj koloni mora da je atomiziran'. Mnogo ti je bolje da imas dva polja, jedmo da cuva ono '03', i drugo da cuva 1,2,3. Prva prednost - pa ne treba ti funkcija koju trazis i nikakvo inkrementiranje.
[ mkaras @ 20.03.2006. 14:45 ] @
Dana Sun, 19 Mar 2006 23:26:00 CET, tonijel napisa:
Citat: kako cu u Accessu 2003 napraviti inkrementalno generiranje brojeva pri svakom novom unosu nekih podataka u tablicu. Npr. 1-03 2-03 3-03 itd. Jedan od nacina je da se oformi tabela koja cuva sledeci broj tblSledeciBroj. Naime tvoj broj se sadrzi od dve grupe oznaka. Jedna je 1,2,3 ... , a druga je 03 ili bilo sta sto hoces da bude sufiks ili prefiks. Naravno da ti nista ne smeta da bude i vise komponenata broja. Ja sam imao sifre tipa 12345-ASDFG-QWERT-67890 koje su morale da se generisu na osnovu vise parametara. Elem, sve se svodi da u tabeli tblSledeciBroj imas kolone koje su ti potrebne i da cuvas sve delove sifre ponaosob. Svaki od njih generises nekom funkcijom koja ti je zadata. U momentu snimanja dokumenta iz tblSledeciBroj pokupis sve parametre i od njih sastavis string koji upisujes kao svoju sifru.Istovremeno promenis sve parametre i pripremis ih za sledece uzimane. Znaci u tabeli cuvas samo jedan red koji stalno osvezavas i pripremas za sledeci upis. Prednost ovog sistema je da je dosta brz i da se ne prolazi kroz celu tabelu da bi se nasao prvi sledeci broj ili sifra, uvek te ceka vec pripremljena. [ tonijel @ 20.03.2006. 23:46 ] @
Kao prvo hvala Vam na savjetima.
Konkretnije stvar izgleda ovako : Dakle napravio sam nekoliko DataAccess stranica cija su polja definirana nekim upitom(kolko DAP-a , tolko i upita, premda ce biti i vise DAP-ova temeljenih na jednom upitu kako bih mogao koristiti Group filter opciju......) Imam jednu master tablicu i tri pomocne u kojima su ID-jevi i definicije ID-jeva, tak da mi se neki tekstovi ne ponavljaju cesto u master tablici koja se dakle updateira.... Master tablica je u biti kohezija dva file excela(dvije tablice) koje su se ralikovale jedino po namjeni i po broju koristenih polja, dakle jedna excel tablica je imala neko polje imena: "Naziv Polja" sa podacima u tom polju npr. : 'Ovakav naziv' a druga tablica je imala isti naziv polja dakle : "Naziv Polja" sa podacima u tom polju npr. :'Takav naziv'. Podaci iz tih polja su se ponavljali iz reda u red i zato sam napravio tu jednu kohezijsku :-) tablicu gdje se pomocu ID-jeva definira na sta se ostatak polja u redu odnosi. Taj ID se naravno referencira na svojeg tatu u drugoj tablici..... Svaka od onih tablica u Excelu je imala svoj redni broj dokumenta, znaci 1-06, 2-06 itd, gdje su ljevo od - redni brojevi a desno godina. Posto mi je ova master tablica join one dvije iz excela brzopletim razmisljanje dolazim do zakljucka da cu prekrsit neka pravila normalizacije...... Ako uspijem neki kod napisat ovi dokumenti sa ID jem 1 ce imati neki svoj autogenerirani redosljed za svaki novi unos ,1-06, 2-06 ali kako za one koji imaju ID dokumenta 2 napraviti isto takvo generiranje u toj istoj tablici kad ce mi se pocet pojavljivati duplici...... Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|