Các khái niệm cơ bản trong VBA... Các khái niệm cơ bản b... Các khái niệm cơ bản Khai báo biến - Sử dụng mệnh đề “Dim” Đơn giản: Dim tên_biến As Kiểu_dữ_liệu Ví dụ: Dim x Dim numb
Trang 1Microsoft Visual Basic for Applications
Created & Presented by:
TBL Group
Trang 2Nội dung chính
Giới thiệu về VBA.
Các khái niệm cơ bản trong VBA.
Ví Dụ và…
ví dụ và…
lại vÍ dỤ.
Trang 4I.1 VBA là gì?
VBA: Visual Basic for Applications
Ngôn ngữ lập trình → Microsoft Office
VBA:
• Mạnh mẽ hơn.
• Linh hoạt hơn.
• Lỗi nhiều hơn.
Trang 5I.2 Lập trình hướng sự kiện
VBA - môi trường phát triển theo hướng đối
tượng.
Sự kiện đóng vai trò quan trọng.
Người sử dụng xác định trình tự.
Trang 6Why is VBA?
(system-level)
Trang 7II Các khái niệm cơ bản
b. Properties & Methods & Events
Trang 99
Trang 11B.2 Methods
nhất định
OpenForm, GotoControl, FindRecord,…]
DoCmd.Close acForm, "formname", acSaveNo
Trang 12thiết khi sự kiện
tương ứng xảy ra.
Trang 14C.1.1 Thủ tục - Sub Procedure
Thủ tục:
– Tính toán, cập nhật dữ liệu,
– Mã lệnh nằm giữa mệnh đề Sub và End
– Tham số, cách dấu phẩy “,”.
Sub Tinh_Tong(First, second)
Dim Result Result = First + Second Debug.Print Result
Trang 19– Modules trong Class
(form class modules, report class modules, custom class modules)
Trang 21D Soạn thảo mã lệnh - VBE
Trang 22E Các khái niệm cơ bản
Khai báo biến - Sử dụng mệnh đề “Dim”
Đơn giản:
Dim (tên_biến) As (Kiểu_dữ_liệu)
Ví dụ:
Dim x Dim number As Integer Dim Matrix(1 To 3, 1 To 4) As Integer Dim Dynamic() As Integer
Trang 23
(Get Married)
End If
Trang 24E.1 Các lệnh cơ bản – If … then
If Then
If condition Then
Statements1 Else
Statements2 End If
Trang 25E.1 Các lệnh cơ bản – If… then…
If condition1 Then
'Statements ElseIf condition2 Then
Statements Else
'Statements End If
Trang 26E.1 Các lệnh cơ bản – If… then…
Form trong hình vẽ sau đây cho phép người sử dụng chọn lựa việc tính căn bậc hai hay ba:
Trang 27E.1 Các lệnh cơ bản – If… then…
Sub MySquarer (Number As Double)
dblResult = Number * Number
MsgBox dblResult, vbInformation, _ "What a silly example!“
End Sub
Sub MyCuber (Number As Double)
Dim dblResult As Double
dblResult = Number ^ 3
MsgBox dblResult, vbInformation, _
“Let’s play HL 2.0“
End Sub
Trang 28E.2 Mệnh đề lựa chọn Case
Select Case test expression
Trang 29E.3 Các lệnh cơ bản – For…Next
For counter = start To end [Step step]
[statements]
[Exit For]
[statements]
Next [counter]
Trang 30E.3 Các lệnh cơ bản – For…Next
Các câu lệnh For có thể lồng nhau:
Trang 32E.4 Các lệnh cơ bản – For Each…
For Each element In group
[statements]
[Exit For]
[statements]
Next [element]
Trang 33Next c
Lặp trong vùng A1:D10, trong Sheet1,
thay giá trị trong ô nhỏ hơn 0.001 bằng 0.
Trang 34E.5 Các lệnh cơ bản- Vòng lặp Do…
Do [{While | Until} condition]
[statements]
[Exit Do]
[statements]
Loop
Trang 36F Các hàm có sẵn–Built in function
Hàm chuyển đổi CDbl, CSng, CInt, CCur, CDec, Str, Val, Hex, Oct Xác đỉnh, và đổi kiểu các biến
Date/time Date, Now, DateAdd, DatePart, DateDiff, Year,
Month, Day, Hour, Minute, Second, Weekday, DateValue, DateSerial, MonthName,
IsDate, IsTime, IsNumeric, IsNull, IsEmpty,VarType Xác nhận kiểu của các biến
Hàm toán học Rnd, Sqr, Exp, Log, Sin, Cos, Tan Thực hiện các phép toán
Thông điệp MsgBox, InputBox Gửi thông báo và nhận dữ liệu
Văn bản Left, Right, Mid, Trim, UCase, LCaseStrReverse,
Replace, InStr, InStrReverse Xử lý chuỗi, văn bản
Trang 39Kiểm tra dữ liệu - Data Validation
1 Private Sub Form_BeforeUpdate(Cancel As Integer)
2 If IsNull(Diachiemail) Then
3 If MsgBox("Ban da khong nhap dia chi email Van luu lai chu?",_
4 vbYesNo + vbQuestion, ApplicationName) = vbNo Then
Trang 40Ví dụ 2: Bẫy lỗi - Errors trapping
Trang 41Ví dụ 2: Bẫy lỗi - Errors trapping
Trang 42Ví dụ 2: Bẫy lỗi - Errors trapping
1 Private Sub Form_Error(DataErr As Integer, Response As Integer)
2 Select Case DataErr
3 Case 2237
4 Call MsgBox("Sinh vien khong co trong tep." & _
5 "Hay kiem tra chinh ta va nhap lai chinh xac, hoac kich" & _
6 "nut Them de nhap mot ban ghi moi", vbExclamation,
ApplicationName)
7 Response = acDataErrContinue
8 Case 3022
9 Call MsgBox("Ban dang co them mot sinh vien co" & _
10 "so chung minh thu da co trong tep roi Xin hay" & _
11 "sua lai so chung minh thu hoac huy bo ban ghi nay" & _
12 "va chuyen toi ban ghi ban dau", vbExclamation, ApplicationName)
13 Case Else
14 Response = acDataErrDisplay
15 End Select
16 End Sub
Trang 43Ví dụ 3: Tạo Shortcut
Trang 44Ví dụ 3: Tạo Shortcut
Trang 45Ví dụ 3: Tạo Shortcut
1 Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
2 'Thuoc tinh Key Preview cua form phai dat la Yes
3 If KeyCode = vbKey1 And Shift = acCtrlMask Then 'Ctrl + 1
4 Thanhpho = "Ha Noi"
Trang 46Tổng kết
a Objects
b Properties & Methods
c Procedures & Modules
d Soạn thảo mã lệnh với VBE.
e Mệnh đề logic, cấu trúc lặp
f Các hàm có sẵn trong VBA
1 Bẫy Kiểm tra dữ liệu – Data Validation
2 lỗi – Errors trapping
3 Tạo phím tắt
Trang 47 Microsoft Access Help.
Advanced Access tutorial – Vander Kulk
Trang 48Thank you for your participation!
The End.