Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Microsoft Access

5. Thiết kế và tạo form


5.1 Giới thiệu chung
Nếu như Report ñể tạo ra các báo cáo thì Form ñược dùng ñể nhập dữ liệu cho các
bảng, tìm kiếm dữ liệu, nhập dữ liệu ñiều kiện ñể in báo cáo, …
Form là giao diện ñể người dùng làm việc với ứng dụng.
 Tại sao cần tạo form thay vì làm việc trực tiếp với DL?
 Khi người dùng nhập dữ liệu qua form thì có thể kiểm tra ñược các ràng
buộc trên dữ liệu nhập vào (bằng cách viết lệnh) và hướng dẫn ñể người
dùng nhập vào dữ liệu ñúng. ðiều này làm cho việc nhập dữ liệu chính xác
hơn và ñúng yêu cầu. Việc nhập dữ liệu ñúng ñóng vai trò hết sức quan
trọng trong việc tạo ra các báo cáo ñúng và có giá trị.
 Người dùng làm việc với ứng dụng thông qua form nên CSDL và mã lệnh
của ứng dụng là hộp ñen ñối với người dùng. Chính vì thế họ không thể xóa
hay sửa dữ liệu khi không ñược phép.
 Form là ñối tượng ñóng vai trò như chất liên kết các ñối tượng khác như
bảng, query, report hay thậm chí cả các form khác lại với nhau nhằm tạo nên
một ứng dụng hoàn chỉnh.
 Nếu form ñược thiết kế ñúng luồng nghiệp vụ thì sẽ tạo thuận lợi, dễ sử
dụng ñối với người dùng.
5.2 Thiết kế form
Yêu cầu khi thiết kế form:
 Thân thiện với người sử dụng

 Màu sắc: không quá nhiều màu, nên dùng màu giống với giao diện hệ ñiều
hành ñang dùng, ñổi màu ñể nhấn khi cần thiết, …
 Bố cục: cân ñối về kích thước, hợp lý về nghiệp vụ, …

 Tiện dụng

 Với các form nhập dữ liệu, không bắt phải gõ nhiều, có các hỗ trợ ñể nhập
dữ liệu nhanh, chính xác.
 Liên kết giữa các form ñúng nghiệp vụ.

Mỗi form ứng với một nghiệp vụ cụ thể.


 VD: quản lý hàng thì trên form QLBH cần cho phép: thêm hàng mới, sửa
ñổi thông tin một hàng ñã có, xóa (hạn chế), navigate (duyệt) danh sách
hàng, …
Trên form có thể có liên kết tới các form khác hoặc report phục vụ nghiệp vụ của
form.
 VD form QLBH có thể có nút lệnh cho phép xem báo cáo về các hh theo
từng loại hàng, hàng bán chạy nhất, …

1
Microsoft Access

5.3 Công cụ thiết kế form

5.3.1 Các ñối tượng trên form


 Selector và Wizard:
 Label:
 Text box:
 Combo box:
 Sub form/report:
 Command button:
 Option group:

5.3.2 Các thuộc tính của form

Record selector

Scroll bar

Navigation
button

 Default view: kiểu hiển thị mặc ñịnh của form: single form, continuous
form, data sheet, pivot table, pivot chart.
 Scroll bars: khi form có nhiều dữ liệu hay nhiều ñối tượng thì có dùng thanh
cuộn không (both, neither, horizontal only, vertical only)
 Record selector: ký hiệu ñánh dấu bản ghi (yes/no)
 Navigation button: các nút duyệt bản ghi (yes/no)

2
Microsoft Access

Click trái chuột vào ñây ->


chọn Properties ñể hiện thị
cửa sổ các thuộc tính của
form như sau:

5.4 Các kiểu form và cách tạo


 Form nhập DL (của các nghiệp vụ chỉ liên quan ñến 1 bảng hay 2 bảng có
quan hệ 1-n)
 Form lọc DL
 Form nhập DL ñiều kiện ñể in báo cáo
 2 cách view form:
 Pivot table
 Pivot chart
5.4.1 Form nhập DL (của các nghiệp vụ chỉ liên quan ñến 1 bảng)
Loại form này thường dùng ñể quản lý các ñối tượng trong hệ thống một cách ñộc
lập. VD quản lý hàng hóa, quản lý khách hàng, quản lý nhân viên, … Form này
thường cho phép người dùng nhập dữ liệu, thêm, sửa xóa các bản ghi, duyệt qua
các bản ghi và có thể có các nút lệnh cho phép hiển thị ra các báo cáo liên quan ñến
nghiệp vụ quản lý ñối tượng. VD trên form quản lý khách hàng có thể có nút lệnh
cho phép hiển thị danh sách khách hàng theo bảng chữ cái, hiển thị danh sách
khách hàng theo quận, thành phố, …

3
Microsoft Access

ðể tạo một form quản lý hàng hóa như trên ta làm theo các bước sau:
 Tạo form bằng wizard:
 Chọn Create form by using wizard

 Table/query: chọn bảng Hanghoa, Selected fields: chọn tất cả các trường.

 Chọn kiểu layout: columnar

 Chọn kiểu form: standard

 ðặt tên form: f_Hanghoa -> Finish.

 Chỉnh sửa form bằng tay:


Form sẽ ñược mở ra ñể xem hoặc nhập dữ liệu. ðể form có ñược giao diện ñẹp
hơn, tiện dụng hơn bạn cần phải chỉnh sửa một chút: tăng kích thước, mầu sắc,
thay ñổi bố cục, …ðể làm ñược việc này bạn hãy mở form ở chế ñộ Design.
 Chọn tất cả các label -> Format: Font size: 14, Font color: blue, thay ñổi
kích thước cho phù hợp.
 Với mỗi label: Caption: gõ lại tên nhãn bằng tiếng việt có dấu.

 Chọn tất cả các text box, và combo box, các ñối tượng ñể nhập dữ liệu ->
Format: Font size: 14, thay ñổi kích thước cho phù hợp.
 Form properties: Default view: single form, Caption: QL Hàng Hóa, Record
selectors: No.
5.4.2 Form nhập DL (của các nghiệp vụ chỉ liên quan ñến 2 bảng có quan hệ
1-n)
Form này thường dùng ñể quản lý 2 ñối tượng (bảng) có quan hệ 1-n với nhau.
Trong form này người dùng có thể nhập dữ liệu vào 2 bảng cùng lúc.

4
Microsoft Access

Với loại form này, bảng ñầu 1 thường ở form chính, bảng ñầu nhiều ở sub form.
Trong form trên, bảng Loaihang ở ñầu 1, là nguồn của form chính; bảng Hanghoa
ở ñầu nhiều, là nguồn của subform. ðể tạo form trên ta làm như sau:
Bước 1: tạo subform: subform cũng là một form bình thường nhưng thường ñược
thiết kế theo hướng phù hợp ñể ñưa vào form khác.
 Tạo form bằng wizard:
 Chọn Create form by using wizard

 Table/query: chọn bảng Hanghoa, Selected fields: chọn tất cả các trường.

 Chọn kiểu layout: tabular

 Chọn kiểu form: standard

 ðặt tên form: f_Loai_hang_sub.

 Finish.

 Chỉnh sửa form ở chế ñộ Design:


 Label: Font size: 12, Font weight: bold, Caption: gõ tiếng việt có dấu. Các
label ñặt ở phần Form Header -> chỉ hiển thị 1 lần, giống như tiêu ñề của
bảng.
 Text box: Font size: 12. Các text box ñặt ở phần Details -> hiển thị liên tiếp
tùy vào số bản ghi. Chú ý: ñể các bản ghi hiển thị liên tiếp nhau giống như
bảng thì các text box phải ñặt sát lên thanh Details, thanh Form Footer kéo
lên gần sát các text box (xem hình).

 Form properties: Default view: continuous form, Record selectors: No.

Bước 2: tạo form chính:


 Tạo form bằng wizard:
 Table/query: chọn bảng Loaihang, Selected fields: chọn tất cả các trường.

 Chọn kiểu layout: Column

 Chọn kiểu form: standard

 ðặt tên form: f_Loai_hang.

5
Microsoft Access

 Mở form ở chế ñộ Design:


 Label: Font size: 12, bold, Caption: tiếng việt có dấu.

 Text box: Font size: 12.

 Kéo thanh Form footer xuống ñể tạo không gian cho subform. Bố trí vùng
làm việc sao cho có thể nhìn thấy cùng lúc 2 cửa sổ Design form và
Database (ñang hiển thị các form).
 Chọn và kéo thả subform f_Loai_Hang_sub vào form chính.

 Form properties: Default view: single form, Record selectors: No.

 Subform properties: Link child fields: Loaihang, Link master field: Maloai.
Tính chất này cho phép hiển thị nội dung của subform tùy theo giá trị trong
trường Maloai ở form chính. Khi form chính và subform có quan hệ 1-n thì
Access sẽ tự xác ñịnh 2 thuộc tính này thông qua trường khóa chính và khóa
ngoại. Trong các trường hợp khác, bạn phải xác ñịnh các thuộc tính này ñể
có hiệu ứng như mong muốn.
5.4.3 Form lọc dữ liệu
Loại form này không dùng ñể nhập dữ liệu mà dùng ñể hiển thị dữ liệu theo ñiều
kiện nào ñó, hay nói cách khác là tìm kiếm dữ liệu. Trong form lọc dữ liệu hàng
hóa theo loại hàng, khi bạn chọn một loại hàng trong hộp combo thì phía dưới sẽ
hiển thị ra các mặt hàng thuộc loại hàng ñó.

ðể tạo form này ta làm như sau:


Bước 1: Tạo parameter query ñể hiển thị thông tin về các hàng hóa thuộc một loại
hàng cho trước. (xem hình). Tên form là: f_Filter_Hang_by_Loai. ðặt ñiều kiện
loại hàng sẽ là loại hàng ñược chọn trong hộp combo của form. Phần ñiều kiện gõ
tên của hộp combo: cbo_maloai.

6
Microsoft Access

Bước 2: Tạo subform hiển thị thông tin về các hàng hóa thuộc loại hàng ñược
chọn trong hộp combo với nguồn là parameter query vừa tạo. Cách tạo subform
giống như tạo subform trong form trên.

Bước 3: Tạo một form mới bằng chế ñộ Design, ñặt tên là f_Filter_Hang_by_Loai.
Trong phần Detail:
 Tạo một hộp combo có danh sách là tất cả các loại hàng, ñặt tên là
cbo_maloai. ðiểm mấu chốt của loại form này là tên trong vùng ñiều kiện ở
query phải trùng với tên của hộp combo trong form chính. ðể tạo hộp combo
này ta làm như sau:
 Chọn combo box trên Toolbox, vẽ vào phần Detail của form chính.

 Chú ý: khi bạn chọn combo box trên Toolbox thì phải ñảm bảo rằng 2 biểu

tượng phải luôn sáng ñể mỗi khi thêm ñối tượng mới vào form thì sẽ
làm theo wizard.
 “I want the combo box to lookup the values in a table or query” -> Next.
 Chọn bảng Loaihang -> Next.
 Chọn các trường muốn hiển thị trong hộp combo -> Next.
 Bỏ tick chọn “Hide key column”-> Next.
 Label của combo: “Hãy chọn một loại hàng:” -> Finish.
 Click phải chuột vào combo box vừa tạo, chọn Properties: Name:
cbo_maloai, Column count: 2, Column width: 0.8”; 1”, Font size: 12,
Bound column: 1.
 Chú ý: combo box này là Unbound, tức là không liên kết tới một trường nào
cả, Control source ñể trống.
 Chọn Properties của label ñi liền với combo box: Font size: 14.

7
Microsoft Access

 Thu xếp phần làm việc ñể có thể nhìn thấy ñồng thời cửa sổ Design và Database
 Click trái chuột vào form f_Filter_Hang_by_Loai, kéo và thả vào phía dưới hộp
combo, trong phần Detail.
5.4.4 Pivot table view
ðây là một loại báo cáo ñộng. Người dùng có thể hiển thị dữ liệu theo ñiều kiện
mong muốn.

Bước 1: Tạo Total query hiển thị tổng doanh thu của từng mặt hàng, theo từng loại
hàng và theo từng tháng. ðặt tên là q_analysis.

Bước 2: Tạo form f_sales_analysis1 bằng wizard với nguồn là q_analysis, kiểu
layout bất kỳ.
Bước 3: Mở form ở chế ñộ Pivot table view:

8
Microsoft Access

Kéo thả các trường vào các vị trí tương ứng:


 Filter Fields: trường có các giá trị là ñiều kiện ñể ñặt lọc.

 Column Fields: trường có các giá trị là tiêu ñề cột.

 Row Fields: trường có các giá trị là tiêu ñề dòng.

 Total or Detail Fields: trường tính toán

5.4.5 Pivot chart view

Bước 1: tạo query (ở ñây sẽ dùng luôn q_analysis vừa tạo)


Bước 2: Tạo form f_sales_analysis1 bằng wizard với nguồn là q_analysis, kiểu
layout bất kỳ.

9
Microsoft Access

Bước 3: Mở form ở chế ñộ Pivot chart view:

 Kéo và thả trường Tong doanh thu vào phần dữ liệu của biểu ñồ.
 Click phải chuột vào Axis Title dọc, chọn Properties: Format: Caption:
Doanh thu, ñây là tên trục tung. Làm tương tự với Axis Title ngang, ñể ñiền
tên trục hoành là Tháng.
 Click vào biểu tượng này trên thanh công cụ ñể hiển thị phần chú thích
của biểu ñồ (Legend).
5.4.5 Form nhập dữ liệu ñiều kiện ñể in báo cáo

Bạn chọn một loại hàng muốn xem báo cáo trong hộp combo. Click vào nút
Preview Report, bạn sẽ thấy một báo cáo như sau:

10
Microsoft Access

Bước 1: Tạo báo cáo theo mẫu.


 Tạo sub report: hiển thị tổng doanh thu của từng mặt hàng
 Tạo report bằng chế ñộ Design:

 Record source: Maloai, Tenhang, Tongdoanhthu từ bảng q_sales_by_hang.


 ðặt tên: r_sales_by_loai_sub.

 Tạo report r_sales_by_loai bằng Design: Record source: Maloai, Tenloai


trong bảng Loaihang với ñiều kiện Maloai =
[Forms]![f_sales_by_Loai]![cbo_MaLoai]. Sau ñó trình bày theo mẫu sau:

11
Microsoft Access

Label: Font: Arial, 20, Bold. Text box: Control source :


="( " & Date() & " )" Bold.

Text box : Control source :


Tenloai, Font : Arial, 16, Bold.
Line: Border : style : solid,
color: ghi sẫm, width : 3pt.

Text box : Control source :


Maloai, Format : visible : No

Line: Border : style : solid,


color: ghi sẫm, width : 3pt.

Text box Maloai không dùng ñể hiển thị dữ liệu mà dùng ñể làm trường liên
kết lọc dữ liệu cho subreport và chart.
 Subreport: Source Object: r_sales_by_hang_sub; Link child field: Maloai;
Link master field: Maloai.
Chart wizard:
 Insert Chart -> Chọn nguồn dữ liệu của biểu ñồ: q_sales_by_hang -> Fields
for chart: all -> Type: bar chart -> Kéo và thả các trường thích hợp vào vị trí
trục tung, trục hoành và dữ liệu -> Chọn trường link (kết nối) dữ liệu giữa

12
Microsoft Access

report và chart: Maloai -> Title: chart_sales_by_hang -> No, I don’t display
a legend (phần chú thích) -> Finish.
 Sau khi Insert xong biểu ñồ hoặc trong chế ñộ Design, biểu ñồ của bạn có
thể không hiển thị dữ liệu thực tế như bạn muốn. ðừng lo lắng. Biểu ñồ sẽ
hiển thị ñúng dữ liệu khi bạn chuyển sang chế ñộ Print Preview.
 ðể ñiều chỉnh các thuộc tính của biểu ñồ: click ñúp chuột vào biểu ñồ ->
click phải chuột vào cùng trắng trong biểu ñồ (Chart area), chọn Chart
Option hoặc trên thanh menu chọn Chart/ Chart Option. ðến ñây thao tác
giống như phần biểu ñồ trong MS Word: Chart title: Doanh thu theo mặt
hàng, Category (X) axis: Mặt hàng, Value (Y) axis: Doanh thu.

Bước 2: Tạo form f_sales_by_loai bằng Design view.


 Tạo combo box theo mẫu.
 Tạo nút lệnh, ñể khi click vào thì sẽ hiện ra báo cáo doanh thu của loại hàng
chọn trong combo box.
 Chọn Command button trên Toolbox rồi vẽ vào vị trí mong muốn trong
phần Detail.
 Category: Report Operations, Action: Preview Report -> Next

 Chọn report sẽ mở ra.

 Text: Preview Report.

 ðặt tên cho nút lệnh: cmd_preview.

5.4.6 Form menu


Form dạng menu là form chỉ có các nút lệnh cho phép mở ra các form khác theo
một nghiệp vụ nào ñó (xem cách tạo nút lệnh ở loại form trên). VD sau là form
menu trong ứng dụng Northwind sample của Access.

13
Microsoft Access

5.4.7 Form sử dụng option group

Bước 1: Tạo form f_sales_analysis_opt_gr bằng chế ñộ Design.


Bước 2: Tạo Option group:
 Chọn biểu tượng trên thanh công cụ. Thực hiện theo các bước của
wizard:

 Yes, the default choice is: Doanh thu theo loại hàng. Next.
 Kiểm tra lại giá trị của mỗi lựa chọn: Pivot table: 1, Pivot chart: 2, Doanh
thu theo loại hàng: 3. Next.
 Type of controls: Option buttons, style mặc ñịnh. Next.
 Caption for option group: Hãy chọn loại báo cáo muốn xem!
 Finish.
 Chọn các label của Option group và chỉnh lại: Font: size, weight và vị trí.

14
Microsoft Access

Bước 3: Tạo nút lệnh ñể mở form tương ứng với lựa chọn trong Option group
Frame1.
 Tạo nút lệnh ñể mở form f_sales_analysis1 bằng wizard.

 Click phải chuột vào nút lệnh -> chọn Properties -> Event -> click vào
[Event Procedure] ở cuối On Click -> chọn dấu 3 chấm ở cuối dòng. Sửa lại
các câu lệnh như sau:
Giải thích một số câu lệnh:
 Frame1 = 1: Người dùng tích chọn Pivot table, tương tự =2: Pivot chart, =
3: Doanh thu theo loại hàng.
 stDocName = "f_sales_analysis1": câu lệnh gán chuỗi giá trị cho biến.

 Docmd: thực hiện lệnh.

 DoCmd.OpenForm stDocName, acFormPivotTable, , stLinkCriteria : mở


form có tên chứa trong biến stDocName với kiểu view là Pivot table.
 ðể biết thêm về các tham số của lệnh mở form: bôi ñen DoCmd.OpenForm
rồi ấn F1.

Bước 4: ñiều chỉnh Form properties: Record selectors: No, Navigation Buttons:
No.
Hết.

15

You might also like