Thứ Ba, 26 tháng 7, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 5 - Dùng kiểm tra hợp lệ dữ liệu để tránh lỗi

James Perry, Richard Newmark


Chương 5
Tạo và dùng forms


Dùng kiểm tra hợp lệ dữ liệu để tránh lỗi


Các đặc trưng kiểm tra hợp lệ dữ liệu của Access sẽ bắt lỗi nhập liệu và ra thông báo nhằm hỗ trợ việc nhận diện và sửa lỗi. Thiết đặt kiểm tra hợp lệ dữ liệu là tạo qui tắc qui định loại dữ liệu và miền giá trị của dữ liệu có thể nhập. Thông báo tùy chọn có thể xuất hiện nhằm hiển thị thông tin về lỗi dữ liệu.

Như các trường bảng mà chúng hiển thị, các thành phần điều khiển form có qui tắc hợp lệ và thông báo hợp lệ. Bằng việc đặt thuộc tính Validation Rule của thành phần điều khiển form, bạn đã bảo vệ và chỉ định những giá trị nào được phép nhập vào thành phần điều khiển (hoặc không) và vào trường bảng ràng buộc thành phần điều khiển đó. Thuộc tính liên quan Validation Text hiển thị thông báo khi người dùng nhập liệu vi phạm qui tắc hợp lệ. Thuộc tính đó cũng có thể được đặt cho thành phần điều khiển ứng với trường bảng cần được bảo vệ.

Việc đặt qui tắc hợp lệ dữ liệu qua thuộc tính Validation Text của trường bảng khác ra sao so với việc đặt vào thành phần điều khiển form ràng buộc với trường bảng đó? Việc đặt qui tắc hợp lệ dữ liệu qua thuộc tính trường bảng sẽ tác động mọi đối tượng ràng buộc với trường đó; Tất cả các forms và truy vấn tham chiếu đến trường bảng đó đều bị qui tắc đó chi phối. Nghĩa là các qui tắc trong bảng sẽ tác động đến trường form nào ràng buộc với trường bảng đó. Qui tắc hợp lệ dữ liệu đặt trong form thì có tác động ít hơn. Chẳng hạn, giả sử bạn không đặt qui tắc hợp lệ dữ liệu cho trường đơn giá UnitPrice trong bảng tblInventory mà chỉ cho phép các giá trị từ 5 đến 70. Mọi trường form ràng buộc với cột bảng UnitPrice đều phải tuân theo qui tắc đó. Tuy nhiên, nếu qui tắc hợp lệ không đặt lên trường bảng, thì qui tắc hợp lệ thuộc trường form chỉ bị áp đặt bởi form. Các thành phần điều khiển form khác tham chiếu đến cột bảng UnitPrice sẽ không có qui tắc hợp lệ. Như vậy, qui tắc hợp lệ bảng có tính toàn cục, còn qui tắc hợp lệ trường form có tính cục bộ đối với form.

Ta hãy thiết lập qui tắc hợp lệ trên bảng tblInventory bằng cách tạo chúng trong form mà bạn đã tạo trước đây, MyInventory. Qui tắc bạn thiết lập trên MyInventory form sẽ chi phối các giá trị số lượng hiện có UnitsOnHand và đơn giá UnitPrice. Cụ thể là UnitsOnHand phải nhỏ hơn hay bằng 8000. Giá trị tồn kho âm là hợp lệ, vì chúng biểu hiện là mặt hàng đó sẽ được bổ sung và đang thiếu hàng. Giới hạn thứ hai là đơn giá phải từ $2.00 đến $500.00. (Kopi Luwak, một loại cà phê đặc biệt, có thể bán với giá hàng trăm dollars mỗi pound.) Bài tập sau sẽ thêm qui tắc hợp lệ dữ liệu vào các thành phần điều khiển trên form ràng buộc với các cột bảng UnitsOnHand và UnitPrice trong tblInventory. Trong quá trình làm, ta sẽ cải thiện các nhãn trên form đi kèm các thành phần điều khiển bị ràng buộc đó.

BÀI TẬP 5.19: ĐẶT QUI TẮC TOÀN VẸN DỮ LIỆU TRONG CÁC THÀNH PHẦN ĐIỀU KHIỂN FORM

1. Mở MyInventory ở góc nhìn Layout. Lưu form với tên mới trước khi sửa. Kích FILE tab, kích Save As, kích Save Object As, kích nút Save As, gõ MyInventory2 vào ô văn bản, kích OK, kích HOME tab, kích phải MyInventory tab, rồi kích Close All để đóng form và mọi đối tượng đang mở.

2. Kích phải MyInventory2 trong Navigation Pane rồi kích Layout View trong pop-up menu.

3. Kích thành phần điều khiển bị ràng buộc UnitPrice – ô văn bản, không phải nhãn, rồi nhấn F4 để hiển thị Property Sheet. Đảm bảo ô danh-sách-sổ-xuống ở trên đỉnh Property Sheet hiển thị UnitPrice, tên thành phần điều khiển mà các thuộc tính của nó xuất hiện trong hộp thoại Property Sheet.

4. Kích Data tab, nếu cần, rồi kích vào thuộc tính qui tắc hợp lệ Validation Rule. Nếu thuộc tính đã chứa biểu thức, thì chọn toàn bộ nội dung để thay thế nó. Gõ between 2 and 500 rồi nhấn Enter. Access sẽ sửa chữ đầu tiên thành chữ hoa cho từ Between và từ And, cho biết nó đã nhận ra rằng biểu thức có đúng dạng.

5. Kích thuộc tính Validation Text (nếu cần) rồi gõ Value must between 2 and 500 inclusive (Giá trị phải từ 2 đến 500). Nhấn Enter.

6. Kích mũi tên danh-sách-sổ-xuống trên đỉnh của Property Sheet rồi chọn UnitsOnHand từ danh sách. Kích thuộc tính Validation Rule. Gõ <= 8000 rồi nhấn Enter.

7. Kích thuộc tính Validation Text  rồi gõ Value must less than 8001 (Giá trị phải nhỏ hơn 8001). Nhấn Enter.

8. Sửa các nhãn InventoryID, ItemName, UnitPrice, UnitsOnHand, và CountryID thành các nhãn sau: Inventory ID, Item Name, Unit Price, Units On Hand, và Country. Nói cách khác, ở góc nhìn Layout, kích từng thành phần điều khiển nhãn rồi kích nó lần nữa để vào chế độ soạn thảo. Đặt một khoảng trống giữa các từ, nhấn Enter, rồi sửa nhãn tiếp theo. Bỏ “ID” trong nhãn CountryID.

9. Kích thành phần điều khiển Title trong Form Header rồi kích lần nữa. Sửa tiêu đề thành Inventory rồi nhấn Enter.

10. Làm cho mọi thành phần điều khiển bị ràng buộc, ngoại trừ Comments, bằng phân nửa chiều dài hiện thời của chúng bằng cách chuyển chuột về cạnh trái của thành phần điều khiển bất kỳ, khi con trỏ chuột thành mũi tên hai đầu, kéo cạnh sang trái.

11. Sửa tên tab của form, với Property Sheet đang mở, kích Form trong ô danh sách ở đỉnh Property Sheet, kích Format tab, kéo qua nội dung của thuộc tính Caption, gõ MyInventory2 rồi nhấn Enter.

12. Lưu rồi đóng MyInventory2 form.

Không có nhận xét nào:

Đăng nhận xét