Como utilizar o SetOption para desativar mensagens de aviso numa Aplicação do Access

Moderado: requer competências básicas de macro, codificação e interoperabilidade.

Este artigo aplica-se apenas a uma base de dados do Microsoft Access (.mdb ou .accdb).

Resumo

Este artigo mostra-lhe como utilizar o método Application.SetOption para desativar mensagens de aviso numa aplicação do Access.

Mais informações

A Microsoft fornece exemplos de programação apenas a título informativo, sem qualquer garantia expressa ou implícita, incluindo, sem limitações, as garantias implícitas de comercialização e/ou adequação a um fim específico. Este artigo pressupõe que o utilizador está familiarizado com a linguagem de programação demonstrada e as ferramentas utilizadas para criar e depurar procedimentos. Os engenheiros de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para fornecer funcionalidades adicionais ou criar procedimentos para satisfazer os seus requisitos específicos. Normalmente, as consultas de ação e outros processos que acrescentam, eliminam ou modificam dados apresentam ao utilizador um aviso de que os dados estão prestes a ser modificados. No entanto, numa aplicação em tempo de execução, é frequentemente desejável desativar os avisos, uma vez que as verificações e as precauções estão geralmente fora do controlo do utilizador.

Pode fazê-lo com o método SetWarnings do objeto DoCmd, mas pode preferir desativar os avisos para toda a aplicação. Para tal, pode utilizar o método SetOption do objeto Aplicação. No entanto, se o fizer, também deve voltar a ativar os avisos à medida que a aplicação é encerrada.

Para fazê-lo numa aplicação simples de um formulário, siga estes passos:

  1. Inicie o Access e, em seguida, crie uma base de dados em branco com o nome TestRun.

  2. Importe a tabela Clientes da base de dados de exemplo Northwind.mdb.

  3. Crie um novo formulário na vista Estrutura e, em seguida, adicione uma caixa de combinação não vinculada à secção de detalhes.

  4. Defina as seguintes propriedades para a caixa de combinação:

    Name: cboCountry
    Row Source: SELECT DISTINCT Customers.Country FROM Customers ORDER BY Customers.Country; 
    
  5. Adicione um botão de comando à secção de detalhes do formulário e dê-lhe o nome cmdDelete.

  6. Defina a propriedade OnClick do botão de comando para o seguinte procedimento de evento:

    DoCmd.OpenQuery "qryDeleteCustomers"

  7. Feche o visual basic Revisor.

  8. Guarde o formulário como DeleteCustomers e, em seguida, feche-o.

  9. Crie uma nova consulta na vista Estrutura e, em seguida, adicione a tabela Clientes.

  10. No Access 2002 ou no Access 2003, clique em Eliminar Consulta no menu Consulta .

    No Access 2007, clique em Eliminar no grupo Tipo de Consulta no separador Estrutura .

  11. Arraste o asterisco (*) da lista de campos para a primeira coluna da grelha de estrutura da consulta e, em seguida, arraste o campo País para a segunda coluna.

  12. Na linha Critérios da coluna País, escreva o seguinte:

    Formulários! [DeleteCustomers]! [cboCountry]

  13. Guarde a consulta como qryDeleteCustomers e, em seguida, feche-a.

  14. Abra o formulário DeleteCustomers na vista Formulário.

  15. Selecione um país na caixa de combinação, clique no botão de comando e anote o aviso apresentado. Clique em Não na caixa de diálogo de aviso.

  16. Abra o formulário na vista Estrutura e, em seguida, na barra de ferramentas, clique no botão Código.

  17. Na janela Código, escreva ou cole os seguintes procedimentos:

Private Sub Form_Load()

Application.SetOption "Confirm Action Queries", 0
   Application.SetOption "Confirm Document Deletions", 0
   Application.SetOption "Confirm Record Changes", 0

End Sub

Private Sub Form_Unload(Cancel As Integer)

Application.SetOption "Confirm Action Queries", 1
    Application.SetOption "Confirm Document Deletions", 1
    Application.SetOption "Confirm Record Changes", 1

End Sub

  1. Feche o visual basic Revisor e, em seguida, guarde e feche o formulário.

  2. Abra o formulário DeleteCustomers, selecione um país/região e, em seguida, clique no botão de comando.

    Tenha em atenção que não é apresentada nenhuma caixa de diálogo de aviso.

Neste exemplo, as opções de confirmação da aplicação são desativadas quando o formulário DeleteCustomers é carregado e reativado quando é descarregado. Numa aplicação mais elaborada, poderá realizar as mesmas ações num formulário de arranque ou num painel de navegação.