Hàm đọc số dùng mã Unicode trong Access
Số trang: 5
Loại file: pdf
Dung lượng: 111.40 KB
Lượt xem: 9
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Do môi trường VBA chưa hỗ trợ Unicode đầy đủ nên việc thiết lập hàm đọc số tiếng Việt với mã (font) Unicode trong Access cũng như Excel có khó khăn. Bài viết này giới thiệu một cách thiết lập hàm đọc số dùng font Unicode trong Access (bạn cũng có thể áp dụng trong Excel, VB...). Các bước thực hiện như sau: 1. Mở CSDL Access. 2. Tạo một form đặt tên là FormTam, trên FormTam tạo hai label: LabSo, nhập chuỗi: “không một hai ba bốn năm sáu bảy tám chín mốt lẻ lăm mươi mười trăm...
Nội dung trích xuất từ tài liệu:
Hàm đọc số dùng mã Unicode trong Access Hàm đọc số dùng mã Unicode trong AccessDo môi trường VBA chưa hỗ trợ Unicode đầy đủ nên việc thiết lập hàm đọc sốtiếng Việt với m ã (font) Unicode trong Access cũng như Excel có khó khăn.Bài viết này giới thiệu một cách thiết lập hàm đọc số dùng font Unicode trongAccess (bạn cũng có thể áp dụng trong Excel, VB...). Các b ước thực hiện nhưsau:1. Mở CSDL Access.2. Tạo một form đặt tên là FormTam, trên FormTam tạo hai label:LabSo, nhập chuỗi: “không một hai ba bốn năm sáu bảy tám chín mốt lẻ lămmươi mười trăm ”, cuối chuỗi có một khoảng trắng.LabDonvi, nhập chuỗi: “đồng. nghìn triệu tỷ”, cuối chuỗi cũng có khoảngtrắng.3. Trong Module, nhấn New để tạo mới một module với tên mặc định làModule1. Sau đó nhấn Design để vào cửa sổ soạn code và nhập đoạn mã sau:Khai báo 2 biến toàn cục là 2 mảng chứa chuỗi ký tự số và chuỗi đơn vị đượclấy từ LabSo và LabDonvi thông qua thủ tục Docchu và Docdonvi.Public Solay(0 To 15) As StringPublic Donvilay(0 To 4) As StringPrivate Sub Docchu() Lấy chuỗi chữ số từ LabSo đặt vào mảng SolayDim tp, Stp, iiii = 0: tp = Form_FormTam.LabSo.CaptionStp = InStr(tp, “ “)Do While Stp 0Solay(ii) = Left(tp, Stp)tp = Right(tp, Len(tp) - Stp)1Stp = InStr(tp, “ “)ii = ii + 1LoopEnd SubPrivate Sub Docdonvi() Lấy chuỗi đơn vị từ LabDonvi đặt vào mảng DonvilayDim tp, Stp, iiii = 0: tp = Form_FormTam.LabDonvi.CaptionStp = InStr(tp, “ “)Do While Stp 0Donvilay(ii) = Left(tp, Stp)tp = Right(tp, Len(tp) - Stp)Stp = InStr(tp, “ “)ii = ii + 1LoopEnd SubTạo hàm đọc số:Public Function DocVND(Sodoc As String) As StringIf Len(Sodoc) > 12 ThenDocVND = “So qua lon qua hang tram ty. Hay xem lai!”Exit FunctionEnd IfSodoc = Round(Sodoc, 0)Dim Cht As StringDim fg0 As BooleanDim fg1 As BooleanDim So As StringDim ch As StringDim tp As StringDim i As ByteDim dvDim chsDocchu Gọi hàm đọc chữ sốchs = SolayDocdonvi Gọi hàm đọc đơn vịdv = DonvilayDo While Sodoc “”Cht = “”If Len(Sodoc) 0 ThenIf (Len(Sodoc) >= 3) ThenSo = Right(Sodoc, 3)ElseSo = Right(Sodoc, Len(Sodoc))End IfSodoc = Left(Sodoc, Len(Sodoc) - Len(So))If Left(So, 1) = “0” And Mid(So, 2, 1) = “0” And Right(So, 1) = “0” Thench = chElseIf Len(So) = 3 ThenIf Left(So, 1) “ “ ThenCht = chs(Left(So, 1)) + chs(15)End IfSo = Right(So, 2)End IfIf Len(So) = 2 ThenIf Left(So, 1) = “0” ThenIf Right(So, 1) “0” ThenCht = Cht + chs(11)End Iffg0 = TrueElseIf Left(So, 1) = “1” ThenCht = Cht + chs(14)ElseCht = Cht + chs(Left(So, 1)) + chs(13)fg1 = TrueEnd IfEnd IfSo = Right(So, 1)End IfIf Right(So, 1) 0 ThenIf Left(So, 1) = “5” And Not fg0 ThenIf Len(tp) = 1 ThenCht = Cht + chs(4)ElseCht = Cht + chs(12)End IfElseIf Left(So, 1) = 1 And Not (Not fg1 Or fg0) And Cht “” ThenCht = Cht + chs(10)ElseCht = Cht + chs(Left(So, 1))End IfEnd IfEnd Ifch = Cht + dv(i) + chEnd Ifi=i+1End IfLoopIf Right(Trim(ch), 1) “.” Thench = ch + dv(0)End IfDocVND=UCase(Left(ch, 1))&Mid(ch,2)End FunctionỞ đây tôi không phân tích hàm đọc số bởi TGVT đã có bài về vấn đề này(TGVT A 3/2001, t.76; 7/2001, t.88).4. Sử dụng hàm DocVNDTạo một Textbox có tên là Text1, nhấn phải lên Text1 chọn Build Event, trongChoose Builder chọn Code Builder và nhấn OK. Cửa sổ Microsoft VB hiện ra,nhập đoạn code sau:Private Sub Text1_BeforeUpdate(Cancel As Integer)Ketqua.Caption = DocVND(Text1.Text)End SubMở form, nhập vào các con số và gõ Enter, bạn sẽ có kết quả như hình. Mãnguồn chương trình có thể tải về tại website của TGVT – PCW VN.Phạm Văn Trungphamtrung03@yahoo.comTheo PCWorld Vietnam
Nội dung trích xuất từ tài liệu:
Hàm đọc số dùng mã Unicode trong Access Hàm đọc số dùng mã Unicode trong AccessDo môi trường VBA chưa hỗ trợ Unicode đầy đủ nên việc thiết lập hàm đọc sốtiếng Việt với m ã (font) Unicode trong Access cũng như Excel có khó khăn.Bài viết này giới thiệu một cách thiết lập hàm đọc số dùng font Unicode trongAccess (bạn cũng có thể áp dụng trong Excel, VB...). Các b ước thực hiện nhưsau:1. Mở CSDL Access.2. Tạo một form đặt tên là FormTam, trên FormTam tạo hai label:LabSo, nhập chuỗi: “không một hai ba bốn năm sáu bảy tám chín mốt lẻ lămmươi mười trăm ”, cuối chuỗi có một khoảng trắng.LabDonvi, nhập chuỗi: “đồng. nghìn triệu tỷ”, cuối chuỗi cũng có khoảngtrắng.3. Trong Module, nhấn New để tạo mới một module với tên mặc định làModule1. Sau đó nhấn Design để vào cửa sổ soạn code và nhập đoạn mã sau:Khai báo 2 biến toàn cục là 2 mảng chứa chuỗi ký tự số và chuỗi đơn vị đượclấy từ LabSo và LabDonvi thông qua thủ tục Docchu và Docdonvi.Public Solay(0 To 15) As StringPublic Donvilay(0 To 4) As StringPrivate Sub Docchu() Lấy chuỗi chữ số từ LabSo đặt vào mảng SolayDim tp, Stp, iiii = 0: tp = Form_FormTam.LabSo.CaptionStp = InStr(tp, “ “)Do While Stp 0Solay(ii) = Left(tp, Stp)tp = Right(tp, Len(tp) - Stp)1Stp = InStr(tp, “ “)ii = ii + 1LoopEnd SubPrivate Sub Docdonvi() Lấy chuỗi đơn vị từ LabDonvi đặt vào mảng DonvilayDim tp, Stp, iiii = 0: tp = Form_FormTam.LabDonvi.CaptionStp = InStr(tp, “ “)Do While Stp 0Donvilay(ii) = Left(tp, Stp)tp = Right(tp, Len(tp) - Stp)Stp = InStr(tp, “ “)ii = ii + 1LoopEnd SubTạo hàm đọc số:Public Function DocVND(Sodoc As String) As StringIf Len(Sodoc) > 12 ThenDocVND = “So qua lon qua hang tram ty. Hay xem lai!”Exit FunctionEnd IfSodoc = Round(Sodoc, 0)Dim Cht As StringDim fg0 As BooleanDim fg1 As BooleanDim So As StringDim ch As StringDim tp As StringDim i As ByteDim dvDim chsDocchu Gọi hàm đọc chữ sốchs = SolayDocdonvi Gọi hàm đọc đơn vịdv = DonvilayDo While Sodoc “”Cht = “”If Len(Sodoc) 0 ThenIf (Len(Sodoc) >= 3) ThenSo = Right(Sodoc, 3)ElseSo = Right(Sodoc, Len(Sodoc))End IfSodoc = Left(Sodoc, Len(Sodoc) - Len(So))If Left(So, 1) = “0” And Mid(So, 2, 1) = “0” And Right(So, 1) = “0” Thench = chElseIf Len(So) = 3 ThenIf Left(So, 1) “ “ ThenCht = chs(Left(So, 1)) + chs(15)End IfSo = Right(So, 2)End IfIf Len(So) = 2 ThenIf Left(So, 1) = “0” ThenIf Right(So, 1) “0” ThenCht = Cht + chs(11)End Iffg0 = TrueElseIf Left(So, 1) = “1” ThenCht = Cht + chs(14)ElseCht = Cht + chs(Left(So, 1)) + chs(13)fg1 = TrueEnd IfEnd IfSo = Right(So, 1)End IfIf Right(So, 1) 0 ThenIf Left(So, 1) = “5” And Not fg0 ThenIf Len(tp) = 1 ThenCht = Cht + chs(4)ElseCht = Cht + chs(12)End IfElseIf Left(So, 1) = 1 And Not (Not fg1 Or fg0) And Cht “” ThenCht = Cht + chs(10)ElseCht = Cht + chs(Left(So, 1))End IfEnd IfEnd Ifch = Cht + dv(i) + chEnd Ifi=i+1End IfLoopIf Right(Trim(ch), 1) “.” Thench = ch + dv(0)End IfDocVND=UCase(Left(ch, 1))&Mid(ch,2)End FunctionỞ đây tôi không phân tích hàm đọc số bởi TGVT đã có bài về vấn đề này(TGVT A 3/2001, t.76; 7/2001, t.88).4. Sử dụng hàm DocVNDTạo một Textbox có tên là Text1, nhấn phải lên Text1 chọn Build Event, trongChoose Builder chọn Code Builder và nhấn OK. Cửa sổ Microsoft VB hiện ra,nhập đoạn code sau:Private Sub Text1_BeforeUpdate(Cancel As Integer)Ketqua.Caption = DocVND(Text1.Text)End SubMở form, nhập vào các con số và gõ Enter, bạn sẽ có kết quả như hình. Mãnguồn chương trình có thể tải về tại website của TGVT – PCW VN.Phạm Văn Trungphamtrung03@yahoo.comTheo PCWorld Vietnam
Tìm kiếm theo từ khóa liên quan:
Lý thuyết tin học SQL Tin học đại cương giáo trình Tin học đại cương bài giảng Tin học đại cương tài liệu Tin học đại cương lý thuyết Tin học đại cươngTài liệu liên quan:
-
Ứng dụng công cụ Quizizz thiết kế trò chơi học tập trong giảng dạy học phần tin học đại cương
12 trang 302 0 0 -
Tài liệu hướng dẫn thực hành Tin học đại cương - ĐH Bách Khoa Hà Nội
40 trang 258 0 0 -
Giáo trình Tin học đại cương part 7
19 trang 238 0 0 -
Giáo trình Tin học đại cương: Phần 1 - ĐH Kinh tế Quốc Dân
130 trang 157 0 0 -
Giáo trình Tin học đại cương (Tái bản năm 2020): Phần 1 - PGS.TS. Nguyễn Thị Thu Thủy (Chủ biên)
105 trang 142 0 0 -
Giáo trình Tin học đại cương: Phần 1 - Vi Hồng Thắm
90 trang 130 0 0 -
Hướng dẫn thực hành lập trình C trên Visual Studio
9 trang 128 0 0 -
Giáo trình Tin học đại cương: Phần 2 - Trần Đình Khang
118 trang 122 0 0 -
Trắc nghiệm và đáp án hệ cơ sở dữ liệu - ĐH Công Nghiệp Tp. Hồ Chí Minh
63 trang 118 0 0 -
Quản trị người dùng trong Exchange 2007 bằng Powershell
9 trang 107 0 0