Ir ao conteúdo

Excel Erro de automação - Objeto foi desconectado


Ir à solução Resolvido por Midori,

Posts recomendados

Postado

@Midori @Basole

Olá pessoal! Gostaria de tirar uma dúvida que vem me perseguindo a algum tempo e não consigo resolver de jeito nenhum. Já busquei em vários fóruns nacionais e internacionais e verifiquei que várias pessoas tem esse mesmo problema, mas nenhuma das soluções resolveu a minha situação.

Possuo um projeto em VBA com vários formulários e que funciona normalmente, mas após executar o formulário "NCpainel" de 2 a 3 vezes para alterar algum dado no meu banco de dados Acess, salvar e abrir novamente o Excel trava ao reabrir esse formulário pela 3° ou 4° vez que usei para alterar os dados congelando, travando o sistema e em seguida aparece a seguinte frase e fecha o sistema: 

 

"Erro de automação"

- O objeto foi desconectado de seus clientes

 

Já realizei as seguintes ações para tentar resolver:

- Verifiquei todas as bibliotecas (estão todas ok)

- Removi fórmulas antigas

- Removi comandos das combobox do RowSource que não usava mais.

- Instalei o netframwork 3.5

- Removi espaçamento nas planilhas (abas)

- Verifiquei se o banco de dados fecha após a atualização dos dados.

 

Observação: se eu abrir qualquer outro formulário do sistema não dar erro, mas se eu usar esse e fizer essas ações ele da esse erro, já vi alguém dizendo que pode ser por causa das frames que contém outras frames, mas não entendi direito.

Site: https://social.msdn.microsoft.com/Forums/pt-BR/40ea7c09-7e6d-4efe-bd19-53f233f4a011/erro-em-tempo-de-execuo-2147417848-80010108-erro-de-automao-o-objeto-chamado-foi?forum=vbapt

 

Segue abaixo o vídeo demostrando o erro e o link do arquivo. Desde já agradeço a ajuda de todos.

Estarei enviando em ANEXO a planilha junto com o banco de dados em Acess.

No vídeo primeiro ensino a conectar ao banco de dados e depois a executar a ação.

 Vídeo:

 

 

 

https://youtu.be/UlOFNQ9EO0s

 

 

 

 

 

 

 

Arquivo exemplo.zip

Postado
3 horas atrás, josequali disse:

@Midori @Basole

 

No vídeo não mostro, mas se você selecionar algum registro e selecionar o ícone do lápis lá abaixo no lado direito da listbox e modificar algum registro ou se selecionar outra aba da multipage e grava outro dado também o erro vai acontecer.

 

 

 

Postado

@Basole @Midori vi em alguns posts que pode ter haver com a presença de formas na planilhas (botões), mas já fiz o teste e não vi nada. Não sei se ao carregar os combobox com informações do Acess eles ficam com alguma informação gravada na memória que dar erro quando abro novamente ou o banco fica aberto (que não percebi). 😢

Postado

@josequali Antes de atribuir os valores em abas diferentes, tente primeiro selecionar essas abas, p.ex,

MultiPage1.Value = 15
NCPainel.PastaimagemC.Value = ThisWorkbook.Worksheets("Configuracoes").Range("e4").Value
NCPainel.PastacausaC.Value = ThisWorkbook.Worksheets("Configuracoes").Range("f4").Value
NCPainel.Pasta5W2HC.Value = ThisWorkbook.Worksheets("Configuracoes").Range("g4").Value
NCPainel.PastaimplementacaoC.Value = ThisWorkbook.Worksheets("Configuracoes").Range("h4").Value

 

Esses TextBox estão na página 15.

 

Faça o mesmo se tiver atribuições assim em outras partes.

Postado
5 horas atrás, josequali disse:

@Midori o Erro ainda persisti 😭😭😭😭😭😭@Basole @Midori 😢

 

Fiz alguns teste e realmente tem relação com seus carregamento das combobox. Fiz o que você orientou e coloquei as combobox para carregar depois de selecionada a page, mas quando clico o erro aparece 😢

Postado
7 horas atrás, josequali disse:

Fiz o que você orientou e coloquei as combobox para carregar depois de selecionada a page, mas quando clico o erro aparece 😢

Tentou executar o Form sem o Combobox? Veja se o erro para sem esse controle.

 

Se não for isso, esse Form chama alguma Sub que faz conexão a um banco de dados? Se sim, veja se está abrindo e fechando corretamente. Se não tiver, acho que devia fazer um teste sem as abas (Multipage). Execute com todos os controles em um único Form ou divida em outros para ver se o problema é esse. E se dividir não tente manipular o controle de um Form a partir de outro. E não execute as rotinas que removem o caption e modificam a estrutura padrão do Form como fez com as APIs.

 

  

Postado

@Midori  @BasoleFiz os seguintes testes:

 

- Removi o carregamento dos textbox

- Removi o carregamento dos combobox

- Removi o carregamento automático da listbox1

- Removi as multipages e colei em um único formulário

 

E em seguida executei os comando de alterar dados ou cadastrar novo dado. Fecho a planilha, abro novamente e em seguida abro o sistema.

Dessa vez ele trava o painel e fecha. Não faço a mínima ideia agora do que possa ser 😞 

 

Fiz também o teste ainda com as multipages, e o erro se repetiu.

Postado
13 minutos atrás, josequali disse:

E em seguida executei os comando de alterar dados ou cadastrar novo dado

Isso é no botão do Form? Qual?

 

13 minutos atrás, josequali disse:

Dessa vez ele trava o painel e fecha.

No Initialize tem a Sub removeTudo e em Activate tem Iniciar. Tire ou comente essas Subs para não carregar nada com o Form e veja se continua travando.

Postado

@Midori  @BasoleVerifiquei! Infelizmente não mudou muita coisa.

Mas fiz uns testes:

1° teste - Quando atualizo algum dado e tem algum comando para carregar dado na textbox após abrir de novo o formulário dar erro ao abrir.

2° teste - Quando atualizo algum dado e tem alguma call para carregar combobox após abrir de novo o formulário dar erro.

3° teste - Quando atualizo algum dado e já deixo desativada a call das combobox e dos textbox, mas aplico o filtro para buscar na listbox1, dar erro também.

 

Acredito que de alguma forma está acontecendo alguma das seguintes situações:

 

1) A ação que foi executada ao carregar as combobox e textbox para alterar os dados está ficando armazenada na memória da planilha ao fechar de alguma forma.

2) A ação que foi executada ao carregar as combobox e textbox para alterar os dados está deixando o banco de dados em aberto, o que leva o combobox ser desconectado do banco de dados na call que chama eles.

 

Se não for isso não sei o que é 😭 Saberia como limpar a memória.

Já tentei o método close e quit, mas fica pendurado na memória. No meu projeto já deixei um módulo que limpa os formulários também, não teve efeito.

 

Desde já agradeço a ajuda até agora ☺️

@Midori

10 horas atrás, Midori disse:

Isso é no botão do Form? Qual?

Sim. Você seleciona algum dado na listbox (aplica o segundo filtro, digitando palavra "teste"). Em seguida seleciona o "título" para ir para outra page e adiona-se novo dados apertando na "sim" na primeira freme e depois coloca nomes aleatório e uma data.

Na frame de baixo coloca só número e depois clica em "Gravar", para ele adicionar aquele registro outras informações.

 

IMG_20220330_002546.jpg

  • Solução
Postado

@josequali Creio que para encontrar o erro, primeiro você deve testar o Form sem carregar nem dado nos outros controles. E se assim não acontecer mais, você vai habilitando o carregamento dos outros controles aos poucos (um por um) até chegar no problemático que trava a planilha. Como a sua planilha aqui não dá erro, não fiz nenhum teste.

  • Curtir 1
Postado

@Midori Resolvi mudar! Aparentemente o erro acontece sempre nas mesmas multipages, tentei de tudo mas não deu certo, aparentemente é um daqueles erros que acontece em um computadores e outros não 😞 . Aparentemente para o tipo de código que uso depois de uma certa quantidade de controles +/- 80 (frames, textbox, combobox e opptionbuttons) ele começa a aparecer esses erros. 

Para resolver, tirei alguns dos formulários das multipages e coloquei em form separado, como comando de carregar os dados do txtid do primeiro formulário para encontrar no formulário 2 na listbox1 para carregar os dados no segundo formulário.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!