2011-05-24 20:07:13 +0000 2011-05-24 20:07:13 +0000
9
9

Jak ustawić pierwszą wartość funkcji AutoNumber w programie Access?

Nie potrzebuję resetować wartości AutoNumber jak to pytanie , ale raczej chciałbym najpierw ustawić liczbę na:

1001

Który następnie inkrementuje się jak normalnie:

1001

1002

1003

….

Jak mogę to zrobić w Access 2010?

Odpowiedzi (7)

15
15
15
2011-05-24 20:33:07 +0000

Chociaż Access nie oferuje tej funkcji natywnie, można ją uzyskać za pomocą zapytania, takiego jak poniższe:

CREATE TABLE TableThatIncrements
(
Id AUTOINCREMENT(1001,1)
)

Spowoduje to utworzenie pojedynczej tabeli o nazwie “TableThatIncrements” z pojedynczą kolumną o nazwie “Id”. Możesz teraz użyć edytora tabel, aby dodać właściwości i/lub inne kolumny.

Zmień

AUTOINCREMENT(x,y)

do swoich potrzeb, gdzie x jest początkową liczbą inkrementacji, a y jest liczbą, którą należy inkrementować. Tak więc AUTOINCREMENT(100,5) da: 100, 105, 110, 115, itd.

Jeśli chcesz zmienić istniejącą tabelę, użyj następującego zapytania. Upewnij się, że karta tej tabeli jest zamknięta, aby Access mógł ją zablokować i zmienić.

ALTER TABLE TableThatIncrements
   ALTER COLUMN Id AUTOINCREMENT(1001,1)

Możesz uruchomić zapytanie w Accessie, wykonując następujące czynności:

  1. Przejdź do zakładki “Utwórz” i kliknij “Projektowanie zapytań”

  2. Zamknij okno, które się pojawi i poproś o wybranie tabel, nie jest nam to potrzebne.

  3. Przejdź do zakładki “Design” i kliknij przycisk ze strzałką, aż pojawi się ekran wprowadzania tekstu. (Domyślnie jest to SELECT;).

  4. Usuń domyślny tekst i wklej powyższe zapytanie.

  5. Kliknij “Uruchom”.

2
2
2
2018-06-27 14:18:09 +0000

1- Utwórz tabelę1 2- Przejdź do create ——- > design query. 3- Zamknij tabelę 4- Przejdź do SQl z góry. 5- Wklej ten kod.

ALTER TABLE [TABLE1] ALTER COLUMN [Id] COUNTER (8982,1)

1
1
1
2011-05-24 20:18:11 +0000

Musisz oszukać Access, ponieważ zakłada on, że nie jesteś zainteresowany autonumerem innym niż ten, który sam podaje.

Będziesz musiał rozpocząć tabelę z niestandardowym autonumerem, co będzie wymagało pewnych ustawień. Ale kiedy już to się stanie, możesz po prostu kontynuować dodawanie stamtąd.

Google “access change autonumber start” i znajdziesz kilka opcji, aby to zrobić. Większość z nich opiera się na tworzeniu zapytania dołączającego, aby zmodyfikować pole.

Utwórz pierwszą tabelę, która zawiera pole typu licznika, które chcesz uruchomić na innej liczbie. Nie wprowadzaj żadnych rekordów.Utwórz drugą tabelę, z pojedynczym polem typu long integer number, które ma taką samą nazwę jak pole licznika w pierwszej tabeli. Utwórz rekord w drugiej tabeli, wpisując liczbę o jeden mniejszą niż liczba, od której chcesz rozpocząć licznik w pierwszej tabeli. Utwórz zapytanie append, aby dodać jeden rekord z drugiej tabeli do pierwszej tabeli i uruchom je Usuń drugą tabelę, usuń rekord, który został dodany do pierwszej tabeli i zacznij wprowadzać dane.

Z MVPS.org http://access.mvps.org/access/tables/tbl0005.htm

Jeśli nie czujesz się na siłach, aby zbudować zapytanie dołączające, zawsze możesz ustawić tabelę, skopiować i wkleić 1000 wierszy danych z Excela, usunąć rekordy, aż dojdziesz do numeru 1001 i kontynuować od tego miejsca.

UPDATE: Dodanie wyjaśnienia powodu

Powodem, dla którego autonumber jest ustawiony tylko na początek od 1 jest to, że pole autonumber jest przeznaczone do użytku jako wewnętrzne pole referencyjne i w dobrej praktyce bazodanowej, nie powinno być używane w żadnej publicznie widocznej formie. Jest ono używane w przypadkach, gdy nie ma jeszcze unikalnego elementu w danej tabeli, aby stworzyć unikalny wpis, według którego tabela może być przeszukiwana i indeksowana.

1
1
1
2018-02-10 22:13:06 +0000

Ta strona ma bardzo prosty sposób na rozpoczęcie autonumeru od dowolnej liczby http://www.fmsinc.com/microsoftaccess/AutoNumber%20Field/Creating.asp

Tworzysz zapytanie z wyrażeniem, które mówi polu autonumeru, aby się zmieniło

“Najpierw uruchom to zapytanie:

INSERT INTO tblName ( ID ) SELECT 999 AS Expr1

Gdzie tblName to nazwa tabeli, a ID to nazwa pola Autonumer.

Następnie uruchom drugie zapytanie, aby usunąć wiersz, który został wstawiony:

DELETE FROM tblName WHERE ID=999;

(Alternatywnie możesz po prostu otworzyć tabelę i ręcznie usunąć wiersz, który wstawiłeś).

Teraz następny rekord dodany do tabeli ma przypisaną wartość 1000.

Ta metoda działa z nową tabelą lub z tabelą, której AutoNumber nie osiągnął jeszcze wartości Seed. (Oczywiście, pole ID dla istniejących wierszy nie zostanie zmienione, ale kolejne wiersze będą zaczynały się od 1000).”

0
0
0
2017-01-24 18:13:24 +0000

Jest to dość stary wątek, ale wciąż wyskakuje jako wynik wyszukiwania Google w pierwszej trójce.

Jednym z powodów, dla których użytkownik może chcieć zmienić wartość pola autonumeru, jest poprawienie błędu spowodowanego przez edycję bazy danych. Gdy administrator chce dokonać poważnych zmian we frontendzie bazy danych, może wykonać kopie wszystkich powiązanych tabel i przekierować kopię deweloperską frontendu na te back-endy. Jeśli zmiany są wystarczające, może on po prostu zastąpić produkcyjną kopię frontendu swoją kopią, przekierowując wszystkie powiązane tabele po przetestowaniu.

Żaden problem, prawda? Cóż, inkrementacja autonumeru pozostaje z front-endem. Więc jeśli strona produkcyjna po prostu inkrementowała autonumer o 50 lub 500 lub 5000 numerów, podczas gdy administrator pracował nad kopią, to nowa kopia produkcyjna będzie próbować tych samych numerów i nie będzie w stanie wprowadzić elementów do tych pól, jeden po drugim, dopóki nie będzie “w porządku”. Skopiuj 50, 500 lub 5000 wierszy danych z Excela i spróbuj je wkleić. Będzie błąd w każdym wierszu (upewnij się, że wyłączysz dalsze komunikaty, gdy to wyskoczy), ale autonumer będzie inkrementował o tę ilość i będziesz mógł znowu działać. Jeśli używasz autonumerów w ten sposób, zalecane byłoby zwiększenie ich liczby do poziomu, na którym znajduje się baza produkcyjna, przed nadpisaniem jej kopią deweloperską.

Jest to również sposób na rozpoczęcie autonumeru od czegoś wyższego niż 1. Jak w dawnych czasach ustawiania licznika odwiedzin na 17,479 na stronie głównej Geocities, kiedy tak naprawdę była ona odwiedzona tylko 16 razy. Przez Ciebie.

0
0
0
2017-11-12 15:50:55 +0000

Wierzę, że może to być osiągnięte do niestandardowego zakresu przyrostu, tworząc najpierw ukrytą tabelę, która będzie utrzymywać początkową lukę automatycznych przyrostów rozpoczynających się od zera do wyboru, np. ta tabela będzie utrzymywać 0 do 1050 Następnie rozpoczynasz przyrost 1055, 1060, 1065 itd. Następnie ukryjesz tę porcję danych z tabeli. Mam nadzieję, że to pomoże. Wygląda na to, że Access został zaprojektowany, aby wyglądać początkowo od zera, ponieważ pojawią się konflikty.

0
0
0
2017-02-24 02:19:19 +0000

Prostym sposobem na osiągnięcie czegoś podobnego jest posiadanie pola Autonumber (np. “ID”) i drugiego pola obliczeniowego (np. “ItemID”) i wprowadzenie formuły “1000+[ID]” dla pola obliczeniowego. To nowe pole będzie teraz automatycznie śledzić pole Autonumber, ale zacznie się od 1001 zamiast 1.