LẬP TRÌNH VBA CĂN BẢN LẬP TRÌNH VBA LẬP TRÌNH VBA CĂN BẢNCĂN BẢN Gv PHẠM PHÚC THỊNHPHẠM PHÚC THỊNH Giới thiệu về VBAGiới thiệu về VBA • VBA Visual Basic for Application • Giúp cho người sử dụng nâng c[.]
Trang 1LẬP TRÌNH VBA
CĂN BẢN
Gv : PHẠM PHÚC THỊNHPHẠM PHÚC THỊNH
Trang 2Giới thiệu về VBA
• VBA : Visual Basic for Application
• Giúp cho người sử dụng nâng cao hiệu quả sử dụng
Access, biến một CSDL đơn giản trở thành những sản phẩm đóng gói thương mại.
• Để sử dụng VBA cần hiểu biết các kiến thức :
- Cách sử dụng các cấu trúc lệnh.
- Cách khai báo biến
- Thực hiện các thủ tục con giải quyết các yêu cầu đặt ra.
Trang 3Màn hình làm việc của VBA
3
Cửa sổ viết lệnh
Trang 4Các thành phần chính trong cửa sổ VBA
1 Hệ thống thực đơn và thanh công cụ : Chứa các
menu cần thiết & Các công cụ cơ bản
2 Cửa sổ Project Explorer : là cây phân cấp lớp các
đối tượng có chứa mã lệnh VBA, giúp người viết lệnh dễ dàng quản lý các mã lệnh VBA đã viết.
3 Cửa sổ viết lệnh : Nơi soạn thảo cá dòng lệnh
VBA, mỗi cửa sổ gồm toàn bộ mã lệnh cho một đối tượng như : Form, Report, Modules mỗi cửa sổ
có thể có nhiều phần được viết lệnh.
Trang 5CÁC KIỂU DỮ LIỆU
&
KHAI BÁO
Trang 6Các kiểu dữ liệu cơ bản
1 Kiểu Boolean : Nhận 1 trong 2 giá trị YES/NO
hoặc TRUE/FALSE Chiếm 2 byte bộ nhớ.
2 Kiểu Byte : Kiểu số nguyên dương, phạm vi giá trị
Trang 7Các kiểu dữ liệu cơ bản
Chiếm 8 byte bộ nhớ.
Chiếm 8 byte bộ nhớ, luôn có ký hiệu tiền tệ đi kèm.
thể nhận bất kỳ một giá trị nào có thể Được sử dụng khi phải xử lý biến đó mềm dẻo
byte, dùng để tham chiếu đến một đối tượng nào đó trong khi lập trình
Trang 8Biến & Cách sử dụng biến
I Biến – khai báo biến đơn giản
- Biến (Variable) là thành phần của một ngôn ngữ lập trình, giúp xử lý dữ liệu linh hoạt &mềm dẻo
- Biến có thể được định kiểu, tuy nhiên với VBA
có thể không cần định kiểu vẫn sử dụng được, trong trường hợp này biến sẽ nhận kiểu Variant.
- Biến có thể được khai báo bất kỳ ở đâu trong phần viết lệnh của VBA Biến có hiệu lực từ sau lời khai báo, có phạm vi hoạt động như đã quy định.
Trang 9Biến & Cách sử dụng biến
Cách khai báo biến
DIM tên biến số AS kiểu dữ liệu
Ví dụ :
- Dim i as integer
- Dim i,j as integer
- Dim i as integer,st as string*15 (biến i kiểu integer, biến st kiểu string độ dài 15 ký tự)
- Dim i (biến i kiểu variant)
- Dim hoten(45) as string*30 (biến mảng hoten
có 45 phần tử kiểu string độ dài 30 ký tự)
Trang 10Phạm vi Biến
1 Biến cục bộ
- Biến cục bộ được khai báo sau từ khóa DIM nó chỉ
có tác dụng trong chương trình con, cục bộ trong một form, hoặc trong một module nào đó.
- Biến chỉ có tác dụng sau lệnh khai báo Dim
2 Biến toàn cục
- Biến toàn cục được khai báo sau từ khóa PUBLIC,
nó có tác dụng trong toàn bộ chương trình.
- Biến toàn cục được khai báo trong phần
Decralations của một module
Trang 13Phạm vi Hằng
- Hằng được khai báo trong thủ tục nào, hoặc cục
bộ trong form, report hoặc module nào sẽ chỉ có tác dụng trong phạm vi đó.
- Hằng có phạm vi toàn cục phải được khai báo sau
từ khóa Public Const Public Const tại vùng Decralations Decralations của một module nào đó
Trang 14CÁC CẤU TRÚC LỆNH VBA
Gv : Phạm Phúc Thịnh
Trang 15NGUYÊN TẮC CHUNG CỦA LỆNH VBA
• Có cấu trúc : mỗi cấu trúc lệnh đều có từ khóa bắt
đầu và từ khóa kết thúc
• Các lệnh được thực hiện tuần tự.
• Các cấu trúc lệnh có khả năng lồng vào nhau.
Trang 16CẤU TRÚC IF … END IF
• Cấu trúc này được gọi là lệnh lựa chọn
• Cú pháp của lệnh như sau :
If <điều kiện> then
< thủ tục 1>
[else
<thủ tục 2>]
End if
Trang 17End if
Trang 18CẤU TRÚC SELECT CASE … END SELECT
• Là cấu trúc lựa chọn với nhiều chọn lựa
Trang 19CẤU TRÚC SELECT CASE … END SELECT
1 Tính giá trị biểu thức
select
3 Trong trường hợp các giá trị từ 1,n không thỏa mãn sẽ thực hiện lệnh CASE ELSE (nếu có) hoặc
Trang 20CẤU TRÚC SELECT CASE … END SELECT
Ví dụ : nhập vào một con số bất kỳ, trả về tên
Trang 21CẤU TRÚC FOR … NEXT
Cấu trúc lặp biết trước số lần lặp
Cú pháp For Next như sau :
For <biến chạy> = <gt1> to <gt2> step <n>
<thủ tục>
[exit for]
Next
Giải thích :
- gt1; gt2 : là các giá trị mà biến chạy sẽ nhận và
thực hiện sau mỗi lần lặp.
- Step <n> : số đơn vị biến chạy sẽ dịch chuyển
sau mỗi lần lặp (n>0 : tiến; n<0 : lùi)
- Mỗi lần lặp VBA sẽ thực hiện thủ tục một lần.
Trang 22CẤU TRÚC FOR … NEXT
Ví dụ : tính tổng các số chia hết cho 3 từ 1 đến 50, giá trị lưu vào biến tổng.
Dim i as byte
Dim tong as integer
tong = 0for i = 3 to 50 STEP 3tong = tong + i
Next
Trang 23CẤU TRÚC FOR … NEXT
Dim so as integer
Dim uoc as integer
Dim nguyento as boolean
nguyento = true for uoc = 2 to int(so/2)
if so mod uoc = 0 then
nguyento = false Exit for
End if Next
If nguyento then
msgbox “là nguyên tố” Else
msgbox “không là nguyên tố” End if
Trang 24CẤU TRÚC WHILE … WEND
Là cấu trúc LẶP với số lần lặp không biết trước
• Cú pháp như sau
While <điều kiện>
<thủ tục>
Wend
• While ; Wend : từ khóa của lệnh lặp
• Nếu <điều kiện> = true thì <thủ tục>sẽ được thực
hiện
Trang 25CẤU TRÚC WHILE … WEND
Ví dụ : tính tổng các số chia hết cho 3 từ 1 đến 50, giá trị lưu vào biến tổng.
Dim i as byte
Dim tong as integer
tong = 0 i=3
while i <=50 tong = tong + i
i = i +3 Wend
Msgbox tong