Gán phím bằng VBA

tienduyet

Member
Hội viên mới
Các đại huynh ah, trong một Form em muốn gắn chó phí F3 là phím tìm kiếm (hoặc để mở form tìm kiếm - frmFind) thì em dùng VBA như thế nào ah?
Các huynh chỉ giúp em nhé!
Em cảm ơn!
 
Ðề: Gán phím bằng VBA

Private Sub Form_KeyDown(KeyCode As Integer)
If KeyCode = 114 Then
DoCmd.OpenForm ("frmFind")
End If
End Sub
 
Sửa lần cuối:
Ðề: Gán phím bằng VBA

Khi form không có dữ liệu việc bắt keycode thì rất dễ. Nhưng khi form có dữ liệu rồi thì thông thường các đối tượng trong form sẽ nhận focus thì keycode không còn hiệu lực . Chẳng lẽ bây giờ form có đến 20 textbox thì phải bẫy keycode cho cả 20 textbox a? Bác nào làm cái vụ này rồi cho xin ý kiến nhé
 
Ðề: Gán phím bằng VBA

Khi form không có dữ liệu việc bắt keycode thì rất dễ. Nhưng khi form có dữ liệu rồi thì thông thường các đối tượng trong form sẽ nhận focus thì keycode không còn hiệu lực . Chẳng lẽ bây giờ form có đến 20 textbox thì phải bẫy keycode cho cả 20 textbox a? Bác nào làm cái vụ này rồi cho xin ý kiến nhé

Tùy trường hợp mà bắt keycode cho form hay cho từng control.
Nếu muốn làm "phím nóng" thì bắt keycode theo form.
Để bắt keycode thì định thuộc tính Key preview = True

Với keycode có thể dùng các hằng sẵn của VBA như: vbKeyEnter, vbKeyF3, ... nhìn nó dễ gợi nhớ hơn dùng số.
 
Ðề: Gán phím bằng VBA

Anh Muongtennguoi ơi cho em nhiều con số khác nữa đi, hay em có thể tìm có số đó từ phần nào của Access, ví dụ như Help chẳng hạn.
Anh Nhatnq2002 ah, anh cho em xin một ví dụ cụ thể không ah. Từ đó em biến hóa thành điều em cần khi áp dụng.
Cảm hơn 2 anh!
 
Ðề: Gán phím bằng VBA

Anh Muongtennguoi ơi cho em nhiều con số khác nữa đi, hay em có thể tìm có số đó từ phần nào của Access, ví dụ như Help chẳng hạn.
Anh Nhatnq2002 ah, anh cho em xin một ví dụ cụ thể không ah. Từ đó em biến hóa thành điều em cần khi áp dụng.
Cảm hơn 2 anh!

Ví dụ hả, thì đây:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If (Shift And acCtrlMask) <> 0 Then
If KeyCode = vbKeyF3 Then
MsgBox "Hello, everybody."
End If
End If
End Sub

Cái này để khi người sử dụng nhấn giữ CTRL và bấm phím F3 (CTRL-F3) thì hiện một thông báo chào hỏi chơi.

Còn muốn biết keycode thì bạn cứ mở VBA Editor ra (ALL-F11), nhấn F2 --> cửa sổ Object Browser, Classes --> Keycode contants. Rồi coi vô tư.
 
Ðề: Gán phím bằng VBA

Có 1 cách nhanh đó là tạo 1 form trống . Sau đó copy đoạn này vào code
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
MsgBox KeyCode
End Sub
hihi, nhưng chỉ một lỗi là nó không nhận biết được tổ hợp phím, còn các phím khác trên keyboard thì nhanh lắm
 
Ðề: Gán phím bằng VBA

Tại bạn hỏi VBA nên mọi người trả lời theo VBA.
Có thể dùng Macro để gán phím nữa.
Macro Name : {F3}
Action : OpenForm
Form Name : frmFind


Dùng Msgbox còn là cách đơn giản để debug nữa, thay vì mở cửa sổ debug rất khó theo dõi thì ta chèn Msgbox vào từng đoạn code để theo dõi giá trị các biến.
 
Ðề: Gán phím bằng VBA

Anh ơi, em chưa thử cách làm Mac của anh, nhưng em nghĩ nếu em có 20 form thì em phải lập 20{F3} ah? Nếu thế thì khó nhớ lắm. Hay dùng VBA thì có thể không bị nhầm hơn không?
Đây là suy tính của em thôi nha, mong nhận được ý kiến của các anh!
 
Ðề: Gán phím bằng VBA

Anh ơi, em chưa thử cách làm Mac của anh, nhưng em nghĩ nếu em có 20 form thì em phải lập 20{F3} ah? Nếu thế thì khó nhớ lắm. Hay dùng VBA thì có thể không bị nhầm hơn không?
Đây là suy tính của em thôi nha, mong nhận được ý kiến của các anh!

Oạch. Sao em nói ngược thế.

Làm macro như vầy:
  • Mở file.mdb lên, vào tab Macro, chọn New.
    (Trong khung tạo macro mới hiện lên có 2 cột là Action và Comment, đó là dùng cho singel macro. Ta cần tạo group macro).
  • Nhấn vào nút có "chữ xyz nhỏ xíu và cái hình 3 ô vuông nhỏ xíu" trên thanh toolbar.
    Khung design sẽ hiện lên thêm 1 cột nữa, cột macro name.
  • Gõ "{F3}" vào macro name và chọn "openForm" trong cột Action , chọn tên form trong mục Form name phía dưới.
  • Đóng cửa sổ lại và đặt tên group macro là "AutoKeys"
Save và đóng data rồi mở lên lại 1 lần nữa.
Nhấn F3. Enjoy and relax.:cheers1:
 

CẨM NANG KẾ TOÁN TRƯỞNG


Liên hệ: 090.6969.247

KÊNH YOUTUBE DKT

Cách làm file Excel quản lý lãi vay

Đăng ký kênh nhé cả nhà

SÁCH QUYẾT TOÁN THUẾ


Liên hệ: 090.6969.247

Top