NHẬP TỪ KHÓA BẠN QUAN TÂM VÀO KHUNG BÊN DƯỚI
LIKE ỦNG HỘ GOCCAY.VN NHA CÁC BẠN ^_^
TRUYỆN XEM NHIỀU NHẤT
Đấu Phá Thương Khung
Đấu La Đại Lục
Cực Phẩm Gia Đinh
Tân Tác Long Hổ Môn
Phong Thần Ký III
Tuyệt Thế Vô Song
Thời Đại X Long
Thiên Địa Long Hồn
Chu Tước Ký
Bàn Long
Thôn Phệ Tinh Không
Chín Chín Tám Mốt
Mãng Hoang Ký
Hắc Khuyển
+ Trả Lời Ðề Tài
kết quả từ 1 tới 3 trên 3

Ðề tài: Code đổi số thành chữ trong access

  1. #1
    Tham gia ngày
    May 2012
    Bài gởi
    5
    Thanks
    0
    Thanked 0 Times in 0 Posts

  2. Circuit advertisement
    Tham gia ngày
    Always
    Bài gởi
    Many
  3. #2
    Tham gia ngày
    Dec 2011
    Bài gởi
    291
    Thanks
    16
    Thanked 103 Times in 61 Posts
    Bạn chép cả 3 hàm này vào rồi gọi DocSo(n) là được
    '================================================= =
    Function DocSo(X As String) As String
    Dim DonVi, Am As Boolean
    DonVi = Array("", "ngh×n ", "triÖu ", "tû ")
    Dim So As String, Chuoi As String, Temp As String, X1 As String, c As Byte, l As Byte, k As Byte, ChuoiDem As String
    Dim id As Byte
    X = Format(val(X), "#"): Am = False
    If Len(X) > 18 Then
    DocSo = "Sè qu¸ lín"
    Exit Function
    End If
    If Left(X, 1) = "-" Then
    Am = True
    X = Right(X, Len(X) - 1)
    End If
    If X = 0 Then
    DocSo = "Kh«ng"
    Exit Function
    End If
    'Xu ly doc nhung so >100 ty
    l = Len(X)
    c = Fix(l / 9)
    If l Mod 9 = 0 Then
    k = 9
    Else
    k = l Mod 9
    End If
    X1 = Left(X, k)
    X = Right(X, l - k)
    Do Until X1 = ""
    id = 0
    Do While (X1 <> "")
    If Len(X1) <> 0 Then
    So = Lay3so(X1)
    X1 = Left(X1, Len(X1) - Len(So))
    Temp = Tinh3so(So)
    So = Temp
    If So <> "" Then
    Temp = Temp + DonVi(id)
    Chuoi = Temp + Chuoi
    End If
    id = id + 1
    End If
    Loop
    l = Len(X)
    c = Fix(l)
    If (l <> 0) And (l Mod 9) = 0 Then
    k = 9
    Else
    k = l Mod 9
    End If
    X1 = Left(X, k)
    X = Right(X, l - k)
    ChuoiDem = ChuoiDem & Chuoi
    Chuoi = ""
    If X = "" And X1 <> "" Then ChuoiDem = ChuoiDem & "tû "
    Loop
    ChuoiDem = IIf(Am, "¢m " & Trim$(ChuoiDem), UCase(Left(ChuoiDem, 1)) & Right(ChuoiDem, Len(ChuoiDem) - 1))
    DocSo = ChuoiDem
    End Function
    Function Lay3so(X As String) As String
    Dim So As String
    If Len(X) >= 3 Then
    So = Right(X, 3)
    Else
    So = Right(X, Len(X))
    End If
    Lay3so = So
    End Function
    Function Tinh3so(X As String) As String
    Dim Chuoi As String, Temp As String
    Dim Flag0 As Boolean, Flag1 As Boolean
    Temp = X
    Dim KySo
    KySo = Array("kh«ng", "mét", "hai", "ba", "bèn", "n¨m", "s¸u", "b¶y", "t¸m", "chÝn")
    If Len(X) = 3 Then
    If X <> "000" Then 'If Left(x, 1) <> 0 Then
    Chuoi = KySo(Left(X, 1)) & " tr¨m "
    End If
    X = Right(X, 2)
    End If
    If Len(X) = 2 Then
    If Left(X, 1) = 0 Then
    If Right(X, 1) <> 0 Then
    Chuoi = Chuoi & "linh "
    End If
    Flag0 = True
    Else
    If Left(X, 1) = 1 Then
    Chuoi = Chuoi & "m*êi "
    Else
    Chuoi = Chuoi & KySo(Left(X, 1)) & " m*¬i "
    Flag1 = True
    End If
    End If
    X = Right(X, 1)
    End If
    If Right(X, 1) <> "0" Then
    If Left(X, 1) = "5" And Not Flag0 Then
    If Len(Temp) = 1 Then
    Chuoi = Chuoi & "n¨m "
    Else
    Chuoi = Chuoi & "l¨m "
    End If
    Else
    If Left(X, 1) = "1" And Not (Not Flag1 Or Flag0) And Chuoi <> "" Then
    Chuoi = Chuoi & "mèt "
    Else
    Chuoi = Chuoi & KySo(Left(X, 1)) & " "
    End If
    End If
    End If
    Tinh3so = Chuoi
    End Function

    =================================================
    Chúc bạn thành công

  4. #3
    Tham gia ngày
    Jan 2012
    Bài gởi
    124
    Thanks
    0
    Thanked 17 Times in 14 Posts
    Thử từng Function được không? Tui thử Function 2 trước nha! OK hả, cảm ơn

+ Trả Lời Ðề Tài

Quuyền Hạn Của Bạn

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể chỉnh sửa bài viết