Dan Waters
dwaters at usinternet.com
Mon May 12 21:31:13 CDT 2008
Hi Arthur - give this a try!
These three procedures are used to give an Admin person the capability to
switch the database between what I call User Mode and Admin Mode.
Part of User Mode is to turn off Special Keys - which turns off F11.
Note that these properties don't exist until they are created (odd but needs
to be dealt with). If you run one of the first two procedures and the
property doesn't exist, code in EH will create the property. The property
is only created once.
Also note that the property changes don't take effect until the database is
shutdown and restarted. So you MUST create the ability for an admin person
to run StartupPropertiesOn when the system is in User Mode, because they
can't get to the database window. Also because in my database User Mode has
all the toolbars hidden so no one, including an admin, can get to the
Startup Options.
HTH!
Dan
'---------------------------------------------------------------
Public Sub StartupPropertiesOn()
On Error GoTo EH
'-- This is Admin mode
'-- This allows full use of each of these db properties - not secure.
ChangeProperty "AllowBypassKey", dbBoolean, True
ChangeProperty "AllowSpecialKeys", dbBoolean, True
ChangeProperty "AllowBreakIntoCode", dbBoolean, True
ChangeProperty "AllowBuiltInToolbars", dbBoolean, True
ChangeProperty "AllowToolbarChanges", dbBoolean, True
ChangeProperty "AllowFullMenus", dbBoolean, True
ChangeProperty "StartupShowDBWindow", dbBoolean, True
Exit Sub
EH:
Application.Echo True
Call GlobalErrors("", Err.Number, Err.Description, "Security",
"StartupPropertiesOn", , , "Line " & Erl)
End Sub
'---------------------------------------------------------------
Public Sub StartupPropertiesOff()
On Error GoTo EH
'-- This is User Mode
ChangePropertyDemo "AllowBypassKey", dbBoolean, False '-- No shift key
bypass
ChangePropertyDemo "AllowSpecialKeys", dbBoolean, False '-- No F11 key,
can't break into code
ChangePropertyDemo "AllowBreakIntoCode", dbBoolean, False
ChangePropertyDemo "AllowBuiltInToolbars", dbBoolean, False
ChangePropertyDemo "AllowToolbarChanges", dbBoolean, False
ChangePropertyDemo "AllowFullMenus", dbBoolean, False
ChangePropertyDemo "StartupShowDBWindow", dbBoolean, False
Exit Sub
EH:
Application.Echo True
Call GlobalErrors("", Err.Number, Err.Description, "Security",
"StartupPropertiesOff", , , "Line " & Erl)
End Sub
'---------------------------------------------------------------
Public Function ChangeProperty(stgPropName As String, varPropType As
Variant, varPropValue As Variant) As Boolean
On Error GoTo EH
Dim prp As DAO.Property
Const conPropNotFoundError As Integer = 3270
CurrentDb.Properties(stgPropName) = varPropValue
ChangeProperty = True
Exit Function
EH:
Application.Echo True
GlngErrNumber = Err.Number
GstgErrDescription = Err.Description
Select Case GlngErrNumber
Case 3265
FormattedMsgBox GstgNotReady, "You are not an Administrator for
this database.@ @", vbExclamation + vbOKOnly, "Not Authorized"
Case 3270
'-- Add property if not already created
Set prp = CurrentDb.CreateProperty(stgPropName, varPropType,
varPropValue)
CurrentDb.Properties.Append prp
Resume Next
Case Else
' Unknown error.
ChangeProperty = False
Call GlobalErrors("", GlngErrNumber, GstgErrDescription,
"Security", "ChangeProperty", , , "Line " & Erl)
End Select
End Function
'---------------------------------------------------------------
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller
Sent: Monday, May 12, 2008 6:44 PM
To: Access Developers discussion and problem solving
Subject: [AccessD] Disable F11
While my current app is in testing, F11 (open the database window) is
enabled, but when we get to lock-down I want to disable this. I'm not sure
how I do this. To further complicate things, I have four user levels, the
topmost of which is Admin, and these people should be able to do this.
Advice and guidance is invited.
TIA,
Arthur
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com