Dla zapytania Definicja danych (DDL) w programie Access, należy użyć pola COUNTER
, aby zdefiniować pole Autonumerowanie. Próbowałeś użyć obu Integer
i counter
na tym samym polu, a to nie zadziała.
Właśnie próbowałem i pracował dla mnie w programie Access 2010:
ALTER TABLE PERSON ALTER COLUMN PERSON_ID COUNTER PRIMARY KEY
Uwaga, że aby tego oświadczenia do pracy
- stół musi być pusty, a
- tabela nie może już zawierać klucza głównego, nawet w polu [PERSON_ID].
Jeśli tabela zawiera już wiersze, program Access nie pozwoli przekonwertować pola Numeric (Long Integer)
na AutoNumber
. W takim przypadku należy utworzyć nową tabelę z kluczem podstawowym AutoNumber, a następnie wstawić wiersze ze starej tabeli do nowej tabeli.
Na przykład dla istniejącej tabeli o nazwie [osoby] z kolumnami
PERSON_ID INTEGER
PERSON_NAME TEXT (50)
trzeba utworzyć nową tabelę
CREATE TABLE PERSON_NEW (PERSON_ID COUNTER PRIMARY KEY, PERSON_NAME TEXT(50))
a następnie skopiuj rekordy ponad
INSERT INTO PERSON_NEW
SELECT * FROM PERSON
niestety tabela ma już w sobie dane. Czy jest jakiś sposób, żeby to działało, jeśli są dane? Tworzę tę tabelę na podstawie innej tabeli o tej samej nazwie, polach i wszystkich danych w istniejącej tabeli (w przypadku projektu szkolnego) Person_ID jest również FK w innej tabeli, dlatego chcę zachować te same dane. – WillNZ
@WillNZ Zaktualizowałem moją odpowiedź. –
Pozdrawiam kumpla. Napij się piwa :) – WillNZ