Bài giảng lập trình Module
Trang 1PhÇn VI: LËp tr×nh
Modules
Trang 2Access 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.
Trang 3I 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
Trang 42. CÊu tróc ch ¬ng tr×nh con trong Module
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è
Trang 53. Biến trong ch ơng trình:
a)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.
b)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:
Trang 6DIM 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:
Trang 7B¶ng m« t¶ gi¸ trÞ cña c¸c kiÓu d÷ liÖu c¬ b¶n
KiÓu d÷ liÖu M« t¶ kiÓu Gi¸ trÞ ban ®Çu
Integer NhËn gi¸ trÞ nguyªn ng¾n 0
Long NhËn gi¸ trÞ nguyªn dµi 0
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.
Trang 8c Mét sè kh¸i niÖm kh¸c
+ PhÐp g¸n:
BiÕn=<BiÓu thøc>
- 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: +, &,…
Trang 9- 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.
4 Soạn thảo và chạy ch ơng trình.
Trang 10b) Các b ớc soạn thảo ch ơng trình.
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
Trang 11- “Lời nhắc : là một dòng văn bản d ớng dẫn nhập liệu, bắt ”: 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 ”: là một dòng văn bản dướng dẫn nhập liệu, bắt
Trang 12Chứ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à một dòng văn bản dướng dẫn nhập liệu, bắt 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“ ”: là một dòng văn bản dướng dẫn nhập liệu, bắt
- VD2 : MsgBox Tong = & Tong, VbOkOnly, Ket qua“ “ “ ”: là một dòng văn bản dướng dẫn nhập liệu, bắt
- VD3: MsgBox A = & A & “ “ VbCrlf & B = & B, VbInformation, “ “
b) Lệnh xuất dữ liệu MsgBox.
Trang 13Bà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)“ “ “ ”: là một dòng văn bản dướng dẫn nhập liệu, bắt
B = InputBox ( Nhap B = , Nhap lieu , 0)“ “ “ ”: là một dòng văn bản dướng dẫn nhập liệu, bắt
Tong = A + B Tich = A * B
MsgBox Tong = “ “ & Tong & vbCrLf & Tich = “ “ & Tich, Ket qua“ ”: là một dòng văn bản dướng dẫn nhập liệu, bắt
End Sub
c) Ví dụ về ch ơng trình vào, ra dữ liệu
Trang 14II 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:
Trang 15– 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Þ
Trang 16b) Lệnh rẽ nhánh IF đầy đủ:
Cú pháp:
IF ĐK Then
{ Khối lệnh 1 } Else
Trang 172 LÖnh lùa chän Select Case
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
Trang 18Hoạt động:
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
hiện { Khối lệnh N + 1 } và thoát khỏi Select Case
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)
Trang 193 LÖnh lÆp víi sè lÇn biÕt tr íc FOR … TO … NEXT
Trang 20Hoạt động của FOR TO NEXT
- Nếu <GT1> lớn hơn <GT2> 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.
Trang 21 TH1: NÕu <GT1> lín h¬n <GT2> th× STEP - N
B1: So s¸nh <GT1> víi <GT2>.
- NÕu <GT1> >= <GT2> th×
- NÕu <GT1> nhá h¬n <GT2> 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.