Tải bản đầy đủ (.ppt) (84 trang)

Tài liệu Phần 2: VISUAL BASIC FOR APPLICATION (VBA) doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (930.05 KB, 84 trang )

Phạm Thị Kim Ngoan 1
Phần 2: VISUAL BASIC FOR APPLICATION
(VBA)
Chương 1: TỔNG QUAN VỀ VB
Chương 2: CÁC KHAI BÁO TRONG VB
Chương 3: CÁC CẤU TRÚC ĐIỀU KHIỂN VÀ
KIỂU DỮ LIỆU CÓ CẤU TRÚC
Chương 4: THỦ TỤC CỦA NGƯỜI DÙNG
Chương 5: ĐỐI TƯỢNG VÀ BIẾN ĐỐI TƯỢNG
Phạm Thị Kim Ngoan 2
Chương 1: TỔNG QUAN VỀ VBA
I. Giới thiệu chung
II. Module
III. Cấu trúc của Module
VI. Tạo và thực hiện các thủ tục
V. Một số hiệu ứng khi viết và sửa chữa mã lệnh
Phạm Thị Kim Ngoan 3
I. Giới thiệu chung
Visual Basic là ngôn ngữ lập trình dùng để ràng buộc các đối
tượng trong ứng dụng với nhau thành một hệ thống hợp nhất.
Các chương trình của VBA (Visual Basic for Application)
được tổ chức và hoạt động trong Access nhằm mục đích xây
dựng các ứng dụng phức tạp.
Có thể dùng VB để thực hiện các công việc sau:
- Làm cho ứng dụng dễ bảo trì hơn
-
Tạo ra các hàm/thủ tục của người sử dụng để xử lý các thao
tác phức tạp mà chưa được MS Access cung cấp sẵn.
-
Xử lý lỗi theo ý người sử dụng.
Phạm Thị Kim Ngoan 4


I. Giới thiệu chung
-
Tạo hay thao tác với các đối tượng
-
Thực hiện các thao tác cấp hệ thống : thực hiện một ứng
dụng khác, liên kết giữa các ứng dụng.
Đặc điểm:
- Chương trình của VBA hoạt động chủ yếu theo hướng sự kiện
: bấm chuột tại các nút lệnh, di chuyển vào hay ra đối tượng
điều khiển của form, report …
-
Các thủ tục và hàm của VBA nằm rải rác trong các module
của form, report hoặc module chung của CSDL và chúng có
thể gọi lẫn nhau.
Phạm Thị Kim Ngoan 5
II. Module
1. Khái niệm Module: Là tập các tuỳ chọn, các khai báo, các thủ
tục cùng được lưu trữ trong một đơn vị chương trình.
2. Phân loại Module:
- Module chuẩn: Có thể thi hành bất cứ nơi nào trong ứng
dụng.
- Module lớp: Các thủ tục định nghĩa trong Module lớp sẽ trở
thành các phương thức của đối tượng này.
* Mỗi Form/Report đều có thể kết hợp với một Module lớp
(Form Module/Report Module), Module lớp này được lưu
cùng với Form/Report.
Phạm Thị Kim Ngoan 6
III. Cấu trúc của Module
1. Module chuẩn:
- Các tuỳ chọn

- Các khai báo toàn cục (Public)
- Các khai báo cấp module (Dim)
- Các thủ tục sử dụng toàn cục
- Các thủ tục sử dụng cấp module
2. Module loại:
- Các tuỳ chọn
- Các khai báo cấp module
- Các thủ tục xử lý sự kiện
- Các thủ tục sử dụng cấp module
Phạm Thị Kim Ngoan 7
Module chuẩn
Phạm Thị Kim Ngoan 8
Module loại
Phạm Thị Kim Ngoan 9
III. Cấu trúc của Module
3. Cấu trúc một thủ tục:
a. Cấu trúc Sub procedure :
Sub Tên_thủ _tục ([Các tham số])
Các lệnh
End Sub
b. Cấu trúc Function procedure :
Function Tên_hàm ([Các tham số]) [AS kiểu dữ liệu]
Các lệnh
Tên_hàm = biểu thức giá trị
End Sub
c. Cấu trúc thủ tục xử lý sự kiện :
Private Sub Tênđốitượng__tênsựkiện ([Các tham số])
Các lệnh
End Sub
Phạm Thị Kim Ngoan 10

VI. Tạo và thực hiện các thủ tục
1. Thủ tục xử lý sự kiện: Thường là các thủ tục gắn với các điều
khiển của Form (nút lệnh, …) đặt trong Module loại
- Tạo mới:

Mở Form có điều khiển cần gắc thủ tục ở dạng thiết kế.

Chọn Properties của điều khiển cần gắn thủ tục, chọn ngăn
sự kiện (Event)

Chọn sự kiện cần gắn (On Click, …), chọn nút …, chọn Code
Builder, MS Access đưa ra khuôn dạng của thủ tục với tên
tương ứng, tại vị trí con trỏ: gõ các lệnh cần thực hiện trong
thủ tục.
- Thực thi: Mở Form, tác động sự kiện vừa gắn lên nút lệnh.

Phạm Thị Kim Ngoan 11
VI. Tạo và thực hiện các thủ tục
2. Thủ tục Sub procedure và Function procedure: Đặt trong
Module loại hoặc chuẩn.
- Tạo mới: Mở màn hình viết mã lệnh, viết thủ tục theo cấu
trúc tương ứng.
- Thực thi:

Biên dịch cho đến khi không còn lỗi cú pháp
Menu Debug → Complie Loaded Modules

Chạy xem kết quả trong khung trực tiếp:
Mở mà hình trực tiếp: Menu View → DebugWindow /
Immediate Window

Phạm Thị Kim Ngoan 12
VI. Tạo và thực hiện các thủ tục
Chạy thủ tục:
Thủ tục không có tham số:
Tên_Module.Tên_thủ_tục
Call Tên_Module.Tên_thủ_tục
Call Tên_Module.Tên_thủ_tục ()
Ví dụ: Tinhtoan.Tong
Call Tinhtoan.Tong
Call Tinhtoan.Tong()

Phạm Thị Kim Ngoan 13
VI. Tạo và thực hiện các thủ tục
Thủ tục có tham số:
Call Tên_Module.Tên_thủ_tục (Các tham số thực sự)
Ví dụ: Call Tinhtoan.Tongab(15, 56)
Hàm (Function procedure):
? Tên_Module.Tên_hàm ()
? Tên_Module.Tên_hàm
? Tên_Module.Tên_hàm (Các tham số thực sự)
Ví dụ: ?Tinhtoan.Tong1()
?Tinhtoan.Tong2(25, 35)
Phạm Thị Kim Ngoan 14
VI. Tạo và thực hiện các thủ tục
Gọi thủ tục từ các thủ tục khác:
Thủ tục:
Call Tên_Module.Tên_thủ_tục (Các tham số thực sự)
Hàm: đặt trong các biểu thức
Tên_Module.Tên_hàm (Các tham số thực sự)
Phạm Thị Kim Ngoan 15

V. Một số hiệu ứng khi viết và sửa chữa mã lệnh
- Tự động xây dựng các phát biểu:
Tools -> Options -> Module -> Auto list Members
- Thông tin nhanh:
Tools -> Options -> Module -> Auto QuickInfo
- Tự động kiểm tra cú pháp:
Tools -> Options -> Module -> Auto Syntax Check
- Di chuyển giữa các thủ tục trong module:
Ctrl + Page Down / Ctrl + Page Up
Phạm Thị Kim Ngoan 16
Chương 2: CÁC KHAI BÁO TRONG VB
I. Các tuỳ chọn
II. Các kiểu dữ liệu cơ bản
II. Khai báo
IV. Các hàm/thủ tục nhập xuất dữ liệu
V. Một số hàm / thủ tục của VB
Phạm Thị Kim Ngoan 17
I. Các tuỳ chọn
Option Explicit: người dùng phải khai báo tường minh các
biến
Option Compare Binary: phân biệt chữ thường và hoa khi
viết chương trình
Option Compare Text: phân biệt chữ thường và hoa khi so
sánh
Option Base n: qui định chỉ số đầu tiên trong kiểu dữ liệu
mảng
Phạm Thị Kim Ngoan 18
II. Các kiểu dữ liệu cơ bản
Kiểu dl Kích thước Phạm vi
Byte 1 byte 0 … 255

Boolean 1 byte True/False
Integer 2 bytes -32.768 … 32.767
Long 4 bytes -2.147.483.648 … 2.147.483.647
Single 4 bytes -3,402823E+38 …3,402823E+38
Double 8 bytes -1,7976E+308 … 1,7976E+308
Currency 8 bytes -9,223E+14 … 9,223E+14
Phạm Thị Kim Ngoan 19
II. Các kiểu dữ liệu cơ bản
Kiểu dl Kích thước Phạm vi
Date 8 bytes 1/1/100…31/12/9999
Object 4 bytes Các đối tượng
String(variable – length) 10 bytes + string length 0 … 2
31
ký tự
String(fixed – length) Length of string 1…65.400 ký tự
Variant (with numbers) 16 bytes Như kiểu double
Variant (with characters) 10 bytes + string length Như kiểu string có độ dài
thay đổi
Phạm Thị Kim Ngoan 20
III. Khai báo
1. Khai báo hằng:
Public/Private CONST Tên_hằng [AS Kiểu dữ liệu] = Biểu
thức
giá trị
Ví dụ: Const Pi=3.14
Public Const S = “Đây là ví dụ”
Private Const so As Integer = 5
2. Khai báo biến:
Public/Private/Dim/Static Tên_biến [AS Kiểu dữ liệu]
Ví dụ: Public Hoten As String, DTB As Double

Private Diachi As String
Phạm Thị Kim Ngoan 21
III. Khai báo
Phạm vi sử dụng:
-
Mức thủ tục : Các khai báo bên trong thủ tục.
-
Mức module : Các khai báo Private Const trong phần khai
báo của module.
-
Mức project : Khai báo Public
Tên:
-
Gồm chữ cái, chữ số và dấu gạch chân, bắt đầu là chữ cái.
-
Không trùng với từ khoá của Access.
-
Độ dài không vượt quá 40 ký tự.
Phạm Thị Kim Ngoan 22
IV. Các hàm/thủ tục nhập xuất dữ liệu
1. Nhập dữ liệu: hàm InputBox, InputBox$
Cú pháp: INPUTBOX[$](Dòng nhắc [[,tiêu đề]
[, giá trị mặc định][,x, y] ])
-
Hàm InputBox trả về giá trị Variant
-
Chức năng : Hiển thị dòng nhắc trong một hộp thoại, đợi
nhập liệu và trả về giá trị trong textbox
Ví dụ: Nhập 1 số nguyên từ bàn phím và lưu trong biến a
Dim a as Integer

a = Inputbox(“Nhập a=”, “Nhập số liệu”)
Phạm Thị Kim Ngoan 23
IV. Các hàm/thủ tục nhập xuất dữ liệu
2. Xuất dữ liệu:
a. Thủ tục Msgbox
Cú pháp: MsgBox Dòng thông báo, kiểu hộp thoại, tiêu đề
b. Hàm Msgbox
Cú pháp: MsgBox (Dòng thông báo, kiểu hộp thoại, tiêu đề)
Kiểu hộp thoại: Giá trị cho biết các nút lệnh nào sẽ hiển thị và các
biểu tượng sẽ hiển thị trong hộp thoại.
Chức năng : Hiển thị một thông điệp trong hộp hội thoại và đợi
người sử dụng chọn một nút lệnh.
Khác nhau giữa hàm và thủ tục MsgBox : Hàm MsgBox trả về giá
trị cho biết đã chọn nút lệnh nào, còn thủ tục thì không.
Phạm Thị Kim Ngoan 24
IV. Các hàm/thủ tục nhập xuất dữ liệu
* Tham số kiểu hộp thoại gồm 3 thành phần: Nút lệnh nào sẽ
hiển thị, kiểu biểu tượng hiển thị, nút ngầm định.
- Nút lệnh hiển thị:
0 / vbOnlyOK OK
1 / vbOKCancel OK, Cancel
2 / vbAbortRetryIgnore Abort, Retry, Ignore
3 / vbYesNoCancel Yes, No, Cancel
4 / vbYesNo Yes, No
5 / vbRetryCancel Retry, Cancel
Phạm Thị Kim Ngoan 25
IV. Các hàm/thủ tục nhập xuất dữ liệu
- Xác định biểu tượng:
0 không
16 / vbCritical Critical (Stop)

32 / vbQuestion Warning query
48 / vbExclamation Warning Message
64 / vbInformation Information

×