Ich muss den AutoNumber-Wert nicht wie in dieser Frage zurücksetzen , sondern möchte zuerst die Nummer auf Folgendes setzen:
1001
Was dann wie gewohnt inkrementiert:
1001
1002
1003
...
Wie gehe ich in Access 2010 vor?
Ich muss den AutoNumber-Wert nicht wie in dieser Frage zurücksetzen , sondern möchte zuerst die Nummer auf Folgendes setzen:
1001
Was dann wie gewohnt inkrementiert:
1001
1002
1003
...
Wie gehe ich in Access 2010 vor?
Antworten:
Obwohl Access diese Funktion nicht nativ bietet, kann sie durch eine Abfrage wie die folgende erreicht werden:
CREATE TABLE TableThatIncrements
(
Id AUTOINCREMENT(1001,1)
)
Dadurch wird eine einzelne Tabelle mit dem Namen "TableThatIncrements" mit einer einzelnen Spalte mit dem Namen "Id" erstellt. Sie können jetzt den Tabelleneditor verwenden, um Eigenschaften und / oder andere Spalten hinzuzufügen.
Veränderung
AUTOINCREMENT(x,y)
Wo x
ist die anfängliche Inkrementnummer und y
die Nummer, mit der inkrementiert werden soll? So AUTOINCREMENT(100,5)
ergibt sich: 100, 105, 110, 115 usw.
Wenn Sie eine vorhandene Tabelle ändern möchten, verwenden Sie die folgende Abfrage. Stellen Sie sicher, dass die Registerkarte einer bestimmten Tabelle geschlossen ist, damit Access sie sperren und ändern kann.
ALTER TABLE TableThatIncrements
ALTER COLUMN Id AUTOINCREMENT(1001,1)
Sie können eine Abfrage in Access ausführen, indem Sie folgende Schritte ausführen:
Gehen Sie zur Registerkarte "Erstellen" und klicken Sie auf "Abfragedesign".
Schließen Sie einfach das angezeigte Fenster, in dem Sie aufgefordert werden, Tabellen auszuwählen. Das brauchen wir nicht.
Gehen Sie zur Registerkarte "Design" und klicken Sie auf die Schaltfläche mit dem Pfeil, bis Sie einen Texteingabebildschirm erhalten. (Standardmäßig heißt es SELECT;
).
Löschen Sie den Standardtext und fügen Sie die obige Abfrage ein.
Klicken Sie auf "Ausführen".
1- Tabelle erstellen1 2- Zum Erstellen -------> Entwurfsabfrage gehen. 3- Schließen Sie Tabelle 4- Gehen Sie von oben zu SQl. 5- Über diesen Code hinaus.
ALTER TABLE [TABLE1] ALTER COLUMN [Id] COUNTER (8982,1)
Diese Website bietet eine sehr einfache Möglichkeit, Ihre automatische Nummerierung mit einer beliebigen Nummer zu starten: http://www.fmsinc.com/microsoftaccess/AutoNumber%20Field/Creating.asp
Sie erstellen eine Abfrage mit einem Ausdruck, der das Feld für die automatische Nummerierung anweist, sich zu ändern
"Führen Sie zuerst diese Abfrage aus:
INSERT INTO tblName (ID) SELECT 999 AS Expr1
Dabei ist tblName der Tabellenname und ID der Name des Felds AutoNumber.
Führen Sie dann eine zweite Abfrage aus, um die eingefügte Zeile zu löschen:
DELETE FROM tblName WHERE ID = 999;
(Alternativ können Sie einfach die Tabelle öffnen und die eingefügte Zeile manuell löschen.)
Dem nächsten der Tabelle hinzugefügten Datensatz wird nun der Wert 1000 zugewiesen.
Diese Methode funktioniert mit einer neuen Tabelle oder mit einer Tabelle, deren AutoNumber den Seed-Wert noch nicht erreicht hat. (Natürlich wird das ID-Feld für vorhandene Zeilen nicht geändert, aber nachfolgende Zeilen beginnen mit 1000.) "
Sie müssen Access austricksen, da davon ausgegangen wird, dass Sie nicht an einer anderen Autonummer als der bereitgestellten interessiert sind.
Sie müssen die Tabelle mit der benutzerdefinierten automatischen Nummerierung beginnen, für die einige Einstellungen erforderlich sind. Aber sobald es losgeht, können Sie von dort aus einfach weiter hinzufügen.
Google "Access Change Autonumber Start" und Sie finden verschiedene Optionen, um dies zu tun. Die meisten verlassen sich darauf, eine Append-Abfrage zu erstellen, um das Feld zu ändern.
Erstellen Sie die erste Tabelle, die das Feld für den Zählertyp enthält, das Sie mit einer anderen Nummer beginnen möchten. Geben Sie keine Datensätze ein. Erstellen Sie eine zweite Tabelle mit einem einzelnen langen Feld vom Typ Ganzzahl, das denselben Namen wie das Zählerfeld in der ersten Tabelle hat. Erstellen Sie einen Datensatz in der zweiten Tabelle, indem Sie eine Nummer eingeben, die kleiner ist als die Nummer, bei der Sie den Zähler in der ersten Tabelle starten möchten. Erstellen Sie eine Append-Abfrage, um den einen Datensatz in der zweiten Tabelle an die erste Tabelle anzuhängen, und führen Sie sie aus. Löschen Sie die zweite Tabelle, löschen Sie den Datensatz, den Sie an die erste Tabelle angehängt haben, und geben Sie Daten ein.
Von MVPS.org: http://access.mvps.org/access/tables/tbl0005.htm
Wenn Sie keine Append-Abfrage erstellen möchten, können Sie jederzeit die Tabelle einrichten und 1000 Zeilen Dummy-Daten aus Excel kopieren und einfügen, die Datensätze löschen, bis Sie die Nummer 1001 erreichen, und von dort aus fortfahren.
UPDATE: Erklärung aus gutem Grund hinzufügen
Der Grund dafür, dass die automatische Nummerierung nur auf 1 gesetzt wird, besteht darin, dass das Feld für die automatische Nummerierung als internes Referenzfeld verwendet werden soll und in der guten Datenbankpraxis im Allgemeinen nicht in öffentlich sichtbarer Form verwendet werden sollte. Es wird in Fällen verwendet, in denen in einer bestimmten Tabelle noch kein eindeutiges Element vorhanden ist, um einen eindeutigen Eintrag zu erstellen, mit dem die Tabelle durchsucht und indiziert werden kann.
Dies ist ein ziemlich alter Thread, der jedoch immer noch als eines der drei besten Google-Suchergebnisse angezeigt wird.
Ein Grund, warum ein Benutzer möglicherweise den Wert eines Felds für die automatische Nummerierung ändern möchte, besteht darin, einen Fehler zu korrigieren, der durch die Datenbankbearbeitung verursacht wird. Wenn ein Administrator einige wichtige Änderungen an einem Front-End einer Datenbank vornehmen möchte, erstellt dieser Administrator möglicherweise Kopien aller zugehörigen Tabellen und leitet eine Entwicklungskopie des Front-End an diese Back-Ends weiter. Wenn die Änderungen ausreichend sind, kann er einfach die Produktionskopie des Frontends durch seine Kopie ersetzen und alle verknüpften Tabellen nach dem Testen umleiten.
Kein Problem, oder? Nun, die Inkrementierung der automatischen Nummerierung bleibt beim Frontend. Wenn also die Produktionsseite die automatische Nummerierung nur um 50 oder 500 oder 5000 Nummern erhöht hat, während der Administrator an der Kopie gearbeitet hat, versucht die neue Produktionskopie, dieselben Nummern erneut zu versuchen, und kann keine Elemente in diese Felder eingeben zu einer Zeit, bis es "im klaren" wird. Kopieren Sie 50, 500 oder 5000 Zeilen mit Excel-Daten und versuchen Sie, sie einzufügen. In jeder Zeile tritt ein Fehler auf (unterdrücken Sie weitere Nachrichten, wenn sie angezeigt werden), aber die automatische Nummerierung erhöht sich um diesen Betrag, und Sie sind gut wieder gehen. Wenn Sie auf diese Weise Autonummern verwenden, wird empfohlen, die Zahlen auf die Produktionsdatenbank zu erhöhen, bevor Sie sie mit Ihrer Entwicklungskopie überschreiben.
Dies ist auch eine Möglichkeit, Ihre automatische Nummerierung bei etwas höher als 1 zu starten. Wie in den alten Tagen, als der Zähler für Seitenbesuche auf Ihrer Geocities-Homepage auf 17.479 gesetzt wurde, als er tatsächlich nur 16 Mal besucht wurde. Von dir.
Eine einfache Möglichkeit, etwas Ähnliches zu erreichen, besteht darin, ein Autonumber-Feld (z. B. "ID") und ein zweites berechnetes Feld (z. B. "ItemID") zu haben und die Formel "1000+ [ID]" für das berechnete Feld einzugeben. Dieses neue Feld verfolgt nun automatisch das Feld "Autonumber", beginnt jedoch bei 1001 anstelle von 1.
Ich glaube, Sie können Ihren benutzerdefinierten Inkrementbereich erreichen, indem Sie zuerst eine versteckte Tabelle erstellen, die die anfängliche Lücke der automatischen Inkremente von Null bis zu Ihrer Wahl beibehält, z. Diese Tabelle behält die Werte 0 bis 1050 bei. Dann beginnen Sie mit den Schritten 1055, 1060, 1065 usw. Sie werden diesen Teil der Daten aus der Tabelle ausblenden. Hoffe das hilft. Anscheinend wurde Access so konzipiert, dass es zunächst von Null aus aussieht, da Konflikte auftreten werden.