Kỹ thuật Sub-form

Một phần của tài liệu Giáo trình cơ sở dữ liệu MS access (Trang 100 - 119)

a. Cỏc bước tạo form

4.4.Kỹ thuật Sub-form

Kỹ thuật thiết kế form đó trỡnh bày ở cỏc phần trờn cú thể gọi là Single-form. Sub-form là kỹ thuật thiết kế giao diện rất mạnh, đỏp ứng được những yờu cầu xử lý dữ liệu phức tạp mà kỹ thuật Single-form chưa thể đỏp ứng. Cú thể hiểu Sub-form là việc form này lồng trong form kia (cú thể lồng trong nhau nhiều lớp). Form chứa gọi là form mẹ (Main form); form được lồng vào gọi là form con (Sub-form). Việc xử lý dữ liệu trờn từng form cú thể xử lý độc lập hoặc cú quan hệ với nhau tuỳ theo mục đớch cụng việc.

Sub-form cú thể được sử dụng trong cỏc loại form nhập dữ liệu, hoặc sử dụng để hiển thị dữ liệu. Dưới đõy minh hoạ 2 vớ dụ tạo form cú sử dụng kỹ thuật này. a. Sử dụng Sub-form trong form nhập dữ liệu

Bài toỏn: Thiết kế form nhập thụng tin hoỏ đơn bỏn hàng như sau:

Hỡnh 4.14

Với yờu cầu này, phải tạo một form con cho phộp hiển thị và nhập cỏc thụng tin về hàng bỏn.

Phải tạo một form mẹ để nhập thụng tin về hoỏ đơn bỏn hàng (2). Phải kết nối form mẹ với form con thụng qua trường hoadonID. Cỏch làm như sau (yờu cầu thực hiện theo đỳng thứ tự cụng việc cỏc bước).

Bước 1: Tạo form con - Tạo mới form ở chế độ Design View; - Vỡ form con sẽ hiển thị dữ liệu dạng bảng nờn phải thiết lập thuộc tớnh Default View cho form con

Datasheet; - Thiết lập nguồn dữ liệu làm việc cho form con ở thuộc tớnh Record Source bằng cỏch nhấn nỳt (xem hỡnh 4.15)

Hỡnh 4.15

Một màn hỡnh thiết kế query xuất hiện. Hóy thiết lập query này như trong hỡnh 4.16:

Hỡnh 4.16: Chỳ ý phải chọn đỳng tờn trường của cỏc bảng đó chỉ dẫn

Tiếp theo đúng màn hỡnh thiết kế query

- Sử dụng cửa sổ Field List để đưa cỏc trường cần thiết lờn vựng Detail của form bao gồm: hangID, donvi, dongia, soluong, thanhtien;

- Ghi lại form với một tờn gọi (vớ dụ: frmHangban) và đúng lại, chuẩn bị tạo form mẹ.

Hỡnh 4.17

Bước 2: Tạo form mẹ

- Tạo mới form ở chế độ Design View;

- Thiết lập nguồn dữ liệu làm việc cho form mẹ ở thuộc tớnh Record Source

bằng cỏch nhấn nỳt (hỡnh 4.18)

Hỡnh 4.18

Một màn hỡnh thiết kế query xuất hiện như trong hỡnh 4.19. Hóy thiết lập query này như sau:

Hỡnh 4.19: Chỳ ý phải chọn đỳng tờn trường của cỏc bảng đó chỉ dẫn.

Tiếp theo đúng màn hỡnh thiết kế query -Sử dụng cửa sổ Field List để đưa cỏc trường cần thiết lờn vựng Detail của form bao gồm: hoadonID, khacID, ngayban, diachi, email; -Sử dụng đối tượng Subform Subreport trờn thanh cụng cụ

ToolBox để đưa form con lờn form mẹ. Sau khi đưa một đối tượng Subform 

Hỡnh 4.20

Hóy chọn tờn form con cần đưa lờn ở danh sỏch Use an existing form. Chọn xong nhấn Finish.

(Cú thể đưa form con lờn form mẹ bằng cỏch dựng chuột gắp tờn form con thả lờn form mẹ)

- Ghi lại form với một tờn gọi (vớ dụ: frmLapHoadon) và đúng lại, kết thỳc yờu cầu cơ bản bài toỏn, thu được kết quả như trong hỡnh 4.21:

Hỡnh 4.21

Khi sử dụng Form wizard, bạn cũng rất dễ dàng khi tạo form theo yờu cầu trờn. Cỏch làm ở đõy là kết hợp giữa form wizard với form Design view. Ngoài ra cú thể thực hiện theo cỏch khỏc dưới đõy:

Bước 1: Tạo form wizard lấy những dữ liệu sau: (adsbygoogle = window.adsbygoogle || []).push({});

Bảng HOADON lấy cỏc trường: hoadonID, khachID, ngayban; Bảng KHACH lấy cỏc trường: diachi, email;

Bảng HANGBAN lấy cỏc trường: hangID, soluong; Bảng HANG lấy cỏc trường: donvi, dongia.

Hỡnh 4.22

Form này gần đỏp ứng yờu cầu đầu bài (chỉ thiếu cột Thanhtien trong form con).

Bước 2: Sửa form con để đỏp ứng bài toỏn

- Mở form con ở chế độ Design View (thụng thường tờn form con này Access sẽ đặt hangban subform);

- Thờm một Textbox lờn vựng Detail của form con và thiết lập thuộc tớnh

Control Source cho text box này như sau (= [dongia]*[soluong]):

- Đúng và ghi lại tất cả. Bạn đó tạo được form như yờu cầu. b. Sử dụng Sub-form trong form lọc dữ liệu

Bài toỏn: Thiết kế form lọc ra danh sỏch cỏn bộ một phũng ban nào đú như sau:

Hỡnh 4.24

- Với yờu cầu này, phải tạo một form con cho phộp hiển thị cỏc thụng tin về danh sỏch cỏn bộ cần in ra (1);

- Phải tạo một form mẹ cho phộp nhập cỏc tham số cần lọc (2);

- Phải thiết lập tham số cho form con sao cho mỗi khi chọn một phũng ban trờn form mẹ, danh sỏch cỏn bộ ở phũng ban đú sẽ tự động hiển thị ra form con.

Cỏch làm như sau (yờu cầu thực hiện theo đỳng thứ tự cụng việc cỏc bước):

Bước 1: Tạo form con

- Tạo mới mới form ở chế độ Design View;

- Vỡ form con sẽ hiển thị dữ liệu dạng bảng nờn phải thiết lập thuộc tớnh

Default View cho form con là Datasheet;

- Thiết lập nguồn dữ liệu làm việc cho form con ở thuộc tớnh Record Source

Hỡnh 4.25

Một màn hỡnh thiết kế query xuất hiện. Hóy thiết lập query này như sau:

Hỡnh 4.26: Chỳ ý phải chọn đỳng tờn trường của cỏc bảng đó chỉ dẫn.

Tiếp theo đúng màn hỡnh thiết kế query.

- Sử dụng cửa sổ Field List để đưa cỏc trường cần thiết lờn vựng Detail của form bao gồm: hoten, gioitinh, ngaysinh, tenchucvu;

- Ghi lại form với một tờn gọi (vớ dụ: frmDscb_subform) và đúng lại, chuẩn bị tạo form mẹ.

Bước 2: Tạo form mẹ

- Tạo hộp Combo box chứa danh sỏch cỏc phũng ban cú thể chọn trờn form mẹ bằng cỏch: Dựng chuột kộo đối tượng Combobox từ thanh cụng cụ ToolBox thả lờn form mẹ, hộp thoại hỡnh 4.27 xuất hiện:

Hỡnh 4.27

Hóy chọn mục I want the combo box to look up the value is in a table or query. Nhấn Next để tiếp tục, hộp thoại sau xuất hiện: (adsbygoogle = window.adsbygoogle || []).push({});

Chọn bảng từ danh sỏch Table Queries – nơi cú chứa danh sỏch phũng ban

cần đưa vào hộp chọn Combobox. Chọn PHONGBAN, nhấn Next, hộp thoại tiếp

theo xuất hiện:

Hỡnh 4.29

Chọn cỏc trường sẽ hiển thị giỏ trị lờn Combo box từ danh sỏch Available Fields: Selected Fields: (chọn 2 trường phongbanIDTenpban). Nhấn Next để tiếp tục:

Hóy chọn tờn form con cần đưa lờn ở danh sỏch Use an existing form. Chọn xong nhấn Finish.

- Ghi lại form với một tờn gọi (vớ dụ: frmTracuuDanhSachCanBo) và đúng lại, kết thỳc yờu cầu cơ bản bài toỏn.

Chỳ ý: Giỏ trị thuộc tớnh Name của hộp Combo box trờn form mẹ phải trựng với tham số đó đặt ở form con. Nếu chưa trựng nhau phải sửa lại cho khớp: hoặc sửa Name của Combo cho khớp với tham số form con hoặc thao tỏc ngược lại mở form con sửa tham số cho khớp Name của ụ Combo box.

BÀI TẬP CHƯƠNG 4

Cơ sở Quản lý lương cỏn bộ

Bài số 1: Tạo form cho phộp xem danh sỏch cỏn bộ từng phũng ban như sau:

Mỗi khi chọn một phũng ban từ hộp thả

danh sỏch cỏn bộ phũng ban đú được hiển thị lờn Subform.

Sau khi gừ một tờn (cú thể là đệm + Tờn hoặc đầy đủ họ và tờn), danh sỏch cỏc kết quả tỡm thấy sẽ được liệt kờ lờn Subform.

Trờn CSDL Quản lý bỏn hàng hóy:

Bài số 3: Thiết kế form lập hoỏ đơn bỏn hàng theo mẫu:

Yờu cầu chi tiết:

- Nỳt Thờm mới để bắt đầu tạo mới một hoỏ đơn;

- Nỳt Xoỏ HĐ để xoỏ hoỏ đơn hiện tại. Yờu cầu phải cú xỏc nhận trước khi xoỏ; - Nỳt In HĐ để in chi tiết hoỏ đơn bỏn hàng ra report (chức năng này sẽ được hoàn thiện sau khi học xong Chương 5 về thiết kế Bỏo cỏo (report)

Bài số 4: Thi t k form t ng h p thụng tin bỏn hàng nh sau: ế ế ổ ợ ư

Sau khi nhập xong giỏ trị từ ngày và đến ngày, thụng tin chi tiết về cỏc mặt hàng bỏn ra trong phạm vi ngày đú được tổng hợp theo như giao diện trờn.

Bài số 5: Thiết kế form tổng hợp thụng tin bỏn hàng cho một khỏc hàng nào đú trong một khoảng ngày nào đú như sau:

Yờu cầu: Sau khi chọn một khỏch hàng, nhập vào khoảng ngày cần tổng hợp. Thụng tin tổng hợp về từng mặt hàng của khỏch đú mua sẽ được liệt kờ.

Bài số 6: Tạo form tổng hợp thụng tin hàng đó bỏn chi tiết theo từng ngày như sau:

Bài số 7: Tạo form theo dừi thụng tin hoỏ đơn bỏn hàng của một khỏch hàng nào đú:

Chương 5

THIẾT KẾ BÁO CÁO (REPORT)

Report là cụng cụ dựng để thiết kế in ấn dữ liệu hữu hiệu trong Access. Hầu như tất cả những gỡ bạn muốn in và in theo bố cục như thế nào? Report đều cú thể đỏp ứng!

Chương này sẽ trỡnh bày từ những khỏi niệm căn bản về thiết kế in ấn, về Report của Access đến tiếp cận những kỹ thuật in ấn phức tạp như: report cú tham số, sub-report,..

Nội dung cụ thể bao gồm: - Cỏc khỏi niệm về Report; - Sử dụng report wizard; - Sử dụng report design view; - Kỹ thuật sub-report; (adsbygoogle = window.adsbygoogle || []).push({});

- Tham số cho report.

Kết thỳc chương, học viờn hoàn toàn cú thể thiết kế được những mẫu biểu in ấn đơn giản đến những biểu phức tạp phục vụ nhu cầu in ấn đa dạng trong cỏc bài toỏn thực tế từ CSDL.

Một phần của tài liệu Giáo trình cơ sở dữ liệu MS access (Trang 100 - 119)