Hoi thao the gioi ke toan CleverCFO Công ty CP Tư Vấn Thuế Vinatax
+ Reply to Thread
Kết quả 1 tới 5 của 5
  1. #1
    seachanges
    Khách vãng lai

    Đổi số thành chữ trong Access

    Mình có một đoạn mã nguồn đổi số thành chữ trong access nhưng khi biến đổi thường không chính xác ở hàng số lẻ. Bạn nào có đoạn mã nguồn sử dụng ổn định chia sẽ cho mình với nhé. Thanks

  2. #2
    dongnamnb
    Khách vãng lai
    Bạn chép cả 3 hàm này vào rồi gọi DocSo(n) là được
    'C¸c hµm dïng ®äc sè
    '================================================= =
    Function DocSo(X As String) As String
    Dim DonVi, Am As Boolean
    DonVi = Array("", "ngh×n ", "triÖu ", "tû &quot
    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), "#&quot: 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 <> &quot;&quot
    If Len(X1) <> 0 Then
    So = Lay3so(X1)
    X1 = Left(X1, Len(X1) - Len(So))
    Temp = Tinh3so(So)
    So = Temp
    If So <> &quot;&quot; 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 = &quot;&quot;
    If X = &quot;&quot; And X1 <> &quot;&quot; Then ChuoiDem = ChuoiDem & &quot;tû &quot;
    Loop
    ChuoiDem = IIf(Am, &quot;¢m &quot; & 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(&quot;kh«ng&quot;, &quot;mét&quot;, &quot;hai&quot;, &quot;ba&quot;, &quot;bèn&quot;, &quot;n¨m&quot;, &quot;s¸u&quot;, &quot;b¶y&quot;, &quot;t¸m&quot;, &quot;chÝn&quot
    If Len(X) = 3 Then
    If X <> &quot;000&quot; Then 'If Left(x, 1) <> 0 Then
    Chuoi = KySo(Left(X, 1)) & &quot; tr¨m &quot;
    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 & &quot;linh &quot;
    End If
    Flag0 = True
    Else
    If Left(X, 1) = 1 Then
    Chuoi = Chuoi & &quot;m*êi &quot;
    Else
    Chuoi = Chuoi & KySo(Left(X, 1)) & &quot; m*¬i &quot;
    Flag1 = True
    End If
    End If
    X = Right(X, 1)
    End If
    If Right(X, 1) <> &quot;0&quot; Then
    If Left(X, 1) = &quot;5&quot; And Not Flag0 Then
    If Len(Temp) = 1 Then
    Chuoi = Chuoi & &quot;n¨m &quot;
    Else
    Chuoi = Chuoi & &quot;l¨m &quot;
    End If
    Else
    If Left(X, 1) = &quot;1&quot; And Not (Not Flag1 Or Flag0) And Chuoi <> &quot;&quot; Then
    Chuoi = Chuoi & &quot;mèt &quot;
    Else
    Chuoi = Chuoi & KySo(Left(X, 1)) & &quot; &quot;
    End If
    End If
    End If
    Tinh3so = Chuoi
    End Function

  3. #3
    ZRComic
    Khách vãng lai
    Tiện có câu hỏi này . Mình muốn đoạn hàm này có thể đọc ra tiếng Việt Unicode thì làm sao . Lâu nay theo mình biết thì chỉ hiển thị được tiếng việt khi dùng font VNI

  4. #4
    dongnamnb
    Khách vãng lai
    Để đọc ra tiếng việt Unicode thì cách đơn giản nhất là bạn bật chế độ gõ Unicode của chương trình gõ tiếng Việt, sau đó tìm tất cả các chữ Việt có dấu được viết trong hàm rồi gõ lại bằng Unicode.
    Lưu ý: Nếu bạn chuyển sang Unicode thì khi đọc số ở report hay form bạn cũng phải chọn font Unicode thì mới có thể đọc được.
    Chúc thành công!

  5. #5
    seachanges
    Khách vãng lai
    [IMG]http://www.*************/forum/images/smilies/football.gif[/IMG] Khi chuyển sang chế độ Unicode trong phần mềm xử lý tiếng Việt mình gõ kiểu Vni trong Modules của access vẫn không hiển thị tiếng việt được bạn ơi. Không biết còn thêm thao tác nào không?


 

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Similar Threads

  1. Tạo chữ động trong Access
    By Cuncon05 in forum Ứng dụng Access
    Trả lời: 0
    Bài viết cuối: 07-30-2010, 03:24 PM
  2. Lỗi hiển thị hình trong Access
    By kitty01 in forum Ứng dụng Access
    Trả lời: 0
    Bài viết cuối: 07-30-2010, 03:18 PM
  3. Trả lời: 1
    Bài viết cuối: 07-30-2010, 03:14 PM
  4. Tính toán thời gian trong access
    By duylinh in forum Ứng dụng Access
    Trả lời: 0
    Bài viết cuối: 07-30-2010, 03:13 PM
  5. Thủ thuật trong Access
    By htqtn in forum Ứng dụng Access
    Trả lời: 0
    Bài viết cuối: 07-30-2010, 03:01 PM

Quyền viết bài

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