Noname > 09-08-10, 01:16 AM
Trích dẫn:Nguyên văn bởi hungtano
Bạn phải làm 2 việc :
1) Vào Tools --> Startup : bỏ chọn tất cả các check box trên biểu mẫu này. (không cho users sử dụng các phím tắt)
Còn muốn triệt để hơn, không cho xem code thì .mdb --> .mde
2) Disable phím SHIFT
Nguyên lý : trong database có 1 thuộc tính (property) gọi là : AllowBypassKey. Thuộc tính này cho phép bạn enable/disable phím SHIFT.
+ Nếu AllowBypassKey = False --> disable phím SHIFT
+ Nếu AllowBypassKey = True --> enable phím SHIFT
Cách làm : bạn tạo 1 Form (tạm gọi : F_ShiftKey) có 2 nút lịnh : 1 để enable và 1 disable phím SHIFT. Đưa 2 private sub dưới đây vào..........
Private Sub DisableSHIFTButton_Click()
On Error GoTo ErrHandler
Dim db As Database
Dim ThuocTinh As Property
Set db = CurrentDb
db.Properties("AllowBypassKey") = False
Set db = Nothing
Egress:
On Error Resume Next
Set db = Nothing
Set ThuocTinh = Nothing
Exit Sub
ErrHandler:
MsgBox Err.Number
If Err.Number = 3270 Then ' Property not found.
Set ThuocTinh = db.CreateProperty("AllowBypassKey", dbBoolean, False)
db.Properties.Append ThuocTinh
Resume Next
Else
MsgBox Err.Description
Resume Egress
End If
End Sub
=================================================
Private Sub EnableSHIFTButton_Click()
On Error GoTo ErrHandler
Dim db As Database
Dim ThuocTinh As Property
Set db = CurrentDb
db.Properties("AllowBypassKey") = True
Set db = Nothing
Egress:
On Error Resume Next
Set db = Nothing
Set ThuocTinh = Nothing
Exit Sub
ErrHandler:
MsgBox Err.Number
If Err.Number = 3270 Then ' Property not found.
Set ThuocTinh = db.CreateProperty("AllowBypassKey", dbBoolean, True)
db.Properties.Append ThuocTinh
Resume Next
Else
MsgBox Err.Description
Resume Egress
End If
End Sub
++++++++++++++++++++++++++++++++++++++++++++++++++
OK chưa bạn ? .............................................. Chưa đâu !
Bây giờ đặt F_ShiftKey ở đâu trong chương trình để không ai được quyền mở ngoại trừ Admin ? Có nhiều cách : cách đơn giản nhất là đặt ….ở đâu cũng được với 1 điều kiện : để mở F_ShiftKey cần phải biết password.
Ở sự kiện Form_Open, bạn yêu cầu nhập đúng password : Lambada mới cho mở form này.
Private Sub Form_Open(Cancel As Integer)
Dim Message, Title, MyValue
Message = "Ban vui long cho biet mat khau :" ' Set prompt.
Title = "Kiem tra" ' Set title.
MyValue = InputBox(Message, Title)
If MyValue <> "Lambada" Then
DoCmd.Close
End If
End Sub