Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190
iCentar » Racunari i oprema » Programirannje i baze podataka » Access » Autonumber se ponavlja
pmiroslav 14.12.2010 18:20
Predmet:Autonumber se ponavlja

U jednoj Access 2003 bazi koju koristim na poslu imam tablicu u kojoj je primarni ključ Autonumber. U tablici je upisano več preko 20000 zapisa. Več mi se nekoliko puta dogodilo da mi se Autonumber počne ponavljati tj. generira se broj koji več postoji, pa onda ne mogu upisati novi podatak i dobivam onu poruko o grešci:
"The changes were not successful because they wod create duplicate values in index, primary key..."

To isto mi se dogodilo i danas. Riešim ja to nekako ali uz dosta muke jer je baza vrlo velika ima dosta relacija i radi u mreži sa više korisnika.

Ima li neki nači da se spriječi ovaj problem?

zxz 14.12.2010 19:33
Predmet:Re: Autonumber se ponavlja

Problem se ne desava zbog autonumbera nego zbog rada u mrezi. Desi se jednovremenost i onda se to desava. Bar meni se desavalo tako.
Mozes pokusati sa opcijom na formama za unos data entry=true.
Drugi sigurniji nacin je da se naprave lokalne tabele ba racunarima a napr pri izlazu iz forme za unos da se poktrene kod koji bi prenosio podatke na server.
Jos nesto a to je da ti autonumber i nije bas dobro rjesenje za tako poveliku bazu pogotovo kombinacija toga i update podataka kodom ako to imas.
Pisanjem i brisanjem podataka znas da se autonumber povecava stalno pa ****lje generiseti neki kljuc.
Naravno moze se napraviti kode koji bi to sve odradio ali moras predociti strukturu baze.

pmiroslav 14.12.2010 21:06
Predmet:Re: Autonumber se ponavlja

Dogodilo mi se to danas kada sam unosio novi podatak preko forme. Zatim sam otvorio tablicu i pokušao upisati podatak direktno u nju i opet isti problem.
Zatim sam napravio kopiju BackEnd baze pa je i je i u njoj dolazilo do iste greške.
Problem sam donekle riešio tek kada sam napravio "Convert Database To Access 2002-2003 File format"

zxz 14.12.2010 22:04
Predmet:Re: Autonumber se ponavlja

Pa dobro nakon kompaktovanja baze pretpostavljam da se to popravi a svaki konvert radi i kompakt.
Ali kosto sam naveo to se desava usled jednovremenosti te se generisu 2 kljuca ista i onda se desi da zakljuca odnosno neda dalje unositi jer vec postoji kljuc.
Opet napominjem meni se to desvalo na bazi na kojoj je radilo 6-8 ljudi non stop 4 godine na unosu podataka.

pmiroslav 15.12.2010 08:16
Predmet:Re: Autonumber se ponavlja

Sam compact baze mi nije pomogao, nego tek konvert.
Izgleda onda da je i kod mene baš takav slučaj kao što si ga opisao jer i kod mena na bazi radi istovremeno više ljudi.
Možeš li mi dati savjet kako to popraviti
U prilogu šaljem sliku relacija baze o kojoj se radi.
Problematična je tablica koja se zove "PROCES"
Prilozi:
Relacije.jpg (Velicina datoteke:649.51 KB)

zxz 15.12.2010 12:08
Predmet:Re: Autonumber se ponavlja

Ovako bi ja uradio:
U tabeli proces i u svim tabelama koje vezu polje ID napraviti po jedno txt polje.
E sad koliko karaktera i kako treba da izgleda tesko je reci jer nemam podataka.
Evo samo ideja kako:
U ovom novom polju treba napraviti novu sifru koja bi se sastojala napr. od dijela polja klasa, dijela polja naziv mjesec i godina.
Zbrojati i vidjeti koliko je to karaktera.
Ovo je samo primjer kako napraviti neku sifru da nam nesto i kaze a ne da bude samo bezvezni znak koji nista ne govori.
Ovo tinece rijesiti tvoj trenutni problem ali hopce rijesiti to da nisi ogranicen autonumberom koji je sad vjerovatno povelik jer kompaktom se i nece bas smanjti.

Drugi dio:
Tabelu proces i jos tabela koje su mozda u subformi pri unosu napraviti lokalno na svi stanicama i povezati ih sa formama za unos.
E sad pri izlazu iz forme treba napraviti kod koji ce prebacivati te podatke u linkanu tabelu sa servera.

Jos nesto.
Ako ti se zale da je ponekad spor unos ili sporo podizanje onda napravi sledece:
Tools-->option kartica Edit/Find polje don't displey list where more than this number off record reed stavi 100 ili 50.
Sve forme za unos stavi Data entry=true.
Iskljuci spel na formama.

pmiroslav 15.12.2010 14:02
Predmet:Re: Autonumber se ponavlja

Hvala na ovome.Pokušat ću to tako napraviti.
Međutim malo prije su mi se opet počeli ponavljati brojevi i ovaj puta sam to riješio tako da sam napravio kopiju tablice PROCES
pod imenom PROCES_bkp.
U kopiji tablice sada se brojevi ne ponavljaju. Međutim ako sada preimenujem tablice i tablicu PROCES_bkp preimenujem u PROCES pokidaju mi se sve relacije. Dali ima pomoći za to?

zxz 15.12.2010 14:05
Predmet:Re: Autonumber se ponavlja

Kada je autonumber u pitanju opsano je bilo sta dirati jer ti od njega ovise podaci u ostalim tabelama a kod tebe ih ima puno.
Po meni najbolje ti je rijesiti se tog autonumbera. Ocevidno da je on vec poremecen.
Pravi kompakt nece uraditi jer ima podataka. Generisanje novog bi poremetilo sve.

Getsbi 15.12.2010 23:42
Predmet:Re: Autonumber se ponavlja

Ajde i ja da dodam svoje mišljenje. Autonumber koristim isključivo kad nešto testiram pa me mrzi da kreiram primarni ključ i odradim sve zahteve kroz aplikaciju u vezi njegovog popunjavanja. Kad god je nešto iole ozbiljnije u pitanju, postavljam long integer ili neku šifru tipa konbinacija za tekstualno polje, koje je ZXZ pominjao.

Ako su ti to neki bitni podaci, a verujem da jesu, onda uvedi još jedan ključ i vozi paralelno neko vreme. Naravno da ćeš morati da napraviš programčići popuniš za taj novi ključ istorijske podatke (one od ranije unete). Nakon nekog vremena nestaće ti potreba za Autonumber poljem, pa ćeš ga ukinuti, a ovaj novi tada proglasiti za PK. To međuvreme iskoristi da središ aplikaciju ukoliko je taj Autonumber nedaj bože u nekoj drugoj tabeli bio FK (preneseni ključ).

pmiroslav 16.12.2010 12:15
Predmet:Re: Autonumber se ponavlja

Možete li mi dati savjet kakav oblik Identa da napravim, a da se on ipak sam generira tj da ga korisnik ne treba sam upisaivati.

U prilogu je moja tablica sa malo podataka
Prilozi:
PrimjerID.rar (Velicina datoteke:72.79 KB)