
Hàm đọc số dùng mã Unicode
Do môi trường VBA chưa hỗ trợ Unicode đầy đủ nên
việc thiết lập hàm đọc số tiếng Việt với mã (font)
Unicode trong Access cũng như Excel có khó khăn.
Bài viết này giới thiệu một cách thiết lập hàm đọc số
dùng font Unicode trong Access (bạn cũng có thể áp
dụng trong Excel, VB...). Các bước thực hiện như
sau:
1. Mở CSDL Access.
2. Tạo một form đặt tên là FormTam, trên
FormTam tạo hai label:
LabSo, nhập chuỗi: “không một hai ba bốn năm sáu
bảy tám chín mốt lẻ lăm mươi mười trăm ”, cuối
chuỗi có một khoảng trắng.

LabDonvi, nhập chuỗi: “đồng. nghìn triệu tỷ”, cuối
chuỗi cũng có khoảng trắng.
3. Trong Module, nhấn New để tạo mới một module
với tên mặc định là Module1. Sau đó nhấn Design để
vào cửa sổ soạn code và nhập đoạn mã sau:
Khai báo 2 biến toàn cục là 2 mảng chứa chuỗi ký tự
số và chuỗi đơn vị được lấy từ LabSo và LabDonvi
thông qua thủ tục Docchu và Docdonvi.
Public Solay(0 To 15) As String
Public Donvilay(0 To 4) As String
Private Sub Docchu() 'Lấy chuỗi chữ số từ LabSo đặt
vào mảng Solay

Dim tp, Stp, ii
ii = 0: tp = Form_FormTam.LabSo.Caption
Stp = InStr(tp, “ “)
Do While Stp <> 0
Solay(ii) = Left(tp, Stp)
tp = Right(tp, Len(tp) - Stp)
1Stp = InStr(tp, “ “)
ii = ii + 1
Loop
End Sub

Private Sub Docdonvi() Lấy chuỗi đơn vị từ
LabDonvi đặt vào mảng Donvilay
Dim tp, Stp, ii
ii = 0: tp = Form_FormTam.LabDonvi.Caption
Stp = InStr(tp, “ “)
Do While Stp <> 0
Donvilay(ii) = Left(tp, Stp)
tp = Right(tp, Len(tp) - Stp)
Stp = InStr(tp, “ “)
ii = ii + 1

Loop
End Sub
Tạo hàm đọc số:
Public Function DocVND(Sodoc As String) As
String
If Len(Sodoc) > 12 Then
DocVND = “So qua lon qua hang tram ty. Hay xem
lai!”
Exit Function
End If
Sodoc = Round(Sodoc, 0)
Dim Cht As String
Dim fg0 As Boolean

