yamakashi2003 > 02-01-20, 01:09 AM
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 ạ,Bạn phải tạo một Macro có tên là "AutoKeys".
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
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.
tranthanhan1962 > 03-01-20, 11:07 AM
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 . 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.