Evento Form.Dirty (Access)
O evento Dirty ocorre quando o conteúdo do controle especificado é alterado.
Sintaxe
expressão. Sujo (Cancelar)
expressão Uma variável que representa um objeto Form.
Parâmetros
Nome | Obrigatório/Opcional | Tipo de dados | Descrição |
---|---|---|---|
Cancel | Obrigatório | Integer | A configuração determina se o evento Dirty ocorrerá. Definir o argumento Cancelar como True (1) cancela o evento Dirty . |
Comentários
Inserir um caractere diretamente na caixa de combinação ou caixa de texto ou a alteração de propriedade de texto do controle usando uma macro ou o Visual Basic a definição são exemplos desse evento.
Modificar um registro de um formulário utilizando uma macro ou o Visual Basic não dispara esse evento. Você deve digitar os dados diretamente no registro ou definir a propriedade Text do controle.
Esse evento aplica-se apenas a um formulário acoplado e não a um relatório ou formulário não acoplado.
Para executar um macro ou procedimento de evento quando esse evento ocorrer, defina a propriedade OnDirty com o nome da macro ou como [procedimento do evento].
Executando uma macro ou procedimento de evento quando ocorre um evento Dirty , você pode determinar se o registro pode ser alterado. Você também poderá exibir uma mensagem e solicitar permissão de edição.
Alterar os dados em um registro usando o teclado faz com que eventos de teclado ocorram além de controlar eventos como o evento Dirty . Por exemplo, se você for para um novo registro e digitar um caractere ANSI em uma caixa de texto do registro, ocorrerão os seguintes eventos nesta ordem:
KeyDown → KeyPress → BeforeInsert → Dirty → KeyUp
Os eventos BeforeUpdate e AfterUpdate para um registro ocorrem depois que você insere os dados novos ou alterados no registro e passa para outro registro (ou escolha Salvar Registro no menu Registros ) e, portanto, após o evento Dirty para o registro.
Cancelar o evento Dirty fará com que as alterações no registro atual sejam revertidas. É equivalente a pressionar a chave Esc.
Exemplo
O exemplo a seguir habilita o botão btnUndo quando os dados são alterados. A sub-rotina UndoEdits( ) é chamada do evento Sujo dos controles da caixa de texto. Clicar no botão btnUndo habilitado restaura o valor original do controle usando a propriedade 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
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.