Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Origineel KB-nummer: 884185
Wanneer u probeert een nieuwe record in te voegen in een tabel met een veld Autonummering , wordt mogelijk het volgende foutbericht weergegeven:
De wijzigingen die u in de tabel hebt aangevraagd, zijn niet geslaagd omdat ze dubbele waarden in de index, primaire sleutel of relatie zouden maken. Wijzig de gegevens in het veld of de velden die dubbele gegevens bevatten, verwijder de index of herdefinieer de index om dubbele vermeldingen toe te staan en probeer het opnieuw.
Notitie
De tabel heeft mogelijk geen relaties of indexen.
Dit probleem treedt op wanneer het veld Autonummering onjuist is gezaaid.
Er zijn meerdere methoden die dit probleem kunnen oplossen.
Voer de volgende stappen uit om de database te comprimeren:
Start Access.
Open de Access-database.
Notitie
Als u het dialoogvenster Beveiligingswaarschuwing ziet, klikt u op Openen.
Klik op het linttabblad Hulpmiddelen voor databases en klik vervolgens in de groep Hulpprogramma's op Database comprimeren en herstellen.
Notitie
In eerdere versies van Access kan de optie Database comprimeren en herstellen zich elders bevinden. Raadpleeg de documentatie voor uw specifieke versie van Access om deze optie te vinden.
Gebruik een van de volgende methoden om het veld voor autonummering handmatig opnieuw in te stellen.
Open de database met de tabel (back-enddatabase) in Access:
Klik op het tabblad Maken op Queryontwerp in de groep Query's .
Klik in het dialoogvenster Tabel weergeven op Sluiten.
Klik op het tabblad Ontwerpen op SQL-weergave in de groep Resultaten .
Typ het volgende in het venster Query1 :
ALTER TABLE TableName ALTER COLUMN AutoNumFieldName COUNTER(iMaxID,1);
Notitie
<TableName> is een tijdelijke aanduiding voor de naam van de <tabel. AutoNumFieldName> is een tijdelijke aanduiding voor de naam van het veld Autonummering . iMaxID is een tijdelijke aanduiding voor de huidige maximumwaarde in het veld plus 1.
Klik op het tabblad Ontwerpen op Uitvoeren in de groep Resultaten .
Klik op het tabblad Maken op de pijl-omlaag onder Macro en klik vervolgens op Module.
Plak de volgende code in de Visual Basic-Editor.
Sub ResetAuto() Dim iMaxID As Long Dim sqlFixID As String iMaxID = DMax("<AutonumberFieldName>", "<TableName>") + 1 sqlFixID = "ALTER TABLE <TableName> ALTER COLUMN <AutonumberFieldName> COUNTER(" & <iMaxID> & ",1)" DoCmd.RunSQL sqlFixID End Sub
Notitie
De tijdelijke aanduiding <AutonumberFieldName> vertegenwoordigt de naam van het veld Autonummering. De tijdelijke aanduiding <TableName> vertegenwoordigt de naam van de tabel.
Klik in het menu Uitvoeren op Sub/UserForm uitvoeren.
Notitie
U moet de tabel sluiten voordat u een van beide methoden gebruikt. U hoeft de query of de module niet op te slaan nadat u een van de methoden hebt gebruikt
Een nieuwe lege database maken
Maak een nieuwe tabel met de naam Table1 die de volgende twee velden bevat:
Veld1: Veld autonummering (primaire sleutel) 2: Tekst
Voeg de volgende zes records toe aan Table1.
Veld1 Veld2 1 A 2 B 3 C 4 D 5 E 6 F Verwijder de record waarvan Veld1 de waarde 3 heeft.
Klik op het tabblad Maken op Queryontwerp in de groep Query's .
Klik in het dialoogvenster Tabel weergeven op Sluiten.
Klik op het tabblad Ontwerpen op SQL-weergave in de groep Resultaten .
Typ het volgende in het venster Query1 :
INSERT INTO Table1 (Field1, Field2) SELECT 3 AS Field1, "C" AS Field2;
Klik op het tabblad Ontwerpen op Uitvoeren in de groep Resultaten .
Open Table1 en probeer een nieuwe record toe te voegen. U ontvangt het foutbericht dat wordt vermeld in de sectie Symptomen.