Nie muszę resetować wartości AutoNumber jak to pytanie , ale wolę najpierw ustawić liczbę na:
1001
Które następnie przyrosty jak normalne:
1001
1002
1003
...
Jak mogę to zrobić w programie Access 2010?
microsoft-access-2010
James Mertz
źródło
źródło
Odpowiedzi:
Mimo że program Access nie oferuje tej funkcji natywnie, można ją uzyskać za pomocą zapytania, takiego jak:
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.
Zmiana
w zależności od potrzeb, gdzie
x
jest początkowy numer przyrostowy iy
jest to numer, który należy zwiększyć. Tak więcAUTOINCREMENT(100,5)
przyniesie: 100, 105, 110, 115 itd.Jeśli chcesz zmienić istniejącą tabelę, użyj następującego zapytania. Upewnij się, że karta konkretnego stołu jest zamknięta, aby program Access mógł ją zablokować i zmienić.
Możesz uruchomić zapytanie w programie Access, wykonując następujące czynności:
Przejdź do zakładki „Utwórz” i kliknij „Projekt zapytania”
Wystarczy zamknąć okno, które wyświetli się z prośbą o wybranie tabel, nie potrzebujemy tego.
Przejdź do zakładki „Projekt” i kliknij przycisk ze strzałką, aż pojawi się ekran wprowadzania tekstu. (Domyślnie mówi
SELECT;
).Usuń domyślny tekst i wklej powyższe zapytanie.
Kliknij „Uruchom”.
źródło
1- Utwórz tabelę 1 2- Przejdź do tworzenia -------> zapytanie projektowe. 3- Zamknij stolik 4- Idź do SQl z góry. 5- Przeszły ten kod.
ALTER TABLE [TABLE1] ALTER COLUMN [Id] COUNTER (8982,1)
źródło
Ta strona ma bardzo prosty sposób na rozpoczęcie automatycznego numerowania z dowolnym numerem: http://www.fmsinc.com/microsoftaccess/AutoNumber%20Field/Creating.asp
Tworzysz zapytanie z wyrażeniem, które mówi o zmianie pola autonumeracji
„Najpierw uruchom następujące zapytanie:
INSERT INTO tblName (ID) SELECT 999 AS Expr1
Gdzie tblName to nazwa tabeli, a ID to nazwa pola AutoNumber.
Następnie uruchom drugie zapytanie, aby usunąć wstawiony wiersz:
USUŃ Z tblName GDZIE ID = 999;
(Możesz też po prostu otworzyć tabelę i ręcznie usunąć wstawiony wiersz).
Teraz następny rekord dodany do tabeli ma przypisaną wartość 1000.
Ta metoda działa z nową tabelą lub z tabelą, której numeracja automatyczna nie osiągnęła jeszcze wartości początkowej. (Oczywiście pole identyfikatora dla istniejących wierszy nie zostanie zmienione, ale kolejne wiersze zaczną się od 1000.) ”
źródło
Musisz oszukać Access, ponieważ zakłada, że nie interesuje Cię automatyczny numer inny niż ten, który zapewnia.
Musisz zacząć tabelę od niestandardowego autonumerowania, co będzie wymagać pewnej konfiguracji. Ale gdy już będzie, możesz po prostu kontynuować dodawanie.
Google „początek numeracji automatycznej zmiany dostępu”, a znajdziesz kilka opcji, aby to zrobić. Większość polega na utworzeniu zapytania dołączającego w celu zmodyfikowania pola.
Z MVPS.org: http://access.mvps.org/access/tables/tbl0005.htm
Jeśli nie masz ochoty budować dołączanego zapytania, zawsze możesz skonfigurować tabelę i skopiować i wkleić 1000 wierszy danych fikcyjnych z programu Excel, usunąć rekordy, aż dojdziesz do numeru 1001, i przejść dalej.
AKTUALIZACJA: Dodanie wyjaśnienia powodu
Powodem, dla którego autonumeracja jest ustawiona na rozpoczęcie od 1, jest to, że pole autonumerowania ma być używane jako wewnętrzne pole referencyjne, a zgodnie z dobrą praktyką baz danych nie powinno się go stosować w żadnej publicznie widocznej formie. Jest stosowany w przypadkach, gdy w danej tabeli nie ma jeszcze unikalnego elementu, aby utworzyć unikalny wpis, za pomocą którego można przeszukiwać i indeksować tabelę.
źródło
To dość stary wątek, ale wciąż pojawia się jako trzy pierwsze wyniki wyszukiwania Google.
Jednym z powodów, dla których użytkownik może chcieć zmienić wartość pola autonumeracji, jest poprawienie błędu spowodowanego edycją bazy danych. Gdy administrator może chcieć wprowadzić kilka poważnych zmian w interfejsie bazy danych, administrator może wykonać kopie wszystkich powiązanych tabel i przekierować kopię programistyczną interfejsu do tych zaplecza. Jeśli zmiany są wystarczające, może po prostu zastąpić kopię produkcyjną interfejsu użytkownika swoją kopią, przekierowując wszystkie połączone tabele po przetestowaniu.
Nie ma problemu, prawda? Cóż, przyrost autonumeracji pozostaje z przodu. Jeśli więc strona produkcyjna po prostu zwiększyła autonumerację o 50 lub 500 lub 5000 liczb, gdy administrator pracował nad kopią, nowa kopia produkcyjna powtórzy te same liczby i nie będzie mogła wprowadzić pozycji w tych polach, jeden na raz, aż stanie się „czysty”. Skopiuj 50, 500 lub 5000 wierszy danych programu Excel i spróbuj je wkleić. Będzie to błąd w każdym wierszu (pamiętaj, aby ukryć kolejne wiadomości, gdy się pojawi), ale numer automatyczny zwiększy się o tę kwotę i jesteś dobry iść ponownie. Jeśli używasz autonumberów w ten sposób, zaleca się zwiększenie liczb do dowolnego poziomu produkcyjnego db przed zastąpieniem go kopią programistyczną.
Jest to również sposób na rozpoczęcie autonumerowania od czegoś wyższego niż 1. Podobnie jak w dawnych czasach ustawiania licznika odwiedzin strony na 17 749 na stronie głównej Geocities, kiedy tak naprawdę odwiedzono go tylko 16 razy. Przez Ciebie.
źródło
Prostym sposobem na osiągnięcie czegoś podobnego jest posiadanie pola Autonumerowania (np. „ID”) i drugiego pola Obliczeniowego (np. „IDID”) i wprowadzenie wzoru „1000+ [ID]” dla pola obliczeniowego. To nowe pole będzie teraz automatycznie śledzić pole Autonumerowania, ale zacznie się od 1001 zamiast 1.
źródło
Wierzę, że można to osiągnąć do niestandardowego zakresu przyrostu, tworząc najpierw ukrytą tabelę, która utrzyma początkową lukę automatycznych przyrostów od zera do twojego wyboru, np. ta tabela zachowa od 0 do 1050 Następnie zaczniesz od przyrostów 1055, 1060, 1065 itd. Następnie ukryjesz tę część danych przed tabelą. Mam nadzieję że to pomoże. Wygląda na to, że Access zaprojektowano tak, aby początkowo wyglądał od zera, ponieważ pojawią się konflikty.
źródło