Bài giảng lập trình Module
PhÇn VI: LËp tr×nh Modules Saturday, September 1, 2012 2Access2000 - ModulesAccess 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. Saturday, September 1, 2012 3Access2000 - ModulesI. Các khái niệm cơ bản1. 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 Saturday, September 1, 2012 4Access2000 - Modules2. Cấu trúc chương trình con trong Modulea)Thủ tục Sub:Sub Tên_Thủ_Tục(DS biến)Các lệnh của thủ tụcEnd Subb)Hàm Function:Function Tên_Hàm(DS biến) As Kiểu DLCác lệnh tính toán của hàmTên_Hàm = Giá trịEnd FunctionChú ý: 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ố. Saturday, September 1, 2012 5Access2000 - Modules3. 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: Saturday, September 1, 2012 6Access2000 - ModulesDIM Tên_biến As Kiểu_dữ_liệuDIM, 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: Saturday, September 1, 2012 7Access2000 - ModulesBảng mô tả giá trị của các kiểu dữ liệu cơ bảnKiểu dữ liệu Mô tả kiểu Giá trị ban đầuByteNguyên từ 0 đến 255 0IntegerNhận giá trị nguyên ngắn 0LongNhận giá trị nguyên dài 0SingleNhận giá trị thực đơn 0DoubleNhận giá trị thực kép 0StringNhận giá trị văn bảnRỗng BooleanTrue/ False FalseVariantChưa định trướcRỗng VD: DIM A As Single, B As Long, Hoten As String*25Nếu một biến chưa được khai báo khi sử dụng thì nó được mang kiểu Variant. Saturday, September 1, 2012 8Access2000 - Modulesc. 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: +, &, Saturday, September 1, 2012 9Access2000 - Modulesa) 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à Tich4. Soạn thảo và chạy chương trình. Saturday, September 1, 2012 10Access2000 - Modulesb) 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. [...]... Kiểu dữ liệu là một trong các kiểu sau: Phần VI: Lập trình Modules Saturday, September 1, 2012 13 Access2000 - Modules 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... Saturday, September 1, 2012 3 Access2000 - Modules 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,... MsgBox. Saturday, September 1, 2012 23 Access2000 - Modules 5. 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. Saturday, September 1, 2012 4 Access2000 - Modules 2. CÊu tróc ch¬ng trình con trong Module a)Thủ tục Sub: Sub Tên_Thủ_Tục(DS biến) Các... mang kiểu Variant. Saturday, September 1, 2012 15 Access2000 - Modules 1. LƯnh rÏ nh¸nh IF a) 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... 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 }. Saturday, September 1, 2012 12 Access2000 - Modules 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: để... Nhap B = , Nhap lieu , 0)“ “ “ ” Tong = A + B Tich = A * B MsgBox Tong = “ “ & Tong & vbCrLf & Tich = “ “ & Tich, Ket qua“ ” End Sub c) VÝ dụ về chương trình vào, ra dữ liệu Saturday, September 1, 2012 7 Access2000 - Modules Bả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 Byte Nguyên từ 0 đến 255 0 Integer Nhận giá trị nguyên ngắn 0 Long Nhận giá... 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è. Saturday, September 1, 2012 11 Access2000 - Modules a)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...Saturday, September 1, 2012 17 Access2000 - Modules 2. 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 Saturday, September 1, 2012 6 Access2000 - Modules 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:... - Modules 3. LƯnh lỈp víi số lần biết trước FOR TO NEXT Cú pháp: FOR <Biến_lặp> = <GT1> TO <GT2> [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. Saturday, September 1, 2012 21 Access2000 - Modules TH1:... lại lần tiếp theo. - 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.… Saturday, September 1, 2012 16 Access2000 - Modules b) 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 . 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. 13Access2000 - ModulesBà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