Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Событие Dirty возникает при изменении содержимого указанного элемента управления.
Синтаксис
expression. Dirty (Cancel)
Выражение Переменная, представляющая объект TextBox .
Параметры
| Имя | Обязательный или необязательный | Тип данных | Описание |
|---|---|---|---|
| Отмена | Обязательный | Integer | Параметр определяет, возникает ли событие Dirty . Если для аргумента Cancel задано значение True (1), событие Dirty будет отменено. |
Замечания
Примеры этого события включают ввод символа непосредственно в текстовое поле или поле со списком или изменение параметра свойства Text элемента управления с помощью макроса или Visual Basic.
Изменение записи в форме с помощью макроса или Visual Basic не вызывает это событие. Необходимо ввести данные непосредственно в запись или задать свойство Text элемента управления .
Это событие применяется только к привязанным формам, а не к форме или отчету без ограничений.
Чтобы выполнить макрос или процедуру события при возникновении этого события, задайте для свойства OnDirty имя макроса или [Процедура события].
Выполнив макрос или процедуру события при возникновении события Dirty , можно определить, можно ли изменить запись. Вы также можете отобразить сообщение и запросить разрешение на изменение.
Изменение данных в записи с помощью клавиатуры приводит к возникновению событий клавиатуры в дополнение к событиям управления, таким как событие Dirty . Например, при переходе к новой записи и вводе символа ANSI в текстовом поле записи в этом порядке происходят следующие события:
KeyDown → KeyPress → BeforeInsert → Dirty → KeyUp
События BeforeUpdate и AfterUpdate для записи возникают после ввода новых или измененных данных в запись и перехода на другую запись (или выберите Сохранить запись в меню Записи ) и, следовательно, после события Dirty для записи.
Отмена события Dirty приведет к откату изменений текущей записи. Это эквивалентно нажатию клавиши ESC.
Пример
В следующем примере кнопка btnUndo включается при изменении данных. Подпрограмма UndoEdits( ) вызывается из события Dirty элементов управления текстовыми полями. Нажатие кнопки btnUndo включено восстанавливает исходное значение элемента управления с помощью свойства OldValue .
Private Sub Form_Dirty()
If Me.Dirty Then
Me!btnUndo.Enabled = True ' Enable button.
Else
Me!btnUndo.Enabled = False ' Disable button.
End If
End Sub
Sub btnUndo_Click()
Dim ctlC As Control
' For each control.
For Each ctlC in Me.Controls
If ctlC.ControlType = acTextBox Then
' Restore Old Value.
ctlC.Value = ctlC.OldValue
End If
Next ctlC
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.