Tìm thủ thuật nhanh hơn với chức năng tìm trong Blog

4/24/11

Sử dụng trường Autonumber cho hiệu quả

Có rất nhiều bạn thắc mắc về autonumber, thắc mắc tại sao nó không tăng liên tục khi mình xóa 1-2 record...Sau đây xin giới thiệu 1 bài viết của nick huudung, trang fithou.net

AutoNumber, đây thực chất là 1 kiểu số có kích thước tương đương với Long Integer (hoặc Replication ID).
Autonumber khác với kiểu Number thông thường ở chỗ: giá trị của trường này được Access tự động sinh ra với mỗi bản ghi mới. cách thức sinh giá trị mới có thể là tăng dần (increment) hoặc ngẫu nhiên (random).
Mỗi khi ta sử dụng 1 giá trị của AutoNumber thì giá trị đó sẽ không bao giờ được sử dụng lại nữa. Điều này có lí do của nó: người ta thường dùng AutoNumber cho những trường khóa chính mà không cần quan tâm tới giá trị của nó, chỉ cần nó đảm bảo tính duy nhất --> muốn duy nhất thì những gì đã dùng sẽ không được dùng nữa.

Thực ra thì chẳng mấy khi ta muốn dùng lại giá trị Autonumber cũ cả, nếu muốn dùng lại thì ta nên dùng trường Number và phải tự làm việc sinh giá trị mới sao cho nó không trùng với bất kì giá trị hiện có nào (lưu ý là trong CSDL quan hệ, 1 giá trị của khóa chính có thể vẫn còn ở 1 khóa ngoại nào đó nếu ràng buộc không chặt --> dùng lại giá trị đó có thể khiến dữ liệu không đúng đắn, điều này mình đã nói trên lớp rồi nhỉ)
Nếu em vẫn muốn dùng giá trị AutoNumber tăng liên tiếp (trông cho đẹp) thì có thể làm cách sau: 1. Quay về Design Table đó 2. Delete Field autoNumber cũ đi 3. Thêm 1 Field mới, đặt kiểu dữ liệu là AutoNumber --> thế là xong nhưng cũng chỉ để cho đẹp thôi, big green lần sau lại bị như vậy big green