Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Erro de Compilação: Tipos Incompatíveis

Discussões sobre a integração do Excel com o Banco de Dados Access

Moderador: joseA

RobertoCM
Colaborador
Colaborador
Mensagens: 51
Registrado em: Sáb Set 28, 2019 9:57 am

Erro de Compilação: Tipos Incompatíveis

Mensagem por RobertoCM »

Estou com problemas na execução funciona perfeito no office 32 sem problemas. Adaptei os códigos para executar em 64 mas dá esse erro descrito na foto acho que tem haver com o banco de dados preciso de ajuda.
Anexos
RECIBO Versão 3.0 20-10-2020.rar
(750.71 KiB) Baixado 232 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Erro de Compilação: Tipos Incompatíveis

Mensagem por Mikel Silveira Fraga »

Roberto CM, boa noite.

Abri aqui o seu modelo, e detectei uma falha na sua rotina, referente aos tipos de valores distribuídos. Veja seu código abaixo:

Código: Selecionar todos

Indice = banco.AbsolutePosition
Acontece que a variável Indice, foi declarada originalmente como sendo do tipo Long.
Porém, o valor que a propriedade AbsolutePosision retorna, é de um tipo Enumerado (personalizado) da Classe Ado, chamado de PositionEnum_Param.

Para realizar a correção desse problema, alterei o tipo Long, da variável Indice, para um tipo Variant (aceita qualquer outro tipo de variável, desde Tipos Primários, Compostos ou Enumerados.

A declaração ficou da seguinte forma:

Código: Selecionar todos

Public Indice As Variant
Faça a alteração no seu código e nos retorne o resultado, ok.

Abraços, boa noite e bons estudos.


RobertoCM
Colaborador
Colaborador
Mensagens: 51
Registrado em: Sáb Set 28, 2019 9:57 am

Re: Erro de Compilação: Tipos Incompatíveis

Mensagem por RobertoCM »

Olá eu mudei as declarações mas agora ele da o Erro em tempo de Execução: 3704 Operação não permitida quando o objeto está fechado. isso no office de 64 porque no de 32 está tudo bem


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Erro de Compilação: Tipos Incompatíveis

Mensagem por Mikel Silveira Fraga »

Roberto CM, boa tarde.

Mas em que linha, exatamente, esta aparecendo esse erro? Aqui utilizo Office 365 64 bits com o Windows 8.1, e a alteração que fiz, rodou normalmente.

Poste uma imagem, para analisarmos melhor?

Fico no aguardo.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


RobertoCM
Colaborador
Colaborador
Mensagens: 51
Registrado em: Sáb Set 28, 2019 9:57 am

Re: Erro de Compilação: Tipos Incompatíveis

Mensagem por RobertoCM »

Olá abri varias vezes e continua dando erro estou com o office 2010 64 bits anexei o arquivo novamente e dá erro de automação no office 32 ele não dava erro creio que seja algo com o banco de dados coloquei 3 prints dos erros, não tenho experiência e por isso preciso de ajuda aqui.
Anexos
RECIBO Versão 3.0 23-10-2020.rar
(953.24 KiB) Baixado 218 vezes


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Erro de Compilação: Tipos Incompatíveis

Mensagem por Mikel Silveira Fraga »

Roberto, boa tarde.

Cara, vendo aqui rapidamente, esta ocorrendo um erro no Driver de conexão que esta utilizando. Veja o código abaixo:

Código: Selecionar todos

nConectar = "Provider=Microsoft.Jet.oledb.4.0;Data Source=" & ThisWorkbook.Path & "\Recibos.mdb"
Eu alterei esse Driver antigo, por um novo utilizado, desde a versão 2010. Não me lembro se ele é compatível apenas com 64 bits, ou o que pode ser. Vou procurar ver melhor depois e dou uma resposta mais detalhada.

Altere essa linha, conforme código abaixo:

Código: Selecionar todos

nConectar = "Provider=Microsoft.Ace.oledb.12.0;Data Source=" & ThisWorkbook.Path & "\Recibos.mdb"
Outro erro que esta ocorrendo neste formulário, é o fato de no código ter várias referências ao objeto ProgressBar1, mas o mesmo não existe dentro do formulário. Ou adicione o controle no formulário, ou remova as linhas de código que fazem referência a esse objeto. Lembrando que ele só funciona em versões 32 bits. Se for tentar utilizá-lo em uma versão 64 bits, precisa ser um Office 365, pois é o único com suporte para esses controles não nativos.

Espero que possa ajudar com esses comentários.

Excelente domingo e bons estudos.


RobertoCM
Colaborador
Colaborador
Mensagens: 51
Registrado em: Sáb Set 28, 2019 9:57 am

Re:Resolvido: Erro de Compilação: Tipos Incompatíveis

Mensagem por RobertoCM »

Perfeito meu amigo troquei o código de conexão com o banco de dados e desabilitei a Progressbar e funcionou perfeitemente agora em 64 Bits, muito obrigado mesmo. Só mais uma pergunta pra funcionar nos dois sistemas se eu duplicar todas aquelas declarações retirando o PtrSafe dá pra funcionar tanto no 32 e no 64 Bits? vou anexar o Recibo arrumado pra quem quiser usar.
Anexos
RECIBO Versão 3.0 Versão 64 Bits 23-10-2020.rar
(631.79 KiB) Baixado 228 vezes


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Erro de Compilação: Tipos Incompatíveis

Mensagem por Mikel Silveira Fraga »

Roberto, boa noite.

Tem como ajustar algumas configurações no código, para que funcione nas duas arquiteturas, porém teria que ver todo seu código e adaptar todos os pontos que podem vir a gerar algum tipo de conflito.

Se quiser entender um pouco mais sobre quais os tipos de conflito que existem dê uma olhada nesse vídeo que gravei a uns 2 anos atrás. Veja se te ajuda a entender melhor:
Incompatibilidade de Arquiteturas do MS Office

Quaisquer dúvidas, a disposição.


RobertoCM
Colaborador
Colaborador
Mensagens: 51
Registrado em: Sáb Set 28, 2019 9:57 am

Re: Erro de Compilação: Tipos Incompatíveis

Mensagem por RobertoCM »

Olá boa tarde neste mesmo recibo ao clicar no botão pesquisa agora aparece esse erro de tipos incompatíveis anexei a foto do erro
Anexos
RECIBO 64 Bits Versão 3.0 Versão 23-10-2020.rar
(781.6 KiB) Baixado 219 vezes


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Erro de Compilação: Tipos Incompatíveis

Mensagem por Mikel Silveira Fraga »

Roberto, bom dia.

Desculpe não ter respondido antes, mas na correria do dia a dia, não me lembrei de sua mensagem.

Acabei de dar uma olhada aqui, e percebi que a versão do Microsoft ActveX Data Object, que estava utilizando, era a 2.8. Essa versão, quando utilizada em uma arquitetura 32 bits, funciona perfeitamente.

Porém, quando se altera para a versão 64 bits, algumas propriedades que normalmente são classificadas como Long, tem esse tipo alterado para algum outro, como foi o caso a propriedade RecordCount, do objeto Recordset.

Confesso que é um detalhe tão pequeno, que nunca havia dado importância ou visto erro como esse.

Para correção, altere nas Referências, a versão desta biblioteca para a 6.1, onde a propriedade RecordCount tem um retorno como Long.

Quaisquer dúvidas, a disposição.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder