Tôi không cần đặt lại giá trị AutoNumber như câu hỏi này , nhưng trước tiên tôi muốn đặt số thành:
1001
Mà sau đó tăng như bình thường:
1001
1002
1003
...
Làm cách nào để thực hiện việc này trong Access 2010?
Tôi không cần đặt lại giá trị AutoNumber như câu hỏi này , nhưng trước tiên tôi muốn đặt số thành:
1001
Mà sau đó tăng như bình thường:
1001
1002
1003
...
Làm cách nào để thực hiện việc này trong Access 2010?
Câu trả lời:
Mặc dù Access không cung cấp chức năng này một cách tự nhiên, nhưng nó có thể đạt được thông qua một truy vấn, như sau:
CREATE TABLE TableThatIncrements
(
Id AUTOINCREMENT(1001,1)
)
Điều này sẽ tạo ra một bảng duy nhất gọi là "TableThatIncrements" với một cột duy nhất, được đặt tên là "Id". Bây giờ bạn có thể sử dụng trình soạn thảo bảng để thêm thuộc tính và / hoặc các cột khác.
Thay đổi
AUTOINCREMENT(x,y)
để phù hợp với nhu cầu của bạn, x
số gia tăng ban đầu ở đâu và y
là số tăng theo. Vì vậy, AUTOINCREMENT(100,5)
sẽ mang lại: 100, 105, 110, 115, v.v.
Nếu bạn muốn thay đổi bảng hiện có, hãy sử dụng truy vấn sau. Đảm bảo rằng tab của bảng cụ thể được đóng để Access có thể khóa nó và thay đổi nó.
ALTER TABLE TableThatIncrements
ALTER COLUMN Id AUTOINCREMENT(1001,1)
Bạn có thể chạy truy vấn trong Access bằng cách thực hiện như sau:
Chuyển đến tab "Tạo" và nhấp vào "Thiết kế truy vấn"
Chỉ cần đóng cửa sổ xuất hiện yêu cầu bạn chọn bảng, chúng tôi không cần điều đó.
Chuyển đến tab "Thiết kế" và nhấp vào nút bằng mũi tên cho đến khi bạn nhận được màn hình nhập văn bản. (Theo mặc định, nó nói SELECT;
).
Xóa văn bản mặc định và dán truy vấn trên.
Nhấp vào "Chạy".
1- Tạo bảng1 2- Đi để tạo -------> truy vấn thiết kế. 3- Đóng bảng 4- Chuyển đến SQl từ trên. 5- Quá khứ mã này.
ALTER TABLE [TABLE1] ALTER COLUMN [Id] COUNTER (8982,1)
Trang web này có một cách rất đơn giản để bắt đầu số tự động của bạn với bất kỳ số nào bạn muốn: http://www.fmsinc.com/microsoftaccess/AutoNumber%20Field/Creating.asp
Bạn tạo một truy vấn với một biểu thức cho biết trường số tự động thay đổi
"Đầu tiên, chạy truy vấn này:
XÁC NHẬN VÀO tblName (ID) CHỌN 999 NHƯ Expr1
Trong đó tblName là tên bảng và ID là tên của trường AutoNumber.
Sau đó, chạy truy vấn thứ hai để xóa hàng mà bạn đã chèn:
XÓA TỪ TblName WHERE ID = 999;
(Ngoài ra, bạn có thể chỉ cần mở bảng và xóa thủ công hàng bạn đã chèn.)
Bây giờ, bản ghi tiếp theo được thêm vào bảng được gán giá trị 1000.
Phương pháp này hoạt động với một bảng mới hoặc với một bảng mà AutoNumber chưa đạt đến giá trị Seed. (Tất nhiên, trường ID cho các hàng hiện tại sẽ không bị thay đổi, nhưng các hàng tiếp theo sẽ bắt đầu bằng 1000.) "
Bạn phải lừa Access vì nó cho rằng bạn không quan tâm đến số tự động khác với cái mà nó cung cấp.
Bạn sẽ cần bắt đầu bảng với autonumber tùy chỉnh, sẽ yêu cầu một số thiết lập. Nhưng một khi nó đi, bạn có thể tiếp tục thêm từ đó.
Google "bắt đầu thay đổi tự động truy cập" và bạn sẽ tìm thấy một số tùy chọn để thực hiện việc này. Hầu hết dựa vào việc tạo một truy vấn chắp thêm để sửa đổi trường.
Tạo bảng đầu tiên chứa trường loại bộ đếm mà bạn muốn bắt đầu trên một số khác. Không nhập bất kỳ bản ghi nào. Tạo bảng thứ hai, với trường loại số nguyên dài duy nhất có cùng tên với trường bộ đếm trong bảng đầu tiên. Tạo một bản ghi trong bảng thứ hai bằng cách nhập số một ít hơn số bạn muốn bắt đầu bộ đếm tại bảng đầu tiên. Tạo một truy vấn chắp thêm, để nối một bản ghi trong bảng thứ hai vào bảng đầu tiên và chạy nó Xóa bảng thứ hai, xóa bản ghi mà bạn đã thêm vào bảng đầu tiên và bắt đầu nhập dữ liệu.
Từ MVPS.org: http://access.mvps.org/access/tables/tbl0005.htm
Nếu bạn không muốn xây dựng một truy vấn chắp thêm, bạn luôn có thể thiết lập bảng và sao chép và dán 1000 dòng dữ liệu giả từ excel, xóa các bản ghi cho đến khi bạn đến số 1001 và tiếp tục từ đó.
CẬP NHẬT: Thêm giải thích cho lý do
Lý do đằng sau số tự động chỉ được đặt để bắt đầu từ 1 là vì trường số tự động được sử dụng làm trường tham chiếu nội bộ và trong thực tiễn cơ sở dữ liệu tốt, thường không nên được sử dụng trong bất kỳ hình thức hiển thị công khai nào. Nó được sử dụng trong trường hợp chưa có một mục duy nhất trong một bảng nhất định để tạo một mục duy nhất mà theo đó bảng có thể được tìm kiếm và lập chỉ mục.
Đây là một chủ đề khá cũ, nhưng vẫn bật lên như một kết quả tìm kiếm ba hàng đầu của Google.
Một lý do người dùng có thể muốn thay đổi giá trị của trường số tự động là để sửa lỗi gây ra bởi chỉnh sửa cơ sở dữ liệu. Khi quản trị viên có thể muốn thực hiện một số thay đổi lớn đối với mặt trước của cơ sở dữ liệu, quản trị viên đó có thể tạo các bản sao của tất cả các bảng có liên quan và chuyển hướng một bản sao phát triển của mặt trước đến các mặt sau này. Nếu các thay đổi là đủ, anh ta có thể chỉ cần thay thế bản sao sản xuất của mặt trước bằng bản sao của mình, chuyển hướng tất cả các bảng được liên kết sau khi thử nghiệm.
Không có vấn đề, phải không? Vâng, sự gia tăng số tự động vẫn ở phía trước. Vì vậy, nếu phía sản xuất chỉ tăng số tự động lên 50 hoặc 500 hoặc 5000 số trong khi quản trị viên đang làm việc trên bản sao, thì bản sao sản xuất mới sẽ bằng cách thử lại các số đó và sẽ không thể nhập các mục vào các trường đó, một tại một thời điểm, cho đến khi nó được "trong sáng". Sao chép 50, 500 hoặc 5000 hàng dữ liệu excel và cố gắng dán nó vào. Nó sẽ báo lỗi trên mỗi dòng (hãy chắc chắn để chặn các tin nhắn tiếp theo khi nó bật lên), nhưng số tự động sẽ tăng lên theo số lượng đó và bạn vẫn ổn để đi một lần nữa Nếu bạn đang sử dụng trình tự động theo cách này, bạn nên tăng số lượng lên bất kỳ db sản xuất nào trước khi ghi đè lên nó bằng bản sao phát triển của bạn.
Đây cũng là một cách để bắt đầu số tự động của bạn ở mức cao hơn 1. Giống như ngày xưa khi đặt bộ đếm lượt truy cập trang ở 17.479 trên trang chủ Geocities của bạn, khi thực sự nó chỉ được truy cập 16 lần. Bởi bạn.
Một cách đơn giản để đạt được thứ gì đó tương tự là có trường Autonumber (ví dụ: "ID") và trường được tính toán thứ hai (ví dụ "ItemID") và nhập công thức "1000+ [ID]" cho trường được tính toán. Trường mới này sẽ tự động theo dõi trường Autonumber, nhưng sẽ bắt đầu từ 1001 thay vì 1.
Tôi tin rằng nó có thể đạt được phạm vi gia tăng tùy chỉnh của bạn bằng cách trước tiên tạo một bảng ẩn sẽ giữ khoảng cách ban đầu của các mức tăng tự động bắt đầu từ 0 đến lựa chọn của bạn, ví dụ: bảng đó sẽ giữ 0 đến 1050 Sau đó, bạn bắt đầu với các mức tăng 1055, 1060, 1065, v.v. Sau đó, bạn sẽ ẩn phần dữ liệu này khỏi bảng. Hi vọng điêu nay co ich. Có vẻ như Access được thiết kế để nhìn ban đầu từ số không, vì sẽ nảy sinh xung đột.