uronmapu Cao Thủ Access    Bài viết: 264 Chủ đề: 37 Tham Gia: 08-12 -11 Điểm danh tiếng: 0 Số lần cảm ơn 145 22 cảm ơn trong 19 bài Tiền Access: 4,530.06Ac$ #1 07-09-12, 04:32 PM Chào cả nhà Em bị lỗi này ko biết fix thế nào ạ Run-time error '13' Type mismatch Lỗi tại dòng Đây là đoạn code chuyển số thành chữ Em xin hỏi thêm làm sao in Phiếu Hóa Đơn thành 2 trang (2 phần) Liên 1: Giao cho Khách hàng Liên 2: Công ty giữ Em chỉ mới làm in được 1 trang thôi File của em: http://www.mediafire.com/?phg365feb4az7xk Chữ ký của uronmapu Cảm ơn cả nhà Để học Access không nên ngại đặt câu hỏi Uron Website Find Reply Những người đã cảm ơn cannguyen Tín đồ Access   Bài viết: 173 Chủ đề: 36 Tham Gia: 15-08 -11 Điểm danh tiếng: 2 Số lần cảm ơn 21 24 cảm ơn trong 17 bài Tiền Access: 3,460.96Ac$ #2 07-09-12, 05:06 PM (07-09-12, 04:32 PM)uronmapu Đã viết: Chào cả nhà Em bị lỗi này ko biết fix thế nào ạ Run-time error '13' Type mismatch Lỗi tại dòng Đây là đoạn code chuyển số thành chữ Em xin hỏi thêm làm sao in Phiếu Hóa Đơn thành 2 trang (2 phần) Liên 1: Giao cho Khách hàng Liên 2: Công ty giữ Em chỉ mới làm in được 1 trang thôi File của em: http://www.mediafire.com/?phg365feb4az7xk Link http://tinphatco.com/download.php[/b] Code đổi số ra chữ bạn xem trong phần modul Để in 2 liên bạn tham khảo macro in2lien nhé, mình in phiếu bằng cách tạo macro, cách này đơn giản. Đây chỉ là tham khảo cách làm thôi nhé, vì mình thiết lập dữ liệu theo phần mềm của mình Chữ ký của cannguyen Xin chào, mình là cannguyen, Tham gia http://thuthuataccess.com/forum từ ngày 15-08 -11. Website Find Reply Những người đã cảm ơn uronmapu uronmapu Cao Thủ Access    Bài viết: 264 Chủ đề: 37 Tham Gia: 08-12 -11 Điểm danh tiếng: 0 Số lần cảm ơn 145 22 cảm ơn trong 19 bài Tiền Access: 4,530.06Ac$ #3 07-09-12, 06:21 PM (Được chỉnh sửa: 07-09-12, 06:24 PM bởi uronmapu.) Cảm ơn bạn, mình vừa thử đoạn code đổi số của bạn nhưng lại bị lỗi tương tự 'Xet hang tram If Len(X) = 3 Then If Left(X, 1) <> 0 Then chuoi = KySo(Left(X, 1)) + " traêm " End If X = Right(X, 2) và đoạn này nữa 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 CÒn phần in 2 liên mình copy nhưng ko biết cách áp dụng Chữ ký của uronmapu Cảm ơn cả nhà Để học Access không nên ngại đặt câu hỏi Uron Website Find Reply Những người đã cảm ơn uronmapu Cao Thủ Access    Bài viết: 264 Chủ đề: 37 Tham Gia: 08-12 -11 Điểm danh tiếng: 0 Số lần cảm ơn 145 22 cảm ơn trong 19 bài Tiền Access: 4,530.06Ac$ #4 07-09-12, 07:41 PM Mình sử dụng đoạn lệnh khác bên dưới ok rồi ah Mã PHP:Function VND(BaoNhieu)Dim KetQua, SOTIEN, NHOM, Chu, Dich, S1, S2, S3 As StringDim I, J, Vitri As Byte, S As DoubleDim Hang, DOC, DEMIf BaoNhieu = 0 ThenKetQua = "Khoâng ñoàng"ElseIf Abs(BaoNhieu) > 1E+15 ThenKetQua = "Soá Quùa Lôùn"ElseIf BaoNhieu < 0 ThenKetQua = "Tröø" & Space(1)ElseKetQua = Space(0)End IfSOTIEN = Format(Abs(BaoNhieu), "###############")SOTIEN = Right(Space(15) & SOTIEN, 15)Hang = Array("None", "traêm", "möôi", "gì ñoù")DOC = Array("None", "ngaøn tyû,", "tyû,", "trieäu,", "ngaøn,", "ñoàng ")DEM = Array("None", "moät", "hai", "ba", "boán", "naêm", "saùu", "baûy", "taùm", "chín")For I = 1 To 5NHOM = Mid(SOTIEN, I * 3 - 2, 3)If NHOM <> Space(3) ThenSelect Case NHOMCase "000"If I = 5 ThenChu = "ñoàng chaün " & Space(1)ElseChu = Space(0)End IfCase ElseS1 = Left(NHOM, 1)S2 = Mid(NHOM, 2, 1)S3 = Right(NHOM, 1)Chu = Space(0)Hang(3) = DOC(I)For J = 1 To 3Dich = Space(0)S = Val(Mid(NHOM, J, 1))If S > 0 ThenDich = DEM(S) & Space(1) & Hang(J) & Space(1)End IfSelect Case JCase 2 And S = 1Dich = "möôøi" & Space(1)Case 2 And S2 = "0" And S3 <> "0" And S1 >= "0" And I = 5Dich = "leû" & 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 = "1" & Mid(Dich, 2) 'Kyù 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) ThenDich = "linh" & Space(1)End IfCase 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) ThenDich = "khoâng traêm" & Space(1)End IfCase 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) ThenDich = "khoâng traêm" & Space(1)End IfEnd SelectChu = Chu & DichNext JEnd SelectVitri = InStr(1, Chu, "möôi moät", 1)If Vitri > 0 Then Mid(Chu, Vitri, 9) = "möôi moát"KetQua = KetQua & ChuEnd IfNext IEnd IfEnd IfVND = UCase(Left(KetQua, 1)) & Mid(KetQua, 2)End FunctionFunction AUD(BaoNhieu)Dim KetQua, SOTIEN, NHOM, Chu, Dich, S1, S2, S3 As StringDim I, J, Vitri As Byte, S As DoubleDim Hang, DOC, DEMIf BaoNhieu = 0 ThenKetQua = "Khoâng ñoàng"ElseIf Abs(BaoNhieu) > 999999999999.99 ThenKetQua = "Soá Quùa Lôùn"ElseIf BaoNhieu < 0 ThenKetQua = "Tröø" & Space(1)ElseKetQua = Space(0)End IfSOTIEN = Format(Abs(BaoNhieu), "###########0.00")SOTIEN = Right(Space(12) & SOTIEN, 15)Hang = Array("None", "traêm", "möôi", "gì ñoù")DOC = Array("None", "tyû", "trieäu", "ngaøn", "ñoâ la UÙc ", "cent.")DEM = Array("None", "moät", "hai", "ba", "boán", "naêm", "saùu", "baûy", "taùm", "chín")For I = 1 To 5NHOM = Mid(SOTIEN, I * 3 - 2, 3)If NHOM <> Space(3) ThenSelect Case NHOMCase "000"If I = 4 ThenChu = "ñoâ la UÙc" & Space(1)ElseChu = Space(0)End IfCase ".00"If I = 5 ThenChu = " chaün." & Space(0)ElseChu = Space(0)End IfCase ElseS1 = Left(NHOM, 1)S2 = Mid(NHOM, 2, 1)S3 = Right(NHOM, 1)Chu = Space(0)Hang(3) = DOC(I)For J = 1 To 3Dich = Space(0)S = Val(Mid(NHOM, J, 1))If S > 0 ThenDich = DEM(S) & Space(1) & Hang(J) & Space(1)End IfSelect Case JCase 2 And S = 1Dich = "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 = "1" & Mid(Dich, 2) 'Kyù 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) ThenDich = "linh" & Space(1)End IfW = Mid(SOTIEN, 14, 2)If W > "0" And I = 5 ThenDich = "leû" & Space(1)End IfCase 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) ThenDich = "khoâng traêm" & Space(1)End IfCase 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) ThenDich = "khoâng traêm" & Space(1)End IfEnd SelectChu = Chu & DichNext JEnd SelectVitri = InStr(1, Chu, "möôi moät", 1)If Vitri > 0 Then Mid(Chu, Vitri, 9) = "möôi moát"KetQua = KetQua & ChuEnd IfNext IEnd IfEnd IfAUD = UCase(Left(KetQua, 1)) & Mid(KetQua, 2)End FunctionFunction CAD(BaoNhieu)Dim KetQua, SOTIEN, NHOM, Chu, Dich, S1, S2, S3 As StringDim I, J, Vitri As Byte, S As DoubleDim Hang, DOC, DEMIf BaoNhieu = 0 ThenKetQua = "Khoâng ñoàng"ElseIf Abs(BaoNhieu) > 999999999999.99 ThenKetQua = "Soá Quùa Lôùn"ElseIf BaoNhieu < 0 ThenKetQua = "Tröø" & Space(1)ElseKetQua = Space(0)End IfSOTIEN = Format(Abs(BaoNhieu), "###########0.00")SOTIEN = Right(Space(12) & SOTIEN, 15)Hang = Array("None", "traêm", "möôi", "gì ñoù")DOC = Array("None", "tyû", "trieäu", "ngaøn", "ñoâ la Canada", "cent.")DEM = Array("None", "moät", "hai", "ba", "boán", "naêm", "saùu", "baûy", "taùm", "chín")For I = 1 To 5NHOM = Mid(SOTIEN, I * 3 - 2, 3)If NHOM <> Space(3) ThenSelect Case NHOMCase "000"If I = 4 ThenChu = "ñoâ la Canada" & Space(1)ElseChu = Space(0)End IfCase ".00"If I = 5 ThenChu = " chaün." & Space(0)ElseChu = Space(0)End IfCase ElseS1 = Left(NHOM, 1)S2 = Mid(NHOM, 2, 1)S3 = Right(NHOM, 1)Chu = Space(0)Hang(3) = DOC(I)For J = 1 To 3Dich = Space(0)S = Val(Mid(NHOM, J, 1))If S > 0 ThenDich = DEM(S) & Space(1) & Hang(J) & Space(1)End IfSelect Case JCase 2 And S = 1Dich = "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 = "1" & Mid(Dich, 2) 'Kyù 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) ThenDich = "linh" & Space(1)End IfW = Mid(SOTIEN, 14, 2)If W > "0" And I = 5 ThenDich = "leû" & Space(1)End IfCase 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) ThenDich = "khoâng traêm" & Space(1)End IfCase 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) ThenDich = "khoâng traêm" & Space(1)End IfEnd SelectChu = Chu & DichNext JEnd SelectVitri = InStr(1, Chu, "möôi moät", 1)If Vitri > 0 Then Mid(Chu, Vitri, 9) = "möôi moát"KetQua = KetQua & ChuEnd IfNext IEnd IfEnd IfCAD = UCase(Left(KetQua, 1)) & Mid(KetQua, 2)End FunctionFunction EUR(BaoNhieu)Dim KetQua, SOTIEN, NHOM, Chu, Dich, S1, S2, S3 As StringDim I, J, Vitri As Byte, S As DoubleDim Hang, DOC, DEMIf BaoNhieu = 0 ThenKetQua = "Khoâng ñoàng"ElseIf Abs(BaoNhieu) > 999999999999.99 ThenKetQua = "Soá Quùa Lôùn"ElseIf BaoNhieu < 0 ThenKetQua = "Tröø" & Space(1)ElseKetQua = Space(0)End IfSOTIEN = Format(Abs(BaoNhieu), "###########0.00")SOTIEN = Right(Space(12) & SOTIEN, 15)Hang = Array("None", "traêm", "möôi", "gì ñoù")DOC = Array("None", "tyû", "trieäu", "ngaøn", "Euro", "cent.")DEM = Array("None", "moät", "hai", "ba", "boán", "naêm", "saùu", "baûy", "taùm", "chín")For I = 1 To 5NHOM = Mid(SOTIEN, I * 3 - 2, 3)If NHOM <> Space(3) ThenSelect Case NHOMCase "000"If I = 4 ThenChu = "Euro" & Space(0)ElseChu = Space(0)End IfCase ".00"If I = 5 ThenChu = " chaün. " & Space(0)ElseChu = Space(0)End IfCase ElseS1 = Left(NHOM, 1)S2 = Mid(NHOM, 2, 1)S3 = Right(NHOM, 1)Chu = Space(0)Hang(3) = DOC(I)For J = 1 To 3Dich = Space(0)S = Val(Mid(NHOM, J, 1))If S > 0 ThenDich = DEM(S) & Space(1) & Hang(J) & Space(1)End IfSelect Case JCase 2 And S = 1Dich = "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 = "1" & Mid(Dich, 2) 'Kyù 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) ThenDich = "linh" & Space(1)End IfW = Mid(SOTIEN, 14, 2)If W > "0" And I = 5 ThenDich = "leû" & Space(1)End IfCase 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) ThenDich = "khoâng traêm" & Space(1)End IfCase 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) ThenDich = "khoâng traêm" & Space(1)End IfEnd SelectChu = Chu & DichNext JEnd SelectVitri = InStr(1, Chu, "möôi moät", 1)If Vitri > 0 Then Mid(Chu, Vitri, 9) = "möôi moát"KetQua = KetQua & ChuEnd IfNext IEnd IfEnd IfEUR = UCase(Left(KetQua, 1)) & Mid(KetQua, 2)End FunctionFunction HKD(BaoNhieu)Dim KetQua, SOTIEN, NHOM, Chu, Dich, S1, S2, S3 As StringDim I, J, Vitri As Byte, S As DoubleDim Hang, DOC, DEMIf BaoNhieu = 0 ThenKetQua = "Khoâng ñoàng"ElseIf Abs(BaoNhieu) > 999999999999.99 ThenKetQua = "Soá Quùa Lôùn"ElseIf BaoNhieu < 0 ThenKetQua = "Tröø" & Space(1)ElseKetQua = Space(0)End IfSOTIEN = Format(Abs(BaoNhieu), "###########0.00")SOTIEN = Right(Space(12) & SOTIEN, 15)Hang = Array("None", "traêm", "möôi", "gì ñoù")DOC = Array("None", "tyû", "trieäu", "ngaøn", "ñoâ la Hoàng koâng", "cent.")DEM = Array("None", "moät", "hai", "ba", "boán", "naêm", "saùu", "baûy", "taùm", "chín")For I = 1 To 5NHOM = Mid(SOTIEN, I * 3 - 2, 3)If NHOM <> Space(3) ThenSelect Case NHOMCase "000"If I = 4 ThenChu = "ñoâ la Hoàng coâng" & Space(1)ElseChu = Space(0)End IfCase ".00"If I = 5 ThenChu = " chaün." & Space(0)ElseChu = Space(0)End IfCase ElseS1 = Left(NHOM, 1)S2 = Mid(NHOM, 2, 1)S3 = Right(NHOM, 1)Chu = Space(0)Hang(3) = DOC(I)For J = 1 To 3Dich = Space(0)S = Val(Mid(NHOM, J, 1))If S > 0 ThenDich = DEM(S) & Space(1) & Hang(J) & Space(1)End IfSelect Case JCase 2 And S = 1Dich = "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 = "1" & Mid(Dich, 2) 'Kyù 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) ThenDich = "linh" & Space(1)End IfW = Mid(SOTIEN, 14, 2)If W > "0" And I = 5 ThenDich = "leû" & Space(1)End IfCase 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) ThenDich = "khoâng traêm" & Space(1)End IfCase 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) ThenDich = "khoâng traêm" & Space(1)End IfEnd SelectChu = Chu & DichNext JEnd SelectVitri = InStr(1, Chu, "möôi moät", 1)If Vitri > 0 Then Mid(Chu, Vitri, 9) = "möôi moát"KetQua = KetQua & ChuEnd IfNext IEnd IfEnd IfHKD = UCase(Left(KetQua, 1)) & Mid(KetQua, 2)End FunctionFunction GBP(BaoNhieu)Dim KetQua, SOTIEN, NHOM, Chu, Dich, S1, S2, S3 As StringDim I, J, Vitri As Byte, S As DoubleDim Hang, DOC, DEMIf BaoNhieu = 0 ThenKetQua = "Khoâng ñoàng"ElseIf Abs(BaoNhieu) > 999999999999.99 ThenKetQua = "Soá Quùa Lôùn"ElseIf BaoNhieu < 0 ThenKetQua = "Tröø" & Space(1)ElseKetQua = Space(0)End IfSOTIEN = Format(Abs(BaoNhieu), "###########0.00")SOTIEN = Right(Space(12) & SOTIEN, 15)Hang = Array("None", "traêm", "möôi", "gì ñoù")DOC = Array("None", "tyû", "trieäu", "ngaøn", "baûng Anh ", "cent.")DEM = Array("None", "moät", "hai", "ba", "boán", "naêm", "saùu", "baûy", "taùm", "chín")For I = 1 To 5NHOM = Mid(SOTIEN, I * 3 - 2, 3)If NHOM <> Space(3) ThenSelect Case NHOMCase "000"If I = 4 ThenChu = "baûng Anh" & Space(1)ElseChu = Space(0)End IfCase ".00"If I = 5 ThenChu = " chaün." & Space(0)ElseChu = Space(0)End IfCase ElseS1 = Left(NHOM, 1)S2 = Mid(NHOM, 2, 1)S3 = Right(NHOM, 1)Chu = Space(0)Hang(3) = DOC(I)For J = 1 To 3Dich = Space(0)S = Val(Mid(NHOM, J, 1))If S > 0 ThenDich = DEM(S) & Space(1) & Hang(J) & Space(1)End IfSelect Case JCase 2 And S = 1Dich = "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 = "1" & Mid(Dich, 2) 'Kyù 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) ThenDich = "linh" & Space(1)End IfW = Mid(SOTIEN, 14, 2)If W > "0" And I = 5 ThenDich = "leû" & Space(1)End IfCase 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) ThenDich = "khoâng traêm" & Space(1)End IfCase 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) ThenDich = "khoâng traêm" & Space(1)End IfEnd SelectChu = Chu & DichNext JEnd SelectVitri = InStr(1, Chu, "möôi moät", 1)If Vitri > 0 Then Mid(Chu, Vitri, 9) = "möôi moát"KetQua = KetQua & ChuEnd IfNext IEnd IfEnd IfGBP = UCase(Left(KetQua, 1)) & Mid(KetQua, 2)End FunctionFunction JPY(BaoNhieu)Dim KetQua, SOTIEN, NHOM, Chu, Dich, S1, S2, S3 As StringDim I, J, Vitri As Byte, S As DoubleDim Hang, DOC, DEMIf BaoNhieu = 0 ThenKetQua = "Khoâng ñoàng"ElseIf Abs(BaoNhieu) > 999999999999.99 ThenKetQua = "Soá Quùa Lôùn"ElseIf BaoNhieu < 0 ThenKetQua = "Tröø" & Space(1)ElseKetQua = Space(0)End IfSOTIEN = Format(Abs(BaoNhieu), "###########0.00")SOTIEN = Right(Space(12) & SOTIEN, 15)Hang = Array("None", "traêm", "möôi", "gì ñoù")DOC = Array("None", "tyû", "trieäu", "ngaøn", "yeân Nhaät", "cent.")DEM = Array("None", "moät", "hai", "ba", "boán", "naêm", "saùu", "baûy", "taùm", "chín")For I = 1 To 5NHOM = Mid(SOTIEN, I * 3 - 2, 3)If NHOM <> Space(3) ThenSelect Case NHOMCase "000"If I = 4 ThenChu = "yeân Nhaät" & Space(1)ElseChu = Space(0)End IfCase ".00"If I = 5 ThenChu = " chaün." & Space(0)ElseChu = Space(0)End IfCase ElseS1 = Left(NHOM, 1)S2 = Mid(NHOM, 2, 1)S3 = Right(NHOM, 1)Chu = Space(0)Hang(3) = DOC(I)For J = 1 To 3Dich = Space(0)S = Val(Mid(NHOM, J, 1))If S > 0 ThenDich = DEM(S) & Space(1) & Hang(J) & Space(1)End IfSelect Case JCase 2 And S = 1Dich = "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 = "1" & Mid(Dich, 2) 'Kyù 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) ThenDich = "linh" & Space(1)End IfW = Mid(SOTIEN, 14, 2)If W > "0" And I = 5 ThenDich = "leû" & Space(1)End IfCase 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) ThenDich = "khoâng traêm" & Space(1)End IfCase 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) ThenDich = "khoâng traêm" & Space(1)End IfEnd SelectChu = Chu & DichNext JEnd SelectVitri = InStr(1, Chu, "möôi moät", 1)If Vitri > 0 Then Mid(Chu, Vitri, 9) = "möôi moát"KetQua = KetQua & ChuEnd IfNext IEnd IfEnd IfJPY = UCase(Left(KetQua, 1)) & Mid(KetQua, 2)End FunctionFunction USD(BaoNhieu)Dim KetQua, SOTIEN, NHOM, Chu, Dich, S1, S2, S3 As StringDim I, J, Vitri As Byte, S As DoubleDim Hang, DOC, DEMIf BaoNhieu = 0 ThenKetQua = "Khoâng ñoàng"ElseIf Abs(BaoNhieu) > 999999999999.99 ThenKetQua = "Soá Quùa Lôùn"ElseIf BaoNhieu < 0 ThenKetQua = "Tröø" & Space(1)ElseKetQua = Space(0)End IfSOTIEN = Format(Abs(BaoNhieu), "###########0.00")SOTIEN = Right(Space(12) & SOTIEN, 15)Hang = Array("None", "traêm", "möôi", "gì ñoù")DOC = Array("None", "tyû", "trieäu", "ngaøn", "ñoâ la Myõ", "cent.")DEM = Array("None", "moät", "hai", "ba", "boán", "naêm", "saùu", "baûy", "taùm", "chín")For I = 1 To 5NHOM = Mid(SOTIEN, I * 3 - 2, 3)If NHOM <> Space(3) ThenSelect Case NHOMCase "000"If I = 4 ThenChu = "ñoâ la Myõ" & Space(1)ElseChu = Space(0)End IfCase ".00"If I = 5 ThenChu = " chaün." & Space(0)ElseChu = Space(0)End IfCase ElseS1 = Left(NHOM, 1)S2 = Mid(NHOM, 2, 1)S3 = Right(NHOM, 1)Chu = Space(0)Hang(3) = DOC(I)For J = 1 To 3Dich = Space(0)S = Val(Mid(NHOM, J, 1))If S > 0 ThenDich = DEM(S) & Space(1) & Hang(J) & Space(1)End IfSelect Case JCase 2 And S = 1Dich = "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 = "1" & Mid(Dich, 2) 'Kyù 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) ThenDich = "linh" & Space(1)End IfW = Mid(SOTIEN, 14, 2)If W > "0" And I = 5 ThenDich = "leû" & Space(1)End IfCase 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) ThenDich = "khoâng traêm" & Space(1)End IfCase 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) ThenDich = "khoâng traêm" & Space(1)End IfEnd SelectChu = Chu & DichNext JEnd SelectVitri = InStr(1, Chu, "möôi moät", 1)If Vitri > 0 Then Mid(Chu, Vitri, 9) = "möôi moát"KetQua = KetQua & ChuEnd IfNext IEnd IfEnd IfUSD = UCase(Left(KetQua, 1)) & Mid(KetQua, 2)End FunctionFunction USA(AMT)Dim ToRead, Chuoi, NHOM, Word As StringDim L, J As Byte, W, X, Y, Z As DoubleDim Donvi, HChuc, KhungIf AMT = 0 ThenToRead = "None"ElseDonvi = Array("None", "one", "two", "three", "four", "five", "six", _"seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", _"fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen")HChuc = Array("None", "None", "twenty", "thirty", "forty", "fifty", "sixty", _"seventy", "eighty", "ninety")Khung = Array("None", "trillion,", "billion,", "million,", "thousand,", "dollars", "cents")If AMT < 0 ThenToRead = "Minus" & Space(1)ElseToRead = Space(0)End IfChuoi = Format(Abs(AMT), "###############.00") ' 18 Soá haøng ñôn vò vaø 2 soá leû thaäp phaân'Chuoi = Right(Space(15) & Chuoi, 18)For L = 1 To 6NHOM = Mid(Chuoi, L * 3 - 2, 3)If NHOM <> Space(3) ThenSelect Case NHOMCase "000"If L = 5 And Abs(AMT) > 1 ThenWord = "dollars " & Space(1)ElseWord = Space(0)End IfCase ".00"Word = "only."Case ElseX = Val(Left(NHOM, 1))Y = Val(Mid(NHOM, 2, 1))Z = Val(Right(NHOM, 1))W = Val(Right(NHOM, 2))If X = 0 ThenWord = Space(0)ElseWord = Donvi(X) & Space(1) & "hundred" & Space(1)If W > 0 And W < 21 ThenWord = Word & "and" & Space(1)End IfEnd IfIf L = 6 And Abs(AMT) > 1 ThenWord = "and" & Space(1) & WordEnd IfIf W < 20 And W > 0 ThenWord = Word & Donvi(W) & Space(1)ElseIf W >= 20 ThenWord = Word & HChuc(Y) & Space(1)If Z > 0 ThenWord = Word & Donvi(Z) & Space(1)End IfEnd IfEnd IfWord = Word & Khung(L) & Space(1)End SelectToRead = ToRead & WordEnd IfNext LEnd IfUSA = UCase(Left(ToRead, 1)) & Mid(ToRead, 2)End FunctionFunction SJC(BaoNhieu)Dim KetQua, SOTIEN, NHOM, Chu, Dich, S1, S2, S3 As StringDim I, J, Vitri As Byte, S As DoubleDim Hang, DOC, DEMIf BaoNhieu = 0 ThenKetQua = "Khoâng ly"ElseIf Abs(BaoNhieu) > 999999999999.99 ThenKetQua = "Soá Quùa Lôùn"ElseIf BaoNhieu < 0 ThenKetQua = "Tröø" & Space(1)ElseKetQua = Space(0)End IfSOTIEN = Format(Abs(BaoNhieu), "###########0.00")SOTIEN = Right(Space(12) & SOTIEN, 15)Hang = Array("None", "traêm", "möôi", "gì ñoù")DOC = Array("None", "tyû", "trieäu", "ngaøn", "chæ", "ly")DEM = Array("None", "moät", "hai", "ba", "boán", "naêm", "saùu", "baûy", "taùm", "chín")For I = 1 To 5NHOM = Mid(SOTIEN, I * 3 - 2, 3)If NHOM <> Space(3) ThenSelect Case NHOMCase "000"If I = 4 ThenChu = "chæ" & Space(0)ElseChu = Space(0)End IfCase ".00"If I = 5 ThenChu = " chaün " & Space(0)ElseChu = Space(0)End IfCase ElseS1 = Left(NHOM, 1)S2 = Mid(NHOM, 2, 1)S3 = Right(NHOM, 1)Chu = Space(0)Hang(3) = DOC(I)For J = 1 To 3Dich = Space(0)S = Val(Mid(NHOM, J, 1))If S > 0 ThenDich = DEM(S) & Space(1) & Hang(J) & Space(1)End IfSelect Case JCase 2 And S = 1Dich = "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 = "1" & Mid(Dich, 2) 'Kyù 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) ThenDich = "linh" & Space(1)End IfW = Mid(SOTIEN, 14, 2)If W > "0" And I = 5 ThenDich = "leû" & Space(1)End IfCase 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) ThenDich = "khoâng traêm" & Space(1)End IfCase 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) ThenDich = "khoâng traêm" & Space(1)End IfEnd SelectChu = Chu & DichNext JEnd SelectVitri = InStr(1, Chu, "möôi moät", 1)If Vitri > 0 Then Mid(Chu, Vitri, 9) = "möôi moát"KetQua = KetQua & ChuEnd IfNext IEnd IfEnd IfSJC = UCase(Left(KetQua, 1)) & Mid(KetQua, 2)End FunctionFunction SGD(BaoNhieu)Dim KetQua, SOTIEN, NHOM, Chu, Dich, S1, S2, S3 As StringDim I, J, Vitri As Byte, S As DoubleDim Hang, DOC, DEMIf BaoNhieu = 0 ThenKetQua = "Khoâng ñoàng"ElseIf Abs(BaoNhieu) > 999999999999.99 ThenKetQua = "Soá Quùa Lôùn"ElseIf BaoNhieu < 0 ThenKetQua = "Tröø" & Space(1)ElseKetQua = Space(0)End IfSOTIEN = Format(Abs(BaoNhieu), "###########0.00")SOTIEN = Right(Space(12) & SOTIEN, 15)Hang = Array("None", "traêm", "möôi", "gì ñoù")DOC = Array("None", "tyû", "trieäu", "ngaøn", "ñoâ la Sinhgapore", "cent.")DEM = Array("None", "moät", "hai", "ba", "boán", "naêm", "saùu", "baûy", "taùm", "chín")For I = 1 To 5NHOM = Mid(SOTIEN, I * 3 - 2, 3)If NHOM <> Space(3) ThenSelect Case NHOMCase "000"If I = 4 ThenChu = "ñoâ la Sinhgapore" & Space(1)ElseChu = Space(0)End IfCase ".00"If I = 5 ThenChu = " chaün." & Space(0)ElseChu = Space(0)End IfCase ElseS1 = Left(NHOM, 1)S2 = Mid(NHOM, 2, 1)S3 = Right(NHOM, 1)Chu = Space(0)Hang(3) = DOC(I)For J = 1 To 3Dich = Space(0)S = Val(Mid(NHOM, J, 1))If S > 0 ThenDich = DEM(S) & Space(1) & Hang(J) & Space(1)End IfSelect Case JCase 2 And S = 1Dich = "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 = "1" & Mid(Dich, 2) 'Kyù 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) ThenDich = "linh" & Space(1)End IfW = Mid(SOTIEN, 14, 2)If W > "0" And I = 5 ThenDich = "leû" & Space(1)End IfCase 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) ThenDich = "khoâng traêm" & Space(1)End IfCase 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) ThenDich = "khoâng traêm" & Space(1)End IfEnd SelectChu = Chu & DichNext JEnd SelectVitri = InStr(1, Chu, "möôi moät", 1)If Vitri > 0 Then Mid(Chu, Vitri, 9) = "möôi moát"KetQua = KetQua & ChuEnd IfNext IEnd IfEnd IfSGD = UCase(Left(KetQua, 1)) & Mid(KetQua, 2)End Function Nhưng ko biết làm thế nào để hiện thị font Unicode Vẫn chưa tìm ra cách in 2 liên trong hóa đơn được ạ Chữ ký của uronmapu Cảm ơn cả nhà Để học Access không nên ngại đặt câu hỏi Uron Website Find Reply Những người đã cảm ơn cannguyen Tín đồ Access   Bài viết: 173 Chủ đề: 36 Tham Gia: 15-08 -11 Điểm danh tiếng: 2 Số lần cảm ơn 21 24 cảm ơn trong 17 bài Tiền Access: 3,460.96Ac$ #5 08-09-12, 09:55 AM (07-09-12, 07:41 PM)uronmapu Đã viết: Mình sử dụng đoạn lệnh khác bên dưới ok rồi ah .... Bạn vào lại link http://tinphatco.com/download.php * Code đọc số ra chữ bị lỗi có lẽ là do con số của bạn có số lẻ, Bạn dùng hàm Round để làm tròn không có số lẻ thì code mình gửi sẽ ok * In 2 liên: Thực chất là mình load 2 report lên thôi, Bạn tham khảo của mình nhé. Ở chế độ Design nhấn nút In, xem thuộc tính On click của nó nhé (Mình dùng Macro) Thân Chữ ký của cannguyen Xin chào, mình là cannguyen, Tham gia http://thuthuataccess.com/forum từ ngày 15-08 -11. Website Find Reply Những người đã cảm ơn Noname Xuân Thanh Lang Thang Miền Đất Lạ...     Bài viết: 1,768 Chủ đề: 92 Tham Gia: 25-03 -12 Điểm danh tiếng: 79 Số lần cảm ơn 350 1864 cảm ơn trong 1008 bài Tiền Access: 28,156.60Ac$ #6 08-09-12, 09:59 AM 1/ Cái hàm đọc số ở bài #5 là dùng cho font VNIWindows 2/ Tham khảo hàm đọc số Unicode ở đây http://www.danketoan.com/forum/access-va...47191.html , bài #5 Thân Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp Trăm năm sau biết gặp được không? Cuộc đời sắc sắc không không Thì thôi ta cứ hết lòng vì nhau ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ Website Find Reply Những người đã cảm ơn uronmapu , Noname uronmapu Cao Thủ Access    Bài viết: 264 Chủ đề: 37 Tham Gia: 08-12 -11 Điểm danh tiếng: 0 Số lần cảm ơn 145 22 cảm ơn trong 19 bài Tiền Access: 4,530.06Ac$ #7 08-09-12, 10:51 PM (Được chỉnh sửa: 08-09-12, 11:35 PM bởi uronmapu.) Có hàm đọc số nào font Unicode chuẩn ko Xuân Thanh? Em đã tìm được code của Xuân Thanh Cảm ơn Mã: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", "Âm ", ChrW(273) & ChrW(7891) & "ng ", "và ", "xu ") 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(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 Đang nghiên cứu cách in 2 liên nữa thôi Chữ ký của uronmapu Cảm ơn cả nhà Để học Access không nên ngại đặt câu hỏi Uron Website Find Reply Những người đã cảm ơn Noname bangnguyencong Access Cơ Bản  Bài viết: 39 Chủ đề: 6 Tham Gia: 14-02 -11 Điểm danh tiếng: 1 Số lần cảm ơn 11 3 cảm ơn trong 3 bài Tiền Access: 793.89Ac$ #8 24-05-13, 09:33 AM Rất đơn giản bạn ạ. Bước 1: Bạn tạo report thứ nhất với tên là "Hoadon1" để in liên 1 Bước 2: Copy report thứ nhất với tên là "Hoadon2" và thay đổi vài chi tiết để in liên 2 Bước 3: Design lại report "Hoadon1" Với event close bạn viết code để mở report "Hoadon2" là xong. Chúc bạn thành công! Chữ ký của bangnguyencong Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ Website Find Reply Những người đã cảm ơn Noname |