pmiroslav | 17.04.2014 10:38 |
---|---|
Predmet:Re: Redni brojevi, kako izbjeći greÅ¡ku? Ne znam zapravo Å¡to da kažem. 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. U originalnoj bazi od početka godine imam 572 rekorda gdje je način plaćanja gotovina i od toga se tri puta dogodilo preskakanje. Taj fiskalni broj za vrijeme ispisa računa upisujem i u jednu drugu tablicu gdje je to primarni ključ i zato dolazi do greÅ¡ke. Dali ima načina da se nekim kodom ne dozvoli da u tblProdaja upiÅ¡emo FiskalniBroj je vza 2 ili viÅ¡e veči od predhodnog? |
zxz | 17.04.2014 11:12 |
---|---|
Predmet:Re: Redni brojevi, kako izbjeći greÅ¡ku? Citat: Nemoze biti ako si mi dao isti kod.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. 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. |
pmiroslav | 17.04.2014 11:42 |
---|---|
Predmet:Re: Redni brojevi, kako izbjeći greÅ¡ku? PreuzmiIzvorni kôd (vbnet): U proceduri imam Case Else pa ako izmijenim način plaćanja umjesto postojećeg broja upiÅ¡e se 0 i obrnuto, a funkcija DCount ne uzima u obzir rekorde gdje je fiskalnibroj=0
|
zxz | 17.04.2014 11:50 |
---|---|
Predmet:Re: Redni brojevi, kako izbjeći greÅ¡ku? Hajd ovo probaj kako sam gore opisao pa vidi hoce li preskociti. 1.Znaci upisi novi rekord napr odaberi nacin placanja gotovina. 2. Predji u novi rekord bez zatvaranja forme 3. Vrati se nazad na rekord koji si upisao i ponovo odaberi nacin placanja gotovina 4.Predji u novi rekord te zatvori formu i provjeri u tabeli jeli preskocio. Citat: U proceduri imam Case Else pa ako izmijenim način plaćanja umjesto postojećeg broja upiÅ¡e se 0 i obrnuto, a funkcija DCount ne uzima u obzir rekorde gdje je fiskalnibroj=0 Nista ti ovo ne znaci u case else nikad i ne ulazi jer ucombu nemozes ne odabrati nista ili nesto sto bi dalo else jer ti je cobo limitiran na listu. |
pmiroslav | 17.04.2014 12:29 |
---|---|
Predmet:Re: Redni brojevi, kako izbjeći greÅ¡ku? Moja forma je dizajnirana tako da se ne može sa nje preći u novi rekord. Formu otvaram preko forme za izbor kupca tako da se u nju automatski upiÅ¡u podaci o kupcu. Na glavnoj formi biram samo način plaćanja, a u subformu upisujem artikle i količine. za to vrijeme mogu i promjeniti način plaćanja. Znači kada eventualno promijenim način plaćanja nalazim se joÅ¡ uvijek u istom rekordu |
zxz | 17.04.2014 12:56 |
---|---|
Predmet:Re: Redni brojevi, kako izbjeći greÅ¡ku? Citat: Moja forma je dizajnirana tako da se ne može sa nje preći u novi rekord. Formu otvaram preko forme za izbor kupca tako da se u nju automatski upiÅ¡u podaci o kupcu. Zavisi kako si to uradio. Ako mislis da si samo eliminisao rekord selektor i navigacioni taster opet mozes tastaturom preci. No nije to tvoj proble. Citat: Na glavnoj formi biram samo način plaćanja, a u subformu upisujem artikle i količine. za to vrijeme mogu i promjeniti način plaćanja Dok predjes na subformu u glavnoj formi se upisao rekord. Znaci isto je kao da si presao na novi i vratio se. Ti si zapisao podatke i sada ako se vratis i ponovo ih mijenjas imas gor opisanu stvar. Neznam kako nemozes ovo da iozvedes da upises dupli ja znam sigurno da se to desava. Znaci sada je dovoljno da udjes u subformu i da upisaj jedan rekord u njoj sada kada se vratis na glavnu formu i ponovo odaberes isti nacin placanja FiskalniBroj ce ti se uvecati jos za 1. |
pmiroslav | 17.04.2014 13:20 |
---|---|
Predmet:Re: Redni brojevi, kako izbjeći greÅ¡ku? Citiraj zxz: Eu pravu si izgleda da je tu caka. Sada sam primjetio da ako ovo promjeni fiskalni broj.[quote]Znaci sada je dovoljno da udjes u subformu i da upisaj jedan rekord u njoj sada kada se vratis na glavnu formu i ponovo odaberes isti nacin placanja FiskalniBroj ce ti se uvecati jos za 1. Ako uđem u subformu i vratim se pa promjenim način plaćanja za neki drugi sve je u redu, ali ako je bilo gotovinsko pa opet kliknem na gotovinsko fiskalnibroj se promjeni. Sad kad znamo gdje je proglem može li se kako napraviti da se onemogući dva puta birati gotovinsko plaćanje? |
zxz | 17.04.2014 14:15 |
---|---|
Predmet:Re: Redni brojevi, kako izbjeći greÅ¡ku? Nemozes onemoguciti biranje jer ga onda neces vidjeti. Probaj ovako. U proceduri afterupdate na pocetku stavi ovo: If Me.NacinPlacanjaID.OldValue = Me.NacinPlacanjaID Then GoTo Kraj A prije endsub napisi: Kraj: |
pmiroslav | 17.04.2014 18:48 |
---|---|
Predmet:Re: Redni brojevi, kako izbjeći greÅ¡ku? Ja sam u međuvremenu pokuÅ¡ao sa : PreuzmiIzvorni kôd (vbnet):
i to na neki način rijeÅ¡ava problem jer kada jednom izaberem gotovinsko plačanje Ali čini mi se da je tvoje elegantnije i to ću primjeniti. Misali da je sada ovaj problem rijeÅ¡en. Hvala svima na savjetima. PS. zaÅ¡to mi obo bold ne radi aaaaaaa |