• Thay đổi ngôn ngữ của chương trình access
  • 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 !
    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 !
    Có ai giúp e vấn đề trên với ạ !
  • 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:
    (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 !
    Có ai giúp e vấn đề trên với ạ !
    bạn có thể tham khảo ở đây
    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  021
    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.
    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.
    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.
    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.
    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
    a có demo cho e xin tham khảo với ạ !
    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:
    (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.
    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
    a có demo cho e xin tham khảo với ạ !
    e cảm ơn anh nhiều
    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.
    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