Você está offline; aguardando reconexão

ACC: Como detectar automaticamente se um formulário está sendo editado

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 122294
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.
Moderado: Requer básica de macro, codificação e interoperabilidade habilidades.
Sumário
Este artigo descreve duas técnicas que você pode usar para executar o código automaticamente quando alterações de modo de edição do formulário. Você pode usar essas técnicas quando você deseja ter diferentes controles disponíveis em um formulário quando um registro está sendo editado e quando um registro não está sendo editado.

Este artigo presume que você esteja familiarizado com Visual Basic for Applications e com a criação de aplicativos do Microsoft Access usando as ferramentas de programação fornecidas com o Microsoft Access. Para obter mais informações sobre o Visual Basic for Applications, consulte sua versão do manual "Criando aplicativos com o Microsoft Access".

Observação: o Visual Basic for Applications é chamado Access Basic no Microsoft Access versão 2.0. Para obter mais informações sobre o Access Basic, consulte o manual "Building Applications".

Observação: Este artigo explica uma técnica demonstrada nos arquivos de exemplo, FrmSampl.exe (para o Microsoft Access para Windows 95 versão 7.0) e FrmSmp97.exe (para o Microsoft Access 97). Para obter informações sobre como obter esses arquivos de exemplo, consulte os seguintes artigos na Base de dados de Conhecimento da Microsoft:
150895ACC95: Exemplo do Microsoft Access Forms disponível no Centro de download
175066ACC97: Microsoft Access 97 formulários de exemplo disponível no Centro de download
Mais Informações
Quando o Microsoft Access exibe um símbolo de lápis no seletor de registro, o registro está sendo editado mas ainda não foi salvo. Quando o Microsoft Access exibe um símbolo de triângulo no seletor de registro, o registro foi salvo e não está sendo editado. Observe que, se a propriedade do formulário RecordSelector é definida como não, esses símbolos não são exibidos.

Há dois métodos que você pode usar para executar o código automaticamente quando alterações de modo de edição do formulário:

  • Use evento de timer do formulário para verificar a propriedade Dirty do formulário periodicamente para verificar se o modo de edição foi alterada.
  • Use a propriedade Dirty em uma expressão no formulário para executar uma função quando o modo de edição é alterado.
Os exemplos a seguintes demonstram como usar essas técnicas para ativar ou desativar um botão Desfazer registro, dependendo do modo de edição do formulário automaticamente.

Método 1: Usar evento de timer do formulário

  1. Abra o exemplo banco de dados Northwind.mdb (ou NWIND.MDB na versão 2.0).
  2. Abra o formulário Funcionários no modo de design.
  3. Use o Assistente de botão de comando para criar um botão Desfazer registro no formulário.
  4. Altere propriedades do botão Desfazer registro para coincidir com o seguinte:
    nome: btnDesfazer ativado: não
  5. Defina propriedade do TimerInterval do formulário com:
    1000
  6. Defina do NoCronômetro propriedade formulário o procedimento de evento a seguir:
          Private Sub Form_Timer()          Static bFlag As Boolean          If Me.Dirty Then              If Not bFlag Then                  Me!btnUndo.Enabled = True                  bFlag = True              End If          Else              If bFlag Then                 Me!FirstName.SetFocus                 Me!btnUndo.Enabled = False                 bFlag = False              End If          End If      End Sub						
  7. Exiba o formulário no modo de formulário. Observe que no botão Desfazer registro está indisponível.
  8. Modificar qualquer campo no registro atual e, em seguida, pressione a tecla TAB. Observe que o botão Desfazer registro se tornará disponível.
  9. Pressione a tecla ESC duas vezes (ou clique em Desfazer no menu Editar) para desfazer suas alterações. Observe que no botão Desfazer registro se torna indisponível.

Método 2: Usando a propriedade Dirty em uma expressão

  1. Execute as etapas 1 a 4 no método 1.
  2. Adicionar uma nova caixa de texto com as seguintes propriedades para o formulário:
          Name: txtEditModeChange      ControlSource: =[Form].[Dirty] & EditModeChange([Form])      Visible: No						
  3. No menu Exibir, clique em código.
  4. Criar a função a seguir no módulo e, em seguida, fechar o módulo:
          Function EditModeChange (F As Form) As Variant         If F.Dirty Then            F!btnUndo.Enabled = True         Else            F!btnUndo.Enabled = False         End If      End Function						
  5. Defina propriedade do formulário o procedimento de evento a seguir:
          Sub Form_AfterUpdate ()         Me!txtEditModeChange.Requery      End Sub						
  6. Execute as etapas 7 a 9 no método 1 para testar esse método.
Referências
Para obter mais informações sobre a propriedade Dirty, procurar o índice da Ajuda a propriedade Dirty ou pergunte ao Assistente do Office do Microsoft Access 97.

Para obter mais informações sobre o evento Timer, pesquisar o índice da Ajuda Evento Timer ou pergunte ao Assistente do Office do Microsoft Access 97.

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 122294 - Última Revisão: 01/19/2007 04:54:23 - Revisão: 2.3

Microsoft Access 2.0 Standard Edition, Microsoft Access 95 Standard Edition, Microsoft Access 97 Standard Edition

  • kbmt kbhowto kbprogramming kbusage KB122294 KbMtpt
Comentários