Moduls
Chia sẻ bởi Trần Ngọc Vũ An |
Ngày 23/10/2018 |
44
Chia sẻ tài liệu: Moduls thuộc Bài giảng khác
Nội dung tài liệu:
Phần VI: Lập trình Module
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 bao gồm: thủ tục (Sub) và hàm (Function), 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 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 (Public).
Module riêng của các đối tượng trên Form, report (Private).
Friday, May 21, 2010
4
Cấu trúc chương trình con trong Module
Thủ tục Sub:
[Public]/ [Private] Sub Tên_Thủ_Tục()
Các lệnh của thủ tục
End Sub
Hàm Function:
[Public]/ [Private] 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 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
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
9
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
10
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
11
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
12
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
13
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
14
Lệnh dẽ nhánh IF
Lệnh dẽ 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
15
Lệnh dẽ 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á khỏi lệnh IF.
Nếu ĐK = True thì thực hiện { Khối lệnh 2 }, bỏ qua { Khối lệnh 1 } và thoá 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
16
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
17
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
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 bao gồm: thủ tục (Sub) và hàm (Function), 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 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 (Public).
Module riêng của các đối tượng trên Form, report (Private).
Friday, May 21, 2010
4
Cấu trúc chương trình con trong Module
Thủ tục Sub:
[Public]/ [Private] Sub Tên_Thủ_Tục()
Các lệnh của thủ tục
End Sub
Hàm Function:
[Public]/ [Private] 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 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
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
9
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
10
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
11
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
12
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
13
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
14
Lệnh dẽ nhánh IF
Lệnh dẽ 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
15
Lệnh dẽ 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á khỏi lệnh IF.
Nếu ĐK = True thì thực hiện { Khối lệnh 2 }, bỏ qua { Khối lệnh 1 } và thoá 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
16
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
17
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)
* 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)