Chào mừng quý vị đến với Thày giáo làng.
Quý vị chưa đăng nhập hoặc chưa đăng ký làm thành viên, vì vậy chưa thể tải được các tư liệu của Thư viện về máy tính của mình.
Nếu chưa đăng ký, hãy đăng ký thành viên tại đây hoặc xem phim hướng dẫn tại đây
Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay ô bên phải.
Bài giảng Access (bài 9-Modules)

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Đinh Văn Tước (trang riêng)
Ngày gửi: 14h:51' 15-06-2009
Dung lượng: 111.7 KB
Số lượt tải: 151
Nguồn:
Người gửi: Đinh Văn Tước (trang riêng)
Ngày gửi: 14h:51' 15-06-2009
Dung lượng: 111.7 KB
Số lượt tải: 151
Số lượt thích:
0 người
1
Chương V: Lập trình
(Modules)
Khoa Tin học
Trang 2
1. Giới thiêu.
Để giải quyết một bài toán nhiều khi các công cụ của Access như Form, Report,... không cung cấp cho ta đủ công cụ để giải quyết, hay giải quyết không dứt điểm và Module cho phép chúng ta làm điều đó.
Access sử dụng ngôn ngữ VBA (Visual Basic for Application) để viết các chương trình nhằm giải quyết bài toán theo cách riêng của mình.
Khoa Tin học
Trang 3
2. Module
Module là gì?
Là một đối tượng dùng để xây dựng các chương trình, là một công cụ mạnh và tuyệt vời trong Access.
Cách tạo một Module.
Tại cửa sổ CSDL chọn Modules/ New
Khoa Tin học
Trang 4
3. Cấu trúc của các chương trình con trong module.
Trong Module có 2 loại :
Function: Thủ tục hàm (gọi tắt là hàm)
Procedure:Thủ tục chương trình con (gọi tắt là thủ tục)
Ta lần lượt xét chúng:
Khoa Tin học
Trang 5
a) Thủ tục
Được khai báo như sau:
Sub Ten_TT(DS biến)
Khai báo biến
Nhóm lệnh
Hiện Kết quả
End Sub
b) Hàm
Được khai báo như sau:
Function Ten_ham(DS biến) as KDL
Khai báo biến
Nhóm lệnh ten_ham=giá trị
End Funtion
Khoa Tin học
Trang 6
Giải thích:
Ten_TT(Tên thủ tục),Ten_ham (Tên hàm) không chứa dấu cách.
KDL(Kiểu dữ liệu) là một trong những kiểu dữ liệu cơ bản sau:
Kiểu số nguyên: Byte, Integer, Long.
Kiểu số thực: Single, Double.
Kiểu xâu: String.
Khoa Tin học
Trang 7
Khai báo biến.
Cách khai báo biến: Dim tên_biến As KDL
Tên_biến: Là một chuỗi kí tự liền bắt đầu bằng chữ, không quá 45 kí tự, không trùng với từ khóa.
Nhóm lệnh: Sẽ được giới thiệu sau.
Khoa Tin học
Trang 8
4. Các phép toán
Số học: +,-, *, Mod, .
So sánh: >, <, >=, .
Logic: and, or, not
Ghép chuỗi: &, +
5. Một nhóm lệnh về lập trình
Khoa Tin học
Trang 9
a) Lệnh Inputbox.
Cho phép nhập dữ liệu từ bàn phím
Cú pháp.
Inputbox("thông báo","Tiêu đề",[giá trị ngầm định])
Ví dụ.
a=inputbox("Nhap vao gt a:","Vao DL",0)
5.1. Vào ra dữ liệu
Khoa Tin học
Trang 10
b) Lệnh Msgbox
Hiện hộp thoại thông báo
Cú pháp:
Msgbox("thông báo",,[tiêu đề])
Ví dụ.
MsgBox "Chao các bạn",vbinformation,"Ket qua"
Khoa Tin học
Trang 11
c) Một số thí dụ.
Cú pháp
Msgbox("thông báo",,[tiêu đề])
Ta viết
Sub chuongtrinh()
MsgBox "Chao em, Thay rat quy em", vbInformation, " Thong bao"
End Sub
Khoa Tin học
Trang 12
hoặc
Sub thu7()
MsgBox "Chao ban", vbCritical, " thu 7 thong bao"
End Sub
Cú pháp
Inputbox("thông báo","Tiêu đề",[giá trị ngầm định])
Khoa Tin học
Trang 13
Sub vaoso()
Dim a As Integer
a = InputBox("Vao so a", "Thong bao", 3)
End Sub
Sub ChaoMayTinh()
Dim a As Integer, Dim b As Integer
a = InputBox("Vao so a", "Thong bao", 3)
b = InputBox("Vao so a", "Thong bao", 3)
End Sub
Khoa Tin học
Trang 14
5.2 Lệnh rẽ nhánh IF
Dạng 1
If <ĐK> Then
Nhóm lệnh 1
End If
Dạng 2
If <ĐK> Then
Nhóm lệnh 1
Else
Nhóm lệnh 2
End If
Khoa Tin học
Trang 15
1`
Nhập vào một số, kiểm tra số đó có chia hết cho 2 không?
a=inputbox("Nhap a:")
if a mod 2=0 then
msgbox "So" & a & " Chia het cho 2"
end if
Nhập một số a, kiểm tra xem a là số chẵn hay lẻ
a=inputbox("Nhap a:")
if a mod 2 = 0 then
msgbox a & " Là số chẵn"
else
msgbox a & "Là số lẻ"
end if
Khoa Tin học
Trang 16
-VD: tìm max của 3 số: a, b, c nhập từ bàn phím
-VD: Cộng điểm khu vực(Dùng lệnh lồng nhau)
-VD: Giải ptb2 (đk Delta)
Khoa Tin học
Trang 17
6.3 Lệnh SELECT CASE
Cú pháp:
Select Case BT
Case gt1
nhóm lệnh 1
Case gt2
nhóm lệnh 2
.......
Case else
nhóm lệnh n+1
End Select
Sự thực hiện:
Biểu thức (BT) có giá trị thuộc giá trị nào thì chương trình sẽ thực hiện nhóm lệnh đó.
Nếu BT không thuộc một trong các giá trị đó, chương trình sẽ thực hiện tại nhóm lệnh n+1(nếu có) hoặc thoát khỏi lệnh Select case
18
VD: Chương trình lập lịch(Bạn nhập vào thứ, máy sẽ thông báo công việc hôm đó
Sub Lich()
Dim Thu As Byte
Thu = InputBox("Ban chon thu may?", "lich")
Select Case Thu
Case 2
tb = "Hoc Tieng Anh"
Case 3
tb = "Quan tri Doanh Nghiep"
Case 4
tb = "Ke toan May"
Case 5,6
tb = "Cac mon hoc khac"
Case 7
tb = "Tin hoc quan ly"
Case Else
tb = "Di choi"
End Select
MsgBox tb, vbInformation, "Lich cong tac"
End Sub
19
-VD: Cộng điểm khu vực(Dùng lệnh lồng nhau)
-VD: Giải ptb2 (đk Delta)
-Chương trình đổi tiền việt ra ngoại tệ
- ... ...
* So sánh giữa lệnh IF và Select case
Khoa Tin học
Trang 20
6.4 lệnh lặp FOR NEXT
a) Cú pháp:
For bien_dem= to [step bước]
Nhóm lệnh
Next [bien_dem]
Khoa Tin học
Trang 21
Vd: Tính tổng từ 1 đến 10
Dim tong as integer
For i=1 to 10
tong=tong+i
Next i
Msgbox "Tong la:" & tong
Vd: -Tính 1+2+3+...+n
-Tính 1+3+5+...+2n+1
Khoa Tin học
Trang 22
6.4 lệnh lặp do...loop
a) Dạng 1:
Cú pháp:
Do While ĐK
Nhóm lệnh
Loop
Sự thực hiện:
B1. Kiểm tra ĐK
B2.Nếu ĐK sai thì kết thúc vònh lặp
B3. ĐK đúng thì: làm những lệnh trong vòng lặp và quay về (B1)
Khoa Tin học
Trang 23
VD: Tính biểu thức 1+2+3+...+n
Sub tinhGT()
Dim n, i, s As Integer
n = Val(InputBox("Nhap n:"))
i = 1
s = 0
Do While i <= n
s = s + i
i = i + 1
Loop
MsgBox "Tong gia tri la:" & s
End Sub
Khoa Tin học
Trang 24
vd2. Nhập số nguyên dương p, tìm số n đầu tiên để s=1+2+3+...n>p
Sub Tim_N()
Dim n, p, s As Integer
p = Val(InputBox(" Nhap vao so nguyen duong"))
n = 0
s = 0
Do While s <= p
n = n + 1
s = s + n
Loop
MsgBox " Gia tri tim duoc n=" & n
End Sub
( VD Tìm BSCNN của hai số a,b)
Khoa Tin học
Trang 25
b) Dạng 2:
Cú pháp:
Do Until ĐK
Nhóm lệnh
Loop
Sự thực hiện:
B1. Kiểm tra ĐK
B2.Nếu ĐK đúng thì kết thúc vònh lặp
B3. ĐK sai thì: làm những lệnh trong vòng lặp và quay về (B1)
Khoa Tin học
Trang 26
VD: tính số tháng để gửi 5000 với lãi suất là 9% được 10000
Sub TimSoThang()
Dim tg, thang, thu, ls As Double
thang = 0
tg = 5000
thu = 10000
ls = 0.09
Do Until tg >= thu
thang = thang + 1
tg = tg + tg * ls
Loop
MsgBox "Tong so thang la:" & thang
End Sub
Khoa Tin học
Trang 27
7. Module cho Biểu mẫu
7.1 Nội dung module của Form
Gồm:
+nhóm chung (General)
+nhóm Form
+nhóm ứng với điều khiển trên form
Cách mở:
-Mở một Form dạng Design View
-Mở menu View/ chọn Code ( Nhấp vào nút "Code" trên thanh công cụ)
Khoa Tin học
Trang 28
Giải thích
Nhóm chung: là nơi để khai báo, tạo các chương trình con cho các thủ tục của form, điều khiển và các chương trình con khác cần dùng đến
Nhóm Form: Soạn thảo các thủ tục đáp ứng sự kiện của Form
Nhóm điều khiển: Soạn thảo các thủ tục đáp ứng sự kiện của các điều khiển trên Form
VD
Khoa Tin học
Trang 29
7.2 Tạo chương trình con gắn với nút lệnh (CommandButton)
Cách Tạo
B1. Đưa nút lệnh vào Form
Khoa Tin học
Trang 30
B2. Mở cửa sổ Class module
c1:Chọn nút lệnh/ kích nút "Build" trên thang công cụ/ Code builder/ OK
c2:Kích phải vào nút lệnh/ Build Event/ Code builder/ OK
Khoa Tin học
Trang 31
B3. Soạn thảo chương trình con
B4. Ghi và chạy thử
-Mở form dạng View sau đó kích chuột vào nút lệnh, và thực hiện chương trình
Khoa Tin học
Trang 32
VD: Tạo một nút lệnh, để tính giá trị của biểu thứ: 1+2+3+...n
B1: Mở Form dạng Designer, dưa nút lệnh vào form
B2: Mở cưa sổ soạn thảo
B3: Soạn thảo chương trình
B4: Mở form dạng View, Kích chuột vào nút lệnh Và thực hiện bài toán
Khoa Tin học
Trang 33
7.3 Sử dụng chương trình con dùng chung gắn cho nút lệnh
yêu cầu: Đã có chương trình con
B1: Tạo nút lệnh trên Form
B2: Mở cửa sổ soạn thảo
B3: Dùng từ khóa CALL để gọi chương trình con để thực hiện
VD: Call tinhtong
B4: Ghi và chạy thử
VD:
Khoa Tin học
Trang 34
7.4 Xây dựng hàm để gọi một thủ tục và gắn vào nút lệnh
B1. Soạn thảo một thủ tục( hoặc một thủ tục có sẵn trong module)
B2. Tạo hàm để gọ
Chương V: Lập trình
(Modules)
Khoa Tin học
Trang 2
1. Giới thiêu.
Để giải quyết một bài toán nhiều khi các công cụ của Access như Form, Report,... không cung cấp cho ta đủ công cụ để giải quyết, hay giải quyết không dứt điểm và Module cho phép chúng ta làm điều đó.
Access sử dụng ngôn ngữ VBA (Visual Basic for Application) để viết các chương trình nhằm giải quyết bài toán theo cách riêng của mình.
Khoa Tin học
Trang 3
2. Module
Module là gì?
Là một đối tượng dùng để xây dựng các chương trình, là một công cụ mạnh và tuyệt vời trong Access.
Cách tạo một Module.
Tại cửa sổ CSDL chọn Modules/ New
Khoa Tin học
Trang 4
3. Cấu trúc của các chương trình con trong module.
Trong Module có 2 loại :
Function: Thủ tục hàm (gọi tắt là hàm)
Procedure:Thủ tục chương trình con (gọi tắt là thủ tục)
Ta lần lượt xét chúng:
Khoa Tin học
Trang 5
a) Thủ tục
Được khai báo như sau:
Sub Ten_TT(DS biến)
Khai báo biến
Nhóm lệnh
Hiện Kết quả
End Sub
b) Hàm
Được khai báo như sau:
Function Ten_ham(DS biến) as KDL
Khai báo biến
Nhóm lệnh ten_ham=giá trị
End Funtion
Khoa Tin học
Trang 6
Giải thích:
Ten_TT(Tên thủ tục),Ten_ham (Tên hàm) không chứa dấu cách.
KDL(Kiểu dữ liệu) là một trong những kiểu dữ liệu cơ bản sau:
Kiểu số nguyên: Byte, Integer, Long.
Kiểu số thực: Single, Double.
Kiểu xâu: String.
Khoa Tin học
Trang 7
Khai báo biến.
Cách khai báo biến: Dim tên_biến As KDL
Tên_biến: Là một chuỗi kí tự liền bắt đầu bằng chữ, không quá 45 kí tự, không trùng với từ khóa.
Nhóm lệnh: Sẽ được giới thiệu sau.
Khoa Tin học
Trang 8
4. Các phép toán
Số học: +,-, *, Mod, .
So sánh: >, <, >=, .
Logic: and, or, not
Ghép chuỗi: &, +
5. Một nhóm lệnh về lập trình
Khoa Tin học
Trang 9
a) Lệnh Inputbox.
Cho phép nhập dữ liệu từ bàn phím
Cú pháp.
Inputbox("thông báo","Tiêu đề",[giá trị ngầm định])
Ví dụ.
a=inputbox("Nhap vao gt a:","Vao DL",0)
5.1. Vào ra dữ liệu
Khoa Tin học
Trang 10
b) Lệnh Msgbox
Hiện hộp thoại thông báo
Cú pháp:
Msgbox("thông báo",
Ví dụ.
MsgBox "Chao các bạn",vbinformation,"Ket qua"
Khoa Tin học
Trang 11
c) Một số thí dụ.
Cú pháp
Msgbox("thông báo",
Ta viết
Sub chuongtrinh()
MsgBox "Chao em, Thay rat quy em", vbInformation, " Thong bao"
End Sub
Khoa Tin học
Trang 12
hoặc
Sub thu7()
MsgBox "Chao ban", vbCritical, " thu 7 thong bao"
End Sub
Cú pháp
Inputbox("thông báo","Tiêu đề",[giá trị ngầm định])
Khoa Tin học
Trang 13
Sub vaoso()
Dim a As Integer
a = InputBox("Vao so a", "Thong bao", 3)
End Sub
Sub ChaoMayTinh()
Dim a As Integer, Dim b As Integer
a = InputBox("Vao so a", "Thong bao", 3)
b = InputBox("Vao so a", "Thong bao", 3)
End Sub
Khoa Tin học
Trang 14
5.2 Lệnh rẽ nhánh IF
Dạng 1
If <ĐK> Then
Nhóm lệnh 1
End If
Dạng 2
If <ĐK> Then
Nhóm lệnh 1
Else
Nhóm lệnh 2
End If
Khoa Tin học
Trang 15
1`
Nhập vào một số, kiểm tra số đó có chia hết cho 2 không?
a=inputbox("Nhap a:")
if a mod 2=0 then
msgbox "So" & a & " Chia het cho 2"
end if
Nhập một số a, kiểm tra xem a là số chẵn hay lẻ
a=inputbox("Nhap a:")
if a mod 2 = 0 then
msgbox a & " Là số chẵn"
else
msgbox a & "Là số lẻ"
end if
Khoa Tin học
Trang 16
-VD: tìm max của 3 số: a, b, c nhập từ bàn phím
-VD: Cộng điểm khu vực(Dùng lệnh lồng nhau)
-VD: Giải ptb2 (đk Delta)
Khoa Tin học
Trang 17
6.3 Lệnh SELECT CASE
Cú pháp:
Select Case BT
Case gt1
nhóm lệnh 1
Case gt2
nhóm lệnh 2
.......
Case else
nhóm lệnh n+1
End Select
Sự thực hiện:
Biểu thức (BT) có giá trị thuộc giá trị nào thì chương trình sẽ thực hiện nhóm lệnh đó.
Nếu BT không thuộc một trong các giá trị đó, chương trình sẽ thực hiện tại nhóm lệnh n+1(nếu có) hoặc thoát khỏi lệnh Select case
18
VD: Chương trình lập lịch(Bạn nhập vào thứ, máy sẽ thông báo công việc hôm đó
Sub Lich()
Dim Thu As Byte
Thu = InputBox("Ban chon thu may?", "lich")
Select Case Thu
Case 2
tb = "Hoc Tieng Anh"
Case 3
tb = "Quan tri Doanh Nghiep"
Case 4
tb = "Ke toan May"
Case 5,6
tb = "Cac mon hoc khac"
Case 7
tb = "Tin hoc quan ly"
Case Else
tb = "Di choi"
End Select
MsgBox tb, vbInformation, "Lich cong tac"
End Sub
19
-VD: Cộng điểm khu vực(Dùng lệnh lồng nhau)
-VD: Giải ptb2 (đk Delta)
-Chương trình đổi tiền việt ra ngoại tệ
- ... ...
* So sánh giữa lệnh IF và Select case
Khoa Tin học
Trang 20
6.4 lệnh lặp FOR NEXT
a) Cú pháp:
For bien_dem=
Nhóm lệnh
Next [bien_dem]
Khoa Tin học
Trang 21
Vd: Tính tổng từ 1 đến 10
Dim tong as integer
For i=1 to 10
tong=tong+i
Next i
Msgbox "Tong la:" & tong
Vd: -Tính 1+2+3+...+n
-Tính 1+3+5+...+2n+1
Khoa Tin học
Trang 22
6.4 lệnh lặp do...loop
a) Dạng 1:
Cú pháp:
Do While ĐK
Nhóm lệnh
Loop
Sự thực hiện:
B1. Kiểm tra ĐK
B2.Nếu ĐK sai thì kết thúc vònh lặp
B3. ĐK đúng thì: làm những lệnh trong vòng lặp và quay về (B1)
Khoa Tin học
Trang 23
VD: Tính biểu thức 1+2+3+...+n
Sub tinhGT()
Dim n, i, s As Integer
n = Val(InputBox("Nhap n:"))
i = 1
s = 0
Do While i <= n
s = s + i
i = i + 1
Loop
MsgBox "Tong gia tri la:" & s
End Sub
Khoa Tin học
Trang 24
vd2. Nhập số nguyên dương p, tìm số n đầu tiên để s=1+2+3+...n>p
Sub Tim_N()
Dim n, p, s As Integer
p = Val(InputBox(" Nhap vao so nguyen duong"))
n = 0
s = 0
Do While s <= p
n = n + 1
s = s + n
Loop
MsgBox " Gia tri tim duoc n=" & n
End Sub
( VD Tìm BSCNN của hai số a,b)
Khoa Tin học
Trang 25
b) Dạng 2:
Cú pháp:
Do Until ĐK
Nhóm lệnh
Loop
Sự thực hiện:
B1. Kiểm tra ĐK
B2.Nếu ĐK đúng thì kết thúc vònh lặp
B3. ĐK sai thì: làm những lệnh trong vòng lặp và quay về (B1)
Khoa Tin học
Trang 26
VD: tính số tháng để gửi 5000 với lãi suất là 9% được 10000
Sub TimSoThang()
Dim tg, thang, thu, ls As Double
thang = 0
tg = 5000
thu = 10000
ls = 0.09
Do Until tg >= thu
thang = thang + 1
tg = tg + tg * ls
Loop
MsgBox "Tong so thang la:" & thang
End Sub
Khoa Tin học
Trang 27
7. Module cho Biểu mẫu
7.1 Nội dung module của Form
Gồm:
+nhóm chung (General)
+nhóm Form
+nhóm ứng với điều khiển trên form
Cách mở:
-Mở một Form dạng Design View
-Mở menu View/ chọn Code ( Nhấp vào nút "Code" trên thanh công cụ)
Khoa Tin học
Trang 28
Giải thích
Nhóm chung: là nơi để khai báo, tạo các chương trình con cho các thủ tục của form, điều khiển và các chương trình con khác cần dùng đến
Nhóm Form: Soạn thảo các thủ tục đáp ứng sự kiện của Form
Nhóm điều khiển: Soạn thảo các thủ tục đáp ứng sự kiện của các điều khiển trên Form
VD
Khoa Tin học
Trang 29
7.2 Tạo chương trình con gắn với nút lệnh (CommandButton)
Cách Tạo
B1. Đưa nút lệnh vào Form
Khoa Tin học
Trang 30
B2. Mở cửa sổ Class module
c1:Chọn nút lệnh/ kích nút "Build" trên thang công cụ/ Code builder/ OK
c2:Kích phải vào nút lệnh/ Build Event/ Code builder/ OK
Khoa Tin học
Trang 31
B3. Soạn thảo chương trình con
B4. Ghi và chạy thử
-Mở form dạng View sau đó kích chuột vào nút lệnh, và thực hiện chương trình
Khoa Tin học
Trang 32
VD: Tạo một nút lệnh, để tính giá trị của biểu thứ: 1+2+3+...n
B1: Mở Form dạng Designer, dưa nút lệnh vào form
B2: Mở cưa sổ soạn thảo
B3: Soạn thảo chương trình
B4: Mở form dạng View, Kích chuột vào nút lệnh Và thực hiện bài toán
Khoa Tin học
Trang 33
7.3 Sử dụng chương trình con dùng chung gắn cho nút lệnh
yêu cầu: Đã có chương trình con
B1: Tạo nút lệnh trên Form
B2: Mở cửa sổ soạn thảo
B3: Dùng từ khóa CALL để gọi chương trình con để thực hiện
VD: Call tinhtong
B4: Ghi và chạy thử
VD:
Khoa Tin học
Trang 34
7.4 Xây dựng hàm để gọi một thủ tục và gắn vào nút lệnh
B1. Soạn thảo một thủ tục( hoặc một thủ tục có sẵn trong module)
B2. Tạo hàm để gọ
Bài giảng Access(bài 9- Modules)
↓ CHÚ Ý: Bài giảng này được nén lại dưới dạng RAR và có thể chứa nhiều file. Hệ thống chỉ hiển thị 1 file trong số đó, đề nghị các thầy cô KIỂM TRA KỸ TRƯỚC KHI NHẬN XÉT ↓






Các ý kiến mới nhất