23 thg 10, 2009

Access căn bản – Bài 9 – Phần 2

Biểu mẫu nhập liệu
Các loại biểu mẫu nhập liệu và cách tạo


Biểu mẫu nhập liệu dạng Columnar
Biểu mẫu nhập liệu dạng Columnar là biểu mẫu nhập liệu mà mỗi mục tin xuất hiện trên một dòng tách biệt kèm theo một label bên trái nó. Mẫu hóa đơn bán hàng, lý lịch nhân viên, phiếu nhập/xuất vật tư,… chính là dạng Columnar của biểu mẫu nhập liệu.

Để tạo biểu mẫu nhập liệu dạng Columnar, trong cửa sổ Database bạn chọn đối tượng Forms, rồi click vào nút lệnh trên thanh công cụ của cửa sổ, click vào mục Form wizard trong hộp thoại New form, chọn tên bảng dữ liệu hoặc truy vấn cần nhập dữ liệu, rồi click . Một hộp thoại hiển thị để bạn chọn các mục tin cần nhập dữ liệu. Sau đó, bạn click để hiển thị hộp thoại chọn kiểu trình bày (layout), chọn mục Columnar.

Biểu mẫu nhập liệu dạng Tabular
Biểu mẫu nhập liệu dạng Tabular là biểu mẫu nhập liệu mà các mục tin trong mỗi mẩu tin xuất hiện trên một dòng tách biệt kèm theo label được hiển thị một lần ở đầu biểu mẫu nhập liệu gọi là phần tiêu đề đầu biểu mẫu nhập liệu (form header). Danh sách tra cứu quốc tịch, danh sách tra cứu phòng ban, danh sách tra cứu khách hàng,... thường được cập nhật theo dạng Tabular của biểu mẫu nhập liệu.
Để tạo biểu mẫu nhập liệu dạng Tabular, bạn thao tác tương tự trường hợp Columnar, nhưng ở hộp thoại chọn kiểu trình bày, bạn chọn mục Tabular.

Biểu mẫu nhập liệu dạng Datasheet
Biểu mẫu nhập liệu dạng Datasheet là biểu mẫu nhập liệu mà các mục tin trong mỗi mẩu tin xuất hiện theo dạng dòng-cột (như bảng tính Excel), trong đó: mỗi mẩu tin một dòng, mỗi mục tin một cột. Các tên mục tin được hiển thị ở đầu mỗi cột. Dạng biểu mẫu nhập liệu này tương tự như dạng tabular, chỉ khác ở chỗ:
- Không thể hiển thị nội dung phần tiêu đề đầu biểu mẫu nhập liệu và nội dung phần tiêu đề cuối biểu mẫu nhập liệu (form footer).
- Không thể trực tiếp hiển thị nội dung các mục tin OLE Object.
Để tạo biểu mẫu nhập liệu dạng Datasheet, bạn thao tác tương tự trường hợp Columnar, nhưng ở hộp thoại chọn kiểu trình bày, bạn chọn mục Datasheet.

Biểu mẫu nhập liệu dạng Justified
Biểu mẫu nhập liệu dạng Justified là biểu mẫu nhập liệu mà các mục tin trong mỗi mẩu tin xuất hiện theo dạng như Columnar, trong đó: thông tin mỗi mẩu tin hiển thị trên toàn bộ biểu mẫu nhập liệu. Chỉ có sự khác biệt là các mục tin được hiển thị liên tiếp sát bên nhau từ trái qua, từ trên xuống.
Để tạo biểu mẫu nhập liệu dạng Justified, bạn thao tác tương tự trường hợp Datasheet, nhưng ở hộp thoại chọn kiểu trình bày, bạn chọn mục Justified.
Sau khi dùng công cụ form wizard để tạo biểu mẫu nhập liệu, bạn thường phải sắp xếp lại các mục tin theo ý mình, sao cho phù hợp với nhu cầu cụ thể.

Biểu mẫu nhập liệu dạng main/subform
Biểu mẫu nhập liệu dạng main/subform là biểu mẫu nhập liệu gồm một biểu mẫu nhập liệu chính (gọi là main form) và một (hay nhiều) biểu mẫu nhập liệu phụ (gọi là subform) đưọc hiển thị thông qua các subform control.
Biểu mẫu nhập liệu dạng này thường được sử dụng để nhập dữ liệu cho các bảng dữ liệu có mối quan hệ one-to-many, trong đó: main form dùng để nhập dữ liệu cho bảng dữ liệu phía one, các subform dùng để nhập dữ liệu cho các bảng dữ liệu phía many.
Ví dụ: Trong cơ sở dữ liệu NSLuong, bảng dữ liệu tbNhanVien có mối quan hệ one-to-many với nhiều bảng dữ liệu khác. Các mối quan hệ này chia thành 2 nhóm: quan hệ tra cứu (với bảng dữ liệu tbQuocTich, tbTinhTP, tbPhongBan,...) và quan hệ cha-con (với bảng dữ liệu tbCTietQuanHe, tbCTietChMon,...). Thông thường, ta hay dùng dạng main/subform để nhập dữ liệu cho các bảng dữ liệu có mối quan hệ one-to-many thuộc nhóm quan hệ cha-con.


Hình 1: Ví dụ về biểu mẫu nhập liệu dạng main/subform

Hình 2: Xác định nguồn tạo subform

Hình 3: Xác định mục tin liên kết giữa main và subform
Như bạn thấy trong hình 1, trang "Quan hệ gia đình" là một subform hiển thị biểu mẫu nhập liệu cho bảng dữ liệu tbCTietQuanHe. Các thông tin như mã nhân viên, họ và tên, hình 4x6,... thuộc bảng dữ liệu tbNhanVien thì được nhập liệu thông qua main form.

Có nhiều cách tạo biểu mẫu nhập liệu dạng main/subform như trên, nhưng bạn nên theo các bước sau đây (tôi trình bày cụ thể bằng ví dụ minh họa trên hình 1) để không gặp rắc rối khi phải sửa đổi biểu mẫu nhập liệu:

- Bước 1: Kiểm tra để bảo đảm 2 bảng dữ liệu tbNhanVien và tbCTietQuanHe đã có mối quan hệ one-to-many (trong trường hợp này là quan hệ dựa trên mục tin MaNhanVien).

- Bước 2: Thiết kế biểu mẫu nhập liệu (thường là dạng Columnar) để nhập dữ liệu cho bảng dữ liệu tbNhanVien. Giả sử đặt tên biểu mẫu nhập liệu là frmLyLich.

- Bước 3: Thiết kế biểu mẫu nhập liệu (thường là dạng Tabular hoặc Datasheet) để nhập dữ liệu cho bảng dữ liệu tbCTietQuanHe. Giả sử đặt tên biểu mẫu nhập liệu là subfrmCTietQuanHe.

- Bước 4: Mở biểu mẫu nhập liệu frmLyLich để sửa đổi thiết kế và vẽ một subform control. Khi ấy hộp thoại như hình 2 được hiển thị, yêu cầu xác định muốn tạo subform từ nguồn nào. Bạn chọn tên subfrmCTietQuanHe trong danh sách trên hộp thoại này, rồi click để chuyển sang hộp thoại như hình 3. Bạn để nguyên chọn lựa mặc định là “Show tbCTietQuanHe for each record in tbNhanVien using MaNhanVien”, rồi click để chuyển sang hộp thoại cuối cùng. Không cần khai báo tiêu đề biểu mẫu nhập liệu, bạn click để kết thúc việc tạo subform. Đến đây, xem như biểu mẫu nhập liệu dạng main/subform đã được tạo xong. Tuy nhiên, cần thực hiện một số điều chỉnh ở bước 5 để không khiến cho người nhập liệu bị nhầm lẫn.

- Bước 5: Mở biểu mẫu nhập liệu subfrmCTietQuanHe để sửa đổi thiết kế. Nếu tạo biểu mẫu nhập liệu có dạng Datasheet, không cần sử dụng Form header và Form footer. Nếu trên biểu mẫu nhập liệu có mục tin MaNhanVien (là mục tin dùng để liên kết với biểu mẫu nhập liệu chính), thì xóa nó đi, vì nội dung mục tin này sẽ được Access tự động cập nhật từ biểu mẫu nhập liệu chính. Bạn nên bỏ bớt navigation bar bằng cách thay đổi thuộc tính Navigation Buttons của biểu mẫu nhập liệu thành No (trong phần trình bày về các biểu mẫu nhập liệu trong cơ sở dữ liệu NSLuong, tôi sẽ đề cập chi tiết về việc thay đổi thuộc tính của các đối tượng trên biểu mẫu nhập liệu).

Bài tập thực hành
Bạn dùng công cụ Form Wizard để tạo các biểu mẫu nhập liệu cho các bảng dữ liệu tra cứu (tbQuocTich, tbBangCap, tbLoaiQuanHe, tbPhongBan, tbTinhTP). Theo hướng dẫn tạo biểu mẫu nhập liệu dạng main/subform, bạn tạo biểu mẫu nhập liệu tương tự với bảng dữ liệu tbNhanVien và tbCTietChMon.

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

Đăng nhận xét