10.1. Chức năng thêm mới:
- Tắt hết các khả năng thêm mới tự động của Form: + Tắt thanh di chuyển dữ liệu Navigation buttons
+ Vô hiệu hóa tính năng thêm mới khi di chuyển mẫu tin thông qua phím Pagedown bằng thuộc tính AllowAdditions
+ Khi đang thực hiện chức năng thêm mới phải vô hiệu hóa các nút chức năng trên màn hình ngoại trừ nút Ghi và nút không ghi.
- Bước 1:
Gán thuộc tính AllowAdditions = True - Bước 2:
Gọi lệnh thực hiện chức năng thêm mới. DoCmd.GotoRecrord ,,acNewRec - Bước 3:
Cập nhật trạng thái các điều khiển thông qua thuộc tính Enabled hoặc Visible.
10.2. Chức năng sửa dữ liệu:
- Khi đang thực hiện chức năng sửa dữ liệu phải vô hiệu hóa các nút chức năng trên màn hình ngoại trừ nút Ghi và nút không ghi.
- Khóa các điều khiển chứa giá trị là khóa chính. - Bước 1:
Gán thuộc tính AllowEdits = True - Bước 2:
Khóa các điều khiển chứa khóa chính thông qua thuộc tính Locked. - Bước 3:
Cập nhật trạng thái các điều khiển trên Form.
10.3. Lưu dữ liệu xuống Form:
- Bước 1:
Kiểm tra dữ liệu cần lưu là thêm mới hay chỉnh sửa. - Bước 2:
Kiểm tra các ràng buộc về khóa chính, khóa ngoại, miền giá trị, kiểu dữ liệu. Nếu đang thêm mới:
Kiểm tra tất cả các ràng buộc trên. Gán giá trị cho thuộc AllowAditions Nếu đang sửa:
Kiểm tra tất cả các ràng buộc trên ngoại trừ khóa chính. Gán thuộc thính AllowEdits
Mở khóa cho các điều khiển là khóa chính. - Bước 3:
Thực hiện ghi dữ liệu. - Bước 4:
Cập nhật trạng thái các điều khiển trên Form.
10.4.Kiểm tra các ràng buộc khi lưu:10.4.1. Khóa chính rỗng: 10.4.1. Khóa chính rỗng:
Sử dụng hàm IsNull để kiểm tra giá trị của khóa chính có rỗng hay không.
10.4.2. Trùng khóa chính:
Sử dụng hàm Dcount hoặc DlookUp để kiểm tra khóa chính có tồn tại trong cơ sở dữ liệu hay chưa?
10.4.3. Sự tồn tại của khóa ngoại:
Sử dụng sự kiện BeforeUpdate trên điều khiển chứa khóa ngoại. Sử dụng Dcount hay Dlookup để kiểm tra sự tồn tại của khóa ngoại. Nếu không tồn tại khóa ngoại thì gán thuộc tính Cancel = True
10.4.4. Ràng buộc miền giá trị:
Sử dụng sự kiện BeforeUpdate của điều khiển chứa ràng buộc miền giá trị
10.4.5. Kiểm tra kiểu dữ liệu:
- Sử dụng sự kiện On Error trên Form.
- Nếu giá trị nhập vào điều khiển không đúng với kiểu dữ liệu qui định Thì Thông báo lỗi đến người sử dụng
Gán thuộc tính Respone = 0 để bỏ qua thông báo lỗi của MS Access
10.5. Thao tác xóa dữ liệu:
10.5.1. Chọn tính chất xóa tự động khi thiết lập quan hệ giữ 2 bảng:
Xử lý sự kiện trên nút Xóa. Thực thi lệnh xóa theo cú pháp:
DoCmd.RunCommand acCmdDeleteRecord
10.5.2. Thông báo lỗi khi không xóa được:
Bước 1: Tìm kiếm thông tin của mẫu tin cần xóa
Sử dụng hàm Dcount hay Dlookup để kiểm tra thông tin trên bảng có quan hệ nhiều với bảng cần xóa.
DoCmd.RunSQL “Delete * From [Tên bảng] Where [Điều kiện]” Bước 3:
Xóa mẫu tin hiện hành trên Form
DoCmd.RunCommand accmdDeleteRecord Bước 4:
Cập nhật trạng thái các điều khiển.