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
Trang 1CHƯƠNG 5: FORM-BIỂU MẪU
Trang 2I 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:
Trang 3Giớ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]
Trang 4II 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
Trang 5Thiế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
Trang 6Thiế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à
Trang 7Thiế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
Trang 8Thiế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
Trang 9III 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
Trang 10Thiế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
Trang 11Thiế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
Trang 12Thiế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
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
Trang 13Thiế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
Trang 14Thiế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,…
Trang 15Thiế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:
Trang 16Thiế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)
Trang 17Thiế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 Sou rce 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
Trang 18Thiế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
Trang 19Thiế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
Trang 20Thiế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
Trang 21Thuộ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
Trang 22Thuộ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
Trang 23Thuộ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:
Trang 24Thuộ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:
Trang 25Thuộc tính của Form (tiếp)
Trang 26IV Form chính-phụ
1 Giới thiệu
Dùng để nhập dữ liệu đồng thời vào nhiều bảng
Form chính - phụ đặc biệt có hiệu quả khi ta muốn hiển thị dữ liệu trong các bảng có quan hệ 1:n
Form chính hiển thị dữ liệu trong bảng có quan hệ 1,
Form phụ hiển thị dữ liệu trong bảng có quan hệ n
Khi di chuyển sang một bản ghi mới trong Form chính thì form phụ sẽ hiển thị một tập hợp các bản ghi nối kết tới bản ghi mới trong form chính
Khi tạo Form phụ, ta có thể thiết kế để nó hiển thị dưới dạng bảng tính, Form đơn, biểu đồ,…
Một Form chính có thể có nhiều Form phụ Chỉ có yêu cầu là phải có ít nhất một trường chung cho từng Form phụ với Form chính
Trang 27 Hộp thoại New Form xuất hiện, kích đúp Form
Wizard xuất hiện các bước của Form Wizard
Trang 28Form chính-phụ (tiếp)
Bước 2: Vẫn trong hộp thoại trên,
chọn bảng hoặc truy vấn nguồn của Form phụ (bảng ở đầu n của quan hệ 1:n)
Kích chọn tên trường xuất hiện trong Form phụ
Kích Next,
Bước 3: chọn Form With subform(s)
Tiếp theo là các hộp thoại hướng dẫn của
Wizard Khi ta kích Finish, Access sẽ tạo ra 2
Form, một Form chính và một Form phụ bên trong Form chính
Trang 30Form chính-phụ (tiếp)
c Làm quen với cách viết:
[loại đối tượng]![tên đối tượng]![trường liên kết]
Ví dụ: Biểu thức kết nối 2 Form:
[FORMS]![<tên Form chính>]![<tên trường kết nối>]
Trang 31Form chính-phụ (tiếp)
d Ví dụ: Tạo một form chính “Danh sách phòng”, mỗi phòng tương
ứng với một danh sách nhân viên trong form phụ “Danh sách nhân
viên”
Bước 1: Tạo form chính CHINH với tiêu đề “danh sách phòng”
Dùng Design View
Chọn nguồn dữ liệu là bảng PHONG
Ghi lại thiết kế form CHINH
Bước 2: Tạo form phụ PHU với tiêu đề “danh sách nhân viên”
Trang 32 Mở cửa sổ thiết kế của form CHINH và cửa sổ Database
Kéo form PHU thả vào vị trí muốn đặt trong form CHINH
Ghi lại tất cả thiết kế này
Trang 33Form chính-phụ (tiếp)
Trang 34Form chính-phụ (tiếp)
Kết quả như sau:
Trang 35Form chính-phụ (tiếp)
Ví dụ 2: Tạo Form chính –phụ đưa ra
danh sách nhân viên theo ngoại ngữ đã học
Trang 36V Dùng Form chính-phụ để tìm kiếm
Form chính-phụ được dùng để tìm kiếm thông tin
Nó thực hiện như một Parameter Query
Thông thường, điều kiện tìm kiếm được nhập vào một textbox trên form chính
Sau khi Enter, thì nó sẽ đưa ra thông tin cần thiết, thể hiện trên form phụ
Textbox trên form chính là loại không bị buộc, nó chỉ dùng để nhập điều kiện tìm kiếm
Như vậy, phải có ràng buộc giữa form phụ và textbox này
Trang 37Dùng Form chính-phụ để tìm kiếm(tiếp)
Ví dụ 1: Thiết kế form chính-phụ để tìm kiếm
các nhân viên theo tên phòng
Khi chạy Form, trên Form chính chứa 1 text box
để nhận tên phòng cần tìm Trên Form phụ
sẽ xuất hiện danh sách nhân viên của phòng vừa nhập tên
Bước1: Thiết kế form chính CHINH1 không có nguồn dữ liệu Chứa 1 textbox [TEXT i] để nhập tên phòng cần tìm
Trang 38Dùng Form chính-phụ để tìm kiếm(tiếp)
Bước 2: Thiết kế form PHU1
- Nguồn dữ liệu là văn bản SQL chứa thông tin về các nhân viên và tên phòng tương
ứng
- Thiết lập điều kiện liên kết với form chính: TENPHONG=[FORMS]![CHINH1]![TEXT i]
Trang 39Dùng Form chính-phụ để tìm kiếm(tiếp)
Bước 3:
Mở cửa sổ thiết kế form CHINH1 đồng thời với cửa sổ Database Kéo form PHU1 thả vào form CHINH1
Trang 40Dùng Form chính-phụ để tìm kiếm(tiếp)
Ví dụ 2:
Tạo form chính –phụ để tìm kiếm thông tin về các nhân viên học một ngoại ngữ nào đó (tên ngoại ngữ nhập vào 1 textbox)