Свойство «Разрешить изменение (AllowEdits)»

Применяется к
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Применение

Объект Form

Свойство AllowEdits можно использовать, чтобы указать, может ли пользователь изменять сохраненные записи при использовании формы. Свойство имеет значение типа Boolean, доступное для чтения или записи.

выражение.AllowEdits

Выражение Обязательно. Выражение, возвращающее один из объектов в списке Применяется к.

Значения

Свойство AllowEdits может принимать следующие значения:

Параметр Visual Basic Описание
Да True (Значение по умолчанию.) Пользователь может изменять сохраненные записи.
No False Пользователь не может изменять сохраненные записи.

      

Свойство AllowEdits можно задать с помощью страницы свойств формы, макроса или кода Visual Basic для приложений (VBA).

Замечания

С помощью свойства AllowEdits можно запретить изменение существующих данных, отображаемых в форме. Если вы хотите запретить изменение данных в отдельном элементе управления, следует использовать свойство Enabled (Доступ) или Locked (Блокировка).

Чтобы запретить изменение существующих записей (сделать форму доступной только для чтения), необходимо задать для свойств AllowAdditions (Разрешить добавление), AllowDeletions (Разрешить удаление) и AllowEdits (Разрешить изменение) значение No. Кроме того, можно сделать записи доступными только для чтения, если задать для свойства RecordsetType (Тип набора записей) значение Snapshot (Статический набор).

Программное изменение значения поля приводит к тому, что текущая запись становится редактируемой независимо от параметра свойства AllowEdits . Если вы хотите запретить пользователю вносить изменения в запись (AllowEditsNo), которую необходимо изменить программным способом, сохраните запись после любых программных изменений; Значение свойства AllowEdits будет выполняться еще раз после сохранения несохраненных изменений в текущей записи.

Примечание

Если задан аргумент Режим данных действия OpenForm, Microsoft Office Access 2007 переопределит ряд параметров свойств формы. Если для аргумента "Режим данных" макрокоманды ОткрытьФорму задано значение Изменить, Access откроет форму со следующими значениями свойств:

  • AllowEdits (Разрешить изменение) — Yes
  • AllowDeletions (Разрешить удаление) — Yes
  • AllowAdditions (Разрешить добавление) — Yes
  • DataEntry (Ввод данных) — No

Чтобы не допустить замены существующих значений свойств макрокомандой ОткрытьФорму, необходимо оставить аргумент "Режим данных" пустым. При этом Access будет использовать значения свойств, заданные в форме.

Пример

В следующем примере рассматривается свойство ControlType (Источник данных) для всех элементов управления в форме. Для каждого элемента управления подписи и текстового поля процедура переключает свойство SpecialEffect (Оформление). Если для свойства SpecialEffect элемента управления меткой задано значение Shadowed , а свойству SpecialEffect элемента управления "Текстовое поле" присвоено значение Обычный , а свойства AllowAdditions, AllowDeletions и AllowEdits имеют значение True, intCanEdit переменная переключается, чтобы разрешить редактирование базовых данных.

Sub ToggleControl(frm As Form)
    Dim ctl As Control
    Dim intI As Integer, intCanEdit As Integer
    Const conTransparent = 0
    Const conWhite = 16777215
    For Each ctl in frm.Controls
        With ctl
            Select Case .ControlType
                Case acLabel
                    If .SpecialEffect = acEffectShadow Then
                        .SpecialEffect = acEffectNormal
                        .BorderStyle = conTransparent
                        intCanEdit = True
                    Else
                        .SpecialEffect = acEffectShadow
                        intCanEdit = False
                    End If
                Case acTextBox
                    If .SpecialEffect = acEffectNormal Then
                        .SpecialEffect = acEffectSunken
                        .BackColor = conWhite
                    Else
                        .SpecialEffect = acEffectNormal
                        .BackColor = frm.Detail.BackColor
                    End If
            End Select
        End With
    Next ctl
    If intCanEdit = IFalse Then
        With frm
            .AllowAdditions = False
            .AllowDeletions = False
            .AllowEdits = False
        End With
    Else
        With frm
            .AllowAdditions = True
            .AllowDeletions = True
            .AllowEdits = True
        End With
    End If
End Sub