L
Chào các Bạn,
Có một số Bạn gửi email hỏi tôi về việc sắp xếp danh sách tiếng Việt Unicode trong MS. Access.
Đáp ứng yêu cầu đó, tôi xin trao đổi với các Bạn một cách sắp xếp danh sách tiếng Việt Unicode bằng giải pháp đơn giản như sau:
Bài toán sắp xếp danh sách tiếng Việt có thể được giải theo nhiều cách, sau đây là một cách đơn giản nhất, dễ hiểu với các Bạn mới tìm hiểu MS. Access:
1. Nếu là sắp xếp danh sách Họ và Tên người, theo quy tắc sắp xếp tiếng Việt:
+ Xếp thứ tự theo "tên" trước
+ Sau đó sắp theo "chữ lót" rồi tới "Họ"
Thứ tự sắp xếp các nguyên âm có dấu thanh tiếng Việt là: không dấu -> huyền -> sắc -> hỏi -> ngã -> nặng.
2. Như vậy ta cần phải tách cột "Họ và Tên" thành 2 cột phân biệt là: "Tên" và "Họ và chữ lót"
Vì quy tắc thứ tự sắp xếp là: "tên" -> "chữ lót" rồi mới tới "Họ", nên ta sẽ phải đảo ngược "Họ và chữ lót" thành "Chữ lót và Họ"
Vậy là ta phải viết code VBA để:
+ tách cột
+ và đảo chuỗi.
3. Muốn sắp xếp tiếng Việt, ta chỉ cần mã hóa chuỗi các ký tự tiếng Việt (nguyên âm và phụ âm chữ việt) thành chuỗi các ký tự la tinh không dấu.
Vậy là ta phải viết code VBA để làm cái công việc mã hóa này.
Sau đó ta cho sắp xếp bằng công cụ Sorting của Access là xong.
Và đây là Link tải xuống file mdb có sẵn các thành phần cần thiết để các Bạn tiện tham khảo:
+ Code VBA bao gồm các Function cần thiết: tách cột, mã hóa chuỗi Unicode
+ Bảng danh sách Họ và Tên với trên 7.000 dòng
+ Query dùng để kiểm tra
Link tải xuống: http://www.mediafire.com/file/pbwwm4hyom9ph5h/SortUniCodeString.zip
Hoặc file đính kèm.
Có một số Bạn gửi email hỏi tôi về việc sắp xếp danh sách tiếng Việt Unicode trong MS. Access.
Đáp ứng yêu cầu đó, tôi xin trao đổi với các Bạn một cách sắp xếp danh sách tiếng Việt Unicode bằng giải pháp đơn giản như sau:
Bài toán sắp xếp danh sách tiếng Việt có thể được giải theo nhiều cách, sau đây là một cách đơn giản nhất, dễ hiểu với các Bạn mới tìm hiểu MS. Access:
1. Nếu là sắp xếp danh sách Họ và Tên người, theo quy tắc sắp xếp tiếng Việt:
+ Xếp thứ tự theo "tên" trước
+ Sau đó sắp theo "chữ lót" rồi tới "Họ"
Thứ tự sắp xếp các nguyên âm có dấu thanh tiếng Việt là: không dấu -> huyền -> sắc -> hỏi -> ngã -> nặng.
2. Như vậy ta cần phải tách cột "Họ và Tên" thành 2 cột phân biệt là: "Tên" và "Họ và chữ lót"
Vì quy tắc thứ tự sắp xếp là: "tên" -> "chữ lót" rồi mới tới "Họ", nên ta sẽ phải đảo ngược "Họ và chữ lót" thành "Chữ lót và Họ"
Vậy là ta phải viết code VBA để:
+ tách cột
+ và đảo chuỗi.
3. Muốn sắp xếp tiếng Việt, ta chỉ cần mã hóa chuỗi các ký tự tiếng Việt (nguyên âm và phụ âm chữ việt) thành chuỗi các ký tự la tinh không dấu.
Vậy là ta phải viết code VBA để làm cái công việc mã hóa này.
Sau đó ta cho sắp xếp bằng công cụ Sorting của Access là xong.
Và đây là Link tải xuống file mdb có sẵn các thành phần cần thiết để các Bạn tiện tham khảo:
+ Code VBA bao gồm các Function cần thiết: tách cột, mã hóa chuỗi Unicode
+ Bảng danh sách Họ và Tên với trên 7.000 dòng
+ Query dùng để kiểm tra
Link tải xuống: http://www.mediafire.com/file/pbwwm4hyom9ph5h/SortUniCodeString.zip
Hoặc file đính kèm.