I dagens sost, vil vi undersøke hva "Endringene du ba om i tabellen var ikke vellykkede fordi de ville skape dupliserte verdier" feilen betyr, hva som forårsaker den, og praktiske tilnærminger til å løse den.
Evnen til enhver database til å indeksere hver post unikt gjør det mulig for brukere å endre poster. Men hvis du kommer over et svar som viser feilen ovenfor, kan du ikke bruke datapostene dine med mindre du løser problemet.
Hva denne feilen betyr
Som feilresponsen antyder, oppstår det når en ny post legges inn i en tabell med AutoNumber-indeksering. Det er også vanlig i tilfeller der såingen av indekseringsfeltet ikke ble utført riktig. Dette gjør Autonummer-feltet for å tilordne ugyldige verdier til de nyopprettede postene. Derfor kan du ikke inkludere flere poster i databasen din, og dette gjør den ubrukelig for fremtidige transaksjoner.
Hva kan være ansvarlig for denne feilen?
Ulike årsaker kan forårsake feilen ovenfor som diskutert nedenfor.
1. Feil i JET-databasemotoren
JET-databasemotoren er nyttig for å manipulere og administrere en relasjonsdatabase. Den har til oppgave å sikre dataintegritet og transaksjonsbehandling, blant annet. For å sikre at dette skjer, må alle transaksjoner være unike, noe som oppnås ved sekvensiell indeksering av primærnøkkelen i en databasetabell.
Hvis JET-motoren ikke kan garantere unik indeksering av poster, vil det garantert oppstå problemer. For eksempel er en feil i den fjerde versjonen av Microsoft JET-databasemotoren vanligvis kjent for å forårsake feil ved såing av AutoNumber-feltet i most databasetabeller. For å unngå dette, er det tilrådelig å ha en JET-servicepakke som er oppdatert.
2. Dårlig databasedesign
Dårlig design kan være blant de største impedansene for at en database skal fungere korrekt. Noen designfeil som kan utløse feilen ovenfor inkluderer å koble underskjema og hovedskjema til en tabell slik at begge kan enten endre AutoNumber-feltet. Dette betyr at oppføringer i både underskjemaet og hovedskjemaet blir fanget opp som nye poster på bordet. Dessuten, hvis du angir AutoNumber som en tilfeldig verdi, er det potensiale for replikering av poster.
3. Databasekorrupsjon
En annen vanlig årsak til feilen ovenfor er Access-database korrupsjon. En myriade av problemer som programvarekonflikt, korrupt dataregister, plutselig strømbrudd eller datavirus kan forårsake databasekorrupsjon.
Hva du skal gjøre når du møter denne feilen
For å fikse dette problemet permanent, må du utføre en nøyaktig diagnose av rotårsaken. Start ved å analysere historien til databasen din for å hjelpe deg med å avdekke eventuelle underliggende problemer. For eksempel, hvis databasen din er relativt ny og du ikke har utført en grundig feiltesting, er det en sjanse for at årsaken er et designproblem og ikke nødvendigvis datakorrupsjon. I dette tilfellet, undersøk skjemadesignene dine og sørg for at AutoNumber-feltene har "New Records" og "Field Size" er satt til henholdsvis "Increment" og "Long Integer".
På baksiden, hvis databasen din hadde vært operativ i lang tid og deretter problemer dukket opp etter oppdateringen av JET-databasemotoren, bør du vurdere MS Accesss kompakt- og reparasjonsfunksjon for å tilbakestille AutoNumber-seedingen i databasen. Installer nå en stabil versjon av JET-motoren på datamaskinen din. Dette bør løse problemet.
Hvis du har å gjøre med en korrupt database, bruk DataNumen Access Repair programvare for å gjenopprette filene dine. Nå, kom opp med en ny database og gi den et annet navn. Du kan flytte de gjenopprettede filene til den nyopprettede databasen. Du har nå databasen i gang.