MsgBox Tiếng Việt Unicode - Thủ Thuật Access

  • Portal
  • Tìm kiếm
  • Thành viên
  • Lịch
  • Hướng dẫn
  • Quyên góp
Thủ Thuật Access
Xin chào quý khách! Đăng nhập Đăng ký
Đăng nhập
Tên dùng
Mật khẩu: Quên mật khẩu?
Remember me
Thủ Thuật Access › Access Nâng Cao › Thủ thuật VBA v « Trở lại 1 2 3 4 5 6 ... 20 Tiếp theo » MsgBox tiếng Việt Unicode
Tags: MsgBox tiếng Việt Unicode,
Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes MsgBox tiếng Việt Unicode
lehongduc Offline Thành viên đẳng cấp **** Bài viết: 169 Chủ đề: 21 Tham Gia: 02-12 -11 Điểm danh tiếng: 33 Tiền Access: 6,040.17Ac$ #1 20-07-19, 10:48 AM (Được chỉnh sửa: 22-07-19, 08:47 AM bởi Noname.) Chào các Bạn, Về vấn đề tạo ra những hộp thông báo bằng tiếng Việt Unicode đã được chúng ta thảo luận nhiều trước đây rồi.  Nay tôi xin trao đổi cùng với các Bạn một thủ thuật nhỏ thôi để tạo ta thông báo tiếng Việt Unicode mà không cần phải sử dụng thêm bất kỳ một thư viện API hỗ trợ Unicode nào khác, cũng không cần phải tạo sẵn một bảng ghi thông báo tiếng Việt riêng để tham chiếu khi gọi hàm. Đó là cách thức rất đơn giản như sau: 1. Viết 1 hàm hiển thị thông báo sử dụng hàm MsgBox mặc định, với nội dung thông báo được chuyển mã sang Unicode tùy theo bảng mã tiếng Việt khi ta viết code. 2. Khi cần hiển thị thông báo bằng tiếng Việt Unicode, ta chỉ cần gọi hàm nêu trên là đủ. Sau đây là 1 ví dụ minh họa: 1. Viết hàm hiển thị thông báo bằng tiếng Việt Unicode: Mã:Function fcMsgBoxUni(ByVal PromptUni As Variant, Optional ByVal Buttons As VbMsgBoxStyle = vbOKOnly, Optional ByVal TitleUni As Variant = vbNullString) As VbMsgBoxResult     Dim Msg As String     Dim Response As Long         Msg = BK1ToUni(PromptUni)         If Not IsMissing(TitleUni) Then TitleUni = BK1ToUni(TitleUni)         Response = Eval("MsgBox('" & Msg & "'," & Buttons & ",'" & TitleUni & "')")     fcMsgBoxUni = Response End FunctionCác Bạn chú ý sẽ thấy trong nội dung hàm này tôi có sử dụng 1 hàm chuyển mã nội dung thông báo từ bảng mã BK HCM 1 Byte sang Unicode, đó là hàm BK1ToUni 2. Và sau đây là 1 procedure có sử dụng hàm fcMsgBoxUni nếu trên. Mã:Sub TestMsg() Dim Msg As String Dim Resp As Long Msg = "}Ýy l¿ théng b¾o bÙng tiäng Vièt Unicode" Msg = Msg & vbCrLf & "Sø dÖng h¿m MsgBox mÜc ½Ình" Msg = Msg & "@" & "Vði nîi dung théng b¾o bÙng tiäng Vièt Font BK HCM 1 byte" Msg = Msg & vbCrLf & "½õôc chuyæn mÁ sang Unicode bÙng h¿m BK1ToUni" & "@" Resp = fcMsgBoxUni(Msg, 64, "Théng b¾o bÙng tiäng Vièt Unicode") End Sub Kết quả khi ta chạy Procedure TestMsg trên sẽ được hộp thông báo như ảnh sau đây: [Hình: a3f5azvf45ozib14g.jpg]Hie File đính kèm .zip MsgBoxUnicode.zip (Kích cỡ: 45.71 KB / Tải về: 119) Chữ ký của lehongduc Lê Hồng Đức Số ĐT: 0913.941.144 Email: [email protected], [email protected] Website: http://quantribanhang.vn Website Find Reply http2 Offline Access Cơ Bản ** Bài viết: 39 Chủ đề: 12 Tham Gia: 17-12 -12 Điểm danh tiếng: 1 Tiền Access: 1,020.31Ac$ #2 22-07-19, 05:30 PM sao bạn không viết như thế này cho gọn . 1 tạo 1 table với tên .SyMsgLib , cấu trúc là : msgNo (data type : number) ; Description (data type : text); msgtitle (data type : text) module viết đoạn code sau . lưu lại . Option Compare Database Private Declare Function GetActiveWindow Lib "user32" () As Long Private Declare Function MessageBoxW Lib "user32" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long Public Function MsgBoxUni(ByVal PromptUni As Variant, Optional ByVal Buttons As VbMsgBoxStyle = vbOKOnly, Optional ByVal TitleUni As Variant = vbNullString) As VbMsgBoxResult 'BStrMsg,BStrTitle : La chuoi Unicode     Dim BStrMsg, BStrTitle     'Ham StrConv Chuyen chuoi ve ma Unicode     BStrMsg = StrConv(PromptUni, vbUnicode)     BStrTitle = StrConv(TitleUni, vbUnicode)         MsgBoxUni = MessageBoxW(GetActiveWindow, BStrMsg, BStrTitle, Buttons) End Function Public Function MsgBoxUniFont(ByVal PromptUniFont As Variant, Optional ByVal Buttons As VbMsgBoxStyle = vbOKCancel, Optional ByVal TitleUniFont As Variant = vbNullString) As VbMsgBoxResult 'BStrMsg,BStrTitle : La chuoi Unicode     Dim BStrMsg, BStrTitle     'Ham StrConv Chuyen chuoi ve ma Unicode     BStrMsg = StrConv(PromptUniFont, vbUnicode)     BStrTitle = StrConv(TitleUniFont, vbUnicode)         MsgBoxUniFont = MessageBoxW(GetActiveWindow, BStrMsg, BStrTitle, Buttons) End Function trong form bạn có thể tạo nút command button . sự kiện click ghi thế này để hiện thị thông báo  MsgBoxUni DLookup("[Description]", "symsglib", "[msgNo] = 17"), vbCritical, DLookup("[msgtitle]", "symsglib", "[msgNo] = 17") Chữ ký của http2 Xin chào, mình là http2, Tham gia http://thuthuataccess.com/forum từ ngày 17-12 -12. Website Find Reply thanhdau Offline Access Cơ Bản ** Bài viết: 10 Chủ đề: 4 Tham Gia: 03-09 -19 Điểm danh tiếng: 0 Tiền Access: 266.99Ac$ #3 28-04-20, 02:12 PM Xin hỏi cách viết tiếng Việt trong MsgBoxUnicode.mdb ví dụ: Théng b¾o bÙng tiäng Vièt Unicode Sao mình viết không được. Cần thiết lập bộ gõ như thế nào. Xin cảm ơn Chữ ký của thanhdau thanhdau,gia nhập Thủ Thuật Access từ 03-09 -19. Website Find Reply thanhdau Offline Access Cơ Bản ** Bài viết: 10 Chủ đề: 4 Tham Gia: 03-09 -19 Điểm danh tiếng: 0 Tiền Access: 266.99Ac$ #4 28-04-20, 02:35 PM Mình làm được rồi, cám ơn nhiều Chữ ký của thanhdau thanhdau,gia nhập Thủ Thuật Access từ 03-09 -19. Website Find Reply Bienxanh Offline Access Nhập Môn * Bài viết: 5 Chủ đề: 1 Tham Gia: 30-03 -20 Điểm danh tiếng: 0 Tiền Access: 189.20Ac$ #5 30-04-20, 07:35 AM Không biết sử dụng thư viện API có nặng gì không ạ? Em có đang sử dụng 1 hàm cũng khá hay em chỉ cần viết "chafo casc bajn" thì nó tự convert thành tiếng việt rồi ạ. Và như thế em cũng thấy khá nhanh khi code đỡ phải thao tác nhiều mà lại còn ngắn gọn ạ. Chữ ký của Bienxanh Bienxanh,gia nhập Thủ Thuật Access từ 30-03 -20. Website Find Reply ongke0711 Offline Honorary members **** Bài viết: 3,578 Chủ đề: 62 Tham Gia: 10-04 -15 Điểm danh tiếng: 165 Tiền Access: 92,558.56Ac$ #6 30-04-20, 08:52 AM
(30-04-20, 07:35 AM)Bienxanh Đã viết: Không biết sử dụng thư viện API có nặng gì không ạ? Em có đang sử dụng 1 hàm cũng khá hay em chỉ cần viết "chafo casc bajn" thì nó tự convert thành tiếng việt rồi ạ. Và như thế em cũng thấy khá nhanh khi code đỡ phải thao tác nhiều mà lại còn ngắn gọn ạ.
Hầu hết các ứng dụng điều tận dụng các hàm API có sẳn trong Windows để chạy cho nhẹ thay vì viết thêm hàm khác. Cách của bạn cũng là 1 cách hay nhưng nó ngắn ngọn khi bạn lập trình chứ không ngắn gọn khi chạy ứng dụng - đây mới là cái quan trọng. Khi chạy ứng dụng, khi cần hiện thông báo lỗi, hàm Msgbox của bạn sẽ phải thực hiện thêm công đoạn gọi hàm chuyển chuỗi mà bạn viết sang charcode, lưu xuống memory rồi mới câu móc hiển thị ra Msgbox, mỗi lần chạy là mỗi lần chuyển đổi. Còn các hàm hiện thông báo TV hiện tại mọi người đang sử dụng là người lập trình mất thời gian một lần chuyển đổi sang charcode trước ở lúc lập trình sau đó ứng dụng khi chạy không cần chuyển đổi nữa. Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake! ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ Website Find Reply Bienxanh Offline Access Nhập Môn * Bài viết: 5 Chủ đề: 1 Tham Gia: 30-03 -20 Điểm danh tiếng: 0 Tiền Access: 189.20Ac$ #7 30-04-20, 08:01 PM
(30-04-20, 08:52 AM)ongke0711 Đã viết:
(30-04-20, 07:35 AM)Bienxanh Đã viết: Không biết sử dụng thư viện API có nặng gì không ạ? Em có đang sử dụng 1 hàm cũng khá hay em chỉ cần viết "chafo casc bajn" thì nó tự convert thành tiếng việt rồi ạ. Và như thế em cũng thấy khá nhanh khi code đỡ phải thao tác nhiều mà lại còn ngắn gọn ạ.
Hầu hết các ứng dụng điều tận dụng các hàm API có sẳn trong Windows để chạy cho nhẹ thay vì viết thêm hàm khác. Cách của bạn cũng là 1 cách hay nhưng nó ngắn ngọn khi bạn lập trình chứ không ngắn gọn khi chạy ứng dụng - đây mới là cái quan trọng. Khi chạy ứng dụng, khi cần hiện thông báo lỗi, hàm Msgbox của bạn sẽ phải thực hiện thêm công đoạn gọi hàm chuyển chuỗi mà bạn viết sang charcode, lưu xuống memory rồi mới câu móc hiển thị ra Msgbox, mỗi lần chạy là mỗi lần chuyển đổi. Còn các hàm hiện thông báo TV hiện tại mọi người đang sử dụng là người lập trình mất thời gian một lần chuyển đổi sang charcode trước ở lúc lập trình sau đó ứng dụng khi chạy không cần chuyển đổi nữa.
Vâng đúng là sẽ có ưu nhược điểm riêng của nó. Tại em k nhận thấy sự chậm chạp nên cũng k thấy rõ à Chữ ký của Bienxanh Bienxanh,gia nhập Thủ Thuật Access từ 30-03 -20. Website Find Reply
« Bài trước | Bài tiếp »
Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
[Thủ Thuật] Demo Tổng hợp tất cả các kiểu thông báo tiếng việt trong Access maidinhdan 73 25,293 24-06-24, 10:55 PM Bài mới nhất: mrgior
Xuất giá trị 2 field trong 1 Query ra Msgbox (thông báo) Đình Phán 2 540 04-06-22, 03:12 PM Bài mới nhất: ongke0711
Sửa lỗi tiếng Việt khi quét Barcode/ QR code ongke0711 8 2,365 18-07-21, 04:56 PM Bài mới nhất: mrsiro
[Help] [Help] Viết function kiểm tra cột dữ liệu null khi query bị báo lỗi #Error subasatran 4 1,340 16-12-20, 05:54 PM Bài mới nhất: ongke0711
[Thủ Thuật] [Demo-Phần 2] Chuyển chữ Uni to ChrW để hiện thông báo tiếng việt maidinhdan 6 2,186 07-12-20, 02:22 PM Bài mới nhất: maidinhdan
  • Xem ở phiên bản có thể in
  • Theo dõi chủ đề này
Chuyển nhanh: Tin nhắn cá nhân Trang cá nhân Ai đang online ? Tìm kiếm Trang chủ diễn đàn Thông Tin Chung -- Thông báo ---- Chức năng diễn đàn -- Trao đổi Góp ý Access Cơ Bản -- Table -- Query -- Forms -- Report -- Macro -- Class Moudules -- Menu Bar/Ribbon -- Thành viên giúp nhau ---- Bài tập Access Access Nâng Cao -- Thư Viện Giáo Trình -- Thư Viện Hàm -- Thư viện thủ thuật -- Thủ thuật VBA -- Thư Viện Ứng Dụng ---- Share Code -- Tương tác Chương trình ngoài ---- MS SQL Server ---- Add-In -- Thảo Luận Access Thế giới lập trình -- VB.NET -- VB6 -- XML Thế Giới Văn Phòng -- Tin Học Văn Phòng ---- MS Word ---- Ms Excel ---- Ms PowerPoint -- Kỹ năng văn phòng ---- Sales & marketing -- English for Office Giao lưu giải trí -- Quán cóc -- CLB Âm Nhạc ---- Phòng chiếu phim -- Góc ảnh -- Góc Thơ -- Quán Văn Chương -- Vui cười Warehouse -- Chuyện bốn phương -- Liên Kết Website ---- Nhật ký webmaster ---- Góc Blogger ---- Góc MyBB -- Việc Làm Access -- Lưu Trữ ---- Phòng thử nghiệm User(s) browsing this thread: 1 Guest(s) Diễn Đàn Thơ Văn Thi Ẩm Lâu| Blog Học Excel| Nhật ký IT
  • Liên hệ
  • Thủ Thuật Access
  • Lên trên
  • Bản rút gọn
  • Tin RSS
Thời gian hiện tại : 24-12-25, 12:52 AM Mã nguồn bởi MyBB, © 2002-2025 MyBB Group. Linear ModeThreaded Mode

Từ khóa » Msgbox Tiếng Việt Vba