Giới thiệu Mẫu biểu là một hình thức để hiển thị dữ liệu và để nhập dữ liệu theo như các dạng trong thực tế.. THIẾT KẾ FORM ttĐể tạo mẫu biểu, Click chọn vào đối tượng Form bên vùng tr
Trang 1THIẾT KẾ FORM ( MẪU BIỂU)
1 /
Giới thiệu
Mẫu biểu là một hình thức để hiển thị dữ liệu và để nhập dữ liệu theo như các dạng trong thực tế Để tạo Form trước hết phải ta phải có nguồn dữ liệu Dữ liệu có thể được lấy từ Table, hay kết quả từ 1 câu truy vấn nào đó
Trong Access, ta có thể tạo ra mẫu biểu bằng công cụ
DataSheet
(tương tự như truy vấn CrossTab) Tốt nhất ta nên tạo truy vấn
CrossTab và dùng nó để tạo biểu mẫu (Form) dạng này thì đơn giản hơn.
Trang 2THIẾT KẾ FORM ( tt)
Để tạo mẫu biểu, Click chọn vào đối tượng Form bên
vùng trái của cửa sổ Cơ sở dữ liệu để bắt đầu làm việc
với các đối tượng Form Khi click chọn Form New ta sẽ
mở ra 1 cửa sổ gồm các nội dung sau:(xem hình)
Lựa chọn nguồn dữ liệu
để tạo Form
Trang 32 /
Thiết kế biểu mẫu (Form) bằng Design
View
:
Ngoài những cách tạo biểu mẫu (Form) 1 cách
tự động (wizard) do Access cung cấp sẳn, ta còn
có thể tự thiết kế một biểu mẫu (Form) hoặc là
phải chỉnh sữa lại một biểu mẫu (Form) đã có
trước đây như sau
Trang 4Dưới đây là hình ảnh form Lý lịch trích ngang, các Field Name được lấy từ Table HocVien, thuộc tính của mỗi Ô được chú thích ngay trong hình vẽ,
bao gồm các loại Ô như LABLE, CALCULATE, OLE, OPTION GROUP, CHECK BOX,
UNBOUND v.v…
các nhãn của 1 text box
Hình ảnh
Option Group
Option Check Box
Label Box
Các Field Name
Công thức
Trang 5Giới thiệu các loại hộp,
Ô điều khiển (Control)
1/ Các loại ô theo nguồn dữ liệu:
Bound Control : là 1 ô mà nó luôn gắn với 1 trường của dữ liệu nguồn Ta dùng nó để hiển thị dữ liệu của một trường (Field) , để nhập hay hiệu chỉnh dữ liệu vào cho trường (Field) đó.
Unbound Control : Ô dạng này chứa dữ liệu rời rạc không thuộc trường (Field) nào của dữ liệu (không giống như bound Control) thông thường nó được dùng để nhập 1 giá trị tạm thời để sử dụng cho 1 công việc khác.
Calculate Control : ô mà chứa biểu thức tính toán, trên các giá trị đã có thì gọi là Calculate Control Biểu thức bên trong nó là sự kết hợp giữa các Trường (Field) , các Unbound Control, các hằng số, các hàm của Access với các phép toán hợp lý.
Trang 6Giới thiệu các loại hộp,
Ô điều khiển (Control)
2/ Các loại ô theo hình thức hiển thị:
Lable Control (ô nhãn) : là một ô chứa giá trị Text thuộc loại tĩnh (nghĩa là
nó sẽ hiển thị nội dung giống như lúc thiết kế) Ô này thường dùng làm các tiêu đềv.v…
Text Control (hay còn gọi là TextBox): nó dùng làm để hiển thị dữ liệu từ 1
Tường hay từ 1 công thức, hoặc để nhập dữ liệu từ bàn phím
List Box: là ô mà nó cho phép ta lựa chọn các giá trị trong 1 danh sách nào đó.ComboBox: Đây là sự kết hợp giữa TextBox và ListBox cho phép ta lưa chọn một giá trị có sẳn hay nhập 1 giá trị mới
Command Button (nút lệnh): là một nút thường dùng để gọi thi hành 1 công việc nào đó, thông thường là gọi Macro hay là thủ tục xử lý sự kiện (Even Procedure)
Các loại nút khác có dạng đánh dấu như Check box, Option Button, Toggle
Button, thông thường được sử dụng để đánh dấu 1 trong 2 giá trị
yes/no(đúng /sai)
Option Group : là một ô dùng để nhóm các nút đánh dấu nói trên
Trang 7Giới thiệu các loại hộp,
Ô điều khiển (Control)
3/ Hiệu chỉnh ô :
Trong 1 mẩu biểu (form), ta có thể định dạng riêng rẽ từng ô Muốn hiệu chỉnh
ô nào thì Click mouse vào ô đó để chọn, khi được chọn sẽ xuất hiện 8 nút hình vuông (gọi là handle) bao quanh nó Giữ Shift để có thể chọn liên tục nhiều ô
Hiệu chỉnh độ rộng ô: Drag mouse trên handle của ô
Di chuyển ô : đưa mouse vào ô cho đến khi xuất hiện hình bàn tay, drag mouse
để di chuyển Các ô dạng Text box,, Combo box … thường có 1 ô nhãn đính kẻm theo nó; muốn di chuyển cả 2 ô: Click chọn và drag mouse khi thấy xuất hiện hình bàn tay
Qui định tính chất của Ô: right click vào ô để mở menu di động, chọn mục properties và chỉ định các tính chất cần thiết theo tứng đề mục
Thông thường khi tạo form bằng Design View, vị trí các ô sẽ không thẳng hàng,
để có thể gióng thẳng hàng : quét chọn các Ô ( bằng cách click mouse bên ngoài cây thước), hoặc giữ Shift và lần lượt click chọn từng Ô) vào Menu format chọn mục Align, chọn các mục LEFT, RIGHT, TOP, BOTTOM v.v… để gióng theo ý muốn
Trang 84/ Các tính chất của một Ô:
Thông thường các loại Ô đều có một số tính chất tương tự nhau; xem ví
dụ sau của một ô loại Text Box
Format : Chỉ định hình thức hiển thị dữ liệu Decimal Place : Số lượng chữ số thập phân Visible : Cho hiển thị hay ẩn dữ liệu
Display When : Sẽ hiển thị khi nào
?
Scroll Bar : Bặt tắt thanh cuộn Can Grow : tự động giãn chiều cao Can Shrink : Cho phép cắt bỏ những dòng
trống
?
Left : Toạ độ Ô tính từ lề trái Top : Toạ độ Ô tính từ đỉnh Width : Độ rộng của Ô Height : Độ cao của Ô Black Style : Nền của ô bình thường hay trong
Trang 9Locked : Cho phép hiệu chỉnh dữ liệu
?
Trang 104/ Các tính chất của một Ô: (tt)
Lớp EVENT : Phần này cho phép ta chỉ định, cài đặt một số ứng xử
khi có một sự kiện tương ứng xảy ra
Trang 11Status Bar Text: Chỉ định nối dung hiển
thị trên thanh trạng thái khi ta trỏ vào nó.
Enter Key Behavior: Khi gõ Enter sẽ nhảy
sang ô kế hay thêm 1 dòng mới.
Allow AutoCorrect : Tự động điều chỉnh
Ngoài ra còn có Lớp ALL : cho phép ta chỉ định thuộc tính chung
cho tất cả các lớp nói trên
Trang 12THIẾT KẾ FORM ( MẪU BIỂU)
3/ Các thành phần khác có trong biểu mẫu:
Ngoài thành phần chi tiết (Detail), mẫu biểu (Form) còn có các thành phần khác như:
FORMHEADER (tiêu đề đầu mẫu biểu):Thành phần này thường chứa những
thông tin được hiển thị 1 lần duy nhất ở đầu mẫu biểu (Form) , thường là tên của mẫu biểu, tiêu đề cột của các nội dung bên dưới ( tiêu đề trường (Field) , nhãn (Lable))
Trong thiết kế ta có thể chỉ định không cho in thành phần này ra giấy : đặt tính chất Display When= ScreenOnly
PAGEHEADER (tiêu đề đầu trang):Thành phần này chứa những thông tin mà
ta muốn nó lập lại ở đầu mỗi trang in
DETAIL SECTION: Phần này dùng để hiển thị những nội dung của các mẫu
tin trong bảng dữ liệu hay bảng vấn tin (TABLE/QUERY) Dữ liệu có bao nhiêu mẫu tin thì sẽ hiển thị bấy nhiêu lần (trong màn hình thiết kế chính là các Ô
có chứa tên trường (Field) trong đó và khi thực hiện sẽ hiện thị nội dung của trường (Field) đó)
Trang 13THIẾT KẾ FORM ( tt)
3/ Các thành phần khác có trong mẫu biểu (tt):
PAGEFOOTER (tiêu đề chân trang):Thành phần này chứa những thông
tin mà ta muốn nó lập lại ở cuối chân mỗi trang in (ví dụ như đánh số trang)
FORMFOOTER (tiêu đề cuối biểu mẫu (form) ):Thành phần này thường
chứa những thông tin được hiển thị 1 lần duy nhất ở cuối biểu mẫu (Form) , thường là những thông tin mang tính thống kê, hay nội dung kết luận cuối biểu mẫu
Để thêm những thành phần vừa kể trên vào biểu mẫu (form), trong màn hình thiết kế biểu mẫu (Form) vào menu View chọn:
View Page Header/Footer : cho tiêu đề đầu/chân trang.
View Form Header/Footer : cho tiêu đề đầu/chân biểu mẫu (Form).
Chú ý: trong lúc thiết kế ta có thể thay đổi chiều cao hay chiều rộng của
mổi thành phần bằng cách Drag mouse vào đường biên của nó Tuy nhiên sau khi thiết kế ta phải làm gọn lại tất cả, không nên để thừa các khoảng trống không cần thiết
Trang 14THIẾT KẾ FORM dạng Main/Sub
1/ Giới thiệu
Dưới đây là 2 hình ảnh của 1 form dạng Main/Sub được trình bày
dưới 2 dạng thiết kế và sau khi thực thi:
Trang 15Form khi thực thi
Phần SUBFORM
Trang 16THIẾT KẾ FORM dạng Main/Sub (tt)
Quan sát 2 hình trên ta nhận thấy form dạng này có 2 thành phần riêng biệt :
Phần biểu mẫu (Form) chính (MainForm) : đây là 1 biểu mẫu (form)
được thiết kế thông thường ở dạng Columnar, và bên trong nó còn chứa thêm 1 biểu mẫu (form) khác( được nhúng vào từ 1 form khác) Dữ liệu trong MainForm thường được lấy từ Table có mối quan hệ 1
Phần biểu mẫu phụ (SubForm): là phần sẽ được nhúng vào bên trong MainForm trong phần Detail, hình thức trình bày của SubForm thường
ở dạng DataSheet Dữ liệu trong SubForm thường được lấy từ Table có mối quan hệ nhiều hay từ một câu truy vấn nào đó
Tuy nhiên chúng ta cần chú ý trong 2 nguồn dữ liệu dùng cho MainForm, SubForm phải có ít nhất chung trường (Field) để chúng giữ mối quan hệ với nhau.
Trang 17THIẾT KẾ FORM dạng Main/Sub (tt)
Cách thực hiện:
Đễ tạo biểu mẫu (form) dạng này trước tiên ta tiến hành tạo 2 biễu mẩu riêng biệt
Phần biểu mẫu (Form) chính (MainForm) : Tạo 1 biểu mẫu (Main form)
ở dạng Columnar Dữ liệu trong MainForm thường được lấy từ Table có mối quan hệ 1
Phần biểu mẫu phụ (SubForm): Tạo 1 biểu mẫu (Sub form), hình thức
trình bày của SubForm thường ở dạng DataSheet Dữ liệu trong SubForm thường được lấy từ Table có mối quan hệ nhiều hay từ một câu truy vấn nào
đó và luôn bảo đãm rằng phải có 1 trường (fielname) có mối qua hệ với MainForm
Trang 18THIẾT KẾ FORM dạng Main/Sub (tt)
Sau khi thiết kết xong hai biểu mẫu (form) ta tiến hành nhúng chúng vào nhau như sau:
Cách 1 : Mở MainForm, click chọn công cụ SubForm/SubReport ,
sau đó click mouse vào vùng Detail của MainForm, cửa sổ SubForm Wizard
mở ra cho ta lựa chọn tên của SubForm có trong danh sách Hiệu chỉnh lại kích thước của SubForm để hiển thị đầy đủ thông tin
Cách 2: Cho hiển thị song song 2 của sổ MainForm và cửa sổ DataBase, dùng mouse drag SubForm từ cửa sổ DatBase thả vào bên trong vùng Detail của MainForm
Trang 19THIẾT KẾ FORM dạng Main/Sub (tt)
(tên trường bên MainForm) ( xem hình)
Trang 20THIẾT KẾ FORM dạng Main/Sub (tt)
Chú ý :
Nếu như trong quá trình thực thi chúng ta cảm nhận dữ liệu của 2 Form không ăn khớp với nhau, ta cần theo dõi lại vấn đề này theo 2
vấn đề sau:
1/ Kiểm tra lại dữ liệu nguồn cung cấp cho Sub form có chứa 1
fielname dùng để liên kết với Main form hay không?
2/.Right click ngay trên đường biên ( hay trên nút handle) của SubForm chọn mục Properties, hoặc Click chọn SubForm rồi vào menu View chọn mục Properties để vào cửa sổ thuộc tính của Sub Form Tại cửa sổ này chọn lớp Data để thiết lập lại kết nối (link) giữa
Main và SubForm thông qua hai khái niệm Link Child Fields (tên
trường bên SubForm) và Link Master Fields (tên trường bên
MainForm)
Tham chiếu dữ liệu
Trang 21THIẾT KẾ FORM dạng Main/Sub
2/ Tham chiếu dữ liệu
Trong thực tế ( hay xét ví dụ phần trên) ta nhận thấy giữa hai form có tham chiếu dữ liệu với nhau Xét ví dụ trên ta thấy Trong MainForm có nội dung thông báo tổng số sinh viên của 1 lớp, mà số liệu này phải được tính toán trong SubForm Muốn thực hiện điều này trong SubForm ta tạo thêm 1 Ô tính toán (thường tạo trong phần FormFooter) và dùng các hàm thống kê sẳn có của Access để tính toán dựa trên 1 trường nào đó (Ví dụ =Count(MSSV) ) Sau đó tiến hành đặt tên cho Ô này để để dàng tham chiếu về sau.
Trang 22THIẾT KẾ FORM dạng Main/Sub
2/ Tham chiếu dữ liệu (tt)
Trong MainForm ta cũng tạo 1 Ô công thức tương tự như trên nhưng
công thức bây giờ là một phép tham chiếu theo mẫu sau:
[Tên khung chứa biểu mẫu con].Form![tên của Ô công thức trong SubForm]
Chú ý: Thông thường tên khung chứa biểu mẩu con và tên biểu mẩu con Access thường đặt trùng nhau Nên khi tham chiếu chúng ta nên cẩn thận
điều này.
Trang 23THIẾT KẾ FORM dạng Main/Sub
2/ Tham chiếu dữ liệu (tt)
Tuy nhiên để có thể tham chiếu dể dàng hơn, ta có thể nhờ Access hỗ trợ theo cách sau: Right Click trên Unbound (ở Main form cần tham chiếu dữ liệu) chọn Properties Trong cửa
sổ này chọn lớp data Trên dòng Control source Click mouse vào nút … để mở tiếp ra cửa sổ
sau: (xem hình) va thực hiện những thao tác sau”
1
3
2
Tại vùng cửa sổ 1: Double Click
mouse vào tên form hiện hành để
mở ra form con (sub) có bên trong
nó, click chọn vào sub form này
Tiếp tục quan sát ở vùng cửa sổ thứ
2 ta sẽ thấy xuất hiện TÊN của ô
công thức mà ta đã đặt tên trong lúc
thiết kế sub form Double Click vào
tên này, toàn bộ công thức tham
chiếu sẽ đuợc hoàn thiện và đưa lên
vùng cửa sổ thứ 3 Click ok để hoàn
tất.
Lúc này ta sẽ thấy unbound của
chúng ta sẽ chứa đầy đủ tên công
thức mà ta cần tham chiếu
Trang 25Ta nhận thấy hai biểu mẫu SubHoaDon và SubPhieuThu cùng 1 cấp
và là con của biểu mẫu chính, như vậy thông tin liên kết từ hai form con(Sub Form) đến form chính (Main form) là
Link Child Field (SubHoaDon): MaKH
Link Mates Fields (Main): MaKH
Form có hai
Form con cùng
cấp:
Trang 26FORM MỞ RỘNG (tt)
Dạng 2
Trang 27Ở dạng thứ hai này, ta nhận thấy hai biểu mẫu Sub_Biênnhận là con của biểu mẫu chính Còn Sub_SanPham thì lại là con của
Form có hai Form
con khác cấp:
Trang 28Như vậy ta thấy Sub_BienNhan sẽ là biểu mẫu con thật sự của biểu mẫu chính thông qua liên kết
Link Child Field (SubHoaDon): MaNV
Link Mates Fields (Main): MaNV
do thiết kế kiểu này mối liên kết không còn liên hệ trực tiếp bằng tên trường (FielName) tương tự như trên mà phải thông qua tên gọi của ô chứa tên trường liên kết.
Ta có cách làm như sau:
Tạo 1 ô Unbound, dùng ô này liên kết với biểu mẫu con thứ nhất
Sub_bienNhan (ví dụ có tên là: BIENNHAN) theo cú pháp sau:
[Tên Form].[Form]![Tên Ô chứa Trường liên kết]
Trang 29Theo ví dụ trên ta sẽ có đuợc công thức tham chiếu như sau
Sau đó tiến hành đặt tên cho ô chức công thức tham chiếu này (Ví dụ là
trung_gian), cài đặt thuộc tính Visible cho nó là NO ( để không hiển thị ở
màn hình kết quả)
Bây giờ mối liên kết giữa Sub_SanPham với Sub_BienNhan sẽ thông
qua bởi ô Trung_Gian này
Link Mates Fields : Trung_gian ( tên của Ô làm chức năng trung gian kết nối)
Trang 30CÁC VẤN ĐỀ KHÁC
A.Cách sử dụng thanh công cụ:
Tùy vào nhu cầu thiết kế ta sẽ click chọn từng công cụ thích
hợp, sau đó drag mouse để vẽ các Ô vào trong màn hình thiết
kế.
Chú ý: Đối với Ô dạng text box khi được tạo ra nó luôn luôn
có 1 Ô nhãn kèm theo phía bên trái (với tên mặc nhiên text
1, text 2 v.v ) , ta có thể thay đổi nội dung của nó bằng cách
click mouse vào ô đó.
Ta cần phải phân biệt nội dung của nhãn và tên của Ô, cũng như tên của Ô với lại tên nguồn dữ liệu cung cấp cho Ô ( Access hay
tự động lấy tên trùng).
Trang 31CÁC VẤN ĐỀ KHÁC (tt)
B Chuyển đổi giữa dạng Bound và Unbound:
Hai dạng này khác nhau ở chổ là Unbound thì không có tính chất Control Source Do đó muốn chuyễn đổi giữ hai dạng này thì ta xoá
bỏ tên trường (Field) trong Ô hay thêm vào tên trường (Field) vào
tính chất Control source ( hoặc gõ trực tiếp vào trong ô)
C Tạo Ô dạng chức công thức tính toán( Calculate Control)
Để tạo Ô dạng này ta dùng công cụ TextBox, sau đó gõ trực tiếp công thức tính toán vào trong Ô Công thức phải được bắt đầu bởi
dấu bằng và sau đó là các dữ liệu và phép toán hợp lý
D Chuyễn từ Bound sang dạng khác
Để chuyễn sang dạng khác, Right click ngay trên ô đó chọn Change
to rồi lựa chọn dạng thích hợp: List box, Value list, Combo Box…
Trang 32CÁC VẤN ĐỀ KHÁC (tt)
ComboBox và List Box
Trong nhiều trường (Field) hợp, giá trị của một Ô được giới hạn trong một
danh sách có sẳn, ta nên thiết lập sẳn danh sách này để việc nhập liệu
được dể dàng và chính xác hơn Access hỗ trợ cho ta 2 công cụ đó là
ComboBox và ListBox
1 LISTBOX : là một danh sách mà ta có thể chọn một trong những giá trị
đã có
2 COMBOBOX : là sự kết hợp giữa list box và textbox Nó cho phép chọn
một giá trị có trong danh sách và cũng cho nhập một giá trị mới vào
• Danh sách dữ liệu được nêu trong ListBox và ComBoBox có thể có nhiều cột nên ta cần thiết phải chỉ định cột nào là cột cung cấp dữ liệu
• Dữ liệu cho ComboBox và ListBox có thể được lấy từ nhiều nguồn khác nhau
• Dữ liệu lấy từ bảng (table) hay từ câu truy vấn (Query)
• Dữ liệu do ta nhập vào thành 1 danh sách (Value List)