Você está offline; aguardando reconexão
Entrar

Não há suporte para seu navegador

Você precisa atualizar seu navegador para usar o site.

Atualize para a versão mais recente do Internet Explorer

Desempenho lento em tabelas vinculadas no Access 2002, no Office Access 2003 e no Office 2007

O suporte para o Office 2003 terminou

A Microsoft terminou o suporte para o Office 2003 em 8 de abril de 2014. Esta alteração afetou as suas atualizações de software e opções de segurança. Saiba o que isto significa para você e como permanecer protegido.

Para obter uma versão deste artigo para o Microsoft Access 2000, consulte 261000.
Novato: Requer conhecimentos de interface do usuário em computadores de usuário único.

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

Sintomas
Ao abrir uma tabela vinculada no Microsoft Access 2002, no Microsoft Office Access 2003 ou no Microsoft Office Access 2007 que pode exibir registros relacionados em uma subfolha de dados, o processo demora notavelmente mais tempo do que se você usar o mesmo banco de dados no Microsoft Access 97.
Causa
Esse comportamento ocorre se houver muitas tabelas vinculadas em um banco de dados contendo também muitas relações, e a tabela que você está abrindo tiver sua propriedade Nome da subfolha de dados definida como [Auto].
Resolução
Para solucionar esse problema, defina a propriedade Nome da subfolha de dados da tabela como [Nenhum]. É possível fazer isso manualmente ou usando um código.

Definindo a propriedade Nome da subfolha de dados manualmente

Para definir a propriedade Nome da subfolha de dados manualmente, execute as seguintes etapas.

Observação Essas etapas funcionam apenas no Access 2002.
  1. No banco de dados back-end, abra a tabela no modo Design.
  2. No menu Exibir, clique em Propriedades.
  3. Defina a propriedade Nome da subfolha de dados como [NENHUM].
  4. Salve e feche a tabela.

Definindo a propriedade Nome da subfolha de dados para todas as tabelas usando um código

É possível usar uma função do Visual Basic for Applications para definir automaticamente a propriedade Nome da subfolha de dados para todas as tabelas que não são do sistema em um banco de dados como [NENHUM]. Para fazer isto, execute as seguintes etapas:
  1. Abra o banco de dados back-end.
  2. Na janela Banco de Dados, clique em Módulos e em Novo.
  3. No menu Ferramentas, clique em Referências. Verifique se a caixa de seleção Microsoft DAO 3.6 Object Library está marcada e clique em OK.
  4. Digite ou cole o seguinte código no novo módulo.
    Sub TurnOffSubDataSheets()Dim MyDB As DAO.DatabaseDim MyProperty As DAO.PropertyDim propName As String, propVal As String, rplpropValue As StringDim propType As Integer, i As IntegerDim intCount As IntegerOn Error GoTo tagErrorSet MyDB = CurrentDbpropName = "SubDataSheetName"propType = 10propVal = "[None]"rplpropValue = "[Auto]"intCount = 0For i = 0 To MyDB.TableDefs.Count - 1    If (MyDB.TableDefs(i).Attributes And dbSystemObject) = 0 Then        If MyDB.TableDefs(i).Properties(propName).Value = rplpropValue Then             MyDB.TableDefs(i).Properties(propName).Value = propVal             intCount = intCount + 1        End If    End IftagFromErrorHandling:Next iMyDB.CloseIf intCount > 0 Then    MsgBox "The " & propName & " value for " & intCount & " non-system tables has been updated to " & propVal & "."End IfExit SubtagError:If Err.Number = 3270 Then    Set MyProperty = MyDB.TableDefs(i).CreateProperty(propName)    MyProperty.Type = propType    MyProperty.Value = propVal    MyDB.TableDefs(i).Properties.Append MyProperty    intCount = intCount + 1    Resume tagFromErrorHandlingElse    MsgBox Err.Description & vbCrLf & vbCrLf & " in TurnOffSubDataSheets routine."End IfEnd Sub
  5. Na janela Imediato, digite o seguinte texto e pressione ENTER para executar a função:
    TurnOffSubDataSheets						
    Observe que após um curto período de tempo, se todas as tabelas ainda não estiverem atualizadas, uma caixa de mensagem será exibida informando que a propriedade SubDataSheetName para as tabelas <NumberOfTablesUpdated> que não são do sistema foram atualizadas como [NENHUM].
Mais Informações
O Office Access 2007, o Access 2003, o Access 2002 e o Access 2000 permitem a exibição dos registros relacionados de uma tabela em uma subfolha de dados; essa funcionalidade não está disponível no no Access 97. Para gerenciar as relações entre as tabelas principal e relacionadas, o sistema exige uma sobrecarga adicional que pode aumentar o tempo de resposta, particularmente quando um banco de dados tem um grande número de tabelas vinculadas e um grande número de relações entre as tabelas.

A tabela principal em uma relação um-para-muitos (a tabela no lado "um" da equação) pode ter sua propriedade Nome da subfolha de dados definida como [Nenhum], nesse caso as subfolhas de dados não são exibidas. Ou sua propriedade Nome da subfolha de dados pode ser definida como o nome de uma tabela relacionada específica ou como [Auto]. Se a propriedade estiver definida como [Auto], você poderá selecionar a tabela relacionada cujos registros que você deseja ver ao clicar no indicador expandir de um registro na tabela principal. Ao definir a propriedade como [Auto], isso pode reduzir o desempenho notavelmente, particularmente em computadores antigos, quando o banco de dados usa um grande número de tabelas vinculadas. Esse comportamento não ocorre quando todas as tabelas estão presentes no mesmo banco de dados.

Como o problema é o desempenho lento, fatores como velocidade do processador e recursos de sistema disponíveis podem fazer com que um banco de dados com desempenho adequado em um computador tenha o desempenho mais lento em outro computador.

A Microsoft fornece exemplos de programação apenas por questões ilustrativas, sem garantias expressas ou implícitas. Isto inclui, mas não está limitado a garantias implícitas de comercialização ou adequação a um determinado propósito. Este artigo pressupõe que você conhece a linguagem de programação demonstrada e também as ferramentas usadas para criar e depurar procedimentos. Os engenheiros de suporte da Microsoft podem ajudá-lo, fornecendo a explicação da funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para fornecer funcionalidades adicionais ou construir procedimentos específicos para atender às suas necessidades específicas.
prb long time ACC2007
Propriedades

ID do Artigo: 275085 - Última Revisão: 01/25/2008 22:23:43 - Revisão: 10.1

  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
  • kbbug kbperformance kbnofix KB275085
Comentários
ow.location.protocol) + "//c.microsoft.com/ms.js'><\/script>"); &t=">