CHƯƠNG 5: FORM-BIỂU MẪU
I. Giới thiệu Form
Form là giao diện chủ yếu giữa người và máy
Form thường dùng để:
Thiết kế màn hình nhập dữ liệu
Thiết kế menu
Thiết kế các màn hình tra cứu thông tin
Thiết kế các màn hình giới thiệu, trợ gíup
Yêu cầu khi thiết kế giao diện phải thuận tiện cho
người sử dụng
Mọi đối tượng xuất hiện trên Form được gọi là điều
khiển. Điều khiển được chia thành 3 loại:
Giới thiệu Form (tiếp)
Điều khiển bị buộc (Bound Control): Là điều khiển có
nguồn dữ liệu lấy từ CSDL. Nhờ điều khiển loại này ta có thể
tra cứu thông tin trong CSDL hoặc cập nhật thông tin vào
CSDL
Điều khiển không bị buộc (Unbound Control): là điều
khiển mà thông tin không gắn với nguồn dữ liệu. Thường
gặp dưới dạng tiêu đề, đường kẻ, cũng có thể là hộp văn
bản (text box) dùng để nhập dữ liệu trong trường hợp đặc
biệt
Điều khiển tính toán được (Calculate Control): Là điều
khiển mà giá trị của nó được tính toán từ giá trị của các điều
khiển khác
Ví dụ: tongluong= Sum ([luong])
thanhtien= [soluong]*[dongia]
II. Thiết kế Form
Từ cửa sổ Database, trong phần Object
chọn Form/New/New Form
Trong cửa sổ New Form có 2 cách tạo Form
Sử dụng Form Wizard
Sử dụng Design View
Thiết kế Form (tiếp)
1). Dùng Form Wizard
Trong cửa sổ NewForrm, kích chọn Form Wizard
Xuất hiện các bước như sau:
B1: Chọn bảng làm nguồn dữ liệu/Next
B2: Chọn trường xuất hiện trên Form/Next
B3: Chọn kiểu trình bày Form/Next
B4: Chọn kiểu nền cho Form/Next
B5: Nhập tiêu đề Form/Finish
Khi tạo Form bằng Wizard, trên Form chỉ có các điều
khiển bị buộc. Muốn Form có thêm các loại điều
khiển khác nữa, ta phải kết hợp với Form Design.
Thiết kế Form (tiếp)
2). Dùng Design View:
Trong cửa sổ New Form, chọn Design View
Trong cửa sổ thiết kế Form này, quan trọng nhất là
Fieldlist và Toolbox. Để ẩn hoặc hiện 2 công cụ
này ta chọn trên menu View/Fieldlist và
View/Toolbox
Fieldlist: dùng trong trường hợp Form bị buộc vào nguồn dữ
liệu nào đó
Hộp công cụ Toolbox: dùng để thiết kế các điều khiển trên
Form
Thiết kế Form (tiếp)
3). Các thành phần trên Toolbox:
Label: nhãn
Text box: hộp văn bản
Option Group: nhóm lựa chọn
Toggle Button: nút bật tắt
Option Button: nút lựa chọn
Check box: hộp kiểm tra
ComBo Box: Hộp combo
List Box: hộp thiết kế
Command Button: nút lệnh
Thiết kế Form (tiếp)
Image: ảnh
Unbound Object Frame: khung ảnh-không bị buộc
Bound Object Frame: Khung ảnh bị buộc
Page Break: đường ngắt trang-khi in
Tab Control: tab
SubFrom: Form con
Line: đường thẳng
Rectangle: khung chữ nhật
More Controls: Các điều khiển hoạt động khác
III. Thiết kế các điều khiển trên Form
1. Vị trí của các điều khiển:
Khi thiết kế các điều khiển, ta quan tâm đến vị trí của
nó trên form
Thiết kế các điều khiển trên Form (tiếp)
Page header/Page footer: tiêu đề đầu và cuối
mỗi trang
Form header: dùng để chứa các tiêu đề như tên
Form, tên trường
Form footer: dùng để chứa các nút lệnh thao
tác trên bản ghi hoặc các dòng tổng cộng
Detail: phần quan trọng nhất của Form. Với
những Form có dữ liệu thì đây là phần lặp lại với
mỗi bản ghi. Muốn dữ liệu được hiển thị như
phiếu nhập dữ liệu thì dàn dọc các điều khiển.
Muốn dữ liệu hiển thị dưới dạng bảng thì dàn
ngang các điều khiển trên Detail
Thiết kế các điều khiển trên Form (tiếp)
2. Căn chỉnh các điều khiển
Có thể sao chép, cắt, dán, xóa các điều khiển (chỉ với 1 số loại nào
đó)
Đánh dấu các điều khiển:
Đánh dấu theo cột
Đánh dấu theo hàng
Đánh dấu theo khung
Đánh dấu các điều khiển rời rạc
Căn chỉnh các điều khiển: Chọn mục Format
Align: gióng đều
Vertical Spacing: khoảng cách dòng giữa các điều khiển
Horizotal Spacecing: khoảng cách cột giữa các điều khiển
Size: làm cho các điều khiển có cùng độ cao
Thiết kế các điều khiển trên Form (tiếp)
3. Điều khiển hộp văn bản (TextBox)
Hộp văn bản là điều khiển quan trọng nhất trên
Form. Có thể thuộc cả 3 loại: bị buộc, không bị buộc
và tính toán được.
Nếu là không bị buộc
Thường dùng để nhập dữ liệu.
Cách tạo: kéo từ toolbox vào Form
Nếu là bị buộc
Thường dùng để hiển thị dữ liệu của bảng.
Cách tạo: Kéo từ Fieldlist vào Form
Thiết kế các điều khiển trên Form (tiếp)
Nếu là điều khiển tính toán:
Thường dùng để tính toán thông qua các điều khiển khác.
Cách tạo:
Tạo 1 điều khiển không bị buộc.
Sau đó đưa các biểu thức vào
Thiết kế các điều khiển trên Form (tiếp)
4. Nhãn (Label)
Dùng làm tiêu đề, chú giải,…
Chủ yếu quan tâm đến hình thức trình bày trên nhãn:
font, màu sắc,…
Thiết kế các điều khiển trên Form (tiếp)
5. Hộp liệt kê (List Box) và Combo (Combo Box)
Khi muốn chọn 1 trong nhiều giá trị để nhập vào trường
(trên 5 giá trị) ta dùng List box hoặc Combo box
Combo box: thường được dùng nhiều trên màn hình nhập
dữ liệu, tìm kiếm
List box: thường được dùng trên màn hình hiển thị, tra cứu
Có thể thêm các giá trị khác (không có trong danh sách)
vào hộp Combo box và không thể thêm 1 giá trị mới vào
List box
Có 2 cách tạo List box/Combo box:
Thiết kế các điều khiển trên Form (tiếp)
Dùng Wizard:
Bật Control Wizard
Chọn List box/Combo box trên Toolbox
Kéo vào Form, Wizard khởi động
Chọn nguồn dữ liệu: lấy từ bảng hay danh sách giá trị
Chọn bảng hoặc danh sách giá trị nguồn
Chọn các trường hiện trong hộp
Quyết định có hiện trường khoá hay không
Chọn trường nhận dữ liệu (Form phải có nguồn dữ liệu.
Trường nhận dữ liệu là 1 trong các trường của bảng
hoặc truy vấn nguồn dữ liệu)
Thiết kế các điều khiển trên Form (tiếp)
Không dùng Wizard
Tắt Control Wizard
Chọn biểu tượng List box/Combo box kéo vào Form
Mở thuộc tính của List box/Combo box, xác định các
thuộc tính sau:
Row Source Type: Chọn Table/Query hoặc Value List
Row Source: Tên bảng hoặc Query hoặc danh sách giá trị
phân cách nhau bằng dấu ;. Cũng có thể là 1 lệnh SQL
Bound Column: cột cho giá trị
Column Count: Số các cột sẽ hiển thị dữ liệu trong hộp
Limit to list: Dùng riêng cho Combo box. Khi thêm giá trị
vào, giá trị này sẽ được cập nhật vào nguồn nếu thuộc
tính này chọn là No.
Thiết kế các điều khiển trên Form (tiếp)
6. Nút lệnh (Command Button)
Khi ta kích hoạt nút lệnh, HQTCSDL sẽ thực hiện 1
công việc. Công việc đó có thể đơn giản là mở 1
Form, cũng có thể là thực hiện tính điểm TB của SV
của trường ĐH
Để tạo nút lệnh ta có thể dùng Wizard hoặc lập trình
Dùng Wizard:
Bật Control Wizard
Chọn lĩnh vực của nút lệnh
Chọn đối tượng và tham số của hành động
Chọn hình thức trình bày của nút lệnh
Thiết kế các điều khiển trên Form (tiếp)
Không dùng Wizard:
Tắt Control Wizard
Chọn nút lệnh, đưa vào Form
Lập trình xử lý sự kiện nút lệnh
Thiết kế các điều khiển trên Form (tiếp)
7. Thuộc tính của Form:
Kích phải chuột / Chọn Properties, xuất hiện hộp thoại
Properties chứa các khai báo thuộc tính Form
a). Về hình thức trình bày
Default View: dạng hiển thị ngầm định của Form
Scroll bars: các thanh cuộn để chuyển điều khiển lên
xuống
Navigation Button: các nút để dịch chuyển bản ghi
Dividing Lines: Đường phân chia các bộ phận của Form
Picture: hình ảnh trên toàn Form
MinMax Buttons: Nút cho phép thu nhỏ, phóng to kích
cỡ Form
Thuộc tính của Form (tiếp)
b). Về dữ liệu trên Form
Records Source: tên truy vấn, bảng nguồn dữ liệu hoặc
văn bản SQL của nguồn dữ liệu
Chú ý: Khi thiết lập nguồn bằng SQL thì mọi trường xuất
hiện trên cửa sổ Design của Form phải xuất hiện trên
SQL (mặc dù là các trương đó có được bằng cách kéo
chuột)
Allow Filter: cho phép lọc dữ liệu hiện trên Form
Allow Deletion: cho phép xoá các bản ghi trên Form
Allow Edits: cho phép chỉnh sửa dữ liệu trên Form
Allow Additions: cho phép bổ sung bản ghi trên Form
Thuộc tính của Form (tiếp)
c). Các thuộc tính khác
Popup: Form được mở trên các Form khác
Modal: Không thể kích hoạt bất cứ vị trí
nào ngoài phạm vi Form
Menu bar: menu hiện khi mở Form
Short cut menu: menu hiện khi nhấn chuột
phải
Thuộc tính của Form (tiếp)
Ví dụ:tạo form để xem và cập nhật thông tin cho
bảng PHONG. Form được phép thêm, sửa, không
được xoá
Có thể làm như sau:
Thuộc tính của Form (tiếp)
Từ cửa sổ Database, trong mục Object chọn Form/ Create
form in Design view. Cửa sổ thiết kế xuất hiện.
Từ cửa sổ thiết kế form, kích phải chuột/Properties. chọn nguồn
dữ liệu của form là bảng PHONG.
Đặt thông số cho các thuộc tính:
Allow Deletion: No
Allow Edits: Yes
Allow Additions: Yes
Thiết kế các điều khiển trên form như sau:
Kéo rê các trường cần hiển thị trên form (các trường này lấy
từ nguồn dữ liệu của form – Field List) vào cửa sổ thiết kế
Hiệu chỉnh lại các nhãn (Lables) trên form như sau:
Thuộc tính của Form (tiếp)