Prikazi cijelu temu 17.04.2014 10:12
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Lokacija:Tuzla


Predmet:Re: Redni brojevi, kako izbjeći grešku?
Citat:
Testirao sam malo prije aplikaciju i namjerno sam mijenjao način plaćanja na više računa i sve je bilo u redu, nije preskočen ni jedan broj.
Nemoze biti ako si mi dao isti kod.
Ukoliko upises nacin placanja te krenes u novi rekord, sto znaci da si taj rekord zapisao i recimom da je on zauzeo br. 8.
Sada kad se vratis na taj isti rekord i izmijenis nacin placanja tvoja procedura prebroji broj rekorda 8 ili pak uzme iz zadnjeg broj a to je opet 8 te na njega doda 1 i sad preko ovog upisanoga 8 upise 9.
To ti se sigurno desava jer ti je na after update procedura na combu nacin placanja.
Znaci onaj kod ce gore pomoci sigurno sto sam ti dao jer nece upisivati novi fiskalni broj sem ako je 0.

Zbog ovoga nemozes niti provjeriti kao sto si gore napisao jer i kod funkcije provjere desilo bi se isto.

Primjer:
Imas 8 rekorda u tabeli.
Podizes formu i na formi se automatski pozicioniras na novi rekord (on jos nije upisan u tabelu).
Odabiramo nacin placanja i automatski pokrecemo proceduru DCount koja prebrojava u tabeli koliko ima redova to jest vraca rezultat 8+1 i upisuje u polje FiskalniBroj vrijednost 9.
Eto popunili smo sta treba i sve je u savrsenom redu i ako napravimo neku proceduru provjere naravno da ce vratiti da je sve uredu.
Sada kliknemo na novi rekor na formi.
Samim klikom na novi rekord zapisali smo postojeci rekord. To je tako kod accessa samo i to se zna cesto puta osvetiti.
Znaci sada u tabeli imamo zapisano 9 rekorda.
Ukoliko se sada ponovo vratimo na predhodni rekord vidjet cemo u polju FiskalniBroj broj 9 i to je uredu.
I sada kada bi napravili neku proceduru za provjeru i pozvali je sve bi bilo uredu.
Idemo sad da promijenimo nacin placanja (necemo promijeniti nego cemo odabrati isti).
Sta ce se desiti?
Opet cemo pokrenuti proceduru koja se nalazi na after update i sad matematika.
Procedura dcount vraca sada vrijednost 9 jer u tabeli sada uistinu ima 9 rekorda.
Sada 9+1=10
Znaci u polje FiskalniBroj ce se upisati vrijednost 10 u deveti rekord.

Ovo se nece desiti ako odaberes neki drugi nacin placanja a ne isti.
Samo je problem ako se odabere isti nacin placanja ponovo.

Probaj provjeri to i uvjerit ces se sam.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.