locked
Erro Bizarro!!! RRS feed

  • Pergunta

  • Boa tarde, pessoal!

     

    Estava com um problema bem bizarro no Access, consegui resolver, mas não sei o que causou. Gostaria de colocá-lo em questão para descobrir o que aconteceu.

     

    Tenho uma tabela, sem nada especial, que contém um campo Texto chamado tabela com as seguintes propriedades:

     

    Tamanho: 50

    Requerido: Não

    Permitir comprimento zero: Sim

    Indexado: Sim (Duplicação autorizada)

    Compactação Unicode: Sim

    Modo IME: Sem Controle

    Modo de Frase IME: Nenhuma

     

    As seguintes consultas dão o erro:

    Não há registro atual. (Erro 3021)

    Este erro ocorre após a aplicação sem êxito de um dos métodos Find ou do método Seek, quando o Recordset base não contiver registros ou o registro tiver sido excluído. Mova até um outro registro ou selecione um e tente a operação novamente. Se o Recordset estiver vazio, você não poderá posicionar em um registro atual. Verifique as propriedades BOF e EOF.

     

     

    INSERT INTO Log (data, id_usuario, tipo, tabela, id_registro) values ("3/3/2008 14:10:20", 0, "Inclusão", "rel_orgao_periodicA", "id: 251 - pessoa: 130 - Periódica: 344");

     

    INSERT INTO Log (data, id_usuario, tipo, tabela, id_registro) values ("3/3/2008 14:00:51", 0, "Inclusão", "rel_responsavel_nao_periodicA", "id: 506 - pessoa: 267 - Não Periódica: 426");

     

    Porém as seguintes consultas não dão erro. Reparem que tirei apenas uma letra:

     

    INSERT INTO Log (data, id_usuario, tipo, tabela, id_registro) values ("3/3/2008 14:10:20", 0, "Inclusão", "rel_orgao_periodic", "id: 251 - pessoa: 130 - Periódica: 344");

     

    INSERT INTO Log (data, id_usuario, tipo, tabela, id_registro) values ("3/3/2008 14:00:51", 0, "Inclusão", "rel_responsavel_nao_periodic", "id: 506 - pessoa: 267 - Não Periódica: 426");

     

    O que eu fiz... mudei a propriedade Indexado para Não. Aí parou de dar erro em qualquer consulta. Porém, eu queria deixar a indexação neste campo. Então compactei e reparei o banco de dados e voltei a opção de indexação para Sim (Duplicação autorizada). Não dá mais erro...

     

    Já aconteceu com alguém?

    Alguém sabe como evitar coisas do tipo?

     

    Abraços!

     

     

    segunda-feira, 3 de março de 2008 17:38

Todas as Respostas

  • Olá Felipe,

     

    já tive alguns problemas com índice quando, por exemplo, mudo de exclusivo para não-exclusivo e vice-versa. Se a tabelas tem registros, é comum o Access não respeitar a mudança e continuar a funcionar da maneira antiga.

     

    Para resolver, não consigo nem mesmo compactando o banco, então crio outra tabela e carrego com os dados da antiga.

     

    Provavelmente seu caso foi semelhante.

     

    quarta-feira, 5 de março de 2008 03:14
    Moderador