Option Compare Database là câu lệnh bảo VBA hãy thực hiện việc so sánh dữ liệu theo đúng “luật” mà bạn đã thiết lập trong cơ sở dữ liệu (Database) đó.
1. Tại sao cần dùng nó?
Thông thường, máy tính so sánh chữ cái dựa trên mã nhị phân (Binary). Ví dụ: Trong mã nhị phân, chữ cái viết hoa “A” khác hoàn toàn chữ cái viết thường “a”.
Tuy nhiên, trong quản lý dữ liệu thực tế, chúng ta thường muốn “Anh” và “anh” được coi là giống nhau khi tìm kiếm hoặc sắp xếp. Đó là lúc Option Compare Database phát huy tác dụng.
2. Cách nó hoạt động
Khi bạn dùng lệnh này, thứ tự sắp xếp và việc so sánh bằng (=) sẽ tuân theo Locale ID (mã vùng ngôn ngữ) của file Access đó.
Không phân biệt hoa thường: Thông thường, nó sẽ coi “A” giống như “a”.
Thứ tự bảng chữ cái: Nó sắp xếp theo đúng quy chuẩn ngôn ngữ bạn chọn (ví dụ: tiếng Việt có dấu sẽ được sắp xếp đúng vị trí thay vì nhảy lộn xộn dựa trên mã ASCII).
3. So sánh với các tùy chọn khác
Để dễ hình dung, hãy xem bảng so sánh dưới đây:
| Câu lệnh | Cách so sánh | Kết quả “A” = “a” |
|---|---|---|
| Option Compare Binary | Dựa trên mã nhị phân của ký tự. | False (Sai) |
| Option Compare Text | Dựa trên văn bản (không phân biệt hoa thường). | True (Đúng) |
| Option Compare Database | Dựa trên cài đặt riêng của file Access. | Thường là True |
Lưu ý quan trọng: Option Compare Database chỉ tồn tại và có hiệu lực trong môi trường Microsoft Access. Nếu bạn viết code VBA trong Excel hoặc Word, bạn sẽ không dùng được tùy chọn này mà phải chọn giữa Binary hoặc Text.
4. Khi nào bạn nên dùng?
Bạn nên giữ dòng này ở đầu các Module trong Access nếu bạn muốn các hàm xử lý chuỗi trong VBA (như StrComp, InStr) cho ra kết quả đồng nhất với các câu lệnh SQL hoặc các bộ lọc (Filter) mà bạn chạy trực tiếp trên bảng dữ liệu.

