I dagens sost, vi kommer att undersöka vad "De ändringar du begärde i tabellen misslyckades eftersom de skulle skapa dubbla värden" fel betyder, vad som orsakar det och praktiska metoder för att lösa det.
Möjligheten för vilken databas som helst att indexera varje post unikt gör det möjligt för användare att ändra poster. Men om du stöter på ett svar som visar ovanstående fel kan du inte använda dina dataposter om du inte åtgärdar problemet.
Vad detta fel betyder
Som felsvaret antyder inträffar det när du lägger en ny post till en tabell med AutoNumber-indexering. Det är också vanligt i fall där sådd av indexeringsfältet inte utfördes ordentligt. Detta gör att AutoNumber-fältet tilldelar ogiltiga värden till dina nyskapade poster. Därför kan du inte införliva ytterligare poster i din databas och detta gör det värdelöst för framtida transaktioner.
Vad kan vara ansvarigt för detta fel?
Olika orsaker kan orsaka ovanstående fel som diskuteras nedan.
1. Fel i JET-databasmotorn
JET-databasmotorn är användbar för att manipulera och hantera en relationsdatabas. Det har till uppgift att bland annat säkerställa dataintegritet och transaktionsbehandling. För att säkerställa att detta händer måste alla transaktioner vara unika, något som uppnås genom sekventiell indexering av primärnyckeln i en databastabell.
Om JET-motorn inte kan garantera unik indexering av poster, kommer det säkert att hända problem. Till exempel är ett fel i den fjärde versionen av Microsoft JET-databasmotorn allmänt känt för att orsaka fel vid sådd av AutoNumber-fältet i most databastabeller. För att undvika detta är det lämpligt att ha ett uppdaterat JET-servicepack.
2. Dålig databasdesign
Dålig design kan vara en av de största impedanserna för att en databas fungerar korrekt. Vissa designfel som kan utlösa felet ovan inkluderar länkning av underform och huvudform till en tabell så att båda kan antingen ändra fältet AutoNumber. Detta innebär att poster i både underform och huvudform fångas som nya poster på bordet. Om du ställer in AutoNumber som ett slumpmässigt värde finns det också potential att replikera poster.
3. Databaskorruption
En annan vanlig orsak till ovanstående fel är Åtkomst till databasskada. En myriad av problem som programvarukonflikt, korrupt datorregister, plötsligt strömavbrott eller datavirus kan orsaka databaskorruption.
Vad du ska göra när du möter detta fel
För att lösa problemet permanent måste du göra en korrekt diagnos av orsaken. Stargenom att analysera historiken för din databas så att du kan upptäcka eventuella underliggande problem. Till exempel, om din databas är relativt ny och du inte har utfört en grundlig feltestning, finns det en chans att orsaken är en designproblem och inte nödvändigtvis dataskada. I det här fallet ska du undersöka dina formulärdesigner och se till att fälten för AutoNumber har "New Records" respektive "Field Size" är inställda på "Increment" respektive "Long Integer".
På baksidan, om din databas hade varit i drift under en lång tid och sedan problem uppstod efter uppdateringen av JET-databasmotorn, överväg MS Access kompakt- och reparationsfunktion för att återställa AutoNumber-sådd i din databas. Installera nu en stabil version av JET-motorn på din dator. Detta bör lösa problemet.
Om du har att göra med en korrupt databas, använd DataNumen Access Repair programvara för att återställa dina filer. Kom nu med en ny databas och ge den ett annat namn. Du kan flytta de återställda filerna till den nyskapade databasen. Du har nu din databas igång.
Hallå där! Jag vet att det här är lite utanför ämnet men jag tänkte att jag skulle fråga. Skulle du vara intresserad av att utbyta länkar eller kanske gästförfatta en blogg sidost eller tvärtom? Min webbplats täcker mycket av samma ämnen som din och jag tror att vi kan ha stor nytta av varandra. Om du kan vara intresserad, skicka mig ett mail. Jag ser fram emot att höra från dig! Jättebra blogg förresten!