Bloqueio exclusivo é necessário para salvar alterações de design em objetos do Access no Access 2002

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: 283228
Avançadas: Requer especialista de codificação, interoperabilidade e habilidades de multiusuário.

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

Para uma versão deste artigo do Microsoft Access 2000, consulte 200290.
Sintomas
Ao tentar personalizar barras de ferramentas ou abra um formulário do Microsoft Access, relatório, macro ou módulo no modo de design, você recebe a seguinte mensagem:
Você não tem acesso exclusivo ao banco de dados neste momento. Se você continuar a fazer alterações, você não poderá salvá-los mais tarde.
Ao tentar salvar alterações de design que você fez um formulário do Access, relatório, macro ou módulo, você recebe a seguinte mensagem:
Você não tem acesso exclusivo ao banco de dados neste momento. As alterações de design não serão salvas.
Ao tentar salvar uma nova página de acesso a dados, você recebe a seguinte mensagem:
Um vínculo para esta página de acesso a dados não pôde ser criado porque o banco de dados não pode ser bloqueado exclusivamente.
Causa
Você está tentando abrir um formulário, relatório, macro, módulo ou barra de comandos no modo de design, ou você está tentando salvar alterações de design em um desses tipos de objeto ou um novo link de página, enquanto outros usuários têm o mesmo banco de dados aberto. Para salvar as alterações de design esses tipos de objetos, Access deve poder obter um bloqueio exclusivo no banco de dados.
Resolução
Em situações onde vários desenvolvedores estão criando um aplicativo do Access ao mesmo tempo, você deve implementar o controle do código-fonte usando o Microsoft Visual SourceSafe Add-in para o Microsoft Access. Ou você deve distribuir cópias de trabalho locais do banco de dados para cada desenvolvedor. Segue uma discussão sobre cada uma dessas opções.

Implementar o controle do código fonte

O Microsoft Access Visual SourceSafe suplemento permite que você colocar o aplicativo Access sob controle do código-fonte enquanto ele está em desenvolvimento. Se você colocar o aplicativo sob controle do código-fonte, isso permite que você para controlar e armazenar as alterações feitas ao seu aplicativo com o tempo. Usando o Microsoft Visual SourceSafe, você pode rever o histórico de um objeto e, em seguida, reverta para versões anteriores de um objeto. Você pode fazer check-out objetos no aplicativo Microsoft Access, modificá-los ou criar novos objetos na sua cópia local e verificá-los volta para o banco de dados principal em controle de código-fonte. O Microsoft Access Visual SourceSafe suplemento está disponível no Microsoft Office XP Developer. Para usar o Microsoft Access Visual SourceSafe suplemento, você deve também instalar Microsoft Visual SourceSafe, que também está disponível com o Microsoft Office XP Developer, separadamente.

Usando bancos de dados de trabalho individual

Outra opção que você pode implementar é manter uma cópia mestra do aplicativo de banco de dados em um local centralizado e, em seguida, usar cópias de trabalho individuais do banco de dados no computador de cada desenvolvedor. Cada desenvolvedor deve desenvolver sua própria parte do aplicativo na cópia de trabalho local do banco de dados. Quando o desenvolvedor deseja fazer uma alteração em um objeto do aplicativo de banco de dados, ele ou ela deve importar o objeto do banco de dados mestre no banco de local trabalho dados. Em seguida, o desenvolvedor teria faça as alterações necessárias no objeto no banco de dados trabalho local e salvar o objeto. Quando o desenvolvedor está pronto para confirmar as alterações para o banco de dados mestre, ele ou ela deve exportar o objeto para o banco de dados mestre, substituindo o objeto original.

Uma desvantagem de usar essa abordagem é que não há nenhuma maneira para determinar se vários desenvolvedores estão trabalhando simultaneamente no mesmo objeto localmente. Quando o desenvolvedor exporta o objeto para o banco de dados mestre, o desenvolvedor pode inadvertidamente substituir alterações que outro desenvolvedor confirmado no banco de dados mestre.
Mais Informações
Para salvar alterações de design em objetos de acesso específicas, tais como formulários, relatórios, novos vínculos de páginas, macros, módulos e commandbars, Access 2002 deve ser capaz de bloquear o banco de dados exclusivamente durante a operação de Salvar . Tabelas, consultas e relações não encaixarem essa restrição porque eles são objetos específicos do Microsoft Jet. A Microsoft usa esse requisito com o Access 2002 para vários motivos:
  • Ele fornece consistência com outros ambiente do Visual Basic aplicativos cliente.
  • Ele interrompe dependência no mecanismo de banco de dados Jet.
  • Ele melhora a estabilidade de acesso específicas objetos.

Fornece consistência com outros aplicativos de cliente de ambiente do Visual Basic

Porque o Access 2002 hospeda o ambiente do Visual Basic do Microsoft, o salvamento modelo usado pelo Microsoft Access deve ser consistente com outros aplicativos que hospedam o ambiente do Visual Basic. O ambiente do Visual Basic Microsoft permite que somente exclusivo edição e gravação de projetos do Visual Basic que não estão sob controle do código-fonte. Isso é verdadeiro de Microsoft Visual Basic 6.0 e também todos os aplicativos do Microsoft Office que hospedam o ambiente do Visual Basic.

Paradas de dependência no mecanismo de banco de dados do Jet

Acesso oferece a capacidade de criar projeto Microsoft Access arquivos (.adp) e também bancos de dados do Microsoft Access (.mdb). Usando o Access um projeto, os desenvolvedores podem usar Microsoft SQL Server como outro mecanismo de banco de dados Microsoft Jet. No passado, todos os objetos de específicos Access (formulários, relatórios, macros, módulos e commandbars) foram dependentes do mecanismo de banco de dados Jet para armazenamento. Esses objetos foram armazenados tabelas do sistema específicas do Access no banco de dados Microsoft Jet. Como é possível para acesso ao usar o Microsoft SQL Server como uma alternativa para Microsoft Jet, Microsoft precisaram desenvolver um mecanismo de armazenamento para objetos específicos do Access que não depende do mecanismo de banco de dados Jet.

Melhora a estabilidade de objetos específicos do Access

O modelo de armazenamento projeto melhora a estabilidade de objetos específicos do Access e projeto Visual Basic. Visual Basic for Applications nunca tiver permitido edição multiusuário de projetos do Visual Basic sem controle de código-fonte. Microsoft Access 95 e Microsoft Access 97 podem contornar essa restrição ocultando projeto alterações em um ambiente multiusuário a partir do Visual Basic for Applications e, em seguida, mesclando-los o projeto mais tarde. No entanto, isso tinha o potencial de afetar a estabilidade do projeto Visual Basic. Portanto, o Microsoft Access requer um bloqueio exclusivo ao criar objetos específicos do Access para garantir que o projeto tem apenas um editor.

Edição de objetos do Microsoft Access em um ambiente multiusuário

Porque os usuários podem abrir um banco de dados para exclusivo ou compartilhada use, o salvamento comportamento apresentado pelo Access depende de como o usuário abrir o banco de dados e se os vários usuários estão acessando no momento ele.

Se um desenvolvedor abre o banco de dados para uso exclusivo, o desenvolvedor pode salvar o design de qualquer objeto de acesso específicas, desde que o desenvolvedor pode abrir o banco de dados para acesso de leitura/gravação e tem as permissões corretas para modificar o design do objeto.

Se um usuário abre o banco de dados para uso compartilhado, o usuário pode salvar o design de qualquer objeto de acesso específicas, desde que o usuário pode abrir o banco de dados para acesso de leitura/gravação, tem as permissões corretas para modificar o design do objeto, e o Access pode obter um bloqueio exclusivo no banco de dados.

Promoção de bloqueio

Para certificar-se o uso do banco de dados é exclusivo, o Access utiliza o recurso de controle de conexão do mecanismo de banco de dados Jet para promover bloqueio compartilhado do usuário para exclusivo. Acesso tenta promover um bloqueio compartilhado para um bloqueio exclusivo assim que o usuário abre um formulário, relatório, macro ou barra de comandos no criar modo de exibição. Acesso tenta promoção de bloqueio no momento para impedir que o cenário onde um usuário tiver feito várias alterações de design somente para localizar mais tarde que o usuário não pode salvá-los porque o Access não é possível obter um bloqueio exclusivo. Experimentando promoção de bloqueio, assim que o usuário abre um objeto no modo Design, o Access pode avisar o usuário se ele não é possível obter um bloqueio exclusivo antes do usuário faz alterações de design. Acesso não tentará promoção de bloqueio quando abrir um módulo no design exibir; no entanto, ele tentará promoção de bloqueio, assim que o usuário edita qualquer módulo no banco de dados.

Acesso mantém o bloqueio exclusivo até que o usuário salva ou descarta todos os objetos com problemas e outros objetos não estão abertos no modo de exibição Design. Depois disso, o Access rebaixa o bloqueio ao compartilhadas se o banco de dados foi aberto originalmente para uso compartilhado.

Se o Access não é possível promover o bloqueio exclusivo quando o usuário abre um objeto no modo de design, o Access alerta o usuário com a mensagem:
Você não tem acesso exclusivo ao banco de dados neste momento. Se você continuar a fazer alterações, você não poderá salvá-los mais tarde.
Após essa mensagem de aviso, Access será aberto o objeto no modo de design e permitir que o usuário fazer alterações de design. Se o usuário tentar salvar o objeto, o Access tenta promover o bloqueio compartilhado para exclusivo. Se promoção de bloqueio tiver êxito, o Access salva o objeto e mantém o bloqueio exclusivo até que o usuário salva ou descarta todos os outros objetos sujos e nenhum objeto permanece aberto no modo de design. Se a promoção de bloqueio falhar, o usuário recebe a seguinte mensagem:
Você não tem acesso exclusivo ao banco de dados neste momento. As alterações de design não serão salvas.
Se o usuário tentar fechar o objeto sujo e salvar alterações, o Access, em seguida, solicita ao usuário com a opção de fechar o objeto e descartar as alterações de design feitas nela, ou com a opção de deixá-la aberta e que não foram salvas.

Passos para reproduzir o problema

  1. Inicie duas instâncias do Microsoft Access no mesmo computador.
  2. Abra o banco de dados de exemplo Northwind.mdb nos dois casos.
  3. Na primeira instância do Microsoft Access, abra o formulário Customers no modo de Design .

    Observe que você recebe a mensagem:
    Você não tem acesso exclusivo ao banco de dados neste momento. Se você continuar a fazer alterações, você não poderá salvá-los mais tarde.
  4. Clique em OK para limpar a mensagem.

    Observe que o formulário abre no modo de Design .
  5. Adicione um controle de caixa de texto ao formulário.
  6. No menu arquivo , clique em Salvar .

    Observe que você recebe a seguinte mensagem:
    Você não tem acesso exclusivo ao banco de dados neste momento. As alterações de design não serão salvas.
  7. Clique em OK para limpar a mensagem.
  8. Feche a segunda instância do Access no seu computador.
  9. Na primeira instância do Access, tente salvar o formulário novamente.

    Observe que o formulário é salvo com êxito.
Referências
Para obter informações adicionais sobre o recurso de controle de conexão do Jet o mecanismo de banco de dados, clique no seguinte número de artigo para ler o artigo na Base de dados de Conhecimento da Microsoft:
287655COMO: Utilizar controle de conexão para impedir que usuários de efetuar logon em tempo de execução no Access 2002
DAP Salvar modelo savemodel prb OfficeErrorMessages 10016

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 283228 - Última Revisão: 01/26/2005 22:06:53 - Revisão: 4.1

Microsoft Access 2002 Standard Edition

  • kbmt kbdap kberrmsg kbfaq kbprb KB283228 KbMtpt
Comentários