Có một việc mà tôi đợi để nói với tác giả bài 1, nhưng thôi nói luôn:
- Trường autonumber chả có ý nghĩa gì về mặt dữ liệu (không chứa thông tin), nó cũng không hiện diện trên form nhập liệu, báo cáo. Người dùng cuối có khi còn không biết đến sự tồn tại của nó. Vậy thì dù nó là bao nhiêu cũng chẳng cần biết làm gì.
- Đối với các bảng danh mục thì khóa chính nên là mã của danh mục chứ không phải con số tăng kia (mã vật tư, mã nhân viên, mã phòng ban, ...), để khi nhập liệu nó hiển thị có hình tượng cho người dùng. Và những mã này (duy nhất ở từng bảng danh mục) mới dùng để tạo quan hệ với những bảng dữ liệu khác.
Không trông chờ được vào việc kiểm soát số tăng, vì nó hoàn toàn tự động. Như sau:
- Nếu xóa 1 record mang số ID nào đó, thì số đó mất vĩnh viễn, những số ở dưới không đôn lên. Thì không còn tính liên tục để nhìn cho đẹp mắt.
- Nếu 1 chứng từ có 3 record, ID là 40, 41, 42. Sau đó (sau khi nhập liệu thêm cả đống) phát hiện thiếu và chỉnh sửa thêm 1 record thì đừng trông chờ rằng record mới sẽ mang số 43 mà sẽ là số khác lớn hơn. Kết quả là 1 chứng từ 4 record mang số 40, 41, 42, 101.
- Nếu xóa một vài record cuối chẳng hạn xóa 2 record mang ID 99 và 100, thì khi nhập liệu thêm, ID tiếp theo sẽ vẫn là 101 chứ đừng mong rằng Access lấy số cuối (98) tăng 1. Nó đã ghi nhớ rằng 2 con đó đã xài và không cho xài nữa.
Vậy thì theo cách ở bài 16 copy ở trên paste xuống dưới ID vẫn bắt đầu bằng 11 nhưng dòng dữ liệu nhập vào đầu tiên hồi năm ngoái sẽ mang số 25 (như phát hiện của bài 17). Tôi không quan tâm vì yêu cầu chỉ nói về ID bắt đầu từ 52 chứ không nói gì về nguyên dòng dữ liệu đầu tiên phải mang số 52.
Và theo tôi thì nó mang số 52 hay 152 hay 1000 chả ảnh hưởng gì đến việc nhập liệu, ra báo cáo, ....
Tất nhiên tôi đưa ra giải pháp thì tác giả có quyền chọn cách nào họ thấy là phù hợp, hoặc đơn giản là chỉ thích, chứ tôi cũng không mong cầu gì họ làm theo những gì tôi viết ở trên.