Bài giảng Access - Phần VI: Lập trình modules

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.

 

ppt23 trang | Chia sẻ: gaobeo18 | Lượt xem: 1069 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Access - Phần VI: Lập trình modules, để xem tài liệu hoàn chỉnh bạn click vào nút TẢI VỀ ở trên
Phần VI: Lập trình 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.Date2I. 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, reportDate3Cấu trúc chương trình con trong ModuleThủ tục Sub:Sub Tên_Thủ_Tục(DS biến)Các lệnh của thủ tụcEnd SubHà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ố.Date4Biế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:Date5DIM 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:Date6Bảng mô tả giá trị của các kiểu dữ liệu cơ bảnKiểu dữ liệuMô tả kiểuGiá trị ban đầuByteNguyên từ 0 đến 2550IntegerNhận giá trị nguyên ngắn0LongNhận giá trị nguyên dài0SingleNhận giá trị thực đơn0DoubleNhận giá trị thực kép0StringNhận giá trị văn bảnRỗng  “”BooleanTrue/ FalseFalseVariantChư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.Date7c. 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: +, &,Date8Phâ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à TichSoạn thảo và chạy chương trình.Date9Cá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.Date10Lệ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.Date11Chứ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.Date12Bà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ếnDim A As Double, B As Double, Tong As Double, Tich As DoubleSub Tong_Tich()A = InputBox( “Nhap A =“, “Nhap lieu”, 0)B = InputBox( “Nhap B =“, “Nhap lieu”, 0)Tong = A + BTich = A * BMsgBox “Tong = “ & Tong & vbCrLf & “Tich = “ & Tich, “Ket qua”End SubVí dụ về chương trình vào, ra dữ liệuDate13II. 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:Date14Lệnh rẽ nhánh IFLệnh rẽ nhánh IF không đủ:Cú pháp:IF ĐK Then	{ Khối lệnh }End IfIF, 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 }.Date15Lệnh rẽ nhánh IF đầy đủ:Cú pháp:IF ĐK Then	{ Khối lệnh 1 }Else	{ Khối lệnh 2 }	End IfHoạ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ụ:Date16Lệnh lựa chọn Select CaseCú 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 SelectDate17Hoạ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)Date18Lệnh lặp với số lần biết trước FOR  TONEXTCú 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.Date19Hoạt động của FOR TO NEXTTH1: Nếu nhỏ hơn B1: So sánh với .Nếu thì thực hiện { Khối lệnh }Tăng = + NQuay 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.Date20TH1: Nếu lớn hơn thì STEP - NB1: So sánh với .Nếu >= thìThực hiện { Khối lệnh }Giảm = - NQuay 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.Date21Lệnh lặp DO WHILE ... LOOPCú pháp:DO WHILE 	{ 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.Date22Lệnh lặp DO UNTIL ... LOOPCú pháp:DO UNTIL 	{ 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.Date23

File đính kèm:

  • pptModules.ppt
Bài giảng liên quan