• VÔ HIỆU CHỨC NĂNG PHÍM F6
  • VÔ HIỆU CHỨC NĂNG PHÍM F6

    yamakashi2003 > 02-01-20, 01:09 AM

    Em chào các bác trong group ạ,
    Hiện em đang tạo 1 form có các textbox và 1 button, em muốn gán các code trong button này cho phím tắt F6, nhưng khi em gán được code của button 1 cho phím F6 thì phím F6 lại vẫn còn chức năng chuyển tiếp mặc định trong access,

    vì vậy em muốn hỏi các bác cao thủ có cách nào để xóa chức năng mặc định của phím F6 trong access không ạ (tức là bỏ chức năng Di chuyển tiêu điểm đến một ngăn khác của cửa sổ của phím F6 trong access ạ)

    Mong các bác chỉ giáo giúp
    em xin cảm ơn
  • RE: VÔ HIỆU CHỨC NĂNG PHÍM F6

    tranthanhan1962 > 02-01-20, 10:44 PM

    (02-01-20, 01:09 AM)yamakashi2003 Đã viết: Em chào các bác trong group ạ,
    Hiện em đang tạo 1 form có các textbox và 1 button, em muốn gán các code trong button này cho phím tắt F6, nhưng khi em gán được code của button 1 cho phím F6 thì phím F6 lại vẫn còn chức năng chuyển tiếp mặc định trong access,

    vì vậy em muốn hỏi các bác cao thủ có cách nào để xóa chức năng mặc định của phím F6 trong access không ạ (tức là bỏ chức năng Di chuyển tiêu điểm đến một ngăn khác của cửa sổ của phím F6 trong access ạ)

    Mong các bác chỉ giáo giúp
    em xin cảm ơn
    Bạn phải tạo một Macro có tên là "AutoKeys". 
    Macro Name {F1} Action CancelEvent
    Các lệnh kế tiếp....
    Sử dụng Action CancelEvent để vô hiệu chức năng mặc định của phím chức năng trước rồi mới thêm các lệnh tùy biến sau.
  • RE: VÔ HIỆU CHỨC NĂNG PHÍM F6

    yamakashi2003 > 03-01-20, 01:12 AM

    (02-01-20, 10:44 PM)tranthanhan1962 Đã viết:
    (02-01-20, 01:09 AM)yamakashi2003 Đã viết: Em chào các bác trong group ạ,

    Hiện em đang tạo 1 form có các textbox và 1 button, em muốn gán các code trong button này cho phím tắt F6, nhưng khi em gán được code của button 1 cho phím F6 thì phím F6 lại vẫn còn chức năng chuyển tiếp mặc định trong access,



    vì vậy em muốn hỏi các bác cao thủ có cách nào để xóa chức năng mặc định của phím F6 trong access không ạ (tức là bỏ chức năng Di chuyển tiêu điểm đến một ngăn khác của cửa sổ của phím F6 trong access ạ)



    Mong các bác chỉ giáo giúp

    em xin cảm ơn

    Bạn phải tạo một Macro có tên là "AutoKeys". 

    Macro Name {F1} Action CancelEvent

    Các lệnh kế tiếp....

    Sử dụng Action CancelEvent để vô hiệu chức năng mặc định của phím chức năng trước rồi mới thêm các lệnh tùy biến sau.



    Bác ơi, cho em hỏi:

    em đã một Macro có tên là "AutoKeys". trong đó có 

    Submacro: {F6} 

                        CancelEvent
                        Run code 
                                 Fuction name = RunAutoKeys("F6")
    End submacro

    và trong Module 1, em có tạo 1 code tham chiếu đến form f_chinh

    Function RunAutoKeys(strKey As String)
        Select Case KeyCode
        Case vbKeyF6

        If IsNull(Form_f_CHINH.txttenkh) = True Then
        MsgBox "Nhap ten Khach hang", vbInformation 
        End If

        If Form_f_CHINH.txtongtien < Form_f_CHINH.txtdktien Then
            MsgBox "Tri gia hoa don chua du", vbInformation 
       End If

        If Form_f_CHINH.txthoadon = "" Or Form_f_CHINH.txtcash = "" Then
            MsgBox ("Nhap thong tin hoa don"), vbInformation
        End If       

        Case Else
        End Select

    End Function


    Vậy mà khi em mở form f_chinh, ấn F6 thì bỏ được chức năng mặc định của phím này r nhưng code trên không chạy ạ
  • RE: VÔ HIỆU CHỨC NĂNG PHÍM F6

    tranthanhan1962 > 03-01-20, 11:07 AM

    Nó không chạy code là phải rồi  shame on you . Macro "AutoKeys" đã loại bỏ mọi hành động của phím chức năng F6, mà Function RunAutoKeys gọi lại KeyCode của nó thì nó tiếp tục loại mọi hoạt động của phím này thì làm sau chạy lệnh phía dưới được. May mà đây có lệnh CancelEvent nên nó thoát ra chứ không bạn sẽ bị lệnh vòng lập vô tận và chạy mãi đến khi nào đứng máy do hết bộ nhớ.
    F6 [chạy lệnh macro F6] -> CancelEvent -> Run code [Fuction name = RunAutoKeys("F6")] -> Select Case KeyCode ...Case vbKeyF6 -> tiếp tục trở lại F6 [chạy lệnh macro F6]  -> CancelEvent {Có nghĩa là không bao giờ nó sẽ chạy đến được lệnh If IsNull(Form_f_CHINH.txttenkh) = True Then... phía dưới}
    Trong code chạy tiếp lệnh bạn bỏ phần gọi lại vbKeyF6
    Function RunAutoKeys()
        If IsNull(Form_f_CHINH.txttenkh) = True Then
        MsgBox "Nhap ten Khach hang", vbInformation
        End If

        If Form_f_CHINH.txtongtien < Form_f_CHINH.txtdktien Then
            MsgBox "Tri gia hoa don chua du", vbInformation
      End If

        If Form_f_CHINH.txthoadon = "" Or Form_f_CHINH.txtcash = "" Then
            MsgBox ("Nhap thong tin hoa don"), vbInformation
        End If     
    End Function
    Nếu muốn thực hiện nhiều điều kiện bạn phải sử dụng cách khác chứ không sử dụng vbKeyF6 vì key này đã bị vô hiệu hóa.
  • RE: VÔ HIỆU CHỨC NĂNG PHÍM F6

    yamakashi2003 > 03-01-20, 12:23 PM

    (03-01-20, 11:07 AM)tranthanhan1962 Đã viết: Nó không chạy code là phải rồi  shame on you . Macro "AutoKeys" đã loại bỏ mọi hành động của phím chức năng F6, mà Function RunAutoKeys gọi lại KeyCode của nó thì nó tiếp tục loại mọi hoạt động của phím này thì làm sau chạy lệnh phía dưới được. May mà đây có lệnh CancelEvent nên nó thoát ra chứ không bạn sẽ bị lệnh vòng lập vô tận và chạy mãi đến khi nào đứng máy do hết bộ nhớ.
    F6 [chạy lệnh macro F6] -> CancelEvent -> Run code [Fuction name = RunAutoKeys("F6")] -> Select Case KeyCode ...Case vbKeyF6 -> tiếp tục trở lại F6 [chạy lệnh macro F6]  -> CancelEvent {Có nghĩa là không bao giờ nó sẽ chạy đến được lệnh If IsNull(Form_f_CHINH.txttenkh) = True Then... phía dưới}
    Trong code chạy tiếp lệnh bạn bỏ phần gọi lại vbKeyF6
    Function RunAutoKeys()
        If IsNull(Form_f_CHINH.txttenkh) = True Then
        MsgBox "Nhap ten Khach hang", vbInformation
        End If

        If Form_f_CHINH.txtongtien < Form_f_CHINH.txtdktien Then
            MsgBox "Tri gia hoa don chua du", vbInformation
      End If

        If Form_f_CHINH.txthoadon = "" Or Form_f_CHINH.txtcash = "" Then
            MsgBox ("Nhap thong tin hoa don"), vbInformation
        End If     
    End Function
    Nếu muốn thực hiện nhiều điều kiện bạn phải sử dụng cách khác chứ không sử dụng vbKeyF6 vì key này đã bị vô hiệu hóa.

    Em cam on bac nhieu