P. 1
Giao Trinh Dao Tao Access 2003

Giao Trinh Dao Tao Access 2003

|Views: 11,433|Likes:
Được xuất bản bởiVũ Minh Sơn

More info:

Published by: Vũ Minh Sơn on May 21, 2011
Bản quyền:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

07/12/2013

pdf

text

original

Sections

I. Tổng quan

1- Giới thiệu

▬ Có hai dạng Form chính:
Form có nguồn: Các Form cập nhật dữ liệu
Form giao diện: Các Form đóng vai trò là đối tượng trung gian để giao tiếp

dữ liệu.

▬ Chế độ thiết kế: Menu View Design View
▬ Chế độ hiển thị dữ liệu: Menu View Form View
▬ Khi thiết kế Form cần chú ý đến việc thay đổi các thuộc tính cho Form cũng như
cho các điều khiển xuất hiện trên Form.

2- Các bước thiết kế Form

▬ Bước 1: Cửa sổ “Database” Thẻ Form New
▬ Bước 2: Chọn Design View OK
▬ Bước 3: Sử dụng thanh công cụ Toolboxs để thiết kế các điều khiển trên Form.
Chú ý việc thay đổi các thuộc tính cho từng điều khiển.

▬ Bước 4: Kiểm tra Form: Menu View Form View
▬ Bước 5: Lưu

3- Cửa sổ Design

▬ Form Header/Footer : Các điều khiển thiết kế trong vùng này sẽ xuất hiện một lần
ở đầu hoặc cuối của
Form. Thường dùng để
tạo các nhãn cho Form.
(Lệnh : Menu View
Form Header/Footer)

▬ Page

Header/Footer:

Các điều khiển thiết kế
trong vùng này sẽ xuất
hiện một lần ở đầu hoặc
cuối trang in. (Lệnh:
Menu View Page
Header/Footer)

▬ Detail: Chứa các điều
khiển chính của Form.

Nhấp kép vào đây để mở bảng
thuộc tính của Form

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 44

4- Một số thuộc tính của Form

▬ Mở bảng thuộc tính của Form
▬ Thẻ Form:

Caption: Tiêu đề của Form khi chuyển sang Form View. (nhập|để trống)
Scrollbars: Các thanh trượt ngang dọc. (neither|horizontal|vertical|both)
RecordSelectors: Ký hiệu xác định Record hiện hành. (yes|no)
NavigationButtons: Thanh chuyển dịch Record. (yes|no)
DividingLines: Đường gạch phân cách giữa các vùng trong Form. (yes|no)
Picture: Khai báo File hình làm hình nền cho Form.
AutoResize: Tự động điều chỉnh kích thước khi mở Form. (yes|no)
AutoCenter: Tự động canh Form giữa màn hình khi mở Form. (yes}no)

▬ Thẻ Data:

RecordSource: Chọn hoặc khai báo nguồn cho
Form. (có thể chọn Table|Query có sẵn hoặc
khai báo bằng câu lệnh SQL)

5- Tổng quan về các điều khiển trên Form

▬ Dù là loại Form có nguồn hay không thì trên Form đều phải chứa các điều khiển.
Các điều khiển này được tạo bằng các công cụ trên thanh công cụ: Menu View
Toolbox).

▬ Các điều khiển trên thanh công cụ có thể tạo ra bằng hai cách:
Sử dụng Wizard: nhấp mouse bật sáng công cụ 2 (Control Wizard).
Thiết kế bằng tay: nhấp mouse tắt công cụ 2 (Control Wizard).
▬ Mặt khác, khi thiết kế các điều khiển ta thường thay đổi các thuộc tính của chúng.
Để mở hộp thuộc tính của điều khiển, ta nhấp phải vào biên của điều khiển và
chọn Properties.

Caption

RecordSelec

DividingLine
s

NavigationButtons

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 45

▬ Nhấp mouse vào biên của một điều khiển thì sẽ xuất hiện 8 nút bao quanh. Khi đó

ta có thể:

Xóa: Bấm phím Delete.
Di chuyển: Kéo mouse (biểu tượng mouse có hình bàn tay).
Sao chép: Ctrl C ; Ctrl V
Thay đổi kích thước: Kéo mouse trên các nút.
Thay đổi phông, kích cơ chữ, màu sắc chữ, màu nền, … : Sử dụng các công
cụ trên thanh công cụ Formatting.

II. Thiết kế Form

1- Textbox

1.1- Tổng quan

▬ Textbox là một điều khiển có hai thành phần: thành phần nhãn (Label) và thành
phần nội dung (Textbox). Khi thiết kế nên tập trung vào thành phần Textbox, còn
thành phần nhãn ta có xóa bỏ nếu không cần thiết.

▬ Có 3 dạng Textbox trên Form:
Dạng 1: Dùng để hiển thị dữ liệu trên Table|Query (Có nguồn).
Dạng 2: Dùng để tính toán.
Dạng 3: Dùng để nhập dữ liệu trao đổi từ bàn phím.

1.2- Các thuộc tính thường dùng

▬ Name: Tên của Textbox, được dùng để trao đổi dữ liệu trong các câu lệnh (nên
đặt bắt đầu bằng 3 ký tự là txt…).
▬ Control Source: Tên Field làm nguồn hoặc công thức tạo ra giá trị trong Textbox.
▬ Format: Các định dạng cho dữ liệu trong Textbox.
▬ Default Value: Giá trị mặc nhiên khi mở Form.
▬ Visible: Xuất hiện hoặc không ở chế độ Form View (yes|no).
▬ Enabled: Hiện sáng hoặc mờ ở chế độ Form View (yes|no).
▬ Width: Chiều rộng của Textbox (inches).
▬ Height: Chiều cao của Textbox (inches).
▬ Back Color: Màu nền của Textbox.
▬ Fore Color: Màu chữ của Textbox.

Thành phần Label

Thành phần Textbox

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 46

1.3- Thiết kế Textbox

▬ Thiết kế Textbox dạng 1: (Form phải được khai báo nguồn) Có 2 cách:
Chọn công cụ Nhấp mouse vào vùng Form Mở hộp Properties Khai
báo thuộc tính Control Source (bắt buộc) và các thuộc tính khác (nếu cần)
Chỉnh sửa phù hợp trên Form.

Vào Menu View Field List Kéo Field trên danh sách đặt vào vùng Form
Khai báo thêm các thuộc tính khác (nếu cần) Chỉnh sửa.
▬ Thiết kế Textbox dạng 2: Nhập trực tiếp công thức bắt đầu bằng dấu bằng (=)
vào Textbox trên Form hoặc nhập vào thuộc tính Control Source.

▬ Thiết kế Textbox dạng 3: Tạo Textbox trên Form (Unbound) Khai báo thuộc
tính Name (nên khai báo) và các thuộc tính khác.

Ví dụ 1: Mẫu Form có nguồn là Table Khachhang được thiết kế với các Textbox có
khai báo nguồn.

Ví dụ 2: Mẫu Form không nguồn với các Textbox dạng Unbound.

2- Bound Object Frame

2.1- Tổng quan

▬ Loại điều khiển cho phép chứa dữ liệu dạng hình ảnh trong các Field kiểu OLE
Object. Đây là loại điều khiển luôn có nguồn.
▬ Có 2 thành phần: thành phần nhãn (Label) và thành phần nội dung (Frame).

Thành phần Label

Thành phần Frame

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 47

2.2- Các thuộc tính thường dùng

▬ Name: Tên của Frame.
▬ Control Source:Tên Field làm nguồn trong Frame (nên bắt đầu bằng 3 ký tự ole…)
▬ Size Mode: Các chế độ hiển thị hình ảnh trong Frame (Clip, Zoom, Stretch).
▬ Visible: Xuất hiện hoặc không ở chế độ Form View (yes|no).
▬ Enabled: Hiện sáng hoặc mờ ở chế độ Form View (yes|no).
▬ Width: Chiều rộng của Frame (inches).
▬ Height: Chiều cao của Frame (inches).
▬ Back Color: Màu nền của Frame.

2.3- Thiết kế Bound Object Frame

▬ Giống Textbox: Có thể sử dụng Field List hoặc thiết kế bằng cách khai báo thuộc
tính Control Source.

Ví dụ: Mẫu Form có nguồn là Table Nhanvien chứa điều khiển Bound Object Frame.

3- Label:

▬ Đây là điều khiển dạng nhãn, được dùng để tạo các dòng mô tả trên Form. Cần
chú ý các thuộc tính sau: Visible, Enabled, Back Color, Fore Color, Caption, Width,
Height, …

4- Option Group, Option Button, Checkbox, Toggle Button

4.1- Tổng quan

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 48

▬ Đây là tập hợp 4 điều khiển tạo nên các nhóm tùy chọn trên Form. Trong đó,
Option Group là điều khiển khung nhóm tùy chọn có chức năng quản lý các tùy
chọn trong nhóm. Còn 3 điều khiển còn lại là các hình thức tùy chọn trong nhóm.

▬ Có 2 dạng tùy chọn:

Dạng 1: Chỉ được chọn 1 trong số các tùy chọn trong nhóm.
Dạng 2: Có thể chọn hoặc không chọn hoặc chọn nhiều tùy chọn trong
nhóm. Trên thực tế, đây là dạng nhóm tùy chọn mà trong đó các tùy chọn
được thiết kế rời sau đó bao chúng lại bằng điều khiển Option Group.
▬ Nhóm tùy chọn có thể được sử dụng cho các Field kiểu Yes/No với 2 tùy chọn ứng
với 2 trường hợp của Field (trường hợp Form có nguồn). Hoặc có thể thiết kế chọn
lựa các giá trị để xử lý trên các Form giao diện (trường hợp Form không nguồn).

Chú ý: Các điều khiển Option Button và Checkbox gồm 2 thành phần : thành phần
tùy chọn (bên trái) và thành phần nhãn (bên phải). Còn điều khiển Toggle Button thì
nhãn chính là nội dung ghi trên nút.

4.2- Các thuộc tính thường dùng

a. Option Group

▬ Name: Tên của khung nhóm tùy chọn dùng để quản lý các tùy chọn trong nhóm
(nên đặt bắt đầu bằng 3 ký tự fra…)
▬ Control Source: Tên Field làm nguồn cho Option Group.
▬ Default Value: Giá trị của tùy chọn được chọn mặc nhiên khi mở Form (giá trị số).
▬ Visible: Xuất hiện hoặc không ở chế độ Form View (yes|no).
▬ Enabled: Hiện sáng hoặc mờ ở chế độ Form View (yes|no).

b. Các tùy chọn: Option Button, Checkbox, Toggle Button

▬ Nếu được thiết kế theo dạng 1:
Option Value: Thuộc tính có giá trị số phân biệt với các tùy chọn khác trong
nhóm dùng để Option Group quản lý.
▬ Nếu được thiết kế theo dạng 2: (mỗi tùy chọn là độc lập, nghĩa là không do
Option Group quản lý)

Name: Tên của tùy chọn (nên đặt theo mẫu: opt… ; tog… ; chk…).
Control Source: Tên Field kiểu Yes/No làm nguồn cho tùy chọn.
Default Value: Trạng thái mặc nhiên khi mở Form (true|false).
Visible: Xuất hiện hoặc không ở chế độ Form View (yes|no).
Enabled: Hiện sáng hoặc mờ ở chế độ Form View (yes|no).

Thành phần Label

Option Button

Checkbox

Toggle Button

Thành phần Option Group

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 49

4.3- Thiết kế Option Group

a. Sử dụng Wizard để tạo nhóm tùy chọn dạng 1

▬ Bước 1: Bật công cụ Control Wizard Chọn công cụ Option Group và nhấp vào
vùng Form Xuất hiện hộp thoại 1.

▬ Bước 2: Nhập các nhãn cho các tùy chọn
trong nhóm Next Xuất hiện hộp
thoại 2.

▬ Bước 3: Chọn tùy chọn mặc nhiên
khi mở Form Next Xuất hiện
hộp thoại 3.

▬ Bước 4: Thay đổi các giá trị cho các tùy
chọn trong cột Values (nếu cần)
Next Xuất hiện hộp thoại 4.

▬ Bước 5: Chọn loại tùy chọn và kiểu
của khung nhóm Next Xuất
hiện hộp thoại 5.

▬ Bước 6: Đặt nhãn cho khung Finish.

Chú ý: Sau khi tạo xong nên khai báo thêm thuộc tính Name cho khung nhóm.

b. Không sử dụng Wizard

▬ Sử dụng cách này để thiết kế nhóm tùy chọn dạng 2. Các bước như sau:
Bước 1: Tạo các tùy chọn trước. Khi báo các thuộc tính cho mỗi tùy chọn,
nên khai báo thuộc tính Name và Default Value.

Bước 2: Tạo khung bao quanh các tùy chọn.

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 50

Ví dụ 1: Mẫu Form có nguồn là Table Nhanvien chứa nhóm tùy chọn cho Field Phai.

Ví dụ 2: Mẫu Form giao diện với các nhóm tùy chọn.

5- Command Button

5.1- Tổng quan

▬ Loại điều khiển dùng để thực hiện một lệnh trên Form (gọi là nút lệnh) thông qua
các sự kiện thông dụng như nhấp mouse, nhấp kép mouse, …

▬ Các lệnh được gán cho mỗi nút lệnh có thể là các
Macro hay các mã lệnh VBA (code) tự tạo hoặc
thông qua trình trợ giúp.

5.2- Các thuộc tính thường dùng

▬ Name: Tên của nút lệnh dùng trong các câu lệnh.
▬ Caption: Nhãn của nút lệnh.
▬ Picture: Hình ảnh thay thế cho nhãn.
▬ Visible: Xuất hiện hoặc không ở chế độ Form View.
▬ Enabled: Hiện sáng hoặc mờ ở chế độ Form View.

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 51

5.3- Thiết kế nút lệnh bằng Wizard

▬ Bước 1: Bật công cụ Control Wizard.
▬ Bước 2: Chọn công cụ và nhấp tại vùng Form Xuất hiện hộp thoại 1.
▬ Bước 3: Chọn hành động cho nút lệnh
Next Xuất hiện hộp thoại 2.
(Tham khảo danh mục các hành động trong
danh sách ngay bên dưới)

▬ Bước 4: Chọn nhãn cho nút lệnh
(Text hoặc Picture) Next Xuất
hiện hộp thoại 3.

▬ Bước 5: Đặt tên cho nút lệnh Finish.

Danh mục các hành động cho nút lệnh

Categories

Actions

Record Navigation

Loại hành động cho phép nhảy con trỏ tới
một Record nào đó.

Find Record : Tìm kiếm Record
Find Next : Tìm tiếp
Goto First Record : Nhảy tới Record đầu tiên
Goto Last Record : Nhảy tới Record cuối cùng
Goto Next Record : Nhảy tới Record kế tiếp
Goto Previous Record : Nhảy tới Record ngay trước

Record Operations

Loại hành động xử lý mẫu tin.

Add New Record : Thêm một Record mới
Delete Record : Xóa Record hiện hành
Save Record : Lưu Record hiện hành
Undo Record : Phục hồi trạng thái cũ cho Record

Form Operations

Loại hành động xử lý Form.

Apply Form Filter : Thực hiện lọc các Record

Close Form : Đóng Form hiện hành
Open Form : Mở một Form khác

Report Operations

Loại hành động xử lý báo cáo.

Preview Report : In báo cáo ra màn hình
Print Report : In báo cáo ra máy in

Application

Các hành động liên quan đến ứng dụng.

Quit Application : Thoát khỏi ứng dụng
Run Application : Thi hành một ứng dụng khác

Miscellaneous

Các hành động khác.

Print Table : In một Table
Run Macro : Thi hành một Macro
Run Query : Thi hành một Query

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 52

6- Combobox và Listbox

6.1- Tổng quan

▬ Loại điều khiển chứa danh sách chọn lựa. Có hai loại danh sách chọn lựa:
Combobox: Loại này không chiếm diện tích trên Form nhưng phải nhấp
mouse để nhìn thấy danh sách.
Listbox: Loại này chiếm diện tích trên Form nhưng danh sách chọn lựa trực

quan hơn.
▬ Có thể tạo điều khiển này bằng Wizard hoặc bằng thủ công.

6.2- Các thuộc tính thường dùng

▬ Name: Tên của điều khiển dùng trong thao tác lệnh (nên đặt bắt đầu bằng 3 ký
tự: cob… và lst…)

▬ Control Source: Tên Field làm nguồn cho điều khiển.
▬ Row Source Type: Loại danh sách chứa trong điều khiển.
Table|Query: Danh sách chọn lựa được lấy từ 1 Table|Query.
Value List: Danh sách chọn lựa được nhập trực tiếp.
▬ Row Source: Khai báo danh sách theo loại.
Nếu Row Source Type là Table|Query thì bấm vào nút ba chấm để khai báo
danh sách từ cửa sổ Design Query.

Nếu Row Source Type là Value List thì nhập danh sách ngăn cách bằng dấu
chấm phẩy.

▬ Column Count: Số cột danh sách trong điều khiển.
▬ Bound Column: Thứ tự cột chứa giá trị chọn lựa.
▬ Column Widths: Độ rộng các cột theo thứ tự ngăn cách bằng dấu chấm phẩy.
▬ Limit to List: Không được phép hoặc được phép nhập giá trị khác ngoài danh sách
chọn lựa (yes|no).

▬ Visible: Xuất hiện hoặc không ở chế độ Form View.
▬ Enabled: Hiện sáng hoặc mờ ở chế độ Form View.

6.3- Thiết kế Combobox và Listbox

a. Combobox chứa danh sách là dữ liệu trong các Field của Table|Query

▬ Bước 1: Bật công cụ Control Wizard.
▬ Bước 2: Chọn công cụ và nhấp vào vùng Form Xuất hiện hộp thoại 1

Combobox

Listbox

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 53

▬ Bước 3: Chọn “I want the combo box
to look up …” Next Xuất hiện hộp
thoại 2.

▬ Bước 4: Chọn Table|Query có Field
chứa danh sách Next Xuất
hiện hộp thoại 3.

▬ Bước 5: Chọn Field chứa danh sách
Next Xuất hiện hộp thoại 4.

▬ Bước 6: Chọn Field sắp xếp (nếu
cần) Next Xuất hiện hộp thoại 5.

▬ Bước 7: Đánh dấu check hoặc không tùy
chọn “Hide key column” để ẩn hoặc hiện
cột có Field là khóa của Table Next
Xuất hiện hộp thoại 6.

▬ Bước 8: Chọn Field chứa danh sách
hiển thị trong điều khiển khi chọn
Next Xuất hiện hộp thoại 7.

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 54

▬ Bước 9: Đặt nhãn cho điều khiển
Finish.

Lưu ý: Nên khai báo thuộc tính Name cho điều khiển sau khi đã tạo xong.

b. Combobox chứa danh sách là dữ liệu tự nhập

▬ Bước 1: Bật công cụ Control Wizard.
▬ Bước 2: Chọn công cụ và nhấp vào vùng Form Xuất hiện hộp thoại 1
▬ Bước 3: Chọn “I will type in the
values …” Next Xuất hiện hộp
thoại 2.

▬ Bước 4: Khai báo số cột và nhập dữ
liệu cho các cột Next Xuất hiện
hộp thoại 3.

▬ Bước 5: Tạo nhãn cho điều khiển
Finish.

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 55

Ví dụ: Mẫu Form với các điều khiển Combobox và Listbox

6.4- Truyền dữ liệu từ các cột của Combobox hoặc Listbox sang Texbox

▬ Để Texbox nhận dữ liệu từ một cột chỉ định của Combobox hoặc Listbox ta áp
dụng công thức tại Textbox:

=.Column(n)

Trong đó: n là số thứ tự cột và được bắt đầu từ 0.
Ví dụ: Trong mẫu trên: Listbox có thuộc tính Name là lstchonnhanvien và Textbox
lấy giá trị từ cột thứ 2 của Listbox, nêm công thức nhập là:

=lstchonnhanvien.column(1)

III. Thiết kế Main-Sub Form:

1- Giới thiệu

▬ Main-Sub Form thường được dùng để hiển thị các thông tin chi tiết về một đối
tượng cụ thể nào đó theo nhu cầu. Ví dụ : Xem thông tin hóa đơn về một khách
hàng bất kỳ ; Xem thông tin hóa đơn về một nhân viên bất kỳ ; Xem thông tin chi
tiết về một hóa đơn bất kỳ ; …

▬ Trên một Mainform ta có thể có nhiều Subform để hiển thị nội dung của nhiều
Table|Query có mối quan hệ “một - nhiều”. Trong đó, Subform chỉ hiển thị các
Record có liên quan đến Record trên Mainform.

▬ Ta có thể dùng Main-Sub Form để nhập liệu vào nhiều Table đồng thời có quan hệ
“một - nhiều” với nhau.

Ví dụ: Mẫu Main-Sub Form để xem thông tin hóa đơn theo khách hàng bất kỳ

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 56

2- Thiết kế Main-Sub Form

2.1- Các bước tổng quát để thiết kế Main-Sub Form

▬ Bước 1: Thiết kế một Form làm Subform. Lưu ý: nguồn của Subform phải chứa
Field có quan hệ bên “nhiều” với điều khiển chọn lựa trên Mainform (Có thể sử
dụng Autoform để tạo).

▬ Bước 2: Thiết kế Mainform với các điều khiển chọn lựa. Lưu ý: phải khai báo thuộc
tính Name cho các điều khiển.
▬ Bước 3: Mở Mainform ở chế độ Design Sử dụng công cụ SubForm|SubReport
tạo một khung trên Mainform để chứa Subform Mở bảng thuộc tính của khung
Subform và khai báo các thuộc tính sau đây:
Name: Tên của khung.
Source Object: Tên Form dùng là Subform.
Link Child Field: Tên Field quan hệ trong Subform.
Link Master Field: Tên điều khiển chọn lựa trên Mainform.
Chú ý: Nếu có nhiều mối quan hệ chọn lựa trên Mainform thì trong hai thuộc tính:
Link Child Field và Link Master Field ta nhập các cặp quan quan hệ năng cách bằng
dấu chấm phẩy.

Ví dụ: Mẫu Form với hai điều khiển chọn lựa trên Mainform (mã nhân viên và quý).

Chọn khách hàng
tại đây

Xem thông tin hóa đơn trong Subform

Chọn mã nhân viên

Chọn quý

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 57

2.2- Tổng hợp trong Subform và hiển thị trên Mainform

▬ Có thể tổng hợp dữ liệu trên Subform bằng các phương thức: Sum, Count, Avg, …
sau đó truyền dữ liệu này ra Mainform bằng các bước sau:
Bước 1: Mở Subform ở chế độ Design.
Bước 2: Hiển thị vùng Form Footer và thiết kế các Texbox tại vùng này với
các công thức như : Sum(…), Count(…), Avg(…), …

Bước 3: Khai báo thuộc tính Name cho các Textbox trên.
Bước 4: Lưu và đóng Subform.
Bước 5: Mở Mainform ở chế độ Design.
Bước 6: Thiết kế các Textbox để nhận dữ liệu tổng hợp trong Subform.
Bước 7: Nhập công thức truyền dữ liệu từ Subform ra Mainform theo mẫu:

=.Form!

3.3- Truyền dữ liệu

▬ Tổng quát khi truyền dữ liệu từ Form quá các đối tượng khác như Report, Form
hoặc Query ta có những cách sau đây:

Truyền từ Mainform:

Forms!!

Truyền từ Subform:

Forms!!.Form!

Chú ý:

Có thể truyền dữ liệu vào một Textbox chứa trên Form hoặc Report.
Có thể truyền dữ liệu vào các ô Criteria của Query để làm điều kiện.

***************************************************************

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 58

BÀI 07:

THIẾT KẾ REPORT TRONG MICROSOFT ACCESS

I. Tổng quan

▬ Report Wizard hỗ trợ người sử dụng tạo nhanh các Report theo các kiểu chuẩn.
Nhưng đôi khi, ta muốn thay đổi nội dung báo cáo hoặc chỉnh sửa theo nhu cầu
riêng thì Report Wizard lại không thực hiện được.

▬ Nghiên cứu cách thiết kế Report cho phép ta tạo ra các Report theo đúng ý thích
và thẩm mỹ của cá nhân. Vì vậy ta cần phải nắm được các nguyên tắc để thiết kế
sao cho khi in ấn sẽ đạt được kết quả theo mong muốn.

▬ Các điều khiển sử dụng để thiết kế Report thông dụng nhất là Textbox và Label.
▬ Cần chú ý là để thiết kế được Report thì máy tính phải có khai báo một máy in.
▬ Có hai chế độ:

Chế độ thiết kế: Menu View Design View
Chế độ xem: Menu View Print Preview

II. Chuẩn bị

1- Chuẩn bị trang giấy

▬ Menu File Page Setup Xuất hiện hộp thoại Page Setup.
Thẻ Margin: Canh lề giấy (left, right, top, bottom).
Thẻ Page: Chọn khổ giấy (size), hướng giấy (orientation)
Thẻ Column: Chọn số cột trên trang giấy (number of column)

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 59

2- Giới thiệu cửa sổ thiết kế

▬ Report Header|Footer: Nội dung trong các vùng này xuất hiện một lần duy nhất ở
đầu và cuối Report. Thường dùng để tạo các tiêu đề cho Report, logo công ty
hoặc tạo các thống kê cho toàn bộ Report.

▬ Page Header|Footer: Nội dung trong các vùng này xuất hiện ở đầu và cuối mỗi
trang Report. Thường dùng để tạo các tiêu đề cột, đánh số trang.
▬ Detail: Chứa nội dung của các
cột dữ liệu.

Chú ý: Tùy theo nhu cầu thiết kế
mà ta có thể thêm hoặc bớt các
vùng Header|Footer. Lệnh: Menu
View Report Header|Footer
(Page Header|Footer).

3- Một số thuộc tính thường dùng của Report

▬ Caption: Tiêu đề của Report (nằm trên thanh tiêu đề).
▬ Auto Resize: Tự động điều chỉnh kích thước vừa khít với nội dung thiết kế khi xem
ở chế độ Print Preview.
▬ Auto Center: Tự động canh giữa màn hình Report khi xem ở chế độ Print Preview.
▬ Record Source: Nguồn của Report.

III. Thiết kế Report

1- Các bước tổng quát

▬ Bước 1: Tạo nguồn cho Report (Có thể tạo nguồn cho Report bằng cách khai báo
nguồn thông qua thuộc tính Record Source).

▬ Bước 2: Cửa sổ “Database” Thẻ Report New Xuất hiện cửa sổ New Report.
▬ Bước 3: Chọn Design View và chọn nguồn cho Report (nếu đã có nguồn) trong
mục “Choose the table or query …” OK Xuất hiện cửa sổ thiết kế Report.

▬ Bước 4: Sử dụng thanh công cụ để thiết kế Report (có thể chọn menu View
Field List để mở bảng nguồn của Report và kéo thả khi thiết kế).
▬ Bước 5: Kiểm tra kết quả: menu View Print Preview
▬ Bước 6: Lưu

2- Tạo nguồn cho Report bằng thuộc tính Record Source

▬ Mở bảng thuộc tính của Report
▬ Click nút ba chấm của thuộc tính Record Source Xuất hiện của sổ Design Query
▬ Tạo Query nguồn

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 60

▬ Thực hiện một trong hai:
Nếu muốn Query nguồn tồn tại trong cửa sổ Database thì chọn lệnh Save để
lưu Đóng cửa sổ Design Query Chọn Yes
Nếu không muốn Query nguồn tồn tại trong của sổ Database Đóng cửa sổ
Design Query Chọn Yes (Lưu ý : trong trường hợp này tại thuộc tính
Record Source xuất hiện một chuỗi lệnh được gọi là chuỗi lệnh SQL)

3- Các thuộc tính bổ sung cho Textbox

▬ Hide Duplicates: Ẩn hoặc không ẩn các giá trị trùng trong Field nguồn của Textbox

(yes|no).

▬ Running Sum: Tạo dãy số thứ tự cho các Record trong nhóm hoặc cả Report (No,
OverGroup, OverAll)

▬ Can Grow: Cho phép hoặc không nội dung trong Textbox tự động xuống hàng khi
kích thước của chiều ngang không đủ lớn.

4- Sắp xếp và lập nhóm cho dữ liệu

▬ Đây là một trong những chức năng quan trọng trong Report nhằm tạo cho dữ liệu
trong Report có cái nhìn khách quan và chính xác hơn. Đồng thời cho phép xuất
hiện các vùng thống kê dữ liệu theo từng nhóm sao cho phù hợp tối đa tới nhiều
nhu cầu của người dùng.

▬ Khi thiết kế Report người thiết kế phải quan sát mẫu hoặc phải hình dung Field có
dữ liệu lập nhóm (thường là Field bên “một”). Sau khi khai báo Field lập nhóm thì
trong cửa sổ sẽ xuất hiện thêm các vùng Group Header hoặc Group Footer tùy
theo khai báo.

▬ Để tạo Field sắp xếp và lập nhóm ta làm theo các bước sau:
Bước 1: Menu View Sorting and
Grouping Xuất hiện cửa sổ “Sorting
and Grouping”.

Bước 2: Chọn Field sắp xếp và lập nhóm
trong cột Field/Expression (Có thể chọn
nhiều hàng ứng với nhiều Field để tạo
nhiều cấp sắp xếp và lập nhóm).

Bước 3: Xác lập cách sắp xếp trong cột
Sort Order.

Bước 4: (Chỉ thực hiện khi có lập nhóm) Khai báo Group Header và Group
Footer để cho xuất hiện hoặc không các vùng tương ứng trên Report. Trong
đó :

Group Header: Thường dùng để chứa Field nhóm và các nhãn cho
dữ liệu trong nhóm.

Group Footer: Thường dùng để tạo các Textbox chứa các giá trị
thống kê dữ liệu cho nhóm.
Bước 5: Ba thuộc tính còn lại: Group On, Group Interval và Keep Together có
liên quan đến nội dung của dữ liệu lập nhóm (tham khảo ở phần dưới).

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 61

5- Các chức năng khác

5.1- Chèn hình trang trí cho Report

▬ Bước 1: Sử dụng công cụ Image.
▬ Bước 2: Kéo mouse trên vùng thiết kế
để định vị trí và kích thước của hình
ảnh. Thả mouse xuất hiện hộp thoại
như bên cạnh
▬ Bước 3: Chọn hình ảnh trang trí
OK Thay đổi thuộc tính cho điều
khiển Image (Chủ yếu là chọn Stretch
cho thuộc tính Size Mode)

5.2- Đánh số trang

▬ Bước 1: Menu Insert Page Numbers Xuất
hiện hộp thoại Page Number.

▬ Bước 2: Khai báo:
Page N: Chỉ xuất hiện số trang hiện hành.
Page N of M: Xuất hiện số trang hiện hành
trên tổng số trang.
Top of Page [Header]: Số trang xuất hiện trên vùng Page Header.
Bottom of Page [Footer]: Số trang xuất hiện trên vùng Page Footer.
Alignment: Chọn vị trí canh lề cho số trang (left, center, right).
Số trang sẽ xuất hiện trong cửa sổ thiết kế dưới dạng một Textbox lập công thức.
Ví dụ như : =Page & “/” & Pages

5.3- Lập nhóm theo nội dung dữ liệu

▬ Việc chỉ định phạm vi dữ liệu để lập nhóm có liên quan đế hai thuộc tính Group
On và Group Interval trong hộp thoại “Sorting and Grouping”. Hãy quan sát bảng
sau:

Field có dữ liệu kiểu Text
Group on

Group interval

Ý nghĩa

Each value

1

Nhóm các Record có giá trị bằng nhau.

Prefix character n

Nhóm các Record có n ký tự bên trái bằng nhau.

Field có dữ liệu kiểu Date/Time
Group on

Group interval

Ý nghĩa

Each value

1

Nhóm các Record có giá trị bằng nhau.

Year

Khai báo khoảng giá trị. Nhóm các Record có giá trị theo năm.

Qtr

Khai báo khoảng giá trị. Nhóm các Record có giá trị theo quý.

Field có dữ liệu kiểu Number
Group on

Group interval

Ý nghĩa

Each value

1

Nhóm các Record có giá trị bằng nhau.

Interval

Khai báo khoảng giá trị. Nhóm các Record theo khoảng giá trị đã khai báo.

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 62

5.4- Thống kê dữ liệu trên Report

▬ Sử dụng các phương thức thống kê : Sum, Avg, Min, Max, Count, …trong các

Textbox.

▬ Thống kê dữ liệu cho nhóm thường đặt tại vùng Group Footer.
▬ Thống kê dữ liệu cho Report thường đặt tại vùng Report Footer.
Ví dụ: Muốn tính tổng thành tiền cho nhóm theo Tenkh, ta tạo một Textbox tại
Tenkh Footer có dạng : =Sum(Thanhtien). Còn nếu muốn tính tổng thành tiền cho
toàn bộ Report, ta tạo một Textbox tại vùng Report Footer có dạng:
=Sum(Thanhtien).

Ví dụ: Các mẫu Report:

Mẫu Report không lập nhóm:

Mẫu Report lập nhóm theo Tenkh:

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 63

Mẫu Report lập nhóm theo Tenkh, Nam, Thang:

*****************************************************************

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 64

BÀI 08:

THIẾT KẾ MACRO TRONG MICROSOFT ACCESS

I- Tổng quan

▬ Macro là đối tượng bao gồm một hoặc nhiều hành động, mỗi hành động dùng để
thực hiện một công việc nào đó. Những hành động này đã được cài sẵn trong
Access dưới dạng một danh sách nhằm tự động hóa quá trình xử lý công việc.
▬ Một Macro sau khi tạo sẽ được gán vào một sự kiện trên đối tượng và khi sự kiện
xảy ra thì Macro sẽ thực thi. Các sự kiện của đối tượng nằm trong thẻ Event của
hộp Properties.

Ví dụ: Một Macro được gán vào sự kiện OnClick của một nút lệnh thì khi nhấp mouse
vào nút lệnh thì Macro sẽ thi hành.

▬ Các công việc có thể sử dụng Macro:
Liên kết công việc giữa Form và Report.
Tìm kiếm hoặc lọc ra những thông tin cần tham khảo một cách tự động.
Cài đặt các thuộc tính cho Form, Report hoặc các điều khiển. Cũng như cài
đặt một giá trị của điều khiển trong Form vào kết quả của phép tính toán
hoặc vào giá trị của một bảng dữ liệu khác.

Tự động hóa việc nhập|xuất dữ liệu vào các Table.
Tạo ra một môi trường làm việc theo ý riêng. Chẳng hạn như điều chỉnh
thanh thực đơn cho Form, nhóm các Query…

II- Tạo Macro

1- Tạo Macro thông qua sự kiện

▬ Mở hộp Properties của đối tượng Chọn sự kiện Nhấp vào nút ba chấm
▬ Chọn Macro Builder
▬ Đặt tên cho Macro Xuất hiện cửa sổ Design Macro

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 65

▬ Các thành phần của cửa sổ Design:
Macro Name: Lệnh mở|đóng: Menu View Macro Name. Được sử dụng
trong việc tạo ra nhóm Macro.

Condition: Lệnh mở|đóng: Menu View Condition. Được sử dụng cho các
Macro có điều kiện.
Action: Thành phần cố định. Chứa các hành động cho Macro.
Comment: Nơi diễn giải nội dung cho hành động.
Action Argument: Các tham số cho hành động.
▬ Thực thi sự kiện trên đối tượng để chạy Macro.

2- Tạo Macro và gán vào sự kiện trên đối tượng

▬ Cửa sổ “Database” Thẻ Macro New Xuất hiện cửa sổ Design Macro như trên.
▬ Khai báo các hàng động trong Macro.
▬ Lưu Macro.
▬ Mở hộp Properties của đối tượng Chọn sự kiện Nhấp vào nút tam giác
Chọn tên Macro.

▬ Thực thi sự kiện để chạy Macro.

3- Xét mẫu ví dụ sau:

Yêu cầu:

▬ Thiết kế Form “Tìm khách hàng” sao cho khi nhập tên khách hàng hoặc tên đại
diện cho khách hàng trong Textbox, sau đó nhấp nút “Tìm” sẽ mở Form “Thông
tin khách hàng” để biết được các thông tin về khách đó.

Thiết kế:

▬ Tạo một Macro gán vào sự kiện OnClick của nút “Tìm” với hành động OpenForm
để mở Form “Thông tin khách hàng” theo điều kiện nhận được từ Textbox của

Form “Tìm khách hàng”.

Action

Argument
OpenForm Form Name : “ F_Thongtinkhachhang
View : Form
Where Conditon :
Tenkh=Forms!F_Timkhachhang!txtTenkh

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 66

4- Các sự kiện và biến cố thường dùng

4.1- Các sự kiện trên đối tượng

Biến cố

Ý nghĩa

BeforeUpdate Xảy ra trước khi dữ liệu mới ghi vào thuộc tính Value của đối tượng.
AfterUpdate

Xảy ra sau khi dữ liệu mới ghi vào thuộc tính Value của đối tượng.

OnClick

Xảy ra khi nhấp mouse trên đối tượng.

OnDblClick

Xảy ra khi nhấp kép mouse trên đối tượng.

OnOpen

Xảy ra khi đối tượng được mở.

OnEnter

Xảy ra trước khi đối tượng nhận focus.

OnGotFocus

Xảy ra khi đối tượng nhận focus.

OnExit

Xảy ra trước khi đối tượng mất focus.
OnLostFocus Xảy ra sau khi đối tượng đã mất focus.

4.2- Các hành động thường dùng

Hành động

Ý nghĩa

Các đối số

ApplyFilter

Cho phép sàng lọc dữ liệu
hiển thị khi xử lý dữ liệu.

Filter Name: Tên của Query dùng để
trích lọc dữ liệu nguồn đang xử lý.
Where Condition: Điều kiện sàng lọc dữ
liệu.

Beep

Phát ra tiếng “bíp”

(không có đối số)

Close

Đóng một đối tượng.

Object Type: Loại đối tượng muốn
đóng. Nếu để trống thì hiểu là đối
tượng hiện hành.
Object Name: Tên của đối tượng muốn
đóng.
Save: Có lưu lại khi đóng đối tượng
không.

GotoControl

Chuyển focus giữa các điều
khiển trên Form.

Control Name: Tên của đối tượng
chuyển tới.

GotoRecord

Cho phép di chuyển con trỏ
Record trong Table|Query
hoặc Form.

Object Type: Kiểu đối tượng trong
Table|Query hoặc Form.
Object Name: Tên của đối tượng.
Record: Vị trí di chuyển là : trước, sau,
đầu, cuối, thêm mới.

MsgBox

Hiển thị một hộp thông báo
đến người dùng.

Message: Nội dung của thông báo cần
hiển thị.
Beep: Có phát ra tiềng "bíp" hay không.
Type: Loại hộp thông báo.
Title: Tiêu đề của hộp thông báo.

OpenForm

Mở một Form.

Form Name: Tên Form cần mở.
View: Dạng trình bày Form.
Filter Name: Tên của Query dùng để
sàng lọc dữ liệu hiển thị trong Form.
Where Condition: Điều kiện dùng để
sàng lọc dữ liệu hiển thị trong Form.

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 67

OpenReport

Mở một Report.

Report Name: Tên Report cần in.
View : Chế độ mở.
Filter Name : Tên của Query dùng để
sàng lọc dữ liệu trong Report.
Where Condition : Điều kiện sàng lọc
dữ liệu hiển thị trong Report.

Quit

Thoát khỏi Access.

Options : Lưu đối tượng hay không ?

(Prompt, SaveAll, Exit).

RunCommand Thực hiện một lệnh trên
menu của Access.

Command : Lệnh trên menu.

ShowAllRecords Hiển thị tất cả các Record
trong Table|Query|Form.

(không có đối số)

SetValue

Gán giá trị cho một Field,
điều khiển hoặc thuộc tính.

Item : Tên của Field, điều khiển hoặc
thuộc tính của điều khiển muốn gán giá
trị.
Expression : Biểu thức cần gán giá trị.

StopMacro

Ngừng thi hành Macro.

(không có đối số)

III- Macro đặc biệt

1- Macro có điều kiện

▬ Khi muốn các hành động trong Macro thi hành phụ thuộc vào một điều kiện nào
đó ta thiết kế Macro có điều kiện bằng cách mở thêm cột Condition trong cửa sổ
thiết kế.

▬ Các biểu thức điều nhập trên hàng có hành động cần thực hiện. Nếu hành động
có cùng điều kiện thì nhập thay thế bằng dấu ba chấm.

Ví dụ:

Condition

Action

IsNull(Forms!F_Timkhachhang!txtTenkh) MsgBox

Beep

StopMacro
OpenForm
Chú ý: Hàm IsNull(…) sẽ cho giá trị True nếu biểu thức trong ngoặc là Null. Ngược
lại là False.

Ví dụ: Xét mẫu Form sau đây:

Yêu cầu:

▬ Khi chọn tùy chọn “Tất cả thành phố” thì
Combobox mờ đi. Ngược lại, khi chọn tùy chọn
“Chọn thành phố” thì Combobox sẽ sáng lên để
cho phép chọn tên một thành phố trong nó.

Thiết kế một Macro gán vào thuộc tính AfterUpdate của Option Group:

Condition

Action

Argument

fraChon=1

SetValue

Item : cobTp.Enabled
Expression : No

fraChon=2

SetValue

Item : cobTp.Enabled
Expression : Yes

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 68

2- Macro nhóm

▬ Trong một Form có thể có nhiều Macro, do đó sẽ phát sinh rất nhiều Macro tại
cửa Database. Việc này gây khó khăn trong việc quản lý các Macro đối với người
thiết kế.

▬ Để tập hợp các Macro trong một Form lại và lưu chung trong một Macro, ta gọi là
Macro Group. Để tạo một Macro Group ta mở thêm cột Macro Name trong cửa
Design.

▬ Trong cột Macro Name, ta ghi tên Macro con trong nhóm ở hàng chứa hành động

đầu tiên.

Ví dụ :

Macro Name

Condition

Action

Dau

GotoRecord

Sau

Not [NewRecord]

GotoRecord

Truoc

[NewRecord]

GotoRecord

Cuoi

GotoRecord

Themmoi

GotoRecord

Xoa

SetWarning
MsgBox(“Đồng ý xóa”,1)=1 RunCommand

3- Macro AutoExec

▬ Đây là loại Macro được lưu với tên Autoexec, nó sẽ tự động chạy khi file mdb
được mở ra. Ta có thể sử dụng Macro với các hành động để khởi tạo môi trường
làm việc cho ứng dụng. Ví dụ như mở các Form giới thiệu chương trình, tắt các
thanh công cụ, …

▬ Nếu không muốn chạy Macro Autoexec thì khi mở mdb ta giữ thêm phím Shift.

****************************************

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 69

BÀI 09:

THỬ TỤC XỬ LÝ SỰ KIỆN

I- Tổng quan

▬ Ngoài việc sử dụng Macro để xử lý các sự kiện trên các đối tượng
Form|Report|Control ta có thể viết các mã lệnh để thay thế. Các mã lệnh này khi
tạo ra sẽ nằm bên trong một thủ tục và ta gọi là thủ tục xử lý sự kiện (Event
Procedure).

▬ Các thủ tục này được lưu theo đối tượng và cũng như Macro có thể có nhiều thủ
tục trên Form|Report tạo nên một đơn thể lớp (Class Module) của Form|Report.

▬ Một thủ tục xử lý sự kiện có thể được tạo khi tạo các nút lệnh bằng Wizard. Ngoài
ra các thủ tục xử lý sự kiện cho đa các đối tượng khác thường phải viết bằng tay.

II- Giới thiệu thủ tục xử lý sự kiện

1- Thủ tục Wizard

▬ Khi thực hiện nút lệnh “Đóng” của một Form bằng Wizard thì trên sự kiện OnClick
của nút lệnh xuất hiện dòng “Event Procedure”. Nhấp mouse vào nút ba chấm sẽ
xuất hiện cửa sổ sau:

Nhận xét:

▬ Một thủ tục luôn bắt đầu và kết thúc bằng 2 dòng:

Private Sub _([các tham số])

End Sub

▬ Các dòng còn lại nằm giữa hai dòng trên chính là các lệnh trong thủ tục. Về
nguyên tắc, mỗi lệnh phải nằm trên một dòng độc lập.

▬ Một thủ tục có thể có [các tham số] tùy theo và nó được dùng để chứa các thông
tin trao đổi giữa hệ thống và người viết.
▬ Như vậy ta có thể tự viết ra các dòng lệnh hoặc sửa đổi các thủ tục Wizard như
trên để xử lý các sự kiện theo đúng như cầu của riêng mình.

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 70

2- Tạo thủ tục xử lý sự kiện

▬ Chọn sự kiện của đối tượng.
▬ Nhấp vào nút ba chấm Chọn Code Builder OK
▬ Xuất hiện 2 dòng thủ tục sự kiện chuẩn.
▬ Viết các lệnh trong thân thủ tục để hoàn thành thủ tục.
▬ Đóng cửa sổ code.
▬ Thực thi sự kiện.
Ví dụ: Mẫu Form sau đây:

▬ Mở thủ tục AfterUpdate của Option Group
▬ Nhấp nút ba chấm Chọn Code Builder
▬ Thủ tục được viết như sau:

Private fraChon_AfterUpdate()
If fraChon = 1 Then
cobTp.Enabled = False

Else

cobTp.Enabled = True

End If
End Sub

III- Các qui tắc khi viết lệnh

1- Viết lệnh

▬ Một câu lệnh đơn chỉ viết trên một dòng.
▬ Để viết nhiều câu lệnh trên một dòng ta dùng dấu hai chấm (:) để ngăn cách.
▬ Để viết một lệnh trên nhiều dòng ta dùng dấu gạch dưới (_) ở vị trí ngắt.
▬ Dòng chú thích được bắt đầu bằng dấu nháy đơn (‘).

2- Lệnh gán

▬ Để thay đổi giá trị của thuộc tính đối tượng ta sử dụng lệnh gán theo cú pháp sau

<Đối tượng>. =

Ví dụ:

▬ Thay đổi chữ trong Textbox thành màu đỏ:

txtHienthi.ForeColor = 255

▬ Thay đổi màu nền trong Textbox thành màu vàng:

txtHienthi.BackColor = 65535

Ví dụ: Thiết kế mẫu Form theo yêu cầu sau:

▬ Khi nhấp nút “Hiển thị” thì trong Textbox sẽ hiện lời chào “Chào mừng các học
viên …” (theo mẫu) có màu đỏ, được canh giữa và được khóa lại.

▬ Khi nhấp nút “Xóa” thì Textbox sẽ bị xóa trắng.
▬ Nút “Thoát” dùng để đóng Form.

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 71

Viết lệnh:

Private Sub cmdHienthi_Click()
' Gan chuoi
Me.txtLoichao.Value = "Chao mung cac hoc vien" & _
vbCrLf & "Truong KỸ THUẬT CÔNG NGHỆ HÙNG VƯƠNG" & _
vbCrLf & "Khoa Công Nghệ Thông Tin"
' Thay doi thuoc tinh
Me.txtLoichao.ForeColor = 255
Me.txtLoichao.TextAlign = 2
Me.txtLoichao.Locked = True

End Sub

Private Sub cmdThoat_Click()
DoCmd.Close , , acSaveYes

End Sub

Private Sub cmdXoa_Click()
Me.txtLoichao.Value = Null

End Sub

3- Thực hiện hành động trong thủ tục

▬ Access cung cấp đối tượng DoCmd chứa các phương thức có tên và đối số tùy
chọn giống như các hành động trong Macro. Vì vậy, ta có thể sử dụng đối tượng
này khi muốn thực hiện các hành động.

▬ Cú pháp tổng quát:

DoCmd. [các đối số]

Trong đó:

sẽ được chọn trong danh sách xuất hiện sau khi ta nhập dấu

chấm.

[các đối số] ngăn cách bằng dấu phẩy và có thể sử dụng đối số mặc nhiên
bằng cách đánh dấu phẩy và rồi để trống. Các đối số này sẽ xuất hiện khi ta
đánh dấu phẩy. Các đối số là hằng chuẩn thường các ký tự đầu là ac…, vb…,
…Còn các đối số không phải là hằng đều phải đặt trong cặp dấu nháy kép.

Ví dụ về các hành:

DoCmd.OpenForm “F_Thongtinkhachhang”, , , “[Tenkh] Like ‘” &
Forms!F_Timkhachhang!txtTenkh & “’”

Cho phép mở Form “F_Thongtinkhachhang” ở chế độ Form View với điều kiện
Tenkh trùng với giá trị nhập trong Textbox txtTenkh trong Form “F_Timkhachhang”.

DoCmd.Close acForm, “F_Timkhachhang”, acSaveYes

Cho phép đóng Form “F_Timkhachhang” và có lưu cập nhật.

DoCmd.RunCommand accmdDeleteRecord

Sử dụng lệnh xóa Record trên menu Edit

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 72

4- Thực hiện các phương thức trên đối tượng

▬ Phương thức của một đối tượng là một hành động được thực hiện trên đối tượng
đó. Có thể sử dụng các phương của đối tượng bằng cú pháp:

. [các đối số]

▬ Các phương thức thường dùng:
SetFocus: Chuyển focus đến đối tượng.
Requery: Chạy lại Query nguồn của Form|Combobox|Listbox
Refresh: Hiển thị dữ liệu mới nhất vừa sử đổi.
Undo: Phục hồi dữ liệu trên Form|Control.
Ví dụ 1: Để chuyển focus đến nút “Xóa” sau khi nhấp nút “Hiển thị” ta viết thêm
dòng sau đây trong thủ tục cmdHienthi_Click():

Me.cmdXoa.SetFocus

Ví dụ 2: Xét mẫu Form sau đây:

Yêu cầu thiết kế:

▬ Hai Combobox đặt tại vùng Form
Header chứa danh sách thành phố
khách hàng và tên các khách hàng theo
thành phố đó. Trong đó, Combobox
chứa tên khách hàng không cho phép
nhận focus khi mở Form.

▬ Các Textbox trong vùng Detail để hiển thị thông tin các khách hàng trong Table
Khachhang và sẽ hiển thị đúng khách hàng theo sự chọn lực trong các Combobox.
Đồng thời chúng cũng sẽ xuất hiện mờ khi khi mở Form.
Yêu cầu nội dung:

▬ Khi chọn một thành phố trong Combobox 1 thì Combobox 2 sẽ sáng lên để cho
phép chọn tên khách hàng ở thành phố đó. Trong khi đó các Textbox thông tin
khách hàng vẫn chưa hiện sáng.

▬ Khi chọn một khách hàng trong Combobox 2 thì các Textbox sẽ hiện sáng, đồng
thời chúng hiển thị đúng khách hàng vừa chọn và con trỏ bắt đầu nhảy vào
Textbox “Tên khách hàng” để cho phép hiệu chỉnh (không cho phép hiệu chỉnh
“Mã khách hàng”).

Thiết kế:

▬ Thủ tục cho Combobox 1:

Private Sub cobTp_AfterUpdate()
' Cho phép cobTenkh nhận focus
Me.cobMakh.Enabled = True
' Chạy lại Query nguồn của cobTenkh
Me.cobMakh.Requery
' Không cho các Control sau nhận focus
Me.Makh.Enabled = False
Me.Tenkh.Enabled = False

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 73

Me.Diachikh.Enabled = False
Me.Dienthoaikh.Enabled = False
Me.Thanhpho.Enabled = False

End Sub

▬ Thủ tục cho Combobox 2:

Private Sub cobMakh_AfterUpdate()
' Lọc dữ liệu trên Form
DoCmd.ApplyFilter , "[Makh] = '" & Me!cobMakh.Value & "'"
' Cho các Control sau nhận focus
Me.Tenkh.Enabled = True
Me.Diachikh.Enabled = True
Me.Dienthoaikh.Enabled = True
Me.Thanhpho.Enabled = True
' Chuyển focus đến Tenkh
Me.Tenkh.SetFocus

End Sub

Chú ý: Đối tượng Me đại diện cho Form hiện hành.

5- Lệnh nhảy

▬ Khi gọi thực hiện các thủ tục, có khi tồn tại những dòng lệnh mà tại đó phát sinh
lỗi. Những lỗi này có thể do:

Đối tượng ở trạng thái không chấp nhận lệnh.
Đối tượng không tồn tại.
▬ Và tùy tình huống mà ta dùng các lệnh nhảy sau đây để điều khiển việc thực thi
các dòng lệnh trong thủ tục:

On Error Goto

▬ Nhảy đến đoạn chương trình có khi có lỗi xảy ra. đặt tại dòng
nơi cần nhảy tới theo sau là dấu hai chấm.

On Error Resume Next

▬ Thực hiện dòng lệnh đứng liền tiếp theo dòng lệnh sinh lỗi. Lệnh này thường được
đặt trước dòng lệnh phát sinh lỗi.

IV- Cấu trúc điều kiện:

1- Tổng quan

▬ Đây là cấu trúc thông dụng trong khi viết lệnh, nó được dùng để thực hiện các
lệnh tùy theo các điều kiện.

2- Các dạng If

2.1- Dạng 1

If <điều kiện> Then

Kiểm tra <điều kiện> và thực hiện 1 lệnh tương ứng nếu <điều kiện> xảy ra
(true). Nếu <điều kiện> không xảy ra (false) thủ tục sẽ bỏ qua dòng lệnh này.

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 74

2.2- Dạng 2

If <điều kiện> Then

End if

Giống dạng 1 nhưng thực hiện nhiều lệnh trong thân If.

2.3- Dạng 3

If <điều kiện 1> Then

ElseIf <điều kiện 2> Then

……

Else

End If

Kiểm tra nhiều <điều kiện …> và thực hiện các tương ứng nếu
<điều kiện …> xảy ra. Ngược lại, thực hiện .

3- Ví dụ

Xét mẫu Form sau:

Yêu cầu:

▬ Khi chọn tùy chọn “Tất cả thành phố” thì
Combobox sẽ mờ đi. Ngược lại, khi chọn tùy chọn
“Chọn thành phố” thì Combobox sẽ sáng lên để
cho phép chọn tên thành phố.

▬ Khi chọn tùy chọn “Tất cả thành phố”, nhấp nút “Xem” sẽ mở Report
“RL_Thiepmoi” ra màn hình. Ngược lại, khi chọn tùy chọn “Chọn thành phố” đồng
thời chọn một thành phố trong Combobox và nhấp nút “Xem” sẽ mở Report
“RL_Thiepmoi” ra màn hình theo đúng thành phố vừa chọn.

Thiết kế:

▬ Thủ tục đáp ứng yêu cầu trên:

Private Sub fraChon_AfterUpdate()
If fraChon = 1 Then
cobtp.Enabled = False

Else

cobtp.Enabled = True

End If
End Sub

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 75

Private Sub cmdXem_Click()
If fraChon = 1 Then
DoCmd.OpenReport "RL_Thiepmoi", acViewPreview
ElseIf fraChon = 2 And IsNull(cobtp) Then
MsgBox "Ban phai chon thanh pho", vbCritical
Me.cobtp.SetFocus

Else

DoCmd.OpenReport "RL_Thiepmoi", acViewPreview, , "Thanhpho = '" &
Me.cobtp & "'"

End If
End Sub

V- Cấu trúc chọn lựa Select … Case

1- Tổng quan

▬ Điều khiển việc thực hiện các lệnh dựa trên các giá trị của một biểu thức.

2- Cú pháp

Select Case
Case

Case

……
Case Else

End Select

Khi thì thực hiện , khi
thì thực hiện , …… Ngoài ra thực hiện
sau phát biểu Case Else.

Lưu ý: có thể có các dạng sau:
Một giá trị cùng kiểu với giá trị .
Nhiều giá trị cách nhau dấu phẩy.
Miền giá trị: To
Biểu thức: Is

3- Ví dụ

Xét mẫu Form sau:

Yêu cầu:

▬ Nhập một số có 2 chữ số
vào Textbox bên trái
Bấm enter Dịch bằng chữ trong Textbox bên phải.

▬ Thủ tục như sau:

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 76

Private Sub txtSo_Exit()
‘ Khai báo biến chuỗi
Dim t1 As String
Dim t2 As String
‘ Khai báo biến số nguyên
Dim chuc As Byte
Dim donvi As Byte
If Val(Me.txtSo)<10 or Val(Me.txtSo)>99 Then
MsgBox “Ban nhap so khong dung pham vi”, vbCritical
Me.txtSo.SetFocus
Exit Sub

Else

chuc = Val(Me.txtSo) \ 10

‘ Tach chu so hang chuc

donvi = Val(Me.txtSo) mod 10

‘ Tach chu so hang don vi

Select Case chuc
Case 1 : t1 = “Muoi”
Case 2 : t1 = “Hai muoi”
Case 3 : t1 = “Ba muoi”
Case 4 : t1 = “Bon muoi”
Case 5 : t1 = “Nam muoi”
Case 6 : t1 = “Sau muoi”
Case 7 : t1 = “Bay muoi”
Case 8 : t1 = “Tam muoi”
Case 9 : t1 = “Chin muoi”

End Select
Select Case donvi
Case 0 : t2 = “”
Case 1 : t2 = “mot”
Case 2 : t2 = “hai”
Case 3 : t2 = “ba”
Case 4 : t2 = “bon”
Case 5 : t2 = “lam”
Case 6 : t2 = “sau”
Case 7 : t2 = “bay”
Case 8 : t2 = “tam”
Case 9 : t2 = “chin”
End Select

End If
Me.txtChu = t1 & Space(1) & t2 & Space(1) & “dong”

End Sub

VI- Biến và khai báo biến

1- Tổng quan

▬ Biến là một vùng nhớ tạm được khai báo trong thủ tục để lưu trữ các giá trị trung
gian trong khi xử lý.
▬ Biến phải được khai báo bằng một tên và thuộc về một kiểu dữ liệu nhất định.
▬ Tên biến bao gồm chữ cái, chữ số và dấu gạch dưới và phải bắt đầu bằng một
chữ cái. Đồng thời tên biến không được đặt trùng với các từ khóa như: Case, If,
Then, …

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 77

2- Kiểu của biến

▬ Thông thường, mỗi biến phải được khai báo bằng một kiểu xác định nhằm tránh
sự nhầm lẫn khi trao đổi giá trị cho biến.

▬ Bảng các kiểu thường dùng:
Kiểu

Mô tả

Phạm vi

Byte

Số nguyên 1 byte

0 255

Boolean Đúng|Sai

True(-1)|False(0)

Date

Ngày tháng

Integer

Số nguyên 2 byte.

-32,768 32,767

Long

Số nguyên 4 byte.

-2,147,483,648 2,147,483,647

Single

Số thực 4 byte.

Double

Số thực 8 byte.
Currency Số thực có dấu chấm cố định 8 byte.
String

Chuỗi ký tự.

Variant

Chuỗi, ngày, giờ, số.

3- Khai báo biến

▬ Cú pháp:

Dim As

▬ Biến khai báo trong thủ tục chỉ có phạm vi sử dụng trong thủ tục. Khi thủ tục kết
thúc giá trị biến sẽ bị xóa.

▬ Biến khai báo trong Declaration của đơn thể sẽ có phạm vi sử dụng trong
Form|Report. Khi đóng đối tượng giá trị của biến sẽ bị xóa.

******************************************

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 78

BÀI 10:

TẠO THỰC ĐƠN LỆNH TRONG ACCESS

I- Tổng quan

▬ Thanh thực đơn là nơi chứa các lệnh cho phép người dùng truy xuất tới các đối
tượng trong ứng dụng mà không thông qua cửa sổ Database. Nghĩa là, ta có thể
không cho cửa sổ Database xuất hiện khi khởi động ứng dụng.

▬ Có thể tạo thanh thực đơn bằng Macro Group, nhưng trong bài này giới thiệu cách
tạo thực đơn lệnh của Access.

II- Các bước tạo thực đơn

1- Tạo hệ thống thực đơn

▬ Bước 1: Menu View Toolbar Customize Hiện hộp thoại : Thẻ Toolbar

1- Chọn New để xuất hiện và đặt tên

2- Chọn Properties để xuất hiện và chọn Menu Bar trong hộp Type

Thanh thực đơn tạo mới xuất hiện

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 79

▬ Bước 2: Thẻ Command: Chọn New Menu và kéo biểu tượng “New Menu” đặt vào
thanh thực đơn (trên mẫu) sau đó nhấp vào Name để đặt tên cho thực đơn.

▬ Bước 3: Thẻ Command: Chọn các mục trong hộp Categories (AllQuery, AllReport,
AllForm, AllMacro, …) để xuất hiện các đối tượng tương ứng trong ứng dụng.

▬ Bước 4: Kéo đối
tượng đặt vào bên
dưới thực đơn (theo
mẫu).

▬ Bước 5: Thực hiện lại bước 4 cho các đối tượng trong cùng thực đơn.

Lập lại các bước 2,3,4,5 cho thực đơn tiếp theo.

2- Khai báo các thuộc tính khi khởi động

▬ Menu Tools Start Up Hiện
hộp thoại :

▬ Bỏ tùy chọn Display Database
Window để không cho khởi động
cửa sổ Database khoi chạy file
mdb.

▬ Chọn tên thực đơn vừa tạo trong
hộp Menu Bar.

*********************************************************************

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 80

You're Reading a Free Preview

Tải về
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->