Можете да използвате свойството AllowBypassKey, за да укажете дали клавишът SHIFT е разрешен за заобикаляне на свойствата при стартиране и макроса AutoExec. Можете например да зададете свойството AllowBypassKey със стойност False, за да попречите на потребител да заобиколи свойствата при стартиране и макроса AutoExec.
Настройка
Свойството AllowBypassKey използва следните настройки:
Настройка |
Описание |
True |
Разрешава клавишът SHIFT да позволява на потребителя да отменя свойствата при стартиране и макроса AutoExec. |
False |
Забранява клавишът SHIFT да позволява на потребителя да отменя свойствата при стартиране и макроса AutoExec. |
Можете да зададете това свойство с помощта на макрос или код на Visual Basic for Applications (VBA).
За да зададете свойството AllowBypassKey с помощта на макрос или код на Visual Basic for Applications (VBA), трябва да създадете свойството по следния начин:
-
В база данни на Microsoft Access (.mdb или .accdb) можете да добавите свойството, като използвате метода CreateProperty, и след това го добавите към колекцията Properties на обекта Database.
-
В Проект на Microsoft Access (.adp) можете да добавите свойството към колекцията AccessObjectProperties на обекта CurrentProject с помощта на метода Add.
Забележки
Трябва да се уверите, че свойството AllowBypassKey е зададено със стойност True, когато коригирате грешки в приложение.
Настройката на свойството AllowBypassKey се прилага при следващото отваряне на приложната база данни.
Пример
Примерът по-долу показва процедура, озаглавена SetBypassProperty, която подава името на свойството за задаване, неговия тип данни и настройката. Процедурата за общо предназначение ChangeProperty се опитва да зададете свойството AllowBypassKey и ако свойството не бъде намерено, използва метода CreateProperty, за да добави свойството в колекцията Properties. Това е необходимо, защото свойството AllowBypassKey не се показва в колекцията Properties, докато не бъде добавено.
Sub SetBypassProperty()
Const DB_Boolean As Long = 1
ChangeProperty "AllowBypassKey", DB_Boolean, False
End Sub
Function ChangeProperty(strPropName As String, _
varPropType As Variant, _
varPropValue As Variant) As Integer
Dim dbs As Object, prp As Variant
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 ' Property not found.
Set prp = dbs.CreateProperty(strPropName, _
varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
' Unknown error.
ChangeProperty = False
Resume Change_Bye
End If
End Function