- Tác giả
- Name
- Nguyễn Đức Xinh
- Ngày xuất bản
- Ngày xuất bản
Cú pháp và toán tử trong VBA – Hiểu nhanh, dùng đúng trong Microsoft Access
Khi viết VBA trong Microsoft Access, bạn sẽ thường xuyên làm việc với các cú pháp và toán tử đặc trưng như !
, .
, &
, +
, Set
, If
, With
,... Bài viết này sẽ tổng hợp những cú pháp cơ bản và quan trọng nhất kèm ví dụ minh họa, giúp bạn tránh lỗi và viết mã dễ đọc, dễ bảo trì.
1. !
vs .
– Truy cập đối tượng trong VBA
🔹 !
dùng để truy cập field name (trường trong Recordset hoặc Form)
rs!CustomerName
Tương đương với:
rs.Fields("CustomerName")
🔹 .
dùng để truy cập thuộc tính hoặc method của một object
rs.MoveNext
form.RecordSource = "Customers"
📌 Lưu ý:
!
là cú pháp ngắn, dễ đọc khi làm việc với tên cột,.
dùng trong tất cả các tình huống còn lại.
2. Toán tử nối chuỗi: &
🔹 Dùng để ghép nhiều chuỗi lại với nhau
Dim fullName As String
fullName = "Nguyen" & " " & "Van A"
❌ Không nên dùng
+
để nối chuỗi vì nó sẽ gây lỗi nếu gặpNull
.
3. Toán tử số học: +
, -
, *
, /
, Mod
Toán tử | Mô tả | Ví dụ |
---|---|---|
+ |
Cộng | 2 + 3 = 5 |
- |
Trừ | 5 - 2 = 3 |
* |
Nhân | 4 * 2 = 8 |
/ |
Chia (kết quả dạng float) | 5 / 2 = 2.5 |
Mod |
Chia lấy dư | 5 Mod 2 = 1 |
4. Toán tử so sánh: =
, <>
, <
, >
, <=
, >=
Toán tử | Ý nghĩa | Ví dụ |
---|---|---|
= |
Bằng | a = b |
<> |
Không bằng | a <> b |
< |
Nhỏ hơn | a < b |
> |
Lớn hơn | a > b |
<= |
Nhỏ hơn hoặc bằng | a <= b |
>= |
Lớn hơn hoặc bằng | a >= b |
5. Toán tử logic: And
, Or
, Not
Toán tử | Ý nghĩa | Ví dụ |
---|---|---|
And |
Và | a > 1 And b < 5 |
Or |
Hoặc | a = 1 Or b = 2 |
Not |
Phủ định | Not IsNull(rs!Email) |
6. Câu lệnh điều kiện: If...Then...Else
If total > 100000 Then
MsgBox "Khách hàng VIP"
Else
MsgBox "Khách hàng thường"
End If
7. Cấu trúc With...End With
🔹 Dùng khi cần truy cập nhiều thuộc tính cùng một object
With Me
.Caption = "Quản lý đơn hàng"
.Visible = True
End With
8. Set
– Gán object
🔹 Dùng để gán biến đối tượng như Form, Recordset, QueryDef,...
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("SELECT * FROM Orders")
9. Comment ('
)
🔹 Dùng để ghi chú trong code
' Tính tổng số lượng sản phẩm
totalQty = Nz(rs!Qty, 0) + Nz(rs!ExtraQty, 0)
10. Gọi hàm: Call
hoặc không
Call ShowWelcome()
' hoặc đơn giản:
ShowWelcome
📌 Kết luận
Nắm vững cú pháp và toán tử trong VBA là nền tảng quan trọng giúp bạn viết code chắc tay, tránh lỗi cú pháp và logic. Dù VBA không quá phức tạp, nhưng cú pháp đôi khi khác biệt so với các ngôn ngữ hiện đại (như JavaScript, Python), nên việc luyện tập là cần thiết.