Modules
Chia sẻ bởi Trần Ngọc Vũ An |
Ngày 23/10/2018 |
39
Chia sẻ tài liệu: Modules thuộc Bài giảng khác
Nội dung tài liệu:
Phần VI: Lập trình Modules
Friday, May 21, 2010
2
Access 2000 cho phép sử dụng ngôn ngữ VBA =
Visual Basic for Application để viết các hàm
(Function) và thủ tục (Sub) nhằm xử lý các đối
tượng (Table, Queries, Form, Report, Macro...)
được tạo ra bằng các công cụ của Access.
Friday, May 21, 2010
3
I. Các khái niệm cơ bản
1. Module là gì?
Là một đối tượng dùng để xây dựng các chương trình con là: thủ tục và hàm, có thể thực hiện trực tiếp hoặc gián tiếp thông qua các điều khiển trên trên biểu mẫu (Form).
Module chia làm hai loại:
Module sử dụng chung: dùng để xây dựng các thủ tục và hàm cấp chương trình.
Module riêng của các đối tượng trên Form, report
Friday, May 21, 2010
4
Cấu trúc chương trình con trong Module
Thủ tục Sub:
Sub Tên_Thủ_Tục(DS biến)
Các lệnh của thủ tục
End Sub
Hàm Function:
Function Tên_Hàm(DS biến) As Kiểu DL
Các lệnh tính toán của hàm
Tên_Hàm = Giá trị
End Function
Chú ý: Tên hàm, tên thủ tục bao gồm chữ cáI và chữ số. phải được viết liền và không được bắt đầu từ số.
Friday, May 21, 2010
5
Biến trong chương trình:
Khái niệm biến:
Biến là một vùng bộ nhớ được định danh bởi một tên gọi, nhằm lưu trữ dữ liệu trong quá trình xử lý, tính toán trong chương trình.
Cách khai báo biến:
Trong Access biến không bắt buộc phải khai báo trước khi sử dụng. Nhưng để kiểm soát được bộ nhớ và tránh việc sử dụng tên biến trùng nhau ta nên khai báo các biến trước khi sử dụng.
Để khai báo biến ta dùng từ khoá DIM như sau:
Friday, May 21, 2010
6
DIM Tên_biến As Kiểu_dữ_liệu
DIM, AS là hai từ khoá dùng để khai báo biến.
Tên_biến: là một chuỗi ký tự liên tiếp được bắt đầu từ ký tự văn bản, không chứa dấu cách và không trùng với từ khoá như: DIM, AS, SUB, ...
Kiểu dữ liệu là một trong các kiểu sau:
Friday, May 21, 2010
7
Bảng mô tả giá trị của các kiểu dữ liệu cơ bản
VD: DIM A As Single, B As Long, Hoten As String*25
Nếu một biến chưa được khai báo khi sử dụng thì nó được mang kiểu Variant.
Friday, May 21, 2010
8
c. Một số khái niệm khác
+ Phép gán:
Biến=
- Vế trái (Biến) chỉ có thể là một biến
- Vế phải (Biểu thức) có thể là biến, hằng hay biểu thức. Nhưng kết quả trả về phảI cùng kiểu với vế trái
Ví dụ: A=(B+C)/2
+ Các toán tử về số: +, -,*,/,.
+ Các toán tử về xâu: +, &,.
Friday, May 21, 2010
9
Phân tich một chương trình.
B1: Xác định dữ liệu vào (Input) để khai báo biến.
B2: Xử lý, tính toán trên các biến.
B3: In kết quả.
VD: Chương trình vào hai số A, B từ bàn phím sau đó tính Tổng và Tich.
A, B là hai biến có kiểu số thực, Tong, Tich là hai biến để lưu kết quả của quá trình tính toán.
Tong = A + B, Tich = A*B.
In Tong và Tich
Soạn thảo và chạy chương trình.
Friday, May 21, 2010
10
Các bước soạn thảo chương trình.
B1: Mở hoặc tạo mới một CSDL/ Modules/ New.
B2: Khai báo các biến cần sử dụng trong chương trình bằng từ khoá DIM Tên_biến As Kiểu_dữ liệu.
B3: Khai báo một thủ tục chương trình bằng từ khoá Sub Tên_thủ_tục().
B4: Cài đặt mã lệnh cho thủ tục Sub.
B5: Ghi chương trình lên đĩa: File/ Save.
B6: Chạy chương trình để kiểm thử: RUN/ Run Sub.
Friday, May 21, 2010
11
Lệnh nhập dữ liệu InputBox.
Chức năng:
Dùng để nhập dữ liệu từ bàn phím và gán giá trị đó cho một biến nhớ trong chương trình.
Cú pháp:
Tên_biến = InputBox("Lời nhắc", "Tiêu đề", Giá trị)
"Lời nhắc": là một dòng văn bản dướng dẫn nhập liệu, bắt buộc phải có trong lệnh InputBox,
"Tiêu đề": là tiêu đề của hộp thoại nhập liệu, không bắt buộc phải có.
Giá trị: là giá trị mặc định của hộp nhập liệu, không bắt buộc phải có.
VD: A = InputBox("Nhap a =", "Nhap lieu", 0)
Các lệnh nhập/ xuất dữ liệu.
Friday, May 21, 2010
12
Chức năng:
Dùng để xuất dữ liệu từ các biến trong chương trình ra màn hình.
Cú pháp:
MsgBox Tên_biến, Kiểu_biểu_tượng, "Tiêu đề"
Tên_biến: có thể là một biến hoặc một giá trị cụ thể, bắt buộc phải có.
Kiểu_biểu_tượng: để hiển thị các biểu tượng lên hộp thoại xuất, không bắt buộc phải có.
"Tiêu đề": là tiều đề của hộp nhập liệu, không bắt buộc phải có.
VD1: MsgBox A, "Ket qua"
VD2: MsgBox "Tong = " & Tong, VbOkOnly, "Ket qua"
VD3: MsgBox "A = " & A & VbCrlf & "B = " & B, VbInformation, "Ket qua"
Lệnh xuất dữ liệu MsgBox.
Friday, May 21, 2010
13
Bài toán: Viết chương trình nhập hai số từ bàn phím, sau đó in ra Tổng và Tich của hai số đó.
Chú ý: Để giải thích trong chương trình Access ta sử dụng từ khoá REM hoặc dấu nháy đơn vào đầu dòng giải thích.
Chương trình: Mở CSDL/ Modules/ New và soạn thảo:
REM Khai báo các biến
Dim A As Double, B As Double, Tong As Double, Tich As Double
Sub Tong_Tich()
A = InputBox( "Nhap A =", "Nhap lieu", 0)
B = InputBox( "Nhap B =", "Nhap lieu", 0)
Tong = A + B
Tich = A * B
MsgBox "Tong = " & Tong & vbCrLf & "Tich = " & Tich, "Ket qua"
End Sub
Ví dụ về chương trình vào, ra dữ liệu
Friday, May 21, 2010
14
II. Các lệnh điều khiển chương trình
Để thể hiện giải thuật (các bước giải quyết bài toán), bất kỳ ngôn ngữ lập trình nào cũng có các lệnh điều khiển sau:
Friday, May 21, 2010
15
Lệnh rẽ nhánh IF
Lệnh rẽ nhánh IF không đủ:
Cú pháp:
IF ĐK Then
{ Khối lệnh }
End If
IF, Then, End If là các từ khoá bắt buộc phải có.
ĐK là một biểu thức điều kiện hoặc hàm điều kiện chỉ trả về giá trị True/ False.
{ Khối lệnh } là một hoặc nhiều lệnh lập trình trong Access.
Hoạt động:
Nếu ĐK = True thì thực hiện { Khối lệnh } và thoá khỏi lệnh IF. Còn ĐK = False thì thoát khỏi lệnh IF mà không thực hiện { Khối lệnh }.
Friday, May 21, 2010
16
Lệnh rẽ nhánh IF đầy đủ:
Cú pháp:
IF ĐK Then
{ Khối lệnh 1 }
Else
{ Khối lệnh 2 }
End If
Hoạt động:
Nếu ĐK = True thì thực hiện { Khối lệnh 1 }, bỏ qua { Khối lệnh 2 } và thoát khỏi lệnh IF.
Nếu ĐK = False thì thực hiện { Khối lệnh 2 }, bỏ qua { Khối lệnh 1 } và thoát khỏi lệnh IF.
Chú ý:
Một IF chỉ có một Else và một End If, nếu If không có Else thì về trường hợp a).
Các ví dụ:
Friday, May 21, 2010
17
Lệnh lựa chọn Select Case
Cú pháp:
Select Case BT
Case Gt1
{ Khối lệnh 1 }
Case Gt2
{ Khối lệnh 2 }
...................................
Case GtN
{ Khối lệnh N }
Case Else
{ Khối lênh N + 1 }
End Select
Friday, May 21, 2010
18
Hoạt động:
Kiểm tra giá trị của biểu thức.
Nếu BT bằng một trong các giá trị (GT1, GT2, ..., GTN) thì thực hiện khối lệnh đó ( { Khối lệnh 1 }, { Khối lệnh 2 }, ... , { Khối lệnh N }), bỏ qua tất cả các khối lệnh khác và thoát khỏi Select Case.
Nếu BT không bằng giá trị nào trong đó thì máy hực hiện { Khối lệnh N + 1 } và thoát khỏi Select Case.
Chú ý
Nếu không có Case Else { Khối lệnh N + 1 } thì máy không thực hiện khối lệnh nào cảu mà thoát ngay khỏi Select Case khi BT không bằng một trong các giá trị (GT1, GT2,..., GTn)
Friday, May 21, 2010
19
Lệnh lặp với số lần biết trước FOR . TO.NEXT
Cú pháp:
FOR = TO [STEP N/ -N]
{ Khối lệnh }
NEXT
FOR, TO, NEXT là các từ khoá của vùng lặp, bắt buộc phải có.
[STEP N] là bước nhẩy của hai giá trị liên tiếp, nếu không có [Step N] ? N = 1.
{ Khối lệnh } là một hoặc nhiều lệnh để lệnh FOR thực hiện.
Friday, May 21, 2010
20
Hoạt động của FOR TO NEXT
TH1: Nếu nhỏ hơn
B1: So sánh với .
Nếu <= thì
thực hiện { Khối lệnh }
Tăng = + N
Quay lại B1 để so sanh lại lần tiếp theo.
Nếu lớn hơn thì không thực hiện { Khối lệnh } mà thoát khỏi vòng lặp FOR.
Ví dụ: Tính tổng 1 + 2 + 3 + . + N với N nguyên dương được nhập từ bàn phím.
Friday, May 21, 2010
21
TH1: Nếu lớn hơn thì STEP - N
B1: So sánh với .
Nếu >= thì
Thực hiện { Khối lệnh }
Giảm = - N
Quay lại B1 để so sanh lại lần tiếp theo.
Nếu nhỏ hơn thì không thực hiện { Khối lệnh } mà thoát khỏi vòng lặp FOR.
Ví dụ: Tính tích 10 * 8 * 6 *.* 2.
Friday, May 21, 2010
22
Lệnh lặp DO WHILE ... LOOP
Cú pháp:
DO WHILE <ĐK>
{ Khối lệnh }
LOOP
DO, WHILE, LOOP là các từ khoá của vùng lặp, bắt buộc phải có.
{ Khối lệnh } là một hoặc nhiều lệnh để lệnh FOR thực hiện.
Friday, May 21, 2010
23
Lệnh lặp DO UNTIL ... LOOP
Cú pháp:
DO UNTIL <ĐK>
{ Khối lệnh }
LOOP
DO, UNTIL, LOOP là các từ khoá của vùng lặp, bắt buộc phải có.
{ Khối lệnh } là một hoặc nhiều lệnh để lệnh WHILE thực hiện.
Friday, May 21, 2010
2
Access 2000 cho phép sử dụng ngôn ngữ VBA =
Visual Basic for Application để viết các hàm
(Function) và thủ tục (Sub) nhằm xử lý các đối
tượng (Table, Queries, Form, Report, Macro...)
được tạo ra bằng các công cụ của Access.
Friday, May 21, 2010
3
I. Các khái niệm cơ bản
1. Module là gì?
Là một đối tượng dùng để xây dựng các chương trình con là: thủ tục và hàm, có thể thực hiện trực tiếp hoặc gián tiếp thông qua các điều khiển trên trên biểu mẫu (Form).
Module chia làm hai loại:
Module sử dụng chung: dùng để xây dựng các thủ tục và hàm cấp chương trình.
Module riêng của các đối tượng trên Form, report
Friday, May 21, 2010
4
Cấu trúc chương trình con trong Module
Thủ tục Sub:
Sub Tên_Thủ_Tục(DS biến)
Các lệnh của thủ tục
End Sub
Hàm Function:
Function Tên_Hàm(DS biến) As Kiểu DL
Các lệnh tính toán của hàm
Tên_Hàm = Giá trị
End Function
Chú ý: Tên hàm, tên thủ tục bao gồm chữ cáI và chữ số. phải được viết liền và không được bắt đầu từ số.
Friday, May 21, 2010
5
Biến trong chương trình:
Khái niệm biến:
Biến là một vùng bộ nhớ được định danh bởi một tên gọi, nhằm lưu trữ dữ liệu trong quá trình xử lý, tính toán trong chương trình.
Cách khai báo biến:
Trong Access biến không bắt buộc phải khai báo trước khi sử dụng. Nhưng để kiểm soát được bộ nhớ và tránh việc sử dụng tên biến trùng nhau ta nên khai báo các biến trước khi sử dụng.
Để khai báo biến ta dùng từ khoá DIM như sau:
Friday, May 21, 2010
6
DIM Tên_biến As Kiểu_dữ_liệu
DIM, AS là hai từ khoá dùng để khai báo biến.
Tên_biến: là một chuỗi ký tự liên tiếp được bắt đầu từ ký tự văn bản, không chứa dấu cách và không trùng với từ khoá như: DIM, AS, SUB, ...
Kiểu dữ liệu là một trong các kiểu sau:
Friday, May 21, 2010
7
Bảng mô tả giá trị của các kiểu dữ liệu cơ bản
VD: DIM A As Single, B As Long, Hoten As String*25
Nếu một biến chưa được khai báo khi sử dụng thì nó được mang kiểu Variant.
Friday, May 21, 2010
8
c. Một số khái niệm khác
+ Phép gán:
Biến=
- Vế trái (Biến) chỉ có thể là một biến
- Vế phải (Biểu thức) có thể là biến, hằng hay biểu thức. Nhưng kết quả trả về phảI cùng kiểu với vế trái
Ví dụ: A=(B+C)/2
+ Các toán tử về số: +, -,*,/,.
+ Các toán tử về xâu: +, &,.
Friday, May 21, 2010
9
Phân tich một chương trình.
B1: Xác định dữ liệu vào (Input) để khai báo biến.
B2: Xử lý, tính toán trên các biến.
B3: In kết quả.
VD: Chương trình vào hai số A, B từ bàn phím sau đó tính Tổng và Tich.
A, B là hai biến có kiểu số thực, Tong, Tich là hai biến để lưu kết quả của quá trình tính toán.
Tong = A + B, Tich = A*B.
In Tong và Tich
Soạn thảo và chạy chương trình.
Friday, May 21, 2010
10
Các bước soạn thảo chương trình.
B1: Mở hoặc tạo mới một CSDL/ Modules/ New.
B2: Khai báo các biến cần sử dụng trong chương trình bằng từ khoá DIM Tên_biến As Kiểu_dữ liệu.
B3: Khai báo một thủ tục chương trình bằng từ khoá Sub Tên_thủ_tục().
B4: Cài đặt mã lệnh cho thủ tục Sub.
B5: Ghi chương trình lên đĩa: File/ Save.
B6: Chạy chương trình để kiểm thử: RUN/ Run Sub.
Friday, May 21, 2010
11
Lệnh nhập dữ liệu InputBox.
Chức năng:
Dùng để nhập dữ liệu từ bàn phím và gán giá trị đó cho một biến nhớ trong chương trình.
Cú pháp:
Tên_biến = InputBox("Lời nhắc", "Tiêu đề", Giá trị)
"Lời nhắc": là một dòng văn bản dướng dẫn nhập liệu, bắt buộc phải có trong lệnh InputBox,
"Tiêu đề": là tiêu đề của hộp thoại nhập liệu, không bắt buộc phải có.
Giá trị: là giá trị mặc định của hộp nhập liệu, không bắt buộc phải có.
VD: A = InputBox("Nhap a =", "Nhap lieu", 0)
Các lệnh nhập/ xuất dữ liệu.
Friday, May 21, 2010
12
Chức năng:
Dùng để xuất dữ liệu từ các biến trong chương trình ra màn hình.
Cú pháp:
MsgBox Tên_biến, Kiểu_biểu_tượng, "Tiêu đề"
Tên_biến: có thể là một biến hoặc một giá trị cụ thể, bắt buộc phải có.
Kiểu_biểu_tượng: để hiển thị các biểu tượng lên hộp thoại xuất, không bắt buộc phải có.
"Tiêu đề": là tiều đề của hộp nhập liệu, không bắt buộc phải có.
VD1: MsgBox A, "Ket qua"
VD2: MsgBox "Tong = " & Tong, VbOkOnly, "Ket qua"
VD3: MsgBox "A = " & A & VbCrlf & "B = " & B, VbInformation, "Ket qua"
Lệnh xuất dữ liệu MsgBox.
Friday, May 21, 2010
13
Bài toán: Viết chương trình nhập hai số từ bàn phím, sau đó in ra Tổng và Tich của hai số đó.
Chú ý: Để giải thích trong chương trình Access ta sử dụng từ khoá REM hoặc dấu nháy đơn vào đầu dòng giải thích.
Chương trình: Mở CSDL/ Modules/ New và soạn thảo:
REM Khai báo các biến
Dim A As Double, B As Double, Tong As Double, Tich As Double
Sub Tong_Tich()
A = InputBox( "Nhap A =", "Nhap lieu", 0)
B = InputBox( "Nhap B =", "Nhap lieu", 0)
Tong = A + B
Tich = A * B
MsgBox "Tong = " & Tong & vbCrLf & "Tich = " & Tich, "Ket qua"
End Sub
Ví dụ về chương trình vào, ra dữ liệu
Friday, May 21, 2010
14
II. Các lệnh điều khiển chương trình
Để thể hiện giải thuật (các bước giải quyết bài toán), bất kỳ ngôn ngữ lập trình nào cũng có các lệnh điều khiển sau:
Friday, May 21, 2010
15
Lệnh rẽ nhánh IF
Lệnh rẽ nhánh IF không đủ:
Cú pháp:
IF ĐK Then
{ Khối lệnh }
End If
IF, Then, End If là các từ khoá bắt buộc phải có.
ĐK là một biểu thức điều kiện hoặc hàm điều kiện chỉ trả về giá trị True/ False.
{ Khối lệnh } là một hoặc nhiều lệnh lập trình trong Access.
Hoạt động:
Nếu ĐK = True thì thực hiện { Khối lệnh } và thoá khỏi lệnh IF. Còn ĐK = False thì thoát khỏi lệnh IF mà không thực hiện { Khối lệnh }.
Friday, May 21, 2010
16
Lệnh rẽ nhánh IF đầy đủ:
Cú pháp:
IF ĐK Then
{ Khối lệnh 1 }
Else
{ Khối lệnh 2 }
End If
Hoạt động:
Nếu ĐK = True thì thực hiện { Khối lệnh 1 }, bỏ qua { Khối lệnh 2 } và thoát khỏi lệnh IF.
Nếu ĐK = False thì thực hiện { Khối lệnh 2 }, bỏ qua { Khối lệnh 1 } và thoát khỏi lệnh IF.
Chú ý:
Một IF chỉ có một Else và một End If, nếu If không có Else thì về trường hợp a).
Các ví dụ:
Friday, May 21, 2010
17
Lệnh lựa chọn Select Case
Cú pháp:
Select Case BT
Case Gt1
{ Khối lệnh 1 }
Case Gt2
{ Khối lệnh 2 }
...................................
Case GtN
{ Khối lệnh N }
Case Else
{ Khối lênh N + 1 }
End Select
Friday, May 21, 2010
18
Hoạt động:
Kiểm tra giá trị của biểu thức.
Nếu BT bằng một trong các giá trị (GT1, GT2, ..., GTN) thì thực hiện khối lệnh đó ( { Khối lệnh 1 }, { Khối lệnh 2 }, ... , { Khối lệnh N }), bỏ qua tất cả các khối lệnh khác và thoát khỏi Select Case.
Nếu BT không bằng giá trị nào trong đó thì máy hực hiện { Khối lệnh N + 1 } và thoát khỏi Select Case.
Chú ý
Nếu không có Case Else { Khối lệnh N + 1 } thì máy không thực hiện khối lệnh nào cảu mà thoát ngay khỏi Select Case khi BT không bằng một trong các giá trị (GT1, GT2,..., GTn)
Friday, May 21, 2010
19
Lệnh lặp với số lần biết trước FOR . TO.NEXT
Cú pháp:
FOR
{ Khối lệnh }
NEXT
FOR, TO, NEXT là các từ khoá của vùng lặp, bắt buộc phải có.
[STEP N] là bước nhẩy của hai giá trị liên tiếp, nếu không có [Step N] ? N = 1.
{ Khối lệnh } là một hoặc nhiều lệnh để lệnh FOR thực hiện.
Friday, May 21, 2010
20
Hoạt động của FOR TO NEXT
TH1: Nếu
B1: So sánh
Nếu
thực hiện { Khối lệnh }
Tăng
Quay lại B1 để so sanh lại lần tiếp theo.
Nếu
Ví dụ: Tính tổng 1 + 2 + 3 + . + N với N nguyên dương được nhập từ bàn phím.
Friday, May 21, 2010
21
TH1: Nếu
B1: So sánh
Nếu
Thực hiện { Khối lệnh }
Giảm
Quay lại B1 để so sanh lại lần tiếp theo.
Nếu
Ví dụ: Tính tích 10 * 8 * 6 *.* 2.
Friday, May 21, 2010
22
Lệnh lặp DO WHILE ... LOOP
Cú pháp:
DO WHILE <ĐK>
{ Khối lệnh }
LOOP
DO, WHILE, LOOP là các từ khoá của vùng lặp, bắt buộc phải có.
{ Khối lệnh } là một hoặc nhiều lệnh để lệnh FOR thực hiện.
Friday, May 21, 2010
23
Lệnh lặp DO UNTIL ... LOOP
Cú pháp:
DO UNTIL <ĐK>
{ Khối lệnh }
LOOP
DO, UNTIL, LOOP là các từ khoá của vùng lặp, bắt buộc phải có.
{ Khối lệnh } là một hoặc nhiều lệnh để lệnh WHILE thực hiện.
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Trần Ngọc Vũ An
Dung lượng: |
Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)