Giáo trình Quản trị cơ sở dữ liệu Access 2 - Nghề: Công nghệ thông tin

TRƯỜNG CAO ĐẲNG NGHỀ ĐẮK LẮK  
KHOA ĐIỆN TỬ - TIN HỌC  
GIÁO TRÌNH  
QUẢN TRỊ CƠ SỞ DỮ LIỆU  
ACCESS 2  
NGHỀ: CÔNG NGHỆ THÔNG TIN  
TRÌNH ĐỘ: CAO ĐẲNG NGHỀ - TRUNG CẤP NGHỀ  
Người biên soạn:  
ThS. Lê văn Tùng  
Lưu hành nội bộ - 2014  
LỜI NÓI ĐẦU  
Giáo trình này là sự đúc kết kinh nghiệm của tác giả trong giảng dạy các  
khoá đào tạo về Access cũng như kinh nghiệm sử dụng Access làm hệ quản trị cơ  
sở dữ liệu và công cụ phát triển phần mềm. Hầu hết nội dung trình bày trong giáo  
trình đều bám theo những bài tập thực hành cụ thể. Do vậy, sau khi đọc xong và  
thực hành theo trình tự cuốn sách này, người đọc gần như có thể thiết kế và xây  
dựng được những ứng dụng về quản lý thông tin.  
Đối tượng chính của giáo trình là sinh viên, học sinh chuyên nghề Công nghệ  
thông tin (CNTT) cũng như không chuyên nghề CNTT có học môn Access. Tất  
nhiên cũnghoàn toàn phù hợp cho những ai quan tâm học hỏi môn học này bởi lẽ  
các nội dungđều được trình bày rất trực quan, có thứ tự và kết quả rõ ràng.  
Thời lượng thiết kế 75 tiết. Trong đó 24 tiết lý thuyết, 47 tiết thực hành và 4  
tiếtdành cho kiểm tra. Tuỳ theo mức độ ứng dụng của từng nghề vào môn họcnày  
mà mỗi đơn vị sẽ chọn cho mình một quĩ thời gian cũng như các nội dunggiảng dạy  
phù hợp từ giáo trình này.  
Nội dung giáo trình gồm 5 chương:  
Chương 1: Tập lệnh Macro – Trình bày cơ bản về đối tượng macro cụ thể và  
tập lệnh, biết các thao tác xử lý đối vꢀi macro và cách sử dụng macro vꢀi các biến  
cố. Tạo được macro vꢀi các xứ lý cơ bản và kết hợp macro vꢀi biến cố để xử lý  
chức năng trên form.  
Chương 2: Lập trình VBA – Trình bày về môi trường lập trình VBA và hiểu  
một số khái niệm và cơ chế xử lý của ngôn ngữ VBA. Xây dựng và xử lý sự kiện  
trên các biểu mꢁu sử dụng bộ lệnh Docmd.  
Chương 3: Lập trình cơ bản dữ liệu – Trình bày được kiến thức và các kꢂ  
thuật DAO. Sử dụng được các đối tượng trên DAO.  
Chương 4: Xây dựng thực đơn và thanh công cụ - Trình bày các cách tạo  
menu và thanh công cụ trong Access. Gắn được menu và thanh công cụ trên các  
form giao diện.  
Chương 5: Xây dựng ứng dụng – Trình bày các kiến thức về quy trình xây  
dựng ứng dụng. Xây dựng được các ứng dụng vꢀi các form, báo cáo hiệu quả và  
thân thiện và xây dựng được tính bảo mật cho ứng dụng.  
Tuy có nhiều cố gắng trong quá trình biên soạn nhưng giáo trình này vꢁn còn  
nhiều thiếu sót. Chúng tôi rất mong nhận được các ý kiến đóng góp của các bạn sinh  
viên và các bạn đồng nghiệp để chúng tôi có thể hoàn thiện giáo trình này.  
Đắk lắk, năm 2014  
Tác giả  
ThS. Lê Văn Tùng  
1
 
MỤC LỤC  
2
CHƯƠNG TRÌNH MÔ ĐUN QUẢN TRỊ CƠ SỞ DỮ LIỆU VỚI ACCESS 2  
Mã số của mô đun: MĐ 22;  
Thời gian của mô đun: 75 giờ;  
(Lý thuyết: 24 giờ; Thực hành: 51 giờ)  
I. VỊ TRÍ, TÍNH CHẤT CỦA MÔ ĐUN:  
Là mô đun chuyên môn nghề bắt buộc của chương trình đào tạo Cao đẳng  
nghề Công nghệ thông tin (ứng dụng phần mềm), được bố trí học sau mô đun Quản  
trị cơ sở dữ liệu vꢀi Access 1.  
II. MỤC TIÊU CỦA MÔ ĐUN:  
- Biết khái niệm về tập lệnh Macro và module trong Access;  
- Hiểu các cách tạo và thực thi tập lệnh Macro;  
- Biết cách tạo và thực thi module trong ứng dụng Access;  
- Sử dụng macro và module để tăng tính linh hoạt của các chức năng trong ứng  
dụng;  
- Chủ động, sáng tạo trong việc tìm hiểu các tài liệu phục vụ cho môn học.  
III. NỘI DUNG MÔ ĐUN:  
1. Nội dung tổng quát và phân bổ thời gian:  
Thời gian  
Số  
TT  
Tên các bài trong mô đun  
Tổng  
số  
Kiểm tra*  
(LT hoặc TH)  
LT TH  
1. Macro  
15  
18  
12  
5
6
3
9
12  
7
1
0
2
2. Lập trình VBA  
3. Lập trình cơ sở dữ liệu  
Xây dựng thực đơn và thanh công  
cụ  
4.  
10  
4
6
0
5. Bài tập lꢀn  
20  
75  
6
13  
47  
1
4
Cộng  
24  
3
Bài 1: Tꢀp lꢁnh Macro  
Mục tiêu:  
-
-
-
-
-
Hiểu đưꢀc cơ bꢁn về đꢂi tưꢀng macro cụ thể tập lệnh;  
Biết các thao tác xử lꢃ đꢂi vꢄi macro và cách sử dụng macro vꢄi các biến cꢂ;  
Tạo đưꢀc macro vꢄi các xứ lꢃ cơ bꢁn;  
Kết hꢀp macro vꢄi biến cꢂ để xử lꢃ chức năng trên form;  
Nghiêm tꢅc, tꢆ mꢆ trong quá trình tiếp nhận lꢃ thuyết và thực hành.  
1.1. Giꢂi thiꢁu macro  
Macro là một lệnh hay tập hợp một nhóm lệnh được quy định sẵn trong MS -  
Access cho phép xác định một tập các thao tác trên các đối tượng cơ sở dữ liệu  
(CSDL) của Access như mở biểu mꢁu, mở bảng in,…  
Việc tự động hóa các hành động của macro giúp đảm bảo tính chính xác và  
hiệu quả của CSDL.  
Macro thường được xây dựng dựa trên một số các hành động (action) thường  
dùng trong access được xây dựng sẵn, mỗi Macro gồm một hoꢃc nhiều hành động  
theo một thứ tự nhằm thực hiện một chức năng cụ thể được xác định.  
Macro thường được dùng kết hợp vꢀi sự kiện trên các ô điều kiển của các  
biểu mꢁu, báo biểu. khi các sự kiện xảy ra thì Macro tương ứng sẽ được thực hiện,  
thông thường Macro được gán vꢀi sự kiện On Click của nút lệnh trong biểu mꢁu để  
khi nhắp chuột vào nút lệnh thì Macro được thực hiện hơn.  
Thông qua Macro ta có thể điều khiển các đối tượng trên Biểu mꢁu (Form)  
và Báo cáo (Report) một cách dễ dàng và linh hoạt.  
1.2. Tạo và thi hành macro  
Từ cửa sổ Database chọn đối tượng Macro New, xuất hiện cửa sổ Macro  
sau:  
Hình 1: Cửa sổ Macro trong MS-Access 2003  
1.2.1.  
Các thành phần trong cửa sổ Macro: (2 phần)  
Phần 1:  
Cột Macro Name: Quy định tên riêng cho nhóm Macro. Khi trong cửa sổ  
Macro bạn muốn tạo nhiều Macro con thì mỗi một Macro này phải có một tên riêng.  
(Vào menu View Macro Name để hiển thị mục này).  
Cột Condition: Thiết lập các điều kiện kiểm tra cho Macro. (Vào menu View  
Condition để hiển thị mục này).  
Cột Action: Quy định những hành động được tạo sẵn cho Macro.  
Cột Comment: Chú thích, diễn giải về các hành động tương ứng.  
4
       
Phần 2:  
Action Argument: Quy định các tham số tương ứng cho từng hành động.  
Trong cửa sổ thiết kế Macro thực hiện các thao tác sau:  
Chọn hành động cần gắn cho macro tại cột Action  
Gõ dòng giải thích cho hành động tương ứng tại cột Comment (nếu cần)  
Chọn các đối mục cho mỗi hành động tại mục Action Arguments  
Lưu ꢃ: Mỗi macro có thể thực hiện nhiều hành động, thứ tự thực hiện các hành  
động phụ thuộc vào thứ tự liệt kê tại cột Action  
1.2.2.  
Ví dụ minh họa  
Hãy mở bài tập “Quản lý HSSV” thiết kế và gắn hành động cho hai nút lệnh  
sau:  
Yêu cầu:  
1) Khi click vào nút “quản lý điểm HSSV” thì thực hiện mở biểu mꢁu (form)  
quản lý điểm HSSV ra màn hình.  
2) Khi click vào nút “quản lý danh sách HSSV” thì thực hiện mở biểu mꢁu  
(form) danh sách HSSV ra màn hình.  
1.3. Các loại Macro và cách tạo Macro  
Macro đơn: Dùng để thực hiện một thao tác đơn giản nào đó.  
Cách tạo:  
Bưꢀc 1: Trong ngăn Macro New  
Bưꢀc 2: Trong hộp thoại Macro xuất hiện, chọn:  
Action: Hành động cho Macro.  
Action Argument: Quy định các tham số cho hành động tương  
ứng trên.  
Bưꢀc 3: Lưu và đꢃt tên cho Macro.  
Ví dụ: Tạo Macro dùng để mở một Form, như sau:  
5
   
Macro nhóm (Macro Group): Mục đích nhằm tập hợp các Macro liên quan  
vꢀi nhau vào một cửa sổ Macro sheet, mỗi Macro có một tên riêng và thực hiện độc lập  
khi được gọi. Khi Macro nào được gọi thì Macro đó thực hiện.  
Cách tạo:  
Tại cửa sổ Macro sheet, vào menu View, chọn dòng Macro Name. Lúc này  
trong cửa sổ Macro sheet xuất hiện thêm một Macro Name, ta đꢃt tên Macro thành  
phần vào cột này và chọn Action vào dòng tương ứng và các dòng tiếp theo. Muốn  
gọi Macro thành phần nào ta chọn:  
<Tên Macro nhóm>.<Tên Macro thành phần>  
Ví dụ: Tạo một Macro để xem thông tin về các Bảng như sau:  
Tạo Macro nhóm có tên “Mo”: Dùng để mở bảng (Table) DM_SINHVIEN,  
Truy vấn (Query) DS_HSSV, biểu mꢁu (Form) quản lý HSSV.  
Macro điều kiꢁn: Là Macro mà các hành động chỉ thực hiện khi thỏa mãn  
một điều kiện nào đó.  
Cách tạo:  
Tại cửa sổ Macro sheet, vào menu View Conditions. Lúc này trong cửa sổ  
Macro Sheet xuất hiện thêm cột Condition, ta nhập điều kiện vào cột này và chọn  
Action vào dòng tương ứng. Nếu một điều kiện đúng thực hiện nhiều hành động thì  
dòng tiếp theo của cột Condition ta gõ vào dấu ba chấm (…) và chọn tiếp hành động  
trong cột Action (nếu không có dấu ba chấm thì hành động đó thực hiện bất kể điều  
kiện nào).  
1.4. Mꢃt số hành đꢃng thông dụng  
Action/ Argument  
Close  
Ý nghĩa  
Đóng cửa sổ (nếu không có tham số thì đóng cửa  
sổ Active)  
Object Type  
Kiểu đối tượng (Table, Query, Form,Report,…)  
Tên đối tượng đóng  
Chọn cách lưu khi đóng  
Hiển thị hộp thông báo  
Nội dung thông báo  
Có/ không có tiếng Bíp  
Biểu tượng trong hộp thoại  
Nội dung tiêu đề  
Object Name  
Save  
Msg box  
Message  
Beep  
Type  
Title  
Open Form  
Mở một Form  
6
 
Form Name  
View  
Filter Name  
Where condition  
Data mode  
Tên Form  
Dạng hiển thị (Design, print preview, Data sheet)  
Tên query nhập dữ liệu  
Điều kiện lọc dữ liệu  
Chế độ dữ liệu(Add,Edit,Read only)  
Mở một query  
Open Query  
Query Name  
View  
Data Mode  
Tên query  
Dạng hiển thị (Design, print preview, Data sheet)  
Chế độ dữ liệu(Add,Edit,Read only)  
Mở một Report  
Open Report  
Report Name  
Tên report  
View  
Dạng hiển thị (Design, print preview, Data sheet)  
Tên Report nhập dữ liệu  
Điều kiện lọc dữ liệu  
Filter Name  
Where condition  
Open Modulo  
Modulo Name  
Procedure Name  
Run Macro  
Mở một Modulo  
Tên Modulo chứa thủ tục cần mở  
Tên thủ tục cần mở  
Chạy một Macro  
Macro Name  
Repeat Count  
Tên Macro cần chạy  
Số lần lꢃp chạy Macro(không ghi là một lần)  
Repeat Expression Biểu thức điều kiện để lꢃp (False thì dừng)  
Run Code  
Function Name  
Maximize  
Gọi thực hiện một hàm của VBA  
Tên hàm (các tham số)  
Cực đại cửa sổ hiện hành  
Restore  
Stop All Macro  
Quit  
Phục hồi cửa sổ về kích thưꢀc cũ  
Dừng thực hiện các Macro  
Thoát khỏi Access trở về window  
Xử lý dữ liệu khi thoát (promt, save all, exit)  
Cập nhật lại dữ liệu nguồn cho điều khiển  
Gán giá trị, thuộc tính cho một đối tượng điều khiển  
Tên đối tượng điều khiển nhận giá trị, thuộc tính  
Biểu thức gán (nếu khác Form:Form![tên Form]!tên  
ĐK)  
Option  
Requery  
Set Value  
Item  
Expression  
Apply Filter  
Filter Name  
Lọc dữ liệu khi xử lý Table, Form, Report  
Tên truy vấn lọc dữ liệu  
Where condition  
Điều kiện lọc dữ liệu  
1.5. Điều kiꢁn trong macro  
Khi tạo macro ta có thể quy định điều kiện thực hiện từng hành động của  
macro, khi thực hiện: nếu điều kiện đúng thì thực hiện hành động tương ứng, nếu  
điều kiện sai thì không thực hiện.  
Cách tạo:  
Bưꢀc 1: Tại cửa sổ macro đơn, chọn Menu View/Conditions. Cửa sổ tạo  
macro xuất hiện thêm cột Condition  
Bưꢀc 2: Chọn hành động cần gắn cho macro tại cột Action  
Bưꢀc3: Gõ dòng giải thích cho hành động tương ứng tại cột Comment (nếu  
cần)  
7
 
Bưꢀc 4: Chọn các đối mục cho mỗi hành động tại mục Action Arguments  
Bưꢀc 5: Thiết lập điều kiện thi hành cho mỗi hành động tại cột Condition  
Bưꢀc 6: Đꢃt tên và lưu macro  
1.6. Gꢄn kꢅt các biꢅn cố vꢂi macro  
Macro thường dùng được gắn vꢀi một nút lệnh trong biểu mꢁu hoꢃc một sự  
kiện (event) của một ô điều khiển.  
Để gắn macro vꢀi một sự kiện của ô điều khiển ta chọn ô điều khiển, trong  
sự kiện thiết kế biểu mꢁu chọn ô điều khiển cần gắn vꢀi macro rồi chọn thuộc tính  
ứng vꢀi sự kiện cần gắn macro rồi chọn tên macro (nếu có sẵn) hoꢃc nhắp chuột vào  
nút ba chấm (…) để tạo macro gắn vꢀi sự kiện. khi đó xuất hiện cửa sổ Choose  
Builder, chọn mục macro builder sẽ xuất hiện cửa sổ tạo macro.  
1.6.1.  
Quy trình thực hiꢁn  
Bưꢀc 1: R_Click đối tượng cần gán sự kiện (thường là nút lệnh Command  
hoꢃc Text box) chọn properties.  
Bưꢀc 2: Xuất hiện màn hình, chọn thẻ Event.  
Hình 2: Thuộc tính sự kiện on Click  
Bưꢀc 3: Chọn dòng sự kiện (Ví dụ: On Click):  
Nếu Macro đã tạo trưꢀc rồi thì ta click vào Combo box trên dòng đó để chọn  
Macro gán cho sự kiện của đối tượng.  
Nếu chưa tạo Macro thì click vào nút Buid(…) trên dòng đó, xuất hiện hộp  
thoại Choose Builder, ta chọn dòng Macro Builder và click ok, xuất hiện cửa sổ  
Macro Sheet cùng hộp thoại lưu Macro, ta đꢃt tên cho Macro đóng hộp thoại lưu và  
bắt đầu thiết kế Macro cho sự kiện của đối tượng.  
Để gắn một macro vꢀi một nút lệnh, trong cửa sổ thiết kế biểu mꢁu chọn nút  
lệnh cần gắn vꢀi macro và chọn tên macro trong thuộc tính On Click  
Ví dụ: Để gắn hành động (Action) “Mở biểu mꢁu”cho nút lệnh (Button) trên biểu  
mꢁu (Form)  
Bưꢀc 1: R_Click Button chọn Properties (nhấn F4)  
Bưꢀc 2: Trong hộp thoại xuất hiện, thực hiện:  
Chọn thẻ Event  
Tại dòng On Click, Click vào dấu 3 chấm  
8
   
Click  
vào dấu  
3 chấm  
Hình 3: Thẻ Event trong hộp thoại Property Sheet  
Chọn Macro Bulder  
Hình 4: Chọn Macro Builder  
Hình 5: Chọn hành động mở From  
Bưꢀc 3: Lưu hành động đã chọn  
Bưꢀc 4: Thực thi sự kiện xem kết quả  
1.6.2. Sử dụng biꢅn cố trong mꢆu biểu, báo biểu  
Để có thể kết hợp các đối tượng của Access phải có cơ chế tham chiếu nội  
dung của các đối tượng.  
9
 
1) Để tham chiếu đến các ô điều khiển của báo biểu dùng cú pháp:  
[Forms]! [Tên biểu mẫu]! [Tên ô điều khiển]  
2) Nếu tham chiếu đến ô điều khiển của báo biểu dùng cú pháp:  
[Forms]! [Tên báo biểu]! [Tên ô điều khiển]  
Những tham chiếu này có thể thực hiện từ truy vấn, báo biểu, biểu mꢁu và  
macro. Việc tham chiếu này cho phép các đối tượng trao đổi dữ liệu vꢀi nhau.  
1.7. Mꢃt số ví dụ  
Ví dụ 1: Tạo biểu mꢁu cho phép nhập vào họ tên và ngày sinh của sinh viên  
cần tìm, để thực hiện thao tác tìm sinh viên có họ tên và ngày sinh học sinh – sinh  
viên nhập vào từ bàn phím.  
Yêu cầu:  
1. Cửa sổ nhập điều kiện tìm kiếm có dạng  
2. Cửa sổ trình bày kết quả tìm kiếm như một bảng truy vấn chứa thông tin  
những mꢁu tin cần tìm.  
Các bưꢀc thiết kế:  
Tạo biểu mꢁu tên “f_tim” chứa hai ô Text box, đꢃt tên “mTenSV”,  
“mNgaysinh” và 2 nút lệnh “Tìm”, “Thoát”  
Nút lệnh “Tìm” gắn vꢀi macro “tim SV”, nút lệnh “Thoát” gắn vꢀi macro  
“thoat” có nội dung chi tiết như sau:  
Macro “tim”  
Action  
Action Arguments  
OpenQuery  
Query Name: Tim SV_vd1  
View: DataSheet  
Data mode: ReadOnly  
Macro “thoat”  
Action  
Close  
Action Arguments  
Object Type: Form  
Object Name: f_tim  
Save: Yes  
Tạo truy vấn lựa chọn có tên “tim SV_vd1” lấy dự liệu từ danh mục DMSV,  
truy vấn này truy vấn đến các ô Text box chứa dữ liệu cần tìm ở bảng “tim  
SV_vd1”  
10  
 
Ví dụ 2:Tạo biểu mꢁu cho phép chọn chế độ in báo cáo “Bang diem SV theo  
lop” ra máy in hay xem trên màn hình.  
Các bưꢀc thiết kế:  
Thiết kế biểu mꢁu chọn cách in có tên “Chon_in” gồm:  
Một Option Group tên “in” vꢀi hai mục  
1. In báo cáo trực tiếp ra máy in  
2. Xem báo cáo trên màn hình rồi in  
Hai nút lệnh tên “Thực hiện” và “Kết thức” có nội dung như sau:  
Macro gắn cho nút lệnh “Thực hiện” là macro có điều kiện có dạng  
Action  
Condition  
Action Arguments  
Open Report  
[Forms]![Chon_in]![in]=1 Report Name: Bang diem SV theo lop  
View: Print  
Open Report  
[Forms]![Chon_in]![in]=2 Report Name: Bang diem SV theo lop  
View: Print Preview  
Macro gắn cho nút lệnh “kết thức” là macro có chức năng đóng biểu mꢁu có  
dạng:  
11  
Action  
Close  
Action Arguments  
Object Type: Form  
Object Name: Chon_in  
Save: Yes  
Ví dụ 3: Tạo biểu mꢁu kiểm tra mật khẩu trưꢀc khi vào chương trình ứng  
dụng trên Access. Cửa sổ kiểm tra mật khẩu có dạng:  
Yêu cầu:  
Nếu mật khẩu không đúng thì thoát khỏi Access, ngược lại thì đóng cửa sổ  
kiểm tra mật khẩu và cho phép làm việc cơ sở dữ liệu của chương trình.  
Thiết kế chi tiết:  
Tạo biểu mꢁu “Kiểm tra mật khẩu” như hình minh hoạ gồm: ô text box và  
nút lệnh chi tiết như sau:  
Ô text box có các thuộc tính:  
Name: Mat_khau  
Input Mask: Password  
Default value: “”  
Nút lệnh “Đồng ý” có thuộc tính có thuộc tính On Click: KTMK (gắn vꢀi macro  
KTMK)  
Các thuộc tính của biểu mꢁu:  
Caption: Kiểm tra mật khẩu  
Selector Record: No  
Navigation Button: No  
Pop Up: Yes  
Modal: Yes  
Tạo macro “KTMK” (kiểm tra mật khẩu) có nội dung như sau:  
Action  
MsgBox  
Quit  
Condition  
[Forms]![Kiểm  
khẩu]![mat_khau] <> “lop13cct”  
…
Action Arguments  
mật Message: sai mật khẩu  
tra  
Object Type: Form  
Object Name: Kiểm tra mật khẩu  
Close  
12  
Bài 2: Lꢀp trꢇnh VBA  
Mục tiêu:  
- Hiểu về môi trưꢇng lập trình VBA;  
- Hiểu một sꢂ khái niệm và cơ chế xử lꢃ của ngôn ngꢈ VBA;  
- Xây dựng và xử lꢃ sự kiện trên các biểu mẫu sử dụng bộ lệnh Docmd;  
- Nghiêm tꢅc, tꢆ mꢆ trong quá trình tiếp nhận lꢃ thuyết và thực hành  
2.1. Môi trường lꢀp trꢇnh VBA  
Visual Basic for Application (VBA) để giúp người dùng có thể tạo ra các tuỳ  
biến mạnh hơn, thân thiện hơn vꢀi trong công việc của mình. Hơn thế nữa VBA  
trên Access đã thể hiện tính chuyên nghiệp trong lập trình, phần nào biến được một  
CSDL đơn giản trở thành những sản phẩm đóng gói thương mại.  
Màn hình làm việc của VBA:  
Hình 2.1.1 Môi trưꢇng làm việc VBA  
Hệ thống thực đơn và thanh công cụ: Cũng như bất kỳ môi trường làm việc  
nào đều có hệ thống thực đơn và thanh công cụ đi kèm. Trên đó có chứa các lệnh để  
gọi, thi hành hoꢃc thiết lập các điều khiển cần thiết.  
Cửa sổ Project Explorer: Có rất nhiều các thành phần có thể lập trình được bởi  
VBA như: Forms, Reports, Modules. Cửa sổ Project Explorer là cây phân cấp lꢀp các  
đối tượng có chứa mã lệnh VBA, đồng thời giúp lập trình viên dễ dàng trong việc viết  
(coding) cũng như quản lý các mã lệnh VBA đã viết.  
Cửa sổ viết lệnh: Cửa sổ viết lệnh là nơi soạn thảo các dòng lệnh VBA. Mỗi  
cửa sổ sẽ chứa toàn bộ mã lệnh cho một đối tượng như: Forms, Reports, Modules.  
Trong mỗi cửa sổ có thể có nhiều phần được viết lệnh, mỗi phần có thể là nội dung  
một khai báo, một chương trình con, nội dung một thủ tục đáp ứng sự kiện.  
Cửa sổ Intermediate: Cửa sổ Intermediate là nơi giúp thi hành trực tiếp một  
câu lệnh nào đó, rất hữu dụng trong việc gỡ lỗi phần mềm.  
13  
   
2.2. Các kiểu dꢈ liꢁu và khai báo  
2.2.1. Các kiểu dꢈ liꢁu:  
Tên kiểu  
Boolean  
Byte  
Kiểu Field tương  
Yes/No  
Byte  
Phạm vi  
True, False  
0 → 255  
Integer  
Integer  
-32768 → 32767  
Long Integer,  
AutoNumber  
Long  
-2147483648 → 2147483647  
-3.402823E+38  
→
-1.401298E-45 và  
Single  
Single  
1.401298E-45 → 3.402823E+38  
-1.79769313486232E+308 →  
-4.94065645841247E-324  
và 4.94065645841247E-324 →  
1.79769313486232E+308  
-922337203685477.5808 →  
922337203685477.5807  
Double  
Double  
Currency  
Currency  
String  
Date  
Text hoꢃc Memo  
Date/ Time  
Kiểu bất kỳ (Date,  
String, Double)  
Chiều dài từ 0 đến 65500 ký tự  
Từ 01/01/100 → 31/12/9999  
Tương tự như các kiểu Date,  
Double, String ở trên  
Variant  
2.2.2. Khai báo  
Type Tên_kiểu_định_nghĩa  
Tên_field_1 As Kiểu_dữ_liệu  
Tên_field_2 As Kiểu_dữ_liệu  
…
End Type  
2.2.3. Kiểu dꢈ liꢁu tự định nghĩa:  
Kiểu dữ liệu tự định nghĩa phải khai báo trong phần  
Declarations của module. Để sử dụnh các thành phần (field) trong kiểu tự định  
nghĩa thì ghi như sau:  
Tên biꢅn. tên file  
Biꢅn (Variable)  
Là đại lượng có giá trị thay đổi tùy thuộc các xử lý. Biến để lưu trữ tạm thời  
các kết quả khi thực hiện các phép tính trong chương trình, các kết quả được so  
sánh vꢀi nhau hoꢃc lại sử dụng trong các phép tính khác.  
Tùy thuộc vào từ khóa khai báo biến và vị trí khai báo mà phạm vi sử dụng  
biến trong các thủ tục sẽ thuộc vào 1 trong 3 trường hợp sau:  
Từ  
khai báo  
khóa  
Loại  
Vị trí khai báo  
Phạm vi sử dụng  
Trong các thủ tục  
Bên trong thủ tục có chứa lệnh  
khai báo  
Biến cục bộ  
Dim  
Trong  
DeclarationTrong bất kỳ các thủ tục thuộc  
Biến thuộc  
đơn thể  
Section của module module có chứa lệnh khai báo  
Dim  
14  
       
Trong Declaration  
Trong bất kỳ thủ tục nào thuộc  
Global hoꢃc  
Section của module bất kỳ module nào của hệ  
thống ứng dụng  
Biến toàn cục  
Public  
Biꢅn tĩnh:  
Thông thường khi 1 thủ tục chấm dứt thi hành thì giá trị các biến cục bộ  
được khai báo trong thủ tục này mất đi và lần gọi thi hành sau đó của thủ tục các  
biến cục bộ sẽ được khởi tạo lại.  
Nếu muốn giữ lại giá trị của biến cục bộ trong 1 thủ tục sau khi thủ tục này  
chấm dứt thi hành thì khai báo biến đó là biến tĩnh theo cú pháp sau:  
Static tên_biꢅn  
Ví dụ:  
Dim I As Integer  
Static S As Double  
Public B As String  
Hằng và hằng ký hiꢁu  
Hằng là đại lượng có giá trị cụ thể và không đổi trong chương trình. Cách  
biểu diễn hằng tùy thuộc vào kiểu dữ liệu của hằng. Nếu hằng được sử dụng nhiều  
lần tại nhiều nơi khác nhau thì nên khai báo hằng ký hiệu để biểu thị cho giá trị  
hằng đó. Hằng ký hiệu sau khi khai báo có thể sử dụng trong các biểu thức nhưng  
không được phép thay đổi giá trị của hằng ký hiệu hoꢃc gán cho hằng ký hiệu 1 giá  
trị khác.  
Phạm vi sử dụng hằng tùy thuộc vào từ khóa khai báo và giá trị khai báo như  
sau:  
Từ khoá khai  
báo  
Loại  
Hằng cụcbộ  
Vị trí khai báo  
Phạm vi sử dụng  
Trong các thủ  
tục  
Bên trong thủ tục có chứa  
lệnh khai báo  
Trong bất kỳ các thủ tục  
thuộc module có chứa lệnh  
khai báo  
Const  
Const  
Global  
Trong  
Hằngthuộc  
đơn thể  
Declaration  
Section của  
module  
Trong  
Trong bất kỳ thủ tục nào  
thuộc bất kỳ module nào của  
hệ thống ứng dụng  
Declaration  
Section của  
module  
Hằng toàncục  
Const hoꢃc  
Public Const  
Ví dụ:  
Const CS = “Trung Tâm Máy tính và Điện tử”  
Const PI = 3.14159  
Const NDN = #1/1/01# Const SAI = False  
Mảng (array)  
Mảng là một dãy các phần tử liên tiếp nhau có cùng một tên gọi và dùng chỉ  
số thứ tự để chỉ định một phần tử nào đó trong mảng.  
Mỗi phần tử được sử dụng giống như một biến. Các phần tử có thể có cùng  
kiểu dữ liệu hoꢃc khác kiểu nếu mảng được khai báo là Variant.  
15  
Từ khóa  
khai  
Loại  
Vị trí khai báo  
Phạm vi sử dụng  
báo  
Trong các thủtục  
Bên trong thủ tụccó chứa  
lệnh khai báo  
Mảng cụcbộ Static  
TrongDeclaration  
Section của module  
Trong bất kỳ cácthủ tục  
thuộc module có chứa lệnh  
khai báo  
Mảngthuộc  
Dim  
đơn thể  
Global  
Dim  
hoꢃc  
TrongDeclaration  
Section của module  
Trong bất kỳ thủtục nào  
thuộc bất kỳ module nào của  
hệ thống ứng dụng  
Mảng  
toàncục  
Public Dim  
2.3. Cꢉu trꢊc lꢁnh  
Các cấu trúc lệnh là thành phần cơ bản của mỗi ngôn ngữ lập trình. Thông  
thường các ngôn ngữ lập trình đều có các cấu trúc lệnh như nhau: lệnh xử lý điều  
kiện, lệnh lꢃp biết trưꢀc số vòng lꢃp, lệnh lꢃp không biết trưꢀc số vòng lꢃp,.. Tuy  
nhiên cách thể hiện (cú pháp) mỗi cấu trúc lệnh có thể khác nhau tuỳ thuộc vào mỗi  
ngôn ngữ lập trình. Hơn nữa, mỗi ngôn ngữ cũng có thể có một số điểm khác biệt,  
đꢃc trưng trong mỗi cấu trúc lệnh.  
Cũng giống như nhiều ngôn ngữ lập trình hiện đại khác, các cấu trúc lệnh  
trong VBA đều tuân thủ các nguyên tắc:  
Có cấu trꢅc  
mỗi cấu trúc lệnh đều có từ khoá bắt đầu và một từ khóa báo hiệu kết thúc.  
Thực hiện tuần tự (loại trừ trường hợp đꢃc biệt thủ tục Goto <Label>)  
Có khả năng lồng nhau  
Cấu trꢅc rẽ nhánh  
Cấu trúc rẽ nhánh hay còn gọi là lệnh lựa chọn. Tức là nếu một điều kiện nào  
đó xảy ra sẽ là gì, hoꢃc trái lại có thể làm gì.  
Cú pháp:  
If <điều kiện> Then  
<thủ tục 1>  
[ Else  
<thủ tục 2> ]  
End If  
Chức năng: nếu <điều kiện> = True thì thực hiện các lệnh trong <thủ tục1>.  
Trái lại thực hiện các lệnh trong <thủ tục 2>.  
Phần trong cꢃp dấu ngoꢃc vuông [..] có thể có hoꢃc không có trong câu lệnh,  
tuỳ thuộc vào mục đích xử lý.  
Ví dụ 1:  
Dim SL As Integer, DG As Double, TT As Double  
SL = Val(InputBox (“Nhập số lượng:”))  
DG = Val(InputBox (“Nhập đơn giá:”))  
TT = SL * DG  
If TT >= 200000 Then TT = TT * 0.95  
Ví dụ 2:  
Const PI = 3.14159  
Dim ban_kinh As Double  
16  
 
ban_kinh = Val(InputBox (“Nhập bán kính:”))  
If ban_kinh > 0 then  
Dim dientich As Double  
Dim chuvi As Double  
Dientich = ban_kinh*ban_kinh*PI Chuvi = ban_kinh*2*PI  
End If  
Cấu trꢅc lựa chọn  
Đây là một loại cấu trúc lựa chọn. Thông thường hoàn toàn có thể sử dụng If  
.. End If để thực hiện các xử lý liên quan đến kiểu cấu trúc này, nhưng trong những  
trường hợp đꢃc biệt, cấu trúc Select Case .. End Select thể hiện được sự tiện dụng  
vượt trội.  
Cú pháp:  
Select Case <biểu thức>  
Case <giá trị 1>  
<thủ tục 1>  
Case <giá trị 2>  
<thủ tục 2>  
………  
Case <giá trị n>  
<thủ tục n>  
[Case Else  
<thủ tục n+1>]  
End Select  
Trong đó: <Biểu thức> luôn trả về giá trị kiểu vô hưꢀng đếm được như: số  
nguyên, xâu ký tự, kiểu logic,..  
Vꢀi cấu trúc này, VBA hoạt động như sau:  
Tính giá trị của biểu thức, Kiểm tra <biểu thức> = <giá trị 1> ?. Nếu đúng thực hiện  
<thủ tục 1> và kết thúc lệnh, thực hiện lệnh tiếp theo sau từ khoá End Select.Nếu  
sai, thực hiện tiếp việc so sánh <biểu thức> = <giá trị i> tiếp theo và xử lý tương tự  
qui trình nêu trên.  
Trong trường hợp <biểu thức><><giá trị i>, i=1..n khi đó có 2 khả năng:  
Nếu có tuỳ chọn Case Else thì VBA sẽ thực hiện <thủ tục n+1>;  
Nếu không có tuỳ chọn Case Else, VBA sẽ không thực hiện bất kỳ thủ tục  
nào đã liệt kê trong vùng Select .. End Select cả mà chuyển tꢀi thực hiện lệnh tiếp  
theo sau từ khoá End Select.  
Cấu trꢅc lặp  
Cấu trúc FOR … NEXT  
For… Next là một cấu trúc lꢃp biết trưꢀc số lần lꢃp trong VBA, tuy nhiên  
trong những tình huống đꢃc biệt, vꢁn có thể sử dụng cấu trúc này như cấu trúc  
không biết trưꢀc được số lần lꢃp.  
Cú pháp:  
For <biến chạy> = <giá trị 1> To <giá trị 2> [Step <n>]  
<thủ tục>  
[Exit For]  
Next  
Trong đó:  
<biến chạy> là biến kiểu vô hưꢀng đếm được, hay dùng nhất là biến kiểu  
nguyên;  
17  
<giá trị 1>, <giá trị 2> là các giá trị mà biến chạy sẽ nhận và thực hiện dịch  
chuyển sau mỗi lần lꢃp. Có thể dịch chuyển đi 1 đơn vị, có thể dịch chuyển  
đi nhiều đơn vị một lần, có thể dịch chuyển tiến, cũng có thể dịch chuyển lùi-  
tất cả điều này tuỳ thuộc vào việc có hay không có tuỳ chọn [Step <n>];  
Nếu có tuỳ chọn [Step <n>] biến chạy sẽ dịch n đơn vị sau mỗi lần lꢃp. Khi  
đó, nếu n>0 dẽ dịch tiến, ngược lại sẽ dịch lùi;  
Mỗi lần lꢃp, VBA sẽ thực hiện <thủ tục> một lần;  
Trong trường hợp đꢃc biệt nếu gꢃp phải lệnh Exit For trong vòng lꢃp, ngay  
lập tức thoát khỏi lệnh lꢃp và thực hiện lệnh tiếp ngay sau từ khoá Next. Chính Exit  
For đã làm mất đi tính lꢃp biết trưꢀc được số lần lꢃp.  
Cấu trúc WHILE … WEND  
While … Wend là một cấu trúc lꢃp không biết trưꢀc số lần lꢃp trong VBA.  
Cú pháp:  
While <điều kiện>  
<thủ tục>  
Wend  
Trong đó:  
While, Wend là các từ khoá của lệnh lꢃp;  
Nếu <điều kiện> = True, các lệnh trong <thủ tục> sẽ được thực hiện. Thực  
hiện xong lại quay lên dòng lệnh While để kiểm tra tiếp <điều kiện>;  
Nếu <điều kiện> = False, sẽ thoát khỏi vòng lꢃp và thực hiện lệnh tiếp theo  
từ khoá Wend.  
Chú ý: Luôn phải chứng minh được rằng, sau một số hữu hạn lần thực hiện  
<thủ tục>, giá trị của <biểu thức> phải là False để thoát khỏi vòng lꢃp. Trong  
trường hợp không thể thoát khỏi vòng lꢃp, có nghĩa người lập trình đã mắc phải lỗi  
lꢃp vô hạn. Có thể dꢁn đến chương trình bị treo.  
2.4. Chương trꢇnh con thꢋ tục và hàm  
Các thủ tục và hàm trong đơn thể Access có hai loại:  
2.4.1. Thꢋ tục (Procedure)  
Các chương trình Basic được viết thành những đơn vị riêng lẻ gọi là thủ tục.  
Trong mỗi thủ tục sẽ chứa các lệnh Basic để thực hiện một xử lý nhất định hoꢃc tính  
toán một giá trị. Có hai loại thủ tục:  
Cú pháp  
[Public] [Private] Sub <tên CTC>([<danh sách các tham số>])  
<thủ tục>  
End Sub  
Trong đó:  
Sub, End Sub là các từ khoá bắt buộc khai báo cấu trúc một chương trình con  
dạng thủ tục;  
<tên CTC> là tên gọi thủ tục định khai báo. Tên không được chứa dấu cách  
(space) và các ký tự đꢃc biệt;  
<danh sách các tham số> danh sách các tham số cần thiết cho thủ tục. Có hay  
không có danh sách này tuỳ thuộc vào thủ tục cần tạo  
<thủ tục> thân chương trình con. Nếu không có từ khoá Public trưꢀc Sub,  
thủ tục đó chỉ có tác dụng cục bộ: trong một module, trong một report hoꢃc trong  
một form. Khi có từ khoá Public trưꢀc Sub, thủ tục sẽ có tác dụng toàn cục. Tức là  
có thể sử dụng bất kỳ nơi nào trên tệp Access đó. Tất nhiên, tất cả những gì khai  
báo là Public phải được khai báo trong phần Decralations của một Module nào đó.  
18  
   
Ví dụ: Xây dựng thủ tục thực hiện tính tổng hai số:  
Sub tong2so(a, b As Double)  
tong = a + b  
End Sub  
‘tổng là biến được khai báo toàn cục  
2.4.2. Hàm (Function)  
Là loại thủ tục trả về một giá trị kết quả duy nhất tại vị trí tham chiếu đến  
hàm đó, vì vậy có thể sử dụng hàm trong các biểu thức. Hàm có thể nhận các đối  
mục để sử dụng trong chương trình. Tổ chức của hàm như sau:  
Cú pháp  
Function <tên hàm>([<danh sách các tham số>]) As <kiểu DL hàm>  
<thủ tục>  
End Function  
Trong đó:  
Function, End Function là các từ khoá bắt buộc khai báo cấu trúc một  
chương trình con dạng hàm;  
<tên hàm> là tên gọi hàm định khai báo. Tên không được chứa dấu cách  
(space) và các ký tự đꢃc biệt;  
<danh sách các tham số> danh sách các tham số cần thiết cho hàm. Có hay  
không có danh sách này tuỳ thuộc vào hàm cần định nghĩa;  
<kiểu DL hàm> kiểu dữ liệu mà hàm sẽ trả lại. Phần này bắt buộc phải được  
khai báo vꢀi mỗi hàm;  
<thủ tục> thân chương trình con. Trong đó câu lệnh <tên hàm> = <biểu  
thức> phải xuất hiện ít nhất một lần trong thủ tục. Câu lệnh này có tác dụng gán giá  
trị cho hàm.  
Chú ý: Nếu không có từ khoá Public trưꢀc Function, hàm đó chỉ có tác dụng cục  
bộ: trong một module, trong một report hoꢃc trong một form.  
Khi có từ khoá Public trưꢀc Function, hàm sẽ có tác dụng toàn cục. Tức là có  
thể sử dụng bất kỳ nơi nào trên tệp Access đó. Tất nhiên, tất cả những gì khai báo là  
Public phải được khai báo trong phần Decralations của một Module nào đó.  
Ví dụ1: Thiết kế hàm tổng để tính tổng hai số:  
Function Tong(a, b As Double) As Double  
Tong = a + b  
End Function  
Ví dụ2: Thiết kế hàm kiểm tra tính nguyên tố của một số:  
Function laNguyenTo(so As Integer) As Boolean  
Dim uoc As Integer  
laNguyenTo = True  
If so > 2 Then  
For uoc = 2 To Int(Sqr(so))  
If so Mod uoc = 0 Then  
laNguyenTo = False  
Exit For  
End If  
Next  
End If  
End Function  
19  
 
Tải về để xem bản đầy đủ
pdf 56 trang yennguyen 19120 Free
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Quản trị cơ sở dữ liệu Access 2 - Nghề: Công nghệ thông tin", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_quan_tri_co_so_du_lieu_access_2_nghe_cong_nghe_th.pdf