ACC2000: Abrindo e fechando um formulário centenas de vezes visivelmente afeta os recursos do sistema

Traduções deste artigo Traduções deste artigo
ID do artigo: 248910 - Exibir os produtos aos quais esse artigo se aplica.
Moderado: Requer básica de macro, codificação e interoperabilidade habilidades.

Este artigo se aplica a um banco de dados do Microsoft Access (.mdb) e para um projeto Microsoft Access (.adp).

Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Em um banco de dados do Microsoft Access ou projeto em execução em Microsoft Windows 95 ou Microsoft Windows 98 um formulário é aberto e fechado centenas de vezes durante a mesma sessão, o sistema fica lento para responder e você pode ver as seguintes mensagens de erro:
Não há memória suficiente para atualizar a exibição. Feche os programas desnecessários e tente novamente.
- e -
Microsoft Access não pôde criar uma janela. O sistema está sem recursos ou memória. Feche os programas desnecessários e tente novamente.

Para obter mais informações sobre como liberar memória, procure no índice da Ajuda do Microsoft Windows para ' memória, Solucionando problemas '.

Causa

Cada vez que um formulário do Access é aberto e fechado no Windows 95 ou Windows 98, uma pequena quantidade de recursos de sistema GDI usados para fontes é executada e não liberada. Isso vai despercebido na maioria das situações; no entanto, se você tiver um banco de dados que permanece aberto por longos períodos de tempo, como em 24 x 7 ambiente e um formulário no banco de dados é repetidamente aberto e fechado talvez centenas de vezes, você pode, eventualmente, consulte problemas de desempenho ou erros de falta de memória. O número de vezes que você pode abrir um formulário antes de ver esse comportamento varia porque ele depende da complexidade de formulário e também o que outros programas podem estar em execução no Windows.

Observação : O número de vezes que você pode abrir e fechar um formulário antes de ver esses sintomas é menor para algumas versões internacionais do Access 2000 que são mais fonte intensivo, como chinês; portanto, você poderá ver esse problema com mais freqüência nessas versões.

Resolução

Para resolver esse problema, obtenha o Microsoft Office 2000 Service Release 1/1a (SR-1/SR-1a).

Para obter SR-1/SR-1a, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
245025OFF2000: Como obter e instalar o Microsoft Office 2000 Service Release 1/1a (SR-1/SR-1a)
Para contornar temporariamente esse problema, libere recursos do sistema. Para fazer isso, feche todas as instâncias do Access e, em seguida, reabra o banco de dados.

Observação : esse problema não ocorre no Windows NT ou Windows 2000.

Se você estiver automatizando a abertura e fechamento de um formulário repetidamente com o método SendKeys , você deve usar os métodos DoCmd.OpenForm e DoCmd.CloseForm . Esses métodos não causam esse comportamento.

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no começo deste artigo.
Esse problema foi corrigido no Microsoft Office 2000 SR-1/SR-1a.

Mais Informações

cuidado : se você seguir as etapas neste exemplo, você modificar o banco de dados de exemplo Northwind.mdb. Convém fazer o backup do arquivo Northwind.mdb e seguir essas etapas numa cópia do banco de dados.

Etapas para reproduzir o problema

  1. Em um computador executando o Windows 95 ou Windows 98, abra o banco de dados de exemplo Northwind.mdb.
  2. No menu Ferramentas , aponte para macro e, em seguida, clique em Editor do Visual Basic .
  3. No Editor do Visual Basic, digite ou cole o código a seguir:
    Function memFormTest(stTestForm As String, intIter As Integer)
    
        Dim i As Integer
        
        DoCmd.SelectObject acForm, stTestForm
        
        For i = 1 To intIter
            Debug.Print "Opening form " & stForm & " for the " & i & " time"
            SendKeys "{F11}", False: DoEvents
            SendKeys "%o", False: DoEvents
            SendKeys "^{F4}", False: DoEvents
        Next
        
    End Function
    					
  4. No menu arquivo , clique em Salvar Northwind .
  5. Deixe aberto o Editor do Visual Basic e, em seguida, retorne ao Access. Abra o formulário Categorias.
  6. Com o formulário Categorias, como o formulário ativo, pressione ALT+F11 para retornar para o Editor do Visual Basic.
  7. Digite a seguinte linha na janela Verificação imediata e pressione ENTER:
    ?memFormTest("Categories","2000")
    						
    consulte o Access agora abrindo e fechando o formulário Categorias.

    importante : manter inalterado o computador até que você veja um erro. Não toquem o teclado ou mouse.
  8. Depois que você vê uma das mensagens de erro observadas na seção "Sintomas", clique em OK algumas vezes ver cada um dos dois erros listados na seção "Sintomas".
  9. Após exibir os erros, pressione CTRL+BREAK até que o procedimento interrompe a execução.
  10. No Editor do Visual Basic, role para baixo até a parte inferior da janela imediata. Lá você ver o número de vezes necessário para que a perda de recursos do sistema se tornem graves.

    Observação : esse número pode variar de sistema.

Propriedades

ID do artigo: 248910 - Última revisão: segunda-feira, 25 de novembro de 2002 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft Access 2000 Standard Edition
Palavras-chave: 
kbmt kbbug kberrmsg kbpending KB248910 KbMtpt
Tradução automática
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: 248910

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com