Gốc > Những vấn đề về CNTT > Thủ thuật Access - Excel >
Đỗ Thanh Dương @ 21:02 20/09/2013
Số lượt xem: 646
Bài 2 : Sắp xếp tiếng Việt theo font Unicode - Xuân Thanh
Sắp xếp tiếng Việt trong Access
Các bạn đều biết rằng từ AccessXp trở về sau, việc hỗ trợ font Unicode trong table, form, report là rất tốt. Vì vậy ta sẽ lợi dụng điều này để chứa font gốc Uni làm cơ sở để mã hóa nó
Các bạn tạo một table có tên là tblChuaMa để chứa font Uni gốc. Table này chỉ có một trường duy nhất là Ma, type là text, length = 255. Sau đó nhập đoạn chứa font Uni sau vào table(lưu ý là nhập bằng font Uni nhé, có thể copy đoạn này dán vào table của bạn)
AaÀàÁáẢảÃãẠạĂăẰằẮắẲẳẴẵẶặÂâẦầẤấẨẩẪẫẬậBbCcDdĐđEeÈèÉéẺẻẼẽẸẹÊêỀềẾếỂểỄễỆệFfGgHhIiÌìÍíỈỉĨĩỊịJjKkLlMmNnOoÒòÓóỎỏÕõỌọÔôỒồỐốỔổỖỗỘộƠơỜờỚớỞởỠỡỢợPpQqRrSsTtUuÙùÚúỦủŨũỤụƯưỪừỨứỬửỮữỰựVvWwXxYyỲỳÝýỶỷỸỹỴỵZz
Sau đó ta viết hàm để thực hiện việc sắp xếp. Để tiện cho các bạn theo dõi và vận dụng khi cần thiết, tôi sẽ tách hàm DaoTen thành mộthàm riêng biệt và khi cần thì gọi nó phục vụ cho công việc của minh
1/ hàm đảo tên
2/ hàm sắp xếp
3/ Cách dùng : giống như bài 1
Chúc các bạn vui
Thân mến
File Demo
Các bạn tạo một table có tên là tblChuaMa để chứa font Uni gốc. Table này chỉ có một trường duy nhất là Ma, type là text, length = 255. Sau đó nhập đoạn chứa font Uni sau vào table(lưu ý là nhập bằng font Uni nhé, có thể copy đoạn này dán vào table của bạn)
AaÀàÁáẢảÃãẠạĂăẰằẮắẲẳẴẵẶặÂâẦầẤấẨẩẪẫẬậBbCcDdĐđEeÈèÉéẺẻẼẽẸẹÊêỀềẾếỂểỄễỆệFfGgHhIiÌìÍíỈỉĨĩỊịJjKkLlMmNnOoÒòÓóỎỏÕõỌọÔôỒồỐốỔổỖỗỘộƠơỜờỚớỞởỠỡỢợPpQqRrSsTtUuÙùÚúỦủŨũỤụƯưỪừỨứỬửỮữỰựVvWwXxYyỲỳÝýỶỷỸỹỴỵZz
Sau đó ta viết hàm để thực hiện việc sắp xếp. Để tiện cho các bạn theo dõi và vận dụng khi cần thiết, tôi sẽ tách hàm DaoTen thành mộthàm riêng biệt và khi cần thì gọi nó phục vụ cho công việc của minh
1/ hàm đảo tên
Mã PHP:
Public Function DaoTen(Ten As String) As String
Dim ViTri, TenMoi As String
ViTri = InStr(1, Ten, Space(1))
Do While ViTri > 0
TenMoi = Left(Ten, ViTri) & TenMoi
Ten = Mid(Ten, ViTri + 1)
ViTri = InStr(1, Ten, Space(1))
Loop
DaoTen = Trim(Ten & Space(1) & TenMoi)
End Function
2/ hàm sắp xếp
Mã PHP:
Public Function XepABC(HoTen As String) As String
Dim chmh, ktdoi, chuv, chkq, kti As String
Dim i, vt, nn3
chmh = Space(0)
chmh = chmh & "aaabacadaeafagahaiajakalamanaoapaqarasatauavawaxaybabcbbbdbebfbgb"
chmh = chmh & "hbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzcacbcccdcecfcgchcicjckclcmcncocpcqcr"
chmh = chmh & "csctcucvcwcxcyczdadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzeaeb"
chmh = chmh & "ecedeeefegeheiejekelemeneoepeqereseteuevewexeyezfafbfcfdfefffgfhfifjfkflfmfnfofpfqf"
chmh = chmh & "rfsftfufvfwfxfyfzgagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzhahbhchd"
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("tblChuaMa", dbOpenDynaset)
chuv = rs!Ma
HoTen = DaoTen(HoTen)
nn3 = Len(HoTen)
chkq = ""
For i = 1 To nn3
kti = Mid(HoTen, i, 1)
vt = InStr(chuv, kti)
If vt <> 0 Then
ktdoi = Mid(chmh, 2 * vt - 1, 2)
chkq = chkq + ktdoi
Else
chkq = chkq + kti
End If
Next i
XepABC = chkq
End Function
3/ Cách dùng : giống như bài 1
Chúc các bạn vui
Thân mến
File Demo
Đỗ Thanh Dương @ 21:02 20/09/2013
Số lượt xem: 646
Số lượt thích:
0 người
 
- Bài 1 : Sắp xếp tiếng Việt theo font chử VNIWindows (VNI) - Xuân Thanh (20/09/13)
- Góp ý bài viết sắp thứ tự chữ Việt Unicode (07/09/13)
- Sắp xếp tiếng Việt theo vần (07/09/13)
- Hàm đọc số tiền dùng mã Unicode trong Access (19/01/13)
- Hàm đổi số thành chữ trong Access (19/01/13)

Ý kiến trao đổi