KheNgot > 04-03-20, 10:57 PM
tranthanhan1962 > 05-03-20, 11:36 AM
(04-03-20, 10:57 PM)KheNgot Đã viết: Mọi người cho em hỏi thêm: Nếu làm theo cách này thì cũng chỉ tạo được 1 phím cho 1 sự kiện thôi ạ. Ý em là: Nếu em tạo 1 phím F4 để mở 1 form rồi và ở form khác em cũng muốn tạo bằng phím F4 này thì không được. AutoKeys không cho tạo?Làm sao chỉ với một phím tắt mà bạn tạo được 2 lệnh mở form khác nhau. Đến người còn chưa làm được . Ví vụ có nhiều cái ly khác nhau mà bạn chỉ nói đưa tôi cái ly thì biết cái ly nào, mà lệnh máy tính cần sự minh bạch nếu nói F4 là đưa cái ly A thì không thể có chuyện F4 đưa cái ly B. Nếu muốn làm việc này bạn phải có điều kiện, Điều kiện A thì F4 mở form A, điều kiện B thì F4 mở form B hoặc bạn F4 để mở luôn 2 form cái nào không sử dụng thì tự đóng lại chừa cái kia
KheNgot > 05-03-20, 07:35 PM
ongke0711 > 05-03-20, 08:51 PM
(05-03-20, 07:35 PM)KheNgot Đã viết: Dạ, em hiểu ý ạ. Nhưng em thấy các phần mềm có thể áp dụng được cùng phím cho các form ạ? Em lấy vị dụ cụ thể như sau: Khi người dùng mở form khai báo khách hàng và nhấn phím F2 để hiểm thị form cập nhật dữ liệu; và khi đó form cập nhật khách hàng xong thì đóng lại và mở form hóa đơn bán hàng và cũng nhấn phím F2 thì sẽ hiển thị form cập nhật hóa đơn mới. Nếu làm cùng phím thì trong AutoKeys không tạo được 2 Submarco {F2}? Chẳng lẽ 1 ứng dụng Access lại không làm được sao ạ?
Cám ơn nhiều!
KheNgot > 05-03-20, 09:42 PM
ongke0711 > 06-03-20, 12:05 AM
tranthanhan1962 > 06-03-20, 12:45 AM
(05-03-20, 09:42 PM)KheNgot Đã viết: @ongke0711: Có thể demo cho em 1 ví dụ về sự kiện KeyDown? Em chưa hình dung làm như thế nào ạ?Hầu như tất cả các control trên form đều có event KeyDown, Nhưng event Form_KeyDown thường không được sử dụng, do trên form có nhiều control, Khi mở form focut sẽ không nằm trên form mà có thể ở bất kỳ control nào, Khi đó chỉ có control nào nhận focut thì event KeyDown của ctrol đó mới thực thi. Một ví dụ đơn giản với một command button ABC:
ongke0711 > 06-03-20, 03:44 PM
(05-03-20, 09:42 PM)KheNgot Đã viết: @ongke0711: Có thể demo cho em 1 ví dụ về sự kiện KeyDown? Em chưa hình dung làm như thế nào ạ?
Option Explicit
Public Sub ShortcutKey(frm As String, iKeyCode As Integer)
Select Case iKeyCode
Case vbKeyF2
Call Forms(frm).cmdThem_Click
Case vbKeyF3
Call Forms(frm).cmdBaoCao_Click
End Select
End Sub
Option Explicit
Public Sub cmdBaoCao_Click()
DoCmd.OpenForm "frmA_BaoCao", , , , , acDialog
End Sub
Public Sub cmdThem_Click()
DoCmd.OpenForm "frmA_Them", , , , , acDialog
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Call ShortCutKey("frmA", KeyCode)
End Sub
Public Sub ShortCutKey(frm As String, iKeyCode As Integer)
Select Case iKeyCode
Case vbKeyF2
Select Case frm
Case "frmA"
Call Forms("frmA").cmdXuat_Click '--> o Form A khi bam {F2}: Xuat'
Case "frmB"
Call Forms("frmB").cmdTongHop_Click '--> o Form B khi bam {F2}: Tong hop bao cao'
End Select
Case vbKeyF3
Select Case frm
Case "frmA"
Call Forms("frmA").cmdInBaoCao_Click '--> o Form A khi bam {F3}: in báo cáo'
Case "frmB"
Call Forms("frmB").cmdCapNhat_Click '--> o Form B khi bam {F3}: cap nhat du lieu'
End Select
End Select
End Sub
KheNgot > 06-03-20, 10:16 PM
ongke0711 > 06-03-20, 11:06 PM
(06-03-20, 10:16 PM)KheNgot Đã viết: Theo demo em làm thế này mà vẫn không được. Nó là lỗi gì ạ?
Lỗi: Run-time error '2465'