Como solucionar problemas de erros que podem ocorrer quando você atualiza dados em consultas e formulários do Access

Número de KB original: 328828

Observação

Requer habilidades básicas de macro, codificação e interoperabilidade. Este artigo se aplica a um banco de dados do Microsoft Access (.mdb e .accdb) e a um projeto do Microsoft Access (.adp).

Este artigo descreve erros que podem ocorrer no Microsoft Access quando você atualiza dados em consultas e em formulários. Este artigo também descreve as causas dos erros e como solucionar esses erros.

Ao tentar atualizar dados em uma consulta ou em um formulário, você pode receber uma das seguintes mensagens de erro:

A operação deve usar uma consulta atualizável.

-ou-

Este Conjunto de Registros não é atualizável.

Solução de problemas de informações sobre problemas que podem ocorrer quando você atualiza dados em uma consulta

  • Quando a consulta é baseada em três ou mais tabelas e há uma relação de muitos para um para muitos, você não pode atualizar os dados diretamente na consulta. Você pode atualizar os dados em um formulário ou em uma página de acesso a dados. Você pode fazer isso com base na consulta quando a RecordsetType propriedade do formulário é definida como Dynaset(Inconsistente Atualizações).

  • Quando a consulta é uma consulta cruzada, você não pode atualizar os dados na consulta.

  • Quando a consulta é uma consulta de passagem do Microsoft SQL, você não pode atualizar os dados na consulta.

  • Quando a consulta está calculando uma soma, uma média, uma contagem ou outro tipo de total sobre os valores em um campo, você não pode atualizar dados na consulta. Além disso, você não pode atualizar uma consulta que faça referência a um campo na linha Atualizar para de um crosstab, uma consulta, uma consulta selecionada ou uma subconsulta que contenha totais ou funções agregadas. Para contornar esse problema, use a função Agregação de Domínio na linha Atualizar para de uma consulta de atualização. Você pode referenciar campos de uma consulta cruzada, uma consulta selecionada ou uma subconsulta que contenha totais ou funções de agregação.

  • Quando a consulta é uma consulta da União, você não pode atualizar dados na consulta.

  • Quando a propriedade Valores Exclusivos da consulta é definida como Sim, você não pode atualizar dados na consulta. Para contornar esse problema, defina a propriedade Valores Exclusivos da consulta como No.

  • Quando a consulta inclui uma tabela ODBC vinculada sem nenhum índice exclusivo ou uma tabela Paradox sem uma chave primária, você não pode atualizar dados na consulta. Para contornar esse problema, adicione uma chave primária ou um índice exclusivo à tabela vinculada.

  • Quando você não tem permissões de Atualização de Dados para a consulta ou a tabela subjacente, não é possível atualizar dados. Para resolve esse problema, atribua permissões para atualizar os dados.

  • Quando a consulta inclui mais de uma tabela ou uma consulta, e as tabelas ou as consultas não são unidas por uma linha de junção no modo Design , você não pode atualizar dados na consulta. Para resolve esse problema, você deve ingressar nas tabelas corretamente para poder atualizá-las.

  • Quando o campo que você deseja atualizar é um campo calculado, você não pode atualizar dados na consulta.

  • Quando o campo que você tenta atualizar é somente leitura, o banco de dados é aberto apenas como leitura ou o banco de dados está localizado em uma unidade somente leitura, você não pode atualizar dados na consulta. Para evitar esse problema, não abra o banco de dados como somente leitura. Se o banco de dados estiver localizado em uma unidade somente leitura, remova o atributo somente leitura da unidade ou mova o banco de dados para uma unidade que não é somente leitura.

  • Quando o campo no registro que você tenta atualizar é excluído ou bloqueado por outro usuário, você não pode atualizar dados na consulta. Um registro bloqueado pode ser atualizado assim que o registro for desbloqueado.

  • Quando a consulta é baseada em tabelas com uma relação de um para muitos, os tipos de campos que talvez você não possa modificar são os seguintes:

    • Campo de junção do lado "um".
    • O campo de junção lateral "muitos" não aparece na planilha de dados.
    • Junte o campo do lado "muitos" depois de atualizar dados no lado "um".
    • Existe um campo em branco da tabela no lado "um" de uma relação de um para muitos com uma junção externa.
    • A chave exclusiva inteira da tabela ODBC não é a saída.

    Você pode resolve qualquer um desses problemas se tomar a ação correta da seguinte lista:

    • Habilite atualizações em cascata entre as duas tabelas.
    • Adicione o campo de junção do lado "muitos" à sua consulta para que você possa adicionar novos registros.
    • Salve o registro. Você pode fazer alterações no campo de junção lateral "muitos".
    • Insira valores em campos da tabela no lado "muitos". Você só pode fazer isso quando o campo ingressado do lado "um" contém um valor para esse registro.
    • Selecione todos os campos principais das tabelas ODBC para permitir inserções nelas.

Solução de problemas de informações sobre problemas que podem ocorrer quando você atualiza dados em um formulário

  • Não é possível atualizar dados em um formulário se o formulário for baseado em um procedimento armazenado com mais de uma tabela.

  • Não é possível atualizar dados em um formulário se o formulário for baseado em um conjunto de registros ADO (ActiveX Data Objects). Os formulários de acesso permitem editar dados de um conjunto de registros do ADO se o conjunto de registros do ADO for criado usando uma combinação do MSDataShape e do SQL Server provedores OLEDB.