caosieu > 08-04-13, 10:44 AM
Xuân Thanh > 08-04-13, 10:59 AM
MieuNu > 19-06-13, 04:41 PM
Xuân Thanh > 19-06-13, 05:10 PM
Private Sub SoTien_AfterUpdate()
    Me.SoTienBangChu = DocSo(Me.SoTien)
End Sub 
MieuNu > 19-06-13, 05:27 PM
(19-06-13, 05:10 PM)Xuân Thanh Đã viết:Mã PHP:Private Sub SoTien_AfterUpdate()
Me.SoTienBangChu = DocSo(Me.SoTien)
End Sub
Bạn thử xem, tôi chưa test
Thân mến
P/S : Trong table phải có 2 trường là SoTien và SoTienBangChu. Cả 2 trường này đều được thể hiện trên form và lấy nguồn từ table
MieuNu > 19-06-13, 05:56 PM
Xuân Thanh > 20-06-13, 12:28 PM
tranthanhan1962 > 03-11-14, 05:11 AM
thiennamlong > 23-03-16, 11:45 PM
(03-11-14, 05:11 AM)tranthanhan1962 Đã viết: Có một cách tương đối đơn giản vì tôi nghĩ bạn nào cũng có hàm đọc số VNI. Chọn đại một hàm đọc số VNI nào bạn thích nhất, xong xử dụng Vietnamese keyboard của windows để gõ lại các ký tự tiếng Việt ...
Public Function VND(BaoNhieu) '1
Dim KetQua, SOTIEN, NHOM, Chu, Dich, S1, S2, S3 As String
Dim I, J, Vitri As Byte, S As Double
Dim Hang, DOC, DEM
If BaoNhieu = 0 Then
KetQua = "Không đồng"
Else
If Abs(BaoNhieu) > 1E+15 Then
KetQua = "Số Qúa Lớn"
Else
If BaoNhieu < 0 Then
KetQua = "Trừ" & Space(1)
Else
KetQua = Space(0)
End If
SOTIEN = Format(Abs(BaoNhieu), "###############")
SOTIEN = Right(Space(15) & SOTIEN, 15)
Hang = Array("None", "trăm", "mươi", "gì đó")
DOC = Array("None", "nghìn tỷ,", "tỷ,", "triệu,", "nghìn,", "đồng.")
DEM = Array("None", "một", "hai", "ba", "bốn", "năm", "sáu", "bảy", "tám", "chín")
For I = 1 To 5
NHOM = Mid(SOTIEN, I * 3 - 2, 3)
If NHOM <> Space(3) Then
Select Case NHOM
Case "000"
If I = 5 Then
Chu = "đồng chẵn." & Space(1)
Else
   Chu = Space(0)
End If
Case Else
S1 = Left(NHOM, 1)
S2 = Mid(NHOM, 2, 1)
S3 = Right(NHOM, 1)
Chu = Space(0)
Hang(3) = DOC(I)
For J = 1 To 3
Dich = Space(0)
S = Val(Mid(NHOM, J, 1))
If S > 0 Then
Dich = DEM(S) & Space(1) & Hang(J) & Space(1)
End If
Select Case J
Case 2 And S = 1
Dich = "mười" & Space(1)
Case 3 And S = 0 And NHOM <> Space(2) & "0"
Dich = Hang(J) & Space(1)
Case 3 And S = 5 And S2 <> Space(1) And S2 <> "0"
Dich = "l" & Mid(Dich, 2)   'Ký tự en lờ
Case 2 And S = 0 And S3 <> "0"
If (S1 >= "l" And S1 <= "9") Or (S1 = "0" And I = 1) Or (S1 = "0" And I = 2) Or _
(S1 = "0" And I = 3) Or (S1 = "0" And I = 4) Or (S1 = "0" And I = 5) Then
Dich = "linh" & Space(1)
   End If
                Case 1 And S = 0 And S3 <> "0"
                 If (S1 >= "1" And S1 <= "9") Or (S1 = "0" And I = 1) Or (S1 = "0" And I = 2) Or _
                 (S1 = "0" And I = 3) Or (S1 = "0" And I = 4) Or (S1 = "0" And I = 5) Then
                 Dich = "không trăm" & Space(1)
   End If
   Case 1 And S = 0 And S3 = "0"
                 If (S1 >= "1" And S2 <= "9") Or (S1 = "0" And I = 1) Or (S1 = "0" And I = 2) Or _
                 (S1 = "0" And I = 3) Or (S1 = "0" And I = 4) Or (S1 = "0" And I = 5) Then
                 Dich = "không trăm" & Space(1)
                 End If
   End Select
Chu = Chu & Dich
Next J
End Select
Vitri = InStr(1, Chu, "mươi mốt", 1)
If Vitri > 0 Then Mid(Chu, Vitri, 9) = "mươi mốt"
KetQua = KetQua & Chu
End If
Next I
End If
End If
VND = UCase(Left(KetQua, 1)) & Mid(KetQua, 2)
End FunctionPublic Function USD(BaoNhieu) '2
'Dollar mỹ'
Dim KetQua, SOTIEN, NHOM, Chu, Dich, S1, S2, S3 As String
Dim I, J, Vitri As Byte, S As Double
Dim Hang, DOC, DEM
If BaoNhieu = 0 Then
KetQua = "Không đồng"
Else
If Abs(BaoNhieu) > 999999999999.99 Then
KetQua = "Số Qúa Lớn"
Else
If BaoNhieu < 0 Then
KetQua = "Trừ" & Space(1)
Else
KetQua = Space(0)
End If
SOTIEN = Format(Abs(BaoNhieu), "###########0.00")
SOTIEN = Right(Space(12) & SOTIEN, 15)
Hang = Array("None", "trăm", "mươi", "gì đó")
DOC = Array("None", "tỷ", "triệu", "nghìn", " dollar mỹ", "cent")
DEM = Array("None", "một", "hai", "ba", "bốn", "năm", "sáu", "bảy", "tám", "chín")
For I = 1 To 5
NHOM = Mid(SOTIEN, I * 3 - 2, 3)
If NHOM <> Space(3) Then
Select Case NHOM
Case "000"
If I = 4 Then
Chu = "dollar mỹ" & Space(1)
Else
   Chu = Space(0)
End If
   Case ".00"
If I = 5 Then
Chu = "chẵn" & Space(0)
Else
   Chu = Space(0)
End If
Case Else
S1 = Left(NHOM, 1)
S2 = Mid(NHOM, 2, 1)
S3 = Right(NHOM, 1)
Chu = Space(0)
Hang(3) = DOC(I)
For J = 1 To 3
Dich = Space(0)
S = Val(Mid(NHOM, J, 1))
If S > 0 Then
Dich = DEM(S) & Space(1) & Hang(J) & Space(1)
End If
Select Case J
Case 2 And S = 1
Dich = "mười" & Space(1)
Case 3 And S = 0 And NHOM <> Space(2) & "0"
Dich = Hang(J) & Space(1)
Case 3 And S = 5 And S2 <> Space(1) And S2 <> "0"
Dich = "l" & Mid(Dich, 2)   'Ký tự en lờ
Case 2 And S = 0 And S3 <> "0"
If (S1 >= "1" And S1 <= "9") Or (S1 = "0" And I = 1) Or (S1 = "0" And I = 2) Or (S1 = "0" And I = 3) Or (S1 = "0" And I = 4) Then
Dich = "linh" & Space(1)
End If
       
       W = Mid(SOTIEN, 14, 2)
       If W > "0" And I = 5 Then
       Dich = "lẻ" & Space(1)
       End If
       Case 1 And S = 0 And S3 <> "0"
       If (S1 >= "1" And S1 <= "9") Or (S1 = "0" And I = 1) Or (S1 = "0" And I = 2) Or (S1 = "0" And I = 3) Or (S1 = "0" And I = 4) Or (S1 = "0" And I = 5) Then
       Dich = "không trăm" & Space(1)
       End If
Case 1 And S = 0 And S3 = "0"
       If (S1 >= "1" And S1 <= "9") Or (S1 = "0" And I = 1) Or (S1 = "0" And I = 2) Or (S1 = "0" And I = 3) Or (S1 = "0" And I = 4) Then
       Dich = "không trăm" & Space(1)
       End If
End Select
Chu = Chu & Dich
Next J
End Select
Vitri = InStr(1, Chu, "mươi mốt", 1)
If Vitri > 0 Then Mid(Chu, Vitri, 9) = "mươi mốt"
KetQua = KetQua & Chu
End If
Next I
End If
End If
USD = UCase(Left(KetQua, 1)) & Mid(KetQua, 2)
End Function![[Hình: 25932396821_db64ea6004_o.jpg]](https://farm2.staticflickr.com/1612/25932396821_db64ea6004_o.jpg)