Можете да използвате свойството 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