Tải bản đầy đủ (.doc) (32 trang)

Giáo trình AccessXP pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.4 MB, 32 trang )

ACCESS 3
Yêu cầu :
Tự thiết kế được các Report lập nhóm thông dụng.
Sử dụng Macro để liên kết các đối tượng.
Sử dụng ngôn ngữ Access Basic cơ bản để lập trình cho các sự kiện trên đối
tượng.
Access 3 Trang 1
Mục lục
BÀI 1
THIẾT KẾ REPORT
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.
Access 3 Trang 2
• 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)
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
Access 3 Trang 3
▬ 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ết0 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
▬ Nhấp vào 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
▬ Thực hiện một trong hai thao tác:
• 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”.
Access 3 Trang 4

• 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).
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:
▬ 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
Access 3 Trang 5
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.
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:
Access 3 Trang 6
Mẫu Report lập nhóm theo Tenkh:
Mẫu Report lập nhóm theo Tenkh, Nam, Thang:
Access 3 Trang 7
Access 3 Trang 8
BÀI 2
MACRO
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
Access 3 Trang 9
▬ 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- Ví dụ: Xét mẫu 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
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
Access 3 Trang 10
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.
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ị.
Access 3 Trang 11
StopMacro Ngừng thi hành Macro. (không có đối số)
II- 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
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
Access 3 Trang 12
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.
▬ Ví dụ: Tạo macro AutoExec như sau:

Action Arguments
Maximize
OpenForm FormName:”GiaoDienChuongTrinh”
SetValue Item: [Application].[MenuBar]
Expression: " CHUONG TRINH QUAN LY NHAN SU"
Access 3 Trang 13
BÀI 3
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 số 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 <tên đối tượng>_<sự kiện>([các tham số])
… <thân thủ tục>
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.

Access 3 Trang 14
▬ 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.
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>.<Thuộc tính> = <Giá trị>

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ụ: Xét mẫu Form sau:
Access 3 Trang 15
Yêu cầu:
▬ 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.
Viết lệnh:
Private Sub cmdHienthi_Click()
' Gan chuoi
Me.txtLoichao.Value = "Chao mung cac hoc vien" & _
vbCrLf & "Trung Tam Giao duc Ky thuat Tong hop Huong
nghiep" & _
vbCrLf & "Tinh Dong Nai"
' 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.<hành động> [các đối số]
Trong đó:
▬ <hành động> 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”.
Access 3 Trang 16
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
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 :
<Tên đối tượng>.<Phương thức> [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ửa đổ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 cobMakh
Me.cobMakh.Requery
Access 3 Trang 17
' Không cho các Control sau nhận focus
Me.Makh.Enabled = False
Me.Tenkh.Enabled = False
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.

• …
▬ 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ãn>
Nhảy đến đoạn chương trình có <Nhãn> khi có lỗi xảy ra. <Nhãn> đặ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.
Access 3 Trang 18
BÀI 4
CÁC CẤU TRÚC RẼ NHÁNH
I- Cấu trúc điều kiện If
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 <lệnh>
 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.
2.2- Dạng 2
If <điều kiện> Then
<nhóm lệnh>
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
<nhóm lệnh 1>
ElseIf <điều kiện 2> Then
<nhóm lệnh 2>
……
Else
<nhóm lệnh n>
End If
 Kiểm tra nhiều <điều kiện …> và thực hiện các <nhóm lệnh …> tương ứng nếu <điều
kiện …> xảy ra. Ngược lại, thực hiện <nhóm lệnh 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 (tất cả các khách hàng). Ngược lại,
Access 3 Trang 19
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 với các khách hàng có
thành phố đú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
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
II- 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 <biểu thức>
Case <giá trị 1>
<nhóm lệnh 1>
Case <giá trị 2>
<nhóm lệnh 2>
……
Case Else
<nhóm lệnh n>
End Select
 Khi <biểu thức> có <giá trị 1> thì thực hiện <nhóm lệnh 1>, khi <biểu thức> có <giá trị
2> thì thực hiện <nhóm lệnh 2>, …… Ngoài ra thực hiện <nhóm lệnh n> sau phát biểu
Case Else.

Lưu ý: <giá trị …> có thể có các dạng sau:
▬ Một giá trị cùng kiểu với giá trị <biểu thức>.
▬ Nhiều giá trị cách nhau dấu phẩy.
▬ Miền giá trị: <cận đầu> To <cận cuối>
▬ Biểu thức: Is <toán tử so sánh> <giá trị>
Access 3 Trang 20
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:
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
III- Biến và khai báo biến
1- Tổng quan
Access 3 Trang 21
▬ 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, …
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.
Currenc
y
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 <tên biến> As <kiểu>
▬ 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.
Access 3 Trang 22
BÀI 5

TẠO THỰC ĐƠN LỆNH
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
Access 3 Trang 23
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
▬ 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 khi chạy file
MDB.
▬ Chọn tên thực đơn vừa tạo trong
hộp Menu Bar.
Access 3 Trang 24
BÀI TẬP
A- Thiết kế các mẫu Report
1- Mẫu 1: R_1
2- Mẫu 2: R_2
Access 3 Trang 25

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×