Thanh Dương xin chào

3 khách và 0 thành viên

Ảnh ngẫu nhiên

BannerHongAnh.swf 270.jpg Mungxuan.swf Happy_new_year.swf _NGUOI_THAY__NHAT_HUY.swf 01_TIENG_HAT_TU_TP_HO_CHI_MINH.swf Cover201115.jpg Donghosocogiay2chuden.swf Donghosocogiay2chutrang.swf Donghosocogiay12chutrang.swf Donghoso12.swf Donghoso21.swf Donghoso2.swf Donghoso1.swf Donghosocogiay1.swf Donghosocogiay.swf Donghoso.swf Clock_LienBich.swf Ad_cadao.swf Videoplayback_.flv

Tài nguyên dạy học

Điều tra ý kiến

Bạn thấy trang này như thế nào?
Đẹp
Đơn điệu
Bình thường
Ý kiến khác

Sắp xếp dữ liệu

Nhúng mã HTML

Thống kê

  • truy cập   (chi tiết)
    trong hôm nay
  • lượt xem
    trong hôm nay
  • thành viên
  • thống kê truy cập

    free counters
    Gốc > Những vấn đề về CNTT > Thủ thuật Access - Excel >

    Hàm đổi số thành chữ trong Access

    Public Function DocSo(Number As Double)

        Dim MyArray

        Dim Str As String

        If Number >= 1E+18 Then DocSo = "#NUM!": Exit Function

        Str = Format(Fix(Abs(Number)), "000000000000000000")

        MyArray = Array("không ","m" & ChrW(7897) & "t ","hai ","ba ", "b" & ChrW(7889) & "n ","n" & ChrW(259) & "m ","sáu ", "b" & ChrW(7843) & "y ","tám ","chín ","tri" & ChrW(7879) & "u, ","ngàn, ", "t" & ChrW(7927) & ", ","tri" & ChrW(7879) & "u, ","ngàn, ","","tr" & ChrW(259) & "m ","m" & ChrW(432) & ChrW(417) & "i ","không " & "m" & ChrW(432) & ChrW(417) & "i" & " không ","không " & "m" & ChrW(432) & ChrW(417) & "i","l" & ChrW(7867), "m" & ChrW(432) & ChrW(417) & "i" & " không","m" & ChrW(432) & ChrW(417) & "i","m" & ChrW(432) & ChrW(417) & "i" & " n" & ChrW(259) & "m","m" & ChrW(432) & ChrW(417) & "i" & " l" & ChrW(259) & "m","m" & ChrW(7897) & "t " & "m" & ChrW(432) & ChrW(417) & "i","m" & ChrW(432) & ChrW(7901) & "i","m" & ChrW(432) & ChrW(417) & "i" & " m" & ChrW(7897) & "t","m" & ChrW(432) & ChrW(417) & "i" & " m" & ChrW(7889) & "t","","ph" & ChrW(7843) & "y ","","")

        For i = 1 To Len(Str)

            If Left(Str, i) <> 0 And Mid(Str, (Int((i + 2) / 3) - 1) * 3 + 1, 3) <> 0 Then

                DocSo = DocSo & MyArray(Mid(Str, i, 1)) & MyArray(-(9 + i / 3) * (i Mod 3 = 0) - (15 + i Mod 3) * (i Mod 3 <> 0))

            ElseIf i = 9 And Mid(Str, 7, 3) = 0 And Left(Str, 6) <> 0 Then

                DocSo = DocSo & MyArray(12)

            End If

        Next

        DocSo = IIf(Number = 0, MyArray(0) & MyArray(30), "") & IIf(Fix(Number) <> 0, DocSo & MyArray(30), "") & IIf(Fix(Number) <> 0 And Fix(Number) <> Number, MyArray(31), "") & IIf(Fix(Number) <> Number, IIf(Abs(Number - Fix(Number)) < 0.1, MyArray(1), MyArray(Left(Right(Format(Abs(Number), "#.00"), 2), 1)) & MyArray(17)) & MyArray(Right(Format(Number, "#.00"), 1)) & MyArray(32), "")

        DocSo = Replace(Trim(Replace(Replace(Replace(Replace(Replace(Replace(Replace(DocSo, MyArray(18), MyArray(15)), MyArray(19), MyArray(20)), MyArray(21), MyArray(22)), MyArray(23), MyArray(24)), MyArray(25), MyArray(26)), MyArray(27), MyArray(28)), ", " & MyArray(30), " " & MyArray(30))), MyArray(30) & MyArray(31), Split(MyArray(30), " ")(0) & " " & MyArray(31))

        If Number < 0 Then DocSo = MyArray(29) & DocSo

        DocSo = UCase(Left(DocSo, 1)) & Mid(DocSo, 2) & "."

    End Function

     

     

    Sử dụng trong access: gọi hàm = Docso(n) để chuyển số thành điểm số 

    VD: 9.20 thành Chín phảy hai mươi


    Nhắn tin cho tác giả
    Đỗ Thanh Dương @ 08:29 19/01/2013
    Số lượt xem: 2770
    Số lượt thích: 0 người
     
    Gửi ý kiến

    HỖ TRỢ QUẢN TRỊ WEBSITE

    Thay tên website / Chọn thư mục / Mở ra
    Giao diện Module Thư mục Thành viên Tài nguyên Xóa Code
    http://