-
Lỗi msgbox ra ký tự lạ
tranthanhan1962 > 14-01-20, 12:00 PM
Tôi bị lỗi này trong khoảng thời gian gần đây.
Tôi có đoạn code viết msgbox tiếng Việt trong tập tin mdb. Nội dung như sau:
Chào mừng bạn đến với phần mềm kế toán "Ân Soft"
Bạn là người quản trị chương trình và có toàn quyền sử dụng chương trình.
Wright teen by: Trần Thanh Ân
Tel: 0972047946
Email: tranthanhan1662@gmail.com
Khi chạy tập tin mdb trên office 2019 tôi sử dụng đoạn thông báo này bằng cách gọi hàm DLookup lấy nội dung trên table thì vẫn chạy rất tốt như trên access 2003.
Đoạn code: msgBox DLookup("[BAOLOI]", "BAOLOI", "[LOI] = 6"), vbCritical, DLookup("[BAOLOI]", "BAOLOI", "[LOI] = 12")
Nhưng khi chuyển qua accdb thì khi dùng đoạn mã đó nó sẽ hiển thị:
Tôi sử dụng record macro từ excel thì trên excel vẫn chạy OK nhưng khi chuyển qua accbd với code đó thì cũng bị lỗi:
Khi dùng bộ gõ keyboard Vietnamess tôi gõ trực tiếp được tiếng Việt trong code nhưng khi hiễn thị vẫn bị lỗi
Code: msgBox "Chào mừng bạn đến với phần mềm kế toán ÂnSoft" & Chr(10) & _
"Bạn là người quản trị chương trình và có toàn quyền sử dụng chương trình." & Chr(10) & _
"Wright teen by: Trần Thanh Ân" & Chr(10) & _
"Tel: 0972047946" & Chr(10) & "Email: tranthanhan1662@gmail.com", vbCritical + vbOKOnly, "Chào mừng"
Mong nhờ bạn nào co kinh nghiệm hỗ trợ dùm. Thành thật cám ơn -
RE: Lỗi msgbox ra ký tự lạ
ongke0711 > 14-01-20, 01:05 PM
Em không có Access 2003 để test nhưng nếu dùng trên Access 2007 (.accdb) trở lên thì em vẫn phải dùng hàm MsgboxUni () rồi kèm Dlookup message trong Table mới hiển thị đúng tiếng Việt Unicode.
(Ps: "Wright teen by" hay "Written by"? Anh có chơi chữ không?)
-
RE: Lỗi msgbox ra ký tự lạ
tranthanhan1962 > 14-01-20, 06:09 PM
(14-01-20, 01:05 PM)ongke0711 Đã viết: Em không có Access 2003 để test nhưng nếu dùng trên Access 2007 (.accdb) trở lên thì em vẫn phải dùng hàm MsgboxUni () rồi kèm Dlookup message trong Table mới hiển thị đúng tiếng Việt Unicode.
Trong access 2003, 2007 vẫn phải dùng hàm MsgboxUni () + Dlookup, nhưng đến 2019 thì dùng hàm MsgboxUni () + Dlookup hay dùng trực tiếp msgBox vẫn OK, xem như không khác nhau và không cần thêm code MsgboxUni (), nên mình bỏ qua hàm này. Thực ra mdb vẫn chạy OK trên access 2019, nhưng Menu chuyển qua tab Add-ins trên Ribbon nên không đẹp, Tab File và Privacy Option không ẩn được.
(Ps: "Wright teen by" hay "Written by"? Anh có chơi chữ không?)
Còn cái vụ "Wright teen by" là như thế này. Khoảng năm 2000, lúc đó mình dạy bằng B ở trung tâm. mình cho đề bài tập làm form login cả lớp chỉ có 1 học viên làm đúng yêu cầu. Cô bé này lại nhỏ nhất lớp thế là mình đùa chỉnh Written by thành Wright teen by (Viết bởi cô bé tuổi teen). Sau này khi làm phần mềm mình đưa form này vào và phát triển nhưng lại quên sửa lại phần này. Mình bán cũng rất nhiều phần mềm có form login này, nhưng không thấy ai nói gì. Chính mình cũng không để ý. Nhưng ongke0711 phát hiện điều này
chắc mình sẽ để luôn. xem như một kỷ niệm hồi còn đi dạy.
-
RE: Lỗi msgbox ra ký tự lạ
tranthanhan1962 > 16-01-20, 06:41 PM
Hi Hi! Cái vụ này ít người nghiên cứu nhỉ -
RE: Lỗi msgbox ra ký tự lạ
tranthanhan1962 > 18-01-20, 12:09 AM
Đã phát hiện và xử lý được lỗi Msgbox tạo ra ký tự lạ. Thật bất ngờ khi nó do lỗi do code hàm MsgboxUni () gây ra, chỉ cần xóa nó đi là xong. Như tôi đã nói khi chạy tập tin mdb trên access 2019, ta có thể dùng hàm MsgboxUni () + Dlookup để lấy dữ liệu từ table hiển thị thông báo hoặc dùng trực tiếp hàm msgBox () + Dlookup cũng được. Nhưng khi chuyển sang accdb thì ra ký tự Trung hay Hàn gì đó!? dù sử dụng MsgboxUni () hay msgBox (). Cuối cùng chỉ cần xóa bỏ Function MsgboxUni () và sử dụng trực tiếp hàm msgBox () + Dlookup là hiển thị tiếng Việt ngon lành. Điều lạ lùng là dù không đụng gì đến hàm MsgboxUni (), nhưng chỉ cần nó xuất hiện trong module thì sẽ bị lỗi ký tự ngay lập tức và điều này chỉ xảy ra trên tập tin accdb và không ảnh hưởng gì đến tập tin mdb.