Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Erro de Compilação: Tipos Incompatíveis
Moderador: joseA
Erro de Compilação: Tipos Incompatíveis
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 249 vezes
- Mikel Silveira Fraga
- 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
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:
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:
Faça a alteração no seu código e nos retorne o resultado, ok.
Abraços, boa noite e bons estudos.
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
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
Abraços, boa noite e bons estudos.
Re: Erro de Compilação: Tipos Incompatíveis
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
- Mikel Silveira Fraga
- 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
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.
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.
Re: Erro de Compilação: Tipos Incompatíveis
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 233 vezes
- Mikel Silveira Fraga
- 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
Roberto, boa tarde.
Cara, vendo aqui rapidamente, esta ocorrendo um erro no Driver de conexão que esta utilizando. Veja o código abaixo:
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:
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.
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"
Altere essa linha, conforme código abaixo:
Código: Selecionar todos
nConectar = "Provider=Microsoft.Ace.oledb.12.0;Data Source=" & ThisWorkbook.Path & "\Recibos.mdb"
Espero que possa ajudar com esses comentários.
Excelente domingo e bons estudos.
Re:Resolvido: Erro de Compilação: Tipos Incompatíveis
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 243 vezes
- Mikel Silveira Fraga
- 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
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.
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.
Re: Erro de Compilação: Tipos Incompatíveis
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 236 vezes
- Mikel Silveira Fraga
- 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
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.
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.