Thứ Bảy, 7 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Thiết lập việc kiểm tra hợp lệ dữ liệu ở cấp bảng

James Perry, Richard Newmark


Chương 3
Tạo, nhập liệu, và hiển thị bảng


Thiết lập việc kiểm tra hợp lệ dữ liệu ở cấp bảng


Để hiểu cách đặt thuộc tính, bạn sẽ đặt thuộc tính cho EmpCommRate và EmpGender trong bảng tblMyEmployees. Bạn sẽ thay đổi một số thuộc tính của trường phần trăm hoa hồng. Phần trăm hoa hồng là số nhỏ, vì vậy bạn sẽ qui định cỡ trường của nó là Single cho phù hợp với số nhỏ có vài vị trí thập phân. Chẳng hạn, giá trị 0.0895 sẽ hiển thị 8.95% ở góc nhìn Datasheet. Bạn sẽ đổi thuộc tính ghi chú Caption để cột phần trăm hoa hồng hiển thị đầu đề “Rate” thay cho đầu đề mặc định kỳ dị “EmpCommRate,” là tên trường của cột. Nhân viên mới và nhân viên quản lý không nhận tiền hoa hồng, vì vậy bạn muốn đặt giá trị mặc định cho trường hoa hồng là 0. Sau cùng, bạn sẽ đặt miền giá trị hợp lệ cho phần trăm hoa hồng để tránh nhập sai phần trăm hoa hồng bất hợp lý chẳng hạn 45%. Qui tắc hợp lệ Validation Rule sẽ hạn chế dữ liệu phần trăm hoa hồng nhập vào, và thông báo hợp lệ Validation Text sẽ hiển thị khi giá trị phần trăm hoa hồng bất hợp lệ.

Trường giới tính EmpGender cần có qui tắc hợp lệ chỉ cho phép nhập m hay f ở dạng chữ thường hay chữ hoa. Việc thay thuộc tính ghi chú Caption thành “Gender” sẽ làm rõ nghĩa cho cột.

BÀI TẬP 3.10: ĐẶT THUỘC TÍNH CHO TRƯỜNG PHẦN TRĂM HOA HỒNG

1. Hãy đảm bảo cơ sở dữ liệu Chương 3 đang mở và mọi cửa sổ (tabs) đều đóng. Kích phải tblMyEmployees rồi kích Design View trong pop-up menu để mở bảng ở góc nhìn Design.

2. Kích bất kỳ nơi nào trong dòng EmpCommRate rồi nhấn F6 (phím tắt) để đến thuộc tính kích cỡ trường Field Size trong khung Field Properties.

3. Kích mũi tên danh-sách-sổ-xuống của Field Size rồi kích Single.

4. Kích thuộc tính định dạng Format, kích mũi tên danh-sách-sổ-xuống, rồi kích Percent (phần trăm).

5. Kích thuộc tính Decimal Places, kéo chuột để đánh dấu giá trị hiện thời, rồi gõ 2 để chỉ định hai vị trí thập phân.

6. Kích thuộc tính chú thích Caption rồi gõ Rate. Để ý chú thích (bằng tiếng Anh) ở bên phải khung Field Properties. Đó là thông tin hữu ích về thuộc tính đang chọn.

7. Kích thuộc tính giá trị mặc định Default Value rồi gõ 0.

8. Kích thuộc tính qui tắc hợp lệ Validation Rule rồi gõ between 0 and 0.15 (giữa 0 và 0,15) để đặc tả miền giá trị hợp lệ (kể cả giá trị biên) cho phần trăm hoa hồng. Hãy chắc giá trị thứ hai là 0.15, không phải 15. Giá trị 15 nghĩa là 1500%! (Để ý là biểu thức >=0 and <=0.15 tương đương với biểu thức trên.)

9. Nhấn Tab để đến thuộc tính Validation Text. Để ý rằng từ “between” trong thuộc tính Validation Rule đã đổi thành “Between” thể hiện rằng Access đã nhận ra đây là từ khóa.

10. Trong ô thuộc tính Validation Text, gõ Commission rates range from 0% to 15% (phần trăm hoa hồng có giá trị từ 0% đến 15%). Hình 3.14 trình bày tblMyEmployees ở góc nhìn Design và các thuộc tính mới bạn đã đặt cho đến nay.

Hình 3.14 Các thuộc tính EmpCommRate đã thay đổi.

11. Kích Save trên thanh công cụ truy xuất nhanh Quick Access Toolbar để bảo toàn các thay đổi vừa thực hiện.

Nếu bạn kích Save để bảo toàn các thay đổi vừa thực hiện trên một bảng đã có dữ liệu, một hộp thoại sẽ hiện lên khuyến cáo là các qui tắc toàn vẹn dữ liệu đã thay đổi và dữ liệu hiện thời có thể bất hợp lệ. Khuyến cáo này phát sinh vì bạn vừa thiết lập tiêu chuẩn cho trường phần trăm hoa hồng – tiêu chuẩn này chưa tồn tại trong quá trình nhập liệu trước đây.

BÀI TẬP 3.11 ĐẶT THUỘC TÍNH CHO TRƯỜNG EMPGENDER

1. Với tblMyEmployees vẫn hiển thị ở góc nhìn Design, kích nơi bất kỳ trong dòng EmpGender rồi nhấn F6 để chuyển đến thuộc tính Field Size trong khung Field Properties.

2. Gõ số 1 để giới hạn chiều dài dữ liệu cho giới tính là một ký tự.

3. Nhấn Tab hai lần để chuyển đến thuộc tính mặt nạ nhập liệu Input Mask rồi gõ >L, tức chuyển bất kỳ dữ liệu nhập ở góc nhìn Datasheet thành chữ hoa. Hãy chức là bạn đã gõ chữ L hoa. Bằng không bạn sẽ không được kết quả mong muốn.

4. Kích thuộc tính Caption rồi gõ Gender.

5. Kích Validation Rule rồi gõ “F” or “M” để qui định các giá trị được phép. Để ý là ta không phải lo trường hợp chữ thường (“f” hay “m”) vì thuộc tính mặt nạ nhập liệu Input Mask đã buộc dữ liệu nhập phải là chữ hoa. Qui tắc này hạn chế các chữ hoa phải là một trong hai giá trị qui định.

6. Kích Validation Text rồi gõ Only F or M allowed in this field (chỉ được phép là F hay M trong trường này).

7. Kích Save trên thanh công cụ truy xuất nhanh Quick Access Toolbar để lưu các thay đổi. Như đã đề cập trước đây, nếu bảng của bạn đã có dữ liệu, một khuyến cáo sẽ xuất hiện cho biết dữ liệu hiện thời có thể bất hợp lệ. Trong trường hợp đó, bạn kích Yes để áp đặt sự thay đổi.

Bạn có thể đặc tả các giá trị mặt nạ nhập liệu Input Mask lý thú hơn cho các trường số và trường thời điểm. Một số ký hiệu thuộc tính Input Mask cần được diễn giải. Chẳng hạn, bạn có thể đặc tả Input Mask cho trường số điện thoại như sau

000\-0000;1;_

Để buộc bất kỳ số điện thoại phải tuân theo qui ước “555-1212” – tức ba chữ số sau đó là dấu gạch ngang sau đó là bốn chữ số. Các số 0 trong Input Mask nghĩa là cần một chữ số ở vị trí đó. Dấu chéo ngược \ ký hiệu rằng ký tự sau đó, trong trường hợp này là dấu gạch ngang, là ký tự cụ thể chứ không phải là toán tử chẳng hạn dấu trừ. Dấu chấm phẩy đầu tiên kết thúc phần đầu của Input Mask. Số 1 giữa hai dấu chấm phẩy ký hiệu rằng dấu gạch ngang trong số điện thoại bất kỳ mà người dùng có thể nhập vào sẽ không được lưu vào trường – chỉ lưu 7 chữ số điện thoại. Dấu chấm phẩy thứ hai kết thúc phần thứ hai của Input Mask. Cuối cùng, phần thứ ba của Input Mask, ký tự gạch dưới ký hiệu đó là ký tự Access sẽ hiển thị tại vị trí người dùng cần nhập một ký tự. Nói cách khác, dấu gạch dưới sẽ xuất hiện trong trường điện thoại Phone ở nơi người dùng chưa nhập chữ số. Phần Thử nghiệm sau sẽ trình bày hoạt động của các thuộc tính đã chọn và trường mặt nạ.

THỬ NGHIỆM

Hãy mở tblMyEmployees ở góc nhìn Datasheet. Gõ 4567 vào cột EmpID rồi nhấn Tab để sang cột kế. Gõ tên của bạn vào EmpFName, nhấn Tab, gõ họ của bạn vào EmpLName. Nhấn Tab rồi chọn Milford từ danh-sách-sổ-xuống. Nhấn Tab rồi chọn Sales Manager (quản lý viên bán hàng) từ danh-sách-sổ-xuống. Nhấn Tab để đến cột phần trăm giảm giá Rate, gõ 55 rồi nhấn Tab. Điều gì xảy ra? Nhấn OK để chấp nhận thông báo rồi gõ phần trăm giảm giá hợp lệ là 12. Nhấn Tab hai lần để đến trường giới tính Gender rồi gõ A. Nhấn Tab. Điều gì xảy ra? Một lần nữa, qui tắc kiểm tra hợp lệ dữ liệu của bạn đã bắt được lỗi nhập liệu này. Kích OK để thừa nhận lỗi rồi gõ giới tính của bạn bằng chữ thường. Nhấn Tab. Để ý rằng Access tự động chuyển chữ thường sang chữ hoa. Hãy chuyển sang dòng mới để ghi dòng nhân viên mới vào bảng bằng cách kích cột EmpID ở dòng mới. Bạn có thể đã để ý rằng biểu tượng bút chì ở nút chọn bản ghi ở dòng đầu tiên đã biến mất. Điều này cho biết dữ liệu vừa nhập đã được lưu vào cơ sở dữ liệu.

Xóa bản ghi mới: Kích trường bất kỳ bạn vừa thêm, kích mũi tên sổ xuống của lệnh Delete (Delete ở trong nhóm Records thuộc HOME tab), rồi kích Delete Records. Kích Yes khi hộp thoại xuất hiện để xác nhận thao tác xóa bản ghi. Kích phải tblMyEmployees tab rồi kích Close trong pop-up menu để đóng cửa sổ góc nhìn Datasheet.

Hãy cẩn thận khi bạn đặt cả hai thuộc tính Default và Validation Rule cho trường. Chúng có thể xung đột với nhau nếu bạn không cẩn thận. Chẳng hạn, bạn đặt giá trị mặc định cho trường là 2 và sau đó gõ qui tắc hợp lệ là Between 3 And 25 (giữa 3 và 25). Rõ ràng giá trị mặc định không thuộc miền giá trị cho phép, được qui định bởi thuộc tính Validation Rule. Xung đột vô tình phát sinh khi bạn bỏ qua trường đó, khiến Access phải chèn giá trị mặc định 2 vào trường, làm vi phạm qui tắc hợp lệ.

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

Đăng nhận xét