Hi Frank
It sounds like, at some stage, someone has run some code to disable the
"bypass key" (shift key). This is done by creating a database property
named "AllowBypassKey" and setting it to False.
To undo it, you need to set that property to True, but as you can't get into
the database to edit code, it has to be done from the outside.
Here is a good general-purpose function for setting properties on objects:
=========== start code ===============
Public Function SetProperty(obj As Database, _
PropName As String, PropVal As Variant, _
Optional PropType As DataTypeEnum = dbText, _
Optional AdminOnly As Boolean) As Long
Dim prop As DAO.Property
On Error GoTo ProcErr
Set prop = obj.Properties(PropName)
If prop.Type = PropType And Not AdminOnly Then
prop.Value = PropVal
Exit Function
Else
obj.Properties.Delete PropName
End If
CreateTheProperty:
Set prop = CurrentDb.CreateProperty(PropName, PropType, _
PropVal, AdminOnly)
obj.Properties.Append prop
ProcEnd:
Set prop = Nothing
Exit Function
ProcErr:
With Err
If .Number = 3270 Then Resume CreateTheProperty
SetProperty = .Number
.Raise .Number, .Source, "Error setting property " & PropName _
& vbCrLf & .Description, .HelpFile, .HelpContext
End With
Resume ProcEnd
End Function
============== end code ================
You will need to create a new database and open a new module into which you
paste this function.
Then add another procedure to open your database and set the property:
============== start code ============
Public Sub EnableBypassKey()
Dim db as DAO.Database
Set db = DBEngine.OpenDatabase("<insert here the path to your database>")
SetProperty db, "AllowBypassKey", True, dbBoolean, True
db.Close
End Sub
============= end code ===============
Now, just position the cursor anywhere in this procedure and press the F5
key to run it. Now you should be able to use the shift key.