Thứ Tư, 27 tháng 7, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 5 - Chèn thêm thành phần điều khiển để giới hạn lựa chọn: nút lệnh và ô văn bản

James Perry, Richard Newmark


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


Chèn thêm thành phần điều khiển để giới hạn lựa chọn: nút lệnh và ô văn bản


Một cách hiệu quả khác đảm bảo tính toàn vẹn dữ liệu là hạn chế các chọn lựa của người dùng khi nhập liệu. Một qui tắc giảm lỗi khác là tối thiểu hay loại bỏ hoàn toàn việc gõ của người dùng. Bất kỳ khi nào người dùng phải gõ thậm chí không nhiều, họ có thể sinh lỗi. Dùng các thành phần điều khiển khác ô văn bản – thành phần điều khiển mà Access tạo và ràng buộc với các trường bảng khi tạo forms – là một cách giảm hay khử lỗi. Với các trường cơ sở dữ liệu chỉ có một vài chọn lựa khả dĩ chẳng hạn nhà vận chuyển được công ty chấp nhận, ô danh sách là thành phần điều khiển hiển thị các chọn lựa tốt hơn. Ô danh sách cung cấp một số ít các chọn lựa cho phép – chẳng hạn DHL, FedEx, USPS, và UPS – thay vì cho phép mọi dạng nhập liệu mà người dùng có thể gõ (chẳng hạn, Federal Express, Inc. hay United Parcel Service). Với những dữ liệu nhập chẳng hạn tên khách hàng hay đại lý bán hàng mà có thể lên đến hàng chục, hàng trăm, thậm chí hàng ngàn chọn lựa, thì combo box hay ô danh sách chứa dữ liệu lấy từ bảng là giải pháp tránh việc phải nhập những chuỗi văn bản dài.

Trong bài tập tới, bạn sẽ thay thành phần điều khiển ô đánh dấu yes/no ứng với trường Caffeinated bằng các nút radio và thay thành phần điều khiển bị ràng buộc ô văn bản Beverage bằng thành phần điều khiển ô danh sách. Việc thêm ô danh sách và nút radio được thực hiện ở góc nhìn Design, không phải ở góc nhìn Layout.

BÀI TẬP 5.20: THAY THÀNH PHẦN ĐIỀU KHIỂN Ô VĂN BẢN BẰNG Ô DANH SÁCH

1. Kích phải tên form MyInventory2 trong Navigation Pane, kích Copy từ pop-up menu, kích phải thanh tiêu đề Forms trong Navigation Pane, kích Paste trong pop-up menu, gõ MyInventory3, rồi kích OK.

2. Mở MyInventory3 ở góc nhìn Design (giờ bạn đã biết nhiều cách mở). Nếu Property Sheet xuất hiện, đóng nó lại.

3. Kích tab ngữ cảnh DESIGN thuộc FORM DESIGN TOOLS tab, nếu cần. Kích mũi tên danh sách More trong nhóm Controls để hiển thị khung chứa các thành phần điều khiển. Đảm bảo Use Control Wizards (hình cây gậy thần với các ngôi sao) được chọn (nó có nền màu hồng nếu được chọn.) Nếu chưa được chọn, kích vào đó.

4. Với các thành phần điều khiển được hiển thị trong khung, kích thành phần điều khiển ô danh sách List Box trong nhóm Controls. (Nếu bạn di chuột lên các thành phần điều khiển, tên thành phần điều khiển sẽ được hiển thị.)

5. Di chuyển chuột đến vùng trống bên phải thành phần điều khiển Beverage trên form rồi kích chuột để thi hành List Box wizard. Kích nút radio I will type in the values that I want (tôi sẽ gõ vào các giá trị mà tôi muốn) rồi kích Next.

6. Gõ 2 vào ô văn bản Number of columns, kích ô văn bản Col1 bên dưới, gõ c, nhấn Tab, gõ Coffee, nhấn Tab, gõ t vào ô văn bản Col1 dòng thứ hai, nhấn Tab, rồi gõ Tea.

7. Ẩn Col1 bằng cách di chuột đến đường phân chia các đầu đề Col1 Col2 (xem Hình 5.24). Khi nó chuyển thành mũi tên hai đầu, kéo sang trái cho đến khi Col1 biến mất. Ô văn bản hiển thị Coffee Tea, nhưng Access lưu c hay t (tương ứng) trong cơ sở dữ liệu.

Hình 5.24 Dùng List Box wizard để tạo các giá trị trong ô danh sách.

8. Kích Next. Đảm bảo rằng Col1 được làm nổi bật (đây là cột thật sự được lưu vào bảng) rồi kích Next.

9. Kích nút radio Store that value in this field (Lưu giá trị đó vào trường sau), kích mũi tên danh sách bên phải, rồi kích Beverage. Chọn lựa này bảo Access trường nào trong bảng sẽ lưu giá trị người dùng form đã chọn trong ô danh sách. Kích Next.

10. Gõ Beverage vào ô văn bản để tạo nhãn xuất hiện cạnh ô danh sách rồi kích Finish để hoàn tất quá trình tạo ô danh sách.

THỬ NGHIỆM

Kích phải form tab rồi kích Form View. Cuộn qua bốn hay năm bản ghi đầu tiên và quan sát các giá trị trong ô văn bản cũng như danh sách ứng với trường Beverage. Chúng cần phải khớp. Nghĩa là, với mọi c trong ô văn bản Beverage, ô danh sách phải tự động hiển thị Coffee. Tương tự cho tTea.

Để thu dọn form, bạn loại thành phần điều khiển ô văn bản Beverage cũ rồi dời thành phần điều khiển ô danh sách mới vào vị trí đó trong bài trí xếp chồng. Bài tập 5.21 sẽ hướng dẫn bạn.

BÀI TẬP 5.21: XÓA THÀNH PHẦN ĐIỀU KHIỂN CŨ RỒI DI CHUYỂN Ô DANH SÁCH MỚI VÀO ĐÓ

1. Hiển thị form ở góc nhìn Design. Chọn ô văn bản ứng với Beverage rồi nhấn phím Delete để loại bỏ cặp nhãn / thành phần điều khiển ô văn bản ban đầu.

2. Kích thành phần điều khiển ô danh sách rồi kéo nó vào đúng vị trí. Định vị riêng nhãn, Beverage, nếu cần bằng cách kích và kéo vị trí di chuyển Move của nó cho đến khi thẳng hàng với các thành phần điều khiển khác.

3. Chuyển sang góc nhìn Layout. Kích và kéo cạnh đáy của thành phần điều khiển ô danh sách (không phải nhãn) lên trên cho đến khi bạn chỉ có thể thấy một thức uống.

4. Kích nút Save trong thanh công cụ truy xuất nhanh Quick Access Toolbar để lưu các thay đổi.

Một thành phần điều khiển form hữu ích khác là nút radio. Nó cung cấp một danh sách các chọn lựa loại trừ nhau. Việc kích một trong những nút radio trong nhóm sẽ tự động lưu giá trị số vào bảng. Ưu điểm của nút radio so với việc gõ văn bản hay số là hiển nhiên. Người dùng chọn một trong những chọn lựa hữu hạn rồi Access lưu giá trị đó vào trường ràng buộc tương ứng. Điều này loai khả năng có nhiều cách nhập và giá trị lỗi khiến cơ sở dữ liệu bị hỏng. Bài tập 5.22 minh họa cách thay ô đánh dấu bằng nút radio.

BÀI TẬP 5.22: CHÈN NÚT TÙY CHỌN ĐỂ BIỂU DIỄN CÁC GIÁ TRỊ LỰA CHỌN

1. Hiển thị MyInventory3 ở góc nhìn Design. Đảm bảo Use Control Wizards được làm nổi bật, kích nút nhóm tùy chọn Option Group, di chuột đến chỗ trống trên form bên phải thành phần điều khiển Caffeinated, rồi kích để thả thành phần điều khiển và khởi động wizard.

2. Gõ Caffeinated vào dòng đầu tiên thuộc ô văn bản Label Names, kích dòng thứ hai, gõ Decaffeinated, rồi kích Next.

3. Kích nút No, I don’t want a default (Không, tôi không muốn giá trị mặc định) rồi kích Next.

4. Gõ -1 (số âm biểu diễn giá trị true – ô được đánh dấu hay yes trong trường yes/no) vào cột Values ở dòng đầu tiên, gõ phím mũi tên xuống, gõ 0 (số không biểu diễn giá trị false – ô không ược đánh dấu hay no trong trường yes/no), rồi kích Next.

5. Kích nút radio Store the value in this field (Lưu giá trị vào trường sau), kích mũi tên ô danh sách bên phải, rồi kích Caffeinated. Caffeinated là trường mà giá trị nút radio sẽ được lưu vào đó và từ đó nút radio với chọn lựa tương ứng sẽ “bật lên”. Kích Next.

6. Kích Next lần nữa để chấp nhận chọn lựa cho kiểu nút radio. Gõ Caffeinated? Vào ô văn bản để tạo nhãn xuất hiện ngay bên trên hai nút radio rồi kích Finish.

7. Kế tiếp, loại bỏ trường ô đánh dấu và nhãn Caffeinated cũ: Kích thành phần điều khiển bị ràng buộc Caffeinated cũ (không phải nhãn) rồi nhấn phím Delete để xóa.

8. Kích nút Save trong thanh công cụ truy xuất nhanh Quick Access Toolbar để lưu các thay đổi.

9. Chuyển sang góc nhìn Form để duyệt lại các thay đổi trên form (xem Hình 5.25). Hãy dùng nút di chuyển để xem chục bản ghi đầu. Để ý nút radio thay đổi khi bạn cuộn qua các bản ghi. Các thay đổi đó phản ánh thức uống có caffeine hay không.

Hình 5.25 Thành phần điều khiển nút radio biểu diễn hai chọn lựa.

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

Đăng nhận xét