Trong access không thể đổi 1 trường đã có dữ liệu thành kiểu AutoNumberLập trường khác rồi đổi lại là được.
Update xong không chuyển về kiểu AutoNumber được.Bạn chuyển kiểu dữ liệu về dạng số nguyên long/int..., rồi UPDATE [Bảng 1] SET [Mã số]=[Mã số]+51
Vì người mở chủ đề không yêu cầu bắt buộc phải là "Auto number" nên tôi gợi ý thế thôi. Vấn đề này tôi từng giải quyết nên cũng chả lạ gì.Trong access không thể đổi 1 trường đã có dữ liệu thành kiểu AutoNumber
Update xong không chuyển về kiểu AutoNumber được.
Kiểu Number thông thường không tự tăng
Theo như hình chụp thì bảng đã có dữ liệu chính thức 13 dòng.Mình dùng bản 2019 ạ
Nếu không phải autonumber từ đầu thì có thể sửa tay, hoặc update bằng SQL mà không cần đổi kiểu long/ integerVì người mở chủ đề không yêu cầu bắt buộc phải là "Auto number" nên tôi gợi ý thế thôi. Vấn đề này tôi từng giải quyết nên cũng chả lạ gì.
CREATE TABLE TableThatIncrements
(
Id AUTOINCREMENT(1001,1)
)
Tự trong Table View thì không được. Nhưng có thể đổi một trường mới qua SQL ViewTheo như hình chụp thì bảng đã có dữ liệu chính thức 13 dòng.
Nhập dữ liệu giả thật đơn giản cho nhanh, chỉ để lấy ID đến 51.
Copy 13 dòng
click chọn dòng {New) và paste
Xóa 51 dòng trên
Cách này nhanh và dễ, đồng thời sử dụng được bảng cũ.
Nếu số dòng dữ liệu ít hơn 52 (giống như trên hình) thì câu UPDATE của tôi vẫn chạy đúng nhé. Còn trong trường hợp khác thì dù sắp xếp thì chạy lệnh UPDATE tương tự như thế vẫn có thể lỗi tè le.Muốn dùng code
[mã số] = [mã số] + 51
thì phải sắp xếp lớn xuống nhỏ
Nếu không sẽ bị lỗi trùng khóa.
Dù trùng hay không trùng thì cách này không dùng được, vì update table xong không chuyển thành autonumber được.Muốn dùng code
[mã số] = [mã số] + 51
thì phải sắp xếp lớn xuống nhỏ
Nếu không sẽ bị lỗi trùng khóa.
Cảm giác có gì đó bất thường với ý kiến trên nên tôi đã thực nghiệm và phát hiện ra là... (các anh/chị cứ thử sẽ rõ)- Nếu trên 51 dòng: Copy 51 dòng đầu paste xuống dưới rồi xóa 51 dòng đầu.
Dùng lại bảng này mà không cần tạo bảng mới, không cần đổi kiểu number, không cần chuyển dữ liệu qua, không cần đổi tên trường, không cần xóa bảng cũ, ...
Tôi luôn luôn thực nghiệm trước khi viết bài. Kể cả kết luận trường number đã có dữ liệu không chuyển thành autonumber được (bài 7) cũng là đã thực nghiệm kỹ. Tôi tự hào là người luôn thực nghiệm trước khi trả lời bất kỳ việc gì, dù nhỏ như là 1 công thức SUM.Cảm giác có gì đó bất thường với ý kiến trên nên tôi đã thực nghiệm và phát hiện ra là... (các anh/chị cứ thử sẽ rõ)
Nếu chưa chắc chắn, tôi cũng phải kiểm nghiệm ý tưởng trước khi comment nhưng tôi chả có cảm giác tự hào gì với những kiến thức phổ thông trên mạng.Tôi luôn luôn thực nghiệm trước khi viết bài. Kể cả kết luận trường number đã có dữ liệu không chuyển thành autonumber được (bài 7) cũng là đã thực nghiệm kỹ. Tôi tự hào là người luôn thực nghiệm trước khi trả lời bất kỳ việc gì, dù nhỏ như là 1 công thức SUM.
Theo yêu cầu giả định (ID bắt đầu từ 11), đáng ra kết quả sau thủ thuật phải là 11-b01, 12-b02...34-b24 chứ sao lại là 11-b11, 12-b12...34-b10 như trong hình minh họa kết quả của ptm0412 được nhỉ?Chẳng hạn tôi thực nghiệm cho mong muốn ID bắt đầu từ 11.
Trường hợp dữ liệu có sẵn 24 dòng. Copy 10 dòng đầu và paste xuống dưới, sau đó xóa 10 dòng đầu:
View attachment 296285 ______View attachment 296286
Mục đích chuyển mã số của bạn là gì?Trong trường hợp này mình muốn đặt khóa chính bắt đầu đếm từ 52 thì làm thế nào vậy mọi người?
View attachment 296268View attachment 296270
Khóa chính mà có ý nghĩa gì đó thì là phản chuẩn (normalisation).Mục đích chuyển mã số của bạn là gì?
Khóa chính theo dạng "Auto number" dùng nhận dạng khác nhau của từng dòng và thứ tự nhập liệu, không nên dùng nó làm "Mã số" thực sự để nhận diện từng người
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 1
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 2