Chào các Bạn,
Rất nhiều Bạn gặp khó khăn khi phải nhập chuỗi tiếng Việt Unicode trong cửa sổ viết code VBA (IDE). Sau đây là một giải pháp khả thi và rất nhẹ nhàng, đó là:
Thay vì nhập Unicode sẽ không được, ta sẽ nhập bằng 1 bảng mã tiếng Việt khác Unicode, sau đó ta dùng hàm Convert để yêu cầu ứng dụng chuyển chuỗi đã nhập sang Unicode.
Thí dụ: tôi dùng bảng mã "Bách khoa 1 byte" (sau đây viết tắt là Bk1) để nhập một chuỗi SQL trong câu lệnh trên cửa sổ IDE và viết 1 function để chuyển chuỗi BK1 đó thành Unicode.
Đoạn code sau đây dùng để gán RowSource cho 1 ListBox có 2 cột hiển thị danh sách các mặt hàng có tiêu đề cột là "Mã số Hàng hóa" và "Tên Hàng hóa", có sử dụng 1 function tự viết để chuyển mã BK1 sang Unicode là BK1ToUni
Mã:
Dim sqlSt as string
sqlst="SELECT tblDmHangHoa.MSHH AS " & BK1ToUni("MÁ sê h¿ng hÍa") & ", tblDmHangHoa.TenHangHoa AS " & BK1ToUni("Tãn H¿ng hÍa")"
sqlst=sqlst & " FROM tblDmHangHoa"
sqlst=sqlst & " ORDER BY tblDmHangHoa.MSHH"
Me.ListHangHoa.RowSource = sqlst
Tôi đính kèm theo đây:
1. file chứa module Convert, các Bạn có thể tùy biến theo yêu cầu. Để viết module này tôi đã tham khảo các bài viết về Unicode và code VB từ trang
www.vovisoft.com
2. file mdb minh họa giải pháp trên. Link download:
http://www.mediafire.com/file/l7hsams6ao...stlist.zip