Chuyện là thế này: Em lọ mọ trên net mãi tìm được cách chỉ vô hiệu hoá phím shift khi mở Database trên tạp chí Echip, cụ thể như sau:
' Hàm ChangeProperty thay đổi các thuộc tính của database:
Function ChangeProperty(strPropName, varPropType, varPropValue)
Dim dbs As Database, prp As Property
Const conPropNotFoundError = 3270
Set dbs = CurrentDb
On Error GoTo Change_Err
dbs.Properties(strPropName) = varPropValue
ChangeProperty = True
Change_Bye:
Exit Function
Change_Err:
If Err = conPropNotFoundError Then ' Thuộc tính không thấy.
Set prp = dbs.CreateProperty(strPropName, varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
' Không biết lỗi gì.
ChangeProperty = False
Resume Change_Bye
End If
End Function
' Xử lý tình huống chọn nút [Khóa database]:
Private Sub cmdLock_Click()
ChangeProperty "StartupForm", dbText, "Main"
ChangeProperty "StartupShowDBWindow", dbBoolean, False
ChangeProperty "StartupShowStatusBar", dbBoolean, False
ChangeProperty "AllowBuiltinToolbars", dbBoolean, False
ChangeProperty "AllowFullMenus", dbBoolean, False
ChangeProperty "AllowBreakIntoCode", dbBoolean, False
ChangeProperty "AllowSpecialKeys", dbBoolean, False
ChangeProperty "AllowBypassKey", dbBoolean, False
MsgBox "Database đã được khóa! Đóng database, rồi mở lại mới có ép-phê.", vbOKOnly, "eChip Security"
cmdExit.SetFocus
cmdUnlock.Visible = True
cmdLock.Visible = False
End Sub
' Xử lý tình huống chọn nút [Mở database]:
Private Sub cmdUnlock_Click()
ChangeProperty "StartupForm", dbText, ""
ChangeProperty "StartupShowDBWindow", dbBoolean, True
ChangeProperty "StartupShowStatusBar", dbBoolean, True
ChangeProperty "AllowBuiltinToolbars", dbBoolean, True
ChangeProperty "AllowFullMenus", dbBoolean, True
ChangeProperty "AllowBreakIntoCode", dbBoolean, True
ChangeProperty "AllowSpecialKeys", dbBoolean, True
ChangeProperty "AllowBypassKey", dbBoolean, True
MsgBox "Database đã được mở khóa! Đóng database, rồi mở lại mới có ép-phê.", vbOKOnly, "eChip Security"
cmdExit.SetFocus
txtPassword = ""
cmdLock.Visible = True
cmdUnlock.Visible = False
txtPassword.Visible = False
End Sub
' Xử lý tình huống khi mở biểu mẫu:
Private Sub Form_Open(Cancel As Integer)
Dim dbs As Database
Set dbs = CurrentDb
On Error GoTo KhongCoThuocTinh_Err
If dbs.Properties("AllowBypassKey") Then
cmdLock.Visible = True
txtPassword.Visible = False
Else
cmdLock.Visible = False
txtPassword.Visible = True
End If
Exit Sub
KhongCoThuocTinh_Err:
cmdLock.Visible = True
txtPassword.Visible = False
End Sub
' Khi người ta gõ mật khẩu và nhấn phím Enter:
Private Sub txtPassword_LostFocus()
If txtPassword = "echip" Then
cmdUnlock.Visible = True
End If
End Sub
Em liều mạng thử copy vào và làm theo hướng dẫn, rồi mở form đó và bấm vào nút cmdLock, khởi động lại và thế là.....công sức của em mài dũa mấy tháng trời thành công cốc rồi --> giờ em không mở được cửa sổ Database nữa, dù rằng em có bấm ngàn lần phím Shift thì cũng BóTay.com.
Em đọc lại đoạn mã trên tạp chí mới hiểu ra rằng tạp chí hướng dẫn form khởi động là Main nhưng em lại để form khởi động là frmWelcome, giờ mỗi lần mở Access xuất hiện một thông báo có nội dung đại khái là:...... không tìm thấy form Main....
Các anh ơi giờ có cách nào cứu vãn tình hình không ạ, em tội lớn quá. Các anh xem và cho em xin ý kiến khắc phục nhé, em xin cảm ơn!
*** Ghi chú: Em trích đoạn code trên từ tạp chí Echip
-----------------------------------------------------------------------------------------
Nghuy quá nghuy quá các anh ơi.......
' Hàm ChangeProperty thay đổi các thuộc tính của database:
Function ChangeProperty(strPropName, varPropType, varPropValue)
Dim dbs As Database, prp As Property
Const conPropNotFoundError = 3270
Set dbs = CurrentDb
On Error GoTo Change_Err
dbs.Properties(strPropName) = varPropValue
ChangeProperty = True
Change_Bye:
Exit Function
Change_Err:
If Err = conPropNotFoundError Then ' Thuộc tính không thấy.
Set prp = dbs.CreateProperty(strPropName, varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
' Không biết lỗi gì.
ChangeProperty = False
Resume Change_Bye
End If
End Function
' Xử lý tình huống chọn nút [Khóa database]:
Private Sub cmdLock_Click()
ChangeProperty "StartupForm", dbText, "Main"
ChangeProperty "StartupShowDBWindow", dbBoolean, False
ChangeProperty "StartupShowStatusBar", dbBoolean, False
ChangeProperty "AllowBuiltinToolbars", dbBoolean, False
ChangeProperty "AllowFullMenus", dbBoolean, False
ChangeProperty "AllowBreakIntoCode", dbBoolean, False
ChangeProperty "AllowSpecialKeys", dbBoolean, False
ChangeProperty "AllowBypassKey", dbBoolean, False
MsgBox "Database đã được khóa! Đóng database, rồi mở lại mới có ép-phê.", vbOKOnly, "eChip Security"
cmdExit.SetFocus
cmdUnlock.Visible = True
cmdLock.Visible = False
End Sub
' Xử lý tình huống chọn nút [Mở database]:
Private Sub cmdUnlock_Click()
ChangeProperty "StartupForm", dbText, ""
ChangeProperty "StartupShowDBWindow", dbBoolean, True
ChangeProperty "StartupShowStatusBar", dbBoolean, True
ChangeProperty "AllowBuiltinToolbars", dbBoolean, True
ChangeProperty "AllowFullMenus", dbBoolean, True
ChangeProperty "AllowBreakIntoCode", dbBoolean, True
ChangeProperty "AllowSpecialKeys", dbBoolean, True
ChangeProperty "AllowBypassKey", dbBoolean, True
MsgBox "Database đã được mở khóa! Đóng database, rồi mở lại mới có ép-phê.", vbOKOnly, "eChip Security"
cmdExit.SetFocus
txtPassword = ""
cmdLock.Visible = True
cmdUnlock.Visible = False
txtPassword.Visible = False
End Sub
' Xử lý tình huống khi mở biểu mẫu:
Private Sub Form_Open(Cancel As Integer)
Dim dbs As Database
Set dbs = CurrentDb
On Error GoTo KhongCoThuocTinh_Err
If dbs.Properties("AllowBypassKey") Then
cmdLock.Visible = True
txtPassword.Visible = False
Else
cmdLock.Visible = False
txtPassword.Visible = True
End If
Exit Sub
KhongCoThuocTinh_Err:
cmdLock.Visible = True
txtPassword.Visible = False
End Sub
' Khi người ta gõ mật khẩu và nhấn phím Enter:
Private Sub txtPassword_LostFocus()
If txtPassword = "echip" Then
cmdUnlock.Visible = True
End If
End Sub
Em liều mạng thử copy vào và làm theo hướng dẫn, rồi mở form đó và bấm vào nút cmdLock, khởi động lại và thế là.....công sức của em mài dũa mấy tháng trời thành công cốc rồi --> giờ em không mở được cửa sổ Database nữa, dù rằng em có bấm ngàn lần phím Shift thì cũng BóTay.com.
Em đọc lại đoạn mã trên tạp chí mới hiểu ra rằng tạp chí hướng dẫn form khởi động là Main nhưng em lại để form khởi động là frmWelcome, giờ mỗi lần mở Access xuất hiện một thông báo có nội dung đại khái là:...... không tìm thấy form Main....
Các anh ơi giờ có cách nào cứu vãn tình hình không ạ, em tội lớn quá. Các anh xem và cho em xin ý kiến khắc phục nhé, em xin cảm ơn!
*** Ghi chú: Em trích đoạn code trên từ tạp chí Echip
-----------------------------------------------------------------------------------------
Nghuy quá nghuy quá các anh ơi.......
Sửa lần cuối: