Thứ Tư, 24 tháng 2, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 8 - Form tồn kho

James Perry, Richard Newmark


Chương 8
Qui trình bán hàng - thu tiền


Form tồn kho


Mặc dù có thể nhập liệu trực tiếp vào tblInventory dễ hơn nhập dữ liệu vào tblCustomer, việc tạo form nhập liệu tồn kho sẽ giúp nhiệm vụ nhập liệu và cập nhật trở nên dễ dàng hơn và ít sai sót hơn. Trong ví dụ Pipefitters Supply Company, ta đã giới hạn miền giá trị của thành phần cấu tạo, kiểu, và đường kính. Mặc dù điều này hơi phi thực tế với một doanh nghiệp có thật, nó cho phép ta minh họa một số kỹ thuật thiết kế form hữu ích mà bạn có thể áp dụng trong nhiều ứng dụng kế toán khác nhau.

Ở Bài tập 8.15 bạn sẽ tạo form nhập liệu tồn kho. Nhân viên Pipefitters có thể dùng form này để nhập hàng tồn kho mới vào hệ thống kế toán của họ. Vì bản ghi tblInventory không nhiều – chỉ có 5 trường nhỏ - bạn có thể hiển thị toàn bộ bản ghi tồn kho trên một dòng bằng cách dùng bài trí form dạng bảng (tabular form layout). Bài trí này cho phép hiển thị một lúc nhiều bản ghi, trong khi bài trí form dạng cột (như frmCustomer) chỉ hiển thị một bản ghi tại một thời điểm.

BÀI TẬP 8.15: TẠO FORM NHẬP LIỆU TỒN KHO

1. Kích tblInventory trong nhóm Tables ở Navigation Pane để làm nổi bật tên bảng.

2. Kích CREATE tab rồi kích Form Wizard trong nhóm Forms.

3. Các trường trong tblInventory sẽ xuất hiện ở Available Fields panel. Kích nút » để chuyển tất cả các trường sang Selected Fields panel.

4. Kích nút Next để chuyển sang hộp thoại Layout. Kích Tabular để tạo form có khả năng hiển thị một lúc nhiều bản ghi, mỗi bản ghi được hiển thị trên một dòng.

5. Kích nút Next rồi gõ frmInventory vào ô tiêu đề. Kích nút Finish để đóng hộp thoại và mở frmInventory ở góc nhìn Form. Kết quả sẽ như Hình 8.15. Đóng form.

Hình 8.15. Form nhập liệu tồn kho được tạo bằng Form Wizard.

Không như công cụ Form, Form Wizard cho bạn xác định trường nào sẽ xuất hiện trong form, thậm chí khi chúng từ nhiều bảng và câu truy vấn. Điều này đặc biệt hữu ích khi tạo form chứa form con (subform) như ta sẽ làm trong chương này. Hai bài tập kế giúp bạn làm quen với các đặc trưng trong Layout View và Design View. Bài tập 8.16 tập trung vào giao diện còn Bài tập 8.17 xử lý chức năng qua việc dùng combo box. Với Bài tập 8.16, hãy dùng Hình 8.16 làm hướng dẫn khi thực hiện các bước trong bài tập này.

Hình 8.16. Form nhập liệu tồn kho đã được cải tiến.

BÀI TẬP 8.16: CẢI THIỆN GIAO DIỆN CỦA FORM NHẬP LIỆU TỒN KHO

1. Mở form ở góc nhìn Layout. Kích phải frmInventory trong Navigation Pane rồi kích Layout View.

2. Điều chỉnh ô điều khiển (control box) ListPrice cho hẹp hơn. Kích ô điều khiển ListPrice. Đặt con trỏ vào cạnh phải của ô. Kéo cạnh phải của ô sang trái cho đến khi chiều rộng vừa với dữ liệu hơn. Bạn có cần dự trù giá niêm yết có số chữ số nhiều hơn giá hiện thời trong hệ thống không?

3. Đổi tiêu đề và định lại cỡ của ô tiêu đề. Kích kép tiêu đề form. Đổi thành Inventory Data Entry (nhập liệu tồn kho). Kích và kéo góc phải dưới (con trỏ sẽ trở thành mũi tên chéo) lên trên và sang phải cho đến khi tiêu đề khít với ô.

4. Đặt thuộc tính in đậm cho 5 nhãn. Nhấn và giữ nút Shift rồi kích lần lượt 5 nhãn. Kích nút Bold. Nút Bold xuất hiện trong nhóm FONT trên dải Format hay trong nhóm Text Formatting trên dải HOME.

5. Tăng khoảng cách nằm ngang giữa các trường. Chuyển sang góc nhìn Design bằng cách kích phải frmInventory trong Navigation Pane rồi kích Design View. Chọn 5 ô văn bản; kích ARRANGE tab. Kích Space/Size trong nhóm Sizing & Ordering rồi chọn Increase Horizontal. Quan sát thay đổi trên form bằng cách trở về góc nhìn Form.

6. Trở về góc nhìn Design để canh cho nhãn và ô điều khiển tương ứng được thẳng hàng. Kích nhãn List Price, nhấn và giữ Ctrl rồi kích ô điều khiển InventoryListPrice. Kích ARRANGE tab, kích Align trong nhóm Sizing & Ordering rồi chọn Align Left. Lặp lại qui trình này cho InventoryDiameter, InventoryType, và InventoryComposition. Tuy nhiên, để duy trì khoảng cách nằm ngang của các ô điều khiển, đầu tiên bạn cần kích Align Right trước khi Align Left. Tại sao?

7. Kiểm tra form ở góc nhìn Form bằng cách kích phải frmInventory tab rồi chọn Form View. Lưu rồi đóng form.

BÀI TẬP 8.17: THÊM COMBO BOX THÀNH PHẦN CẤU TẠO VÀO FORM NHẬP LIỆU TỒN KHO

1. Mở frmInventory ở góc nhìn Design. Loại bỏ 3 ô văn bản cho 3 trường để bạn thay combo box vào đó. Trong khi giữ phím Shift, kích các ô văn bản InventoryComposition, InventoryType, và InventoryDiameter. Rồi nhấn Delete. Bây giờ bạn có thể dùng Combo Box Wizard để tạo các điều khiển mới.

2. Trên dải DESIGN, kích Mũi tên xuống ở Hình 8.17 để đảm bảo Use Control Wizards được làm nổi bật. Rồi kích Combo Box trong nhóm Controls. Nếu cửa sổ Access không đủ rộng để hiển thị nút Combo Box, hãy dùng thanh cuộn (scroll bar) ở bên phải nhóm Controls để tìm biểu tượng Combo Box (xem Hình 8.17). Di chuyển con trỏ vào phần Detail và định vị góc trái trên của combo box; rồi kích để khởi động Combo Box Wizard. Hãy dùng Hình 8.18 làm hướng dẫn để đi qua các bước trong Combo Box Wizard.

Hình 8.17. Nhóm Controls trên dải DESIGN.

Hình 8.18. Combo Box Wizard.

3. Ở hộp thoại đầu tiên kích nút radio đầu tiên  với phụ đề I want the combo box to get the values from another table or query. (Tôi muốn combo box nhận các giá trị từ bảng hay câu truy vấn khác.). Kích Next.

4. Bước thứ hai là chọn nguồn dữ liệu cho combo box. Chọn tblInventoryComposition rồi kích Next.

5. Ở hộp thoại này, kích trường CompositionDescription rồi kích > để chọn nó. Giá trị CompositionDescription là giá trị bạn thấy khi người dùng kích mũi tên xuống của combo box. Kích Next.

6. Bây giờ chọn thứ tự sắp xếp. Thứ tự tăng dần là chọn lựa mặc định. Vì bạn tạo combo box để chọn thành phần cấu tạo dựa trên mô tả nhằm tránh việc phải nhớ tất cả các mã, chọn CompositionDescription là trường mà Access sẽ dùng để sắp xếp các giá trị trong combo box. Kích Next.

7. Hộp thoại này cho phép bạn điều chỉnh kích cỡ cột hiển thị, tuy nhiên không cần làm gì cả trong trường hợp này. Ngoài ra, hãy để check box Hide key column (recommended) [Che cột khóa (được khuyên như vậy)] được đánh dấu vì việc hiển thị mã thành phần cấu tạo sẽ không giúp người dùng chọn đúng thành phần cấu tạo. Kích Next.

8. Kích nút radio thứ hai với phụ đề Store that value in this field (Lưu giá trị đó vào trường sau); rồi kích nút mũi tên của combo box và chọn trường InventoryComposition. Bước này sẽ lưu thành phần cấu tạo vào trường InventoryComposition thuộc tblInventory. Kích Next để mở hộp thoại cuối cùng rồi kích Finish. Wizard sẽ tạo combo box theo những đặc tả của bạn và đặt nó vào Inventory form.

9. Đổi tên combo box bằng cách kích nút Property Sheet trong nhóm Tools. Kích Other tab và gõ cboInventoryComposition làm giá trị cho thuộc tính Name (xem Hình 8.19), rồi nhấn Enter.

Hình 8.19. Bảng thuộc tính (Property Sheet).

10. Xóa nhãn của combo box vừa tạo. Kích nhãn đó (hơi khó thấy vì nó chồng lên ô văn bản InventoryID). Nhấn phím Delete.

11. Để kiểm tra combo box vừa tạo, kích nút View trong nhóm Views để trở về góc nhìn Form. Rồi kích mũi tên xuống của InventoryComposition combo box để hiển thị 2 chọn lựa – Brass và Copper. Quay về góc nhìn Design bằng cách kích mũi tên xuống ở View rồi kích Design View. Bạn có thể điều chỉnh vị trí combo box bằng cách kích và kéo combo về vị trí mong muốn.

12. Điều chỉnh kích cỡ của combo box cho giống với nhãn Composition. Nhấn và giữ phím Shift trong lúc kích combo box và nhãn Composition. Bây giờ  kích ARRANGE tab. Canh chiều rộng của combo box cho bằng chiều rộng của nhãn. Vì combo box hơi rộng hơn nhãn, kích Size to Narrowest (định cỡ theo phần hẹp nhất) trên Size/Space menu trong nhóm Sizing & Ordering. Nếu cần sắp combo box thẳng hàng với các thành phần khác trong phần Detail của form, hãy dùng Align menu trong nhóm Sizing & Ordering (xem Hình 8.20).

Hình 8.20. Size/Space và Align menus.

BÀI TẬP 8.18: THÊM CÁC COMBO BOX KHÁC VÀ HOÀN TẤT FORM NHẬP LIỆU TỒN KHO

1. Lặp lại các Bước 2 đến 12 từ Bài tập 8.17 cho InventoryType và Inventory Diameter.

2. Làm cho nhãn InventoryType trong Form Header rộng bằng combo box InventoryType bằng cách kích ARRANGE tab (nếu chưa được chọn) và chọn to Widest (theo phần rộng nhất) trong Size submenu trên Size/Space menu. Làm tương tự cho các combo box và nhãn khác.

3. Di chuyển nhãn trong Form Header để có khoảng cách hợp lý giữa chúng. Kích ARRANGE tab. Nhấn và giữ phím Shift trong khi kích lần lượt 5 nhãn. Rồi chọn Equal Horizontal trong Spacing submenu trên Size/Space menu.

4. Sắp từng control thẳng hàng với nhãn của nó. Dùng Hình 8.21 làm hướng dẫn. Bắt đầu với ListPrice. Nhấn và giữ phím Shift trong khi kích control và nhãn. Chọn Right trong Align menu. Lặp lại qui trình này cho 4 controls và nhãn khác.

Hình 8.21. Form nhập liệu tồn kho hoàn chỉnh ở Design View.

5. Sắp tất cả các controls thẳng đứng trong phần Detail. Nhấn và giữ phím Shift trong khi kích từng ô. Rồi kích Top trên Align menu. Kích và kéo Form Footer đến phần đáy của các controls để hoàn tất việc định dạng.

6. Kích DESIGN tab rồi kích View menu (có thể thấy biểu tượng Form) để kiểm tra form. Tab để tới lui trong bản ghi hiện thời. Để ý rằng con trỏ nhảy lung tung thay vì di chuyển qua từng trường một.

7. Kích View menu (có thể thấy biểu tượng Layout) để sửa thứ tự tab ở Layout View. Kích InventoryComposition combo box rồi kích Property Sheet trong nhóm Tools. Kích Tab Index trên Other tab trong Property Sheet rồi kích nút xuất hiện để mở cửa sổ Tab Order. Kích nút Auto Order để chỉnh sửa thứ tự tab. Rồi kích OK. Bạn cũng có thể thay đổi thứ tự bằng cách kích và kéo các mục trong danh sách Custom Order. Trở về góc nhìn Form để kiểm tra thứ tự tab.

8. Lưu và đóng form.

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

Đăng nhận xét