Site logo
Tác giả
  • avatar Nguyễn Đức Xinh
    Name
    Nguyễn Đức Xinh
    Twitter
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ặp Null.


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 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.