-
Thay đổi ngôn ngữ của chương trình access
jason > 27-12-19, 04:25 PM
Chào ace !
Em có 1 vấn đề : E viết 1 chương trình nhỏ hiển thị mặc định bằng tiếng việt, e muốn thêm tùy chọn ngôn ngữ tiếng anh và tiếng trung.
giống như các phần mềm khác khi chọn ngôn ngữ quên thuộc với mình để tiện thao tác .
ACE nào có file demo cho e xin với ạ !
e xin chân thành cảm ơn ! -
RE: Thay đổi ngôn ngữ của chương trình access
jason > 30-12-19, 02:54 PM
(27-12-19, 04:25 PM)jason Đã viết: Chào ace !
Có ai giúp e vấn đề trên với ạ !
Em có 1 vấn đề : E viết 1 chương trình nhỏ hiển thị mặc định bằng tiếng việt, e muốn thêm tùy chọn ngôn ngữ tiếng anh và tiếng trung.
giống như các phần mềm khác khi chọn ngôn ngữ quên thuộc với mình để tiện thao tác .
ACE nào có file demo cho e xin với ạ !
e xin chân thành cảm ơn ! -
RE: Thay đổi ngôn ngữ của chương trình access
thuyyeu99 > 31-12-19, 05:43 PM
Bạn tạo 1 cái file xml hoặc 3 cái Array ("menu chính ","thông tin","tác giả ") tiếng việt, tiếng trung, tiếng anh ai chọn tiếng nào thì lấy cái item của cái Array tiếng đó add vô menu -
RE: Thay đổi ngôn ngữ của chương trình access
tranthanhan1962 > 31-12-19, 08:39 PM
Vấn đề không chỉ ở cái menu hay ribbon mà còn ở msgbox nữa.
Bạn phải đưa vào form login để xử lý, và cái form này không được close trong quá trình làm việc mà chỉ được ẩn dưới nền. Phần menu/ribbon bạn có thể tạo 3 menu Việt-Anh--Trung, dùng if ... then hoặc Select Case để xử lúy điều kiện từ form login thiết đặt menu, Cũng tương tự cho hiển thị các msgbox theo từng lựa chọn -
RE: Thay đổi ngôn ngữ của chương trình access
ongke0711 > 01-01-20, 01:59 PM
(27-12-19, 04:25 PM)jason Đã viết: Chào ace !
Em có 1 vấn đề : E viết 1 chương trình nhỏ hiển thị mặc định bằng tiếng việt, e muốn thêm tùy chọn ngôn ngữ tiếng anh và tiếng trung.
giống như các phần mềm khác khi chọn ngôn ngữ quên thuộc với mình để tiện thao tác .
ACE nào có file demo cho e xin với ạ !
e xin chân thành cảm ơn !
Làm cái này cũng hơi tốn công. Tôi chưa làm vụ này nhưng cách thức làm cũng gần tương tự trong bài post trước đây của tôi.
Bạn tham khảo bài này: https://thuthuataccess.com/forum/post-39...l#pid39476
Trong bài này tôi dùng 1 Form nhưng thay đổi Label tuỳ theo nó được gọi từ Tab nào để hiện Caption cho đúng trường hợp.
Cách làm:
- Tạo 1 table lưu toàn bộ tên của các Label trên tất cả các Form. có 3 cột cho 3 thứ tiếng.
- Tương tự table lưu cho Message box. Dùng hàm thay thế hàm mặc định của Windows MsgBox() trong bài của bạn MTNQ. Dlookup message từ Table.
- Trên Form, các Label phải được đặt tên theo qui ước để dễ tham chiếu đến trong hàm đổi tên (ngôn ngữ).
- Viết cái hàm ChangeCaption để thay toàn bộ Label trên Form.
Cơ bản cách làm là vậy. -
RE: Thay đổi ngôn ngữ của chương trình access
paulsteigel > 02-01-20, 12:13 AM
(30-12-19, 02:54 PM)jason Đã viết:
bạn có thể tham khảo ở đây(27-12-19, 04:25 PM)jason Đã viết: Chào ace !
Có ai giúp e vấn đề trên với ạ !
Em có 1 vấn đề : E viết 1 chương trình nhỏ hiển thị mặc định bằng tiếng việt, e muốn thêm tùy chọn ngôn ngữ tiếng anh và tiếng trung.
giống như các phần mềm khác khi chọn ngôn ngữ quên thuộc với mình để tiện thao tác .
ACE nào có file demo cho e xin với ạ !
e xin chân thành cảm ơn !
http://www.sfdp.net/tai-lieu-khac/untitledpost -
RE: Thay đổi ngôn ngữ của chương trình access
jason > 02-01-20, 10:03 AM
(02-01-20, 12:13 AM)paulsteigel Đã viết: bạn có thể tham khảo ở đây
http://www.sfdp.net/tai-lieu-khac/untitledpost
file của anh e xem qua rồi. rất hay và đúng với cái e cần nhưng cao siêu quá e nhìn vô như một đống tơ quấn với nhau
anh có cái nào đơn giản hơn xíu không ạ ?
e cảm ơn nhiều ! -
RE: Thay đổi ngôn ngữ của chương trình access
jason > 02-01-20, 10:07 AM
(01-01-20, 01:59 PM)ongke0711 Đã viết: Làm cái này cũng hơi tốn công. Tôi chưa làm vụ này nhưng cách thức làm cũng gần tương tự trong bài post trước đây của tôi.
file của anh là 2013, anh có thể convert sang 2003 giúp e được không ạ, về cách làm anh nói ở trên e hiểu được một ít còn áp dụng e chưa biết làm thế nào nữa.
Bạn tham khảo bài này: https://thuthuataccess.com/forum/post-39...l#pid39476
Trong bài này tôi dùng 1 Form nhưng thay đổi Label tuỳ theo nó được gọi từ Tab nào để hiện Caption cho đúng trường hợp.
Cách làm:
- Tạo 1 table lưu toàn bộ tên của các Label trên tất cả các Form. có 3 cột cho 3 thứ tiếng.
- Tương tự table lưu cho Message box. Dùng hàm thay thế hàm mặc định của Windows MsgBox() trong bài của bạn MTNQ. Dlookup message từ Table.
- Trên Form, các Label phải được đặt tên theo qui ước để dễ tham chiếu đến trong hàm đổi tên (ngôn ngữ).
- Viết cái hàm ChangeCaption để thay toàn bộ Label trên Form.
Cơ bản cách làm là vậy.
em xin cảm ơn anh ạ ! -
RE: Thay đổi ngôn ngữ của chương trình access
jason > 02-01-20, 10:09 AM
(31-12-19, 08:39 PM)tranthanhan1962 Đã viết: Vấn đề không chỉ ở cái menu hay ribbon mà còn ở msgbox nữa.
a có demo cho e xin tham khảo với ạ !
Bạn phải đưa vào form login để xử lý, và cái form này không được close trong quá trình làm việc mà chỉ được ẩn dưới nền. Phần menu/ribbon bạn có thể tạo 3 menu Việt-Anh--Trung, dùng if ... then hoặc Select Case để xử lúy điều kiện từ form login thiết đặt menu, Cũng tương tự cho hiển thị các msgbox theo từng lựa chọn
e cảm ơn anh nhiều -
RE: Thay đổi ngôn ngữ của chương trình access
tranthanhan1962 > 02-01-20, 11:52 PM
(02-01-20, 10:09 AM)jason Đã viết:
Mình chỉ viết phần mềm tiếng Việt, nên không có demo cho nhiều thứ tiếng, tiếng Anh thỉ không giỏi còn tiếng Trung thì mù tịch, nhưng cách thức thì không khó nhưng sẽ rất cực.(31-12-19, 08:39 PM)tranthanhan1962 Đã viết: Vấn đề không chỉ ở cái menu hay ribbon mà còn ở msgbox nữa.
a có demo cho e xin tham khảo với ạ !
Bạn phải đưa vào form login để xử lý, và cái form này không được close trong quá trình làm việc mà chỉ được ẩn dưới nền. Phần menu/ribbon bạn có thể tạo 3 menu Việt-Anh--Trung, dùng if ... then hoặc Select Case để xử lúy điều kiện từ form login thiết đặt menu, Cũng tương tự cho hiển thị các msgbox theo từng lựa chọn
e cảm ơn anh nhiều
Trước tiên bạn phải tạo một form (FormX) khi khởi động thì open để chọn ngôn ngữ, tạo một textboxY để làm điều kiện xử lý ngôn ngữ , ví dụ chọn tiếng Việt, giá trị textboxY là 1, tiếng Anh là 2, tiếng Trung là 3. Form này sau khi chọn ngôn ngữ sẽ ẩn Visible=False, chứ không được Close, để khi xử lý sẽ căn cứ vào giá trị của textbox này để hiển thị ngôn ngữ tùy chọn.
Nếu bạn sử dụng office 2003, bạn phải tạo 3 menu, MenuViet, MenuAnh, MenuTrung.
Lệnh xử lý menu:
Select Case FormX.textboxY.Value
Case 1
CommandBars("MenuViet").Enabled = True
CommandBars("MenuAnh").Enabled = False
CommandBars("MenuTrung").Enabled = False
Case 2
CommandBars("MenuViet").Enabled = False
CommandBars("MenuAnh").Enabled = True
CommandBars("MenuTrung").Enabled = False
Case 3
CommandBars("MenuViet").Enabled = False
CommandBars("MenuAnh").Enabled = False
CommandBars("MenuTrung").Enabled = True
End Select
Nếu bạn sử dụng access 2007 trở lên, Bạn phải tạo table "UsysRibbons" và có 3 record có các RibbonName "RibbonViet", "RibbonAnh", "RibbonTrung" và các mã XML cho RibbonXML của nó.
Mã lệnh: Đưa vào tất cả các form và Report trong Event Form_Load() và Report_Load()
Select Case FormX.textboxY.Value
Case 1
Me.RibbonName = "RibbonViet"
Case 2
Me.RibbonName = "RibbonAnh"
Case 3
Me.RibbonName = "RibbonTrung"
End Select
Trong trường hợp Msgbox bạn phải đưa các nội dung bằng tiếng Anh, Việt, Trung vào trực tiếp trong code (các function chuyển đổi ngôn ngữ sẽ dễ bị lỗi)
Ví dụ
Select Case FormX.textboxY.Value
Case 1
Msgbox "Chào các bạn"
Case 2
Msgbox "Hello friends"
Case 3
Msgbox "大家好"
End Select
Ngoài tiếng Anh bạn không thể gõ trực tiếp tiếng Việt và tiếng Trung vào module code được, vì vậy bạn phải vào excel để sử dụng Record Macro rồi gõ chữ bằng ngôn ngữ bạn muốn sử dụng sau đó copy trong đoạn code ngôn ngữ hiển thị trong macro đó chép vào module thì mới không bị lỗi.
excel 2003: Tool\Macro\Record New Macro
excel 2007 trở lên: Developper\Record Macro.
Trước khi gõ chữ để lấy mã macro bạn phải chuyển bộ gõ tiếng Việt qua Unicode tổ hợp mới không bị lỗi (Tiếng Trung thì bạn tự nghiên cứu vì mình không biết)
FormX bạn phải mở ngay khi mở chương trình, sau khi chọn ngôn ngữ thì ẩn dưới nền nhưng không được close vì tất cả các vấn đề về ngôn ngữ sẽ tham chiếu đến textboxY của nó, khi đóng lại sẽ bị lỗi tham chiếu.
Chúc bạn thành công