Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[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
#31
Bac dan giúp em được không sao cái hàm uniconvert này em copy vào module mà lại không gọi được nó ra ở forms, hay report muốn sử dụng lại phải copy lại hàm uniconvert này vào form ấy mới gọi ra được.
Chữ ký của NguyenDungAnh Đến với cuộc đời hai tay trắng
Giã từ trần thế trắng hai tay
Bao nhiêu tiếng nói tiếng cười
Sống ở cuộc đời lãi được vậy thôi
ღღღღღTài sản của NguyenDungAnh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#32
(12-09-18, 10:40 PM)NguyenDungAnh Đã viết: Bac dan giúp em được không sao cái hàm uniconvert này em copy vào module mà lại không gọi được nó ra ở forms, hay report muốn sử dụng lại phải copy lại hàm uniconvert này vào form ấy mới gọi ra được.


Anh ledangvan đã copy cái hàm Msgboxuni ở post trước cho cho bạn rồi đó, sao không dùng nó cho đơn giản hơn không. Cái hàm của bạn lồng hàm này trong hàm kia rồi phải cung cấp một đống tham số kèm theo.
     uniconvert("Chuooxi msgbox Tieesng vieejt""TELEX")0400

Nếu dùng Msgboxuni: chỉ nhập câu thông báo tiếng Việt đã chuyển sang mã VBA Unicode là dùng tương tự hàm Msgbox của hệ thống rồi.

Việc chuyển chuỗi tiếng Việt Unicode sang mã VBA Unicode thì có cái tool trong demo đầu bài rồi, gõ vô rồi copy/paste thôi. Đơn giản hơn nhiều.

[Hình: 43729903505_0fcc01bc2a_o.png]

[Hình: 43920289794_773314edf3_o.png]

[Hình: 44639055841_5740841755_o.png]
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) ღღღღღ
Reply
Những người đã cảm ơn NguyenDungAnh , maidinhdan
#33
[Hình: 30948588028_7f8be087b1_b.jpg]a1 by anh nguyễn, trên Flickr

em chuyển qua máy cài office 64 bit thì báo lỗi này các bác chỉ giáo giúp với code em copy của levandang cùng bài:

Mã PHP:
Option Compare Database

#If VBA7 Then
  Private Declare PtrSafe Function GetActiveWindow Lib "user32" () As LongPtr
  
Private Declare PtrSafe Function MessageBoxW Lib "user32" (ByVal hwnd As LongByVal lpText As StringByVal lpCaption As StringByVal wType As Long) As LongPtr
#Else
  Private Declare Function GetActiveWindow Lib "user32" () As Long
  
Private Declare Function MessageBoxW Lib "user32" (ByVal hwnd As LongByVal lpText As StringByVal lpCaption As StringByVal wType As Long) As Long
#End If

Public Function msgBoxUni(ByVal PromptUni As VariantOptional ByVal Buttons As VbMsgBoxStyle vbOKOnlyOptional ByVal TitleUni As Variant vbNullString) As VbMsgBoxResult

'BStrMsg,BStrTitle : La chuoi Unicode
  Dim BStrMsg, BStrTitle
  '
Hàm StrConv Chuyen chuoi ve ma Unicode
  BStrMsg 
StrConv(PromptUnivbUnicode)
  BStrTitle StrConv(TitleUnivbUnicode)
  
  msgBoxUni 
MessageBoxW(GetActiveWindowBStrMsgBStrTitleButtons)
End Function
' Phat bieu de hien thong bao tieng viet

'
MsgBoxUni UNC("Chµo c¸c b¹n"), vbInformation_
            UNC
("TCVN3")

'MsgBoxUni VNI("Chaøo caùc baïn"), vbInformation, _
            VNI("VNI") 
Chữ ký của NguyenDungAnh Đến với cuộc đời hai tay trắng
Giã từ trần thế trắng hai tay
Bao nhiêu tiếng nói tiếng cười
Sống ở cuộc đời lãi được vậy thôi
ღღღღღTài sản của NguyenDungAnh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#34
Trong phần #If VBA7 Then... đổi kiểu Long còn sót mấy biến chưa đổi.

#If VBA7 Then
  Private Declare PtrSafe Function GetActiveWindow Lib "user32" () As LongPtr
  
Private Declare PtrSafe Function MessageBoxW Lib "user32" (ByVal hwnd As LongPtrByVal lpText As StringByVal lpCaption As StringByVal wType As LongPtr) As LongPtr
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) ღღღღღ
Reply
Những người đã cảm ơn
#35
[/url][url=https://flic.kr/p/2bi1Da6][Hình: 44824765651_d131fb2fc1_b.jpg]a2 by anh nguyễn, trên Flickr

Vẫn bị bác ạ em chụp lại cả lỗi đây, bấm ok xong thì báo dòng: được bôi màu vàng

Public Function msgBoxUni(ByVal PromptUni As VariantOptional ByVal Buttons As VbMsgBoxStyle vbOKOnlyOptional ByVal TitleUni As Variant vbNullString) As VbMsgBoxResult

Chữ MessageBoxW bị bôi đen

2 dòng sau thì bị màu đỏ. 
#Else
  Private Declare Function GetActiveWindow Lib "user32" () As Long
  
Private Declare Function MessageBoxW Lib "user32" (ByVal hwnd As LongByVal lpText As StringByVal lpCaption As StringByVal wType As Long) As Long


tất cả như hình trước em đã post mong mọi người giải cứu em với, em vừa copy sang laptop thì gặp lỗi này
Chữ ký của NguyenDungAnh Đến với cuộc đời hai tay trắng
Giã từ trần thế trắng hai tay
Bao nhiêu tiếng nói tiếng cười
Sống ở cuộc đời lãi được vậy thôi
ღღღღღTài sản của NguyenDungAnh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#36
Em có copy qua thử ở máy win 7 64bit cài office 2013 thì vẫn chạy bình thường không vấn đề gì. Nhưng mang qua con laptop của em cài win 7 , office 2016 64 bít thì bị lỗi như trên
Chữ ký của NguyenDungAnh Đến với cuộc đời hai tay trắng
Giã từ trần thế trắng hai tay
Bao nhiêu tiếng nói tiếng cười
Sống ở cuộc đời lãi được vậy thôi
ღღღღღTài sản của NguyenDungAnh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#37
em vừa xem một bài viết bằng tiếng anh như thế này, tiếng anh em kém đọc gg dịch cũng nửa hiểu nửa không 

#if Vba7 then
'  Code is running in the new VBA7 editor
    #if Win64 then
    '  Code is running in 64-bit version of Microsoft Office
    #else
    '  Code is running in 32-bit version of Microsoft Office
    #end if
#else
' Code is running in VBA version 6 or earlier
#end if

#If Vba7 Then
Declare PtrSafe Sub...
#Else
Declare Sub...
#EndIf

thế này có nghĩa là office 32 và 64 là phải khai báo riêng còn win 32 hay 64 cũng phải khai báo riêng phải ko
Chữ ký của NguyenDungAnh Đến với cuộc đời hai tay trắng
Giã từ trần thế trắng hai tay
Bao nhiêu tiếng nói tiếng cười
Sống ở cuộc đời lãi được vậy thôi
ღღღღღTài sản của NguyenDungAnh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#38
em thử debug => compile thì báo lỗi ở MessageBoxw trong dòng
msgBoxUni = MessageBoxw(GetActiveWindow, BStrMsg, BStrTitle, Buttons)
lỗi compile error: type mismatch
Chữ ký của NguyenDungAnh Đến với cuộc đời hai tay trắng
Giã từ trần thế trắng hai tay
Bao nhiêu tiếng nói tiếng cười
Sống ở cuộc đời lãi được vậy thôi
ღღღღღTài sản của NguyenDungAnh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#39
Bạn khai báo lại, dùng hàm MessageBoxA xem thử.

Declare PtrSafe Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As LongPtr, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long

...
...
msgBoxUni MessageBox(GetActiveWindowBStrMsgBStrTitleButtons)
...
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) ღღღღღ
Reply
Những người đã cảm ơn
#40
em cài lại office 2013 32 bit rồi bác ạ. để qua xong mấy hôm nay rồi em test thử
Chữ ký của NguyenDungAnh Đến với cuộc đời hai tay trắng
Giã từ trần thế trắng hai tay
Bao nhiêu tiếng nói tiếng cười
Sống ở cuộc đời lãi được vậy thôi
ღღღღღTài sản của NguyenDungAnh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Help] SQL trong VBA chạy không đúng! NguyenDungAnh 12 398 07-09-18, 10:44 AM
Bài mới nhất: NguyenDungAnh
  [Help] Tự chọn yes or no trong VBA khi chạy SQL NguyenDungAnh 7 272 26-08-18, 03:40 PM
Bài mới nhất: NguyenDungAnh
  [Hỏi] Điền kết quả của 1 query từ Access sang Excel killitmore 0 122 21-08-18, 12:33 PM
Bài mới nhất: killitmore
  Sử dụng Class Module và Kết nối dữ liệu SQL SERVER trong Access VBA lehongduc 62 32,133 03-08-18, 12:41 PM
Bài mới nhất: Cuong Servenet
  [Hàm] [Demo] Hàm kiểm tra IP tắt hay mở maidinhdan 10 2,167 26-07-18, 04:27 PM
Bài mới nhất: Cuong Servenet

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ| PMA Nha Trang| Gỗ Acrylic Không Đường Line