Run-time Error '13' Type Mismatch - Thủ Thuật Access

  • Tùy chọn
  • Đăng nhập
  • Đăng ký
  • Xem như trên Máy tính
  • Accelerated Mobile Pages Theme
Tùy chọn Run-time error '13' Type mismatch
  • Trang chủ

    • Thủ Thuật Access
    • Access Cơ Bản
    • Thành viên giúp nhau
    • [Lỗi] Run-time error '13' Type mismatch
  • Run-time error '13' Type mismatch
  • Run-time error '13' Type mismatch

    uronmapu > 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 [Hình: 1a8be0b6.jpg] Lỗi tại dòng [Hình: 2a343828.jpg] Đâ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 [Hình: c19605bf.jpg] File của em: http://www.mediafire.com/?phg365feb4az7xk
  • RE: Run-time error '13' Type mismatch

    cannguyen > 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 [Hình: 1a8be0b6.jpg] Lỗi tại dòng [Hình: 2a343828.jpg] Đâ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 [Hình: c19605bf.jpg] 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
  • RE: Run-time error '13' Type mismatch

    uronmapu > 07-09-12, 06:21 PM

    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 sad
  • RE: Run-time error '13' Type mismatch

    uronmapu > 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 ạ
  • RE: Run-time error '13' Type mismatch

    cannguyen > 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
  • RE: Run-time error '13' Type mismatch

    Xuân Thanh > 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
  • RE: Run-time error '13' Type mismatch

    uronmapu > 08-09-12, 10:51 PM

    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
  • In hóa đơn liên 2

    bangnguyencong > 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!
  • Bài trước Bài tiếp

Từ khóa » Sửa Lỗi Type Mismatch