MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]"Missing references"

    Compartilhe

    PauloVeiga
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 6
    Registrado : 02/11/2016

    [Resolvido]"Missing references"

    Mensagem  PauloVeiga em Qua 02 Nov 2016, 16:41

    Olá a todos:

    Tenho uma aplicação access em rede, contudo nem todos os utilizadores têm a mesma versão do Office o que implica que as versões mais antigas não reconhecem algumas referências (Missing references). Logo, assim que o access faz a compilação automática, ao não reconhecer o código associado a essas referências entra em debug, sem tão pouco reconhecer o código "On error goto...", que seria um mal menor, desabilitando somente os utilizadores de correr aquele código em concreto.
    Também já tentei importar as referências "missing" para os PT dos utulizadores mas estruturalmente não funcionam.
    Claro que uma das soluções seria adaptar o código às referências dos utilizadores, mas nem isso resulta pois o office mais recente não reconhece as referências mais antigas.

    Perante isto e uma vez que não consigo instalar novas versões do Office nos outros postos de trabalho alguém tem uma dica sobre o assunto.

    As referências em questão são:

    Microsoft Excel 14.0 Object Library
    Microsoft Word 14.0 Object Library

    As disponíveis na versão dos utilizadores são:

    Microsoft Excel 11.0 Object Library
    Microsoft Word 11.0 Object Library

    desde já obg pela atenção

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3206
    Registrado : 15/03/2013

    Re: [Resolvido]"Missing references"

    Mensagem  ahteixeira em Qua 02 Nov 2016, 21:32

    Olá Paulo Veiga, Bem-Vindo ao fórum.

    Normalmente um referência é compativel com as versões superiores.

    .11 é do Access 2003
    .14 é do Access 2010

    No 2010 já temos é o VBA 7 ou 7.1 não tenho a certeza.

    Tenho é conhecimento que se for um PC que só tem o Runtime do Access e se desejarmos usar referências a Word ou Excel não funciona.
    Tem lógica, não tem licença do produto, será esse o caso?

    No seu projecto adicione o exemplo a baixo e veja se ajuda a desvendar a questão:
    [Você precisa estar registrado e conectado para ver este link.]
    Abraço

    PauloVeiga
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 6
    Registrado : 02/11/2016

    Re: [Resolvido]"Missing references"

    Mensagem  PauloVeiga em Qui 03 Nov 2016, 11:21

    Bom dia ahteixeira. Obrigado pela ajuda.

    O resultado das referências aplicado ao meu projeto foi o seguinte:

    {000204EF-0000-0000-C000-000000000046} VBA C:\Program Files (x86)\Common Files\Microsoft Shared\VBA\VBA6\VBE6.DLL 4.0
    {4AFFC9A0-5F99-101B-AF4E-00AA003F0F07} Access C:\Program Files (x86)\Microsoft Office\OFFICE11\MSACC.OLB 9.0
    {00020430-0000-0000-C000-000000000046} stdole C:\Windows\SysWOW64\stdole2.tlb 2.0
    {00025E01-0000-0000-C000-000000000046} DAO C:\Program Files (x86)\Common Files\Microsoft Shared\DAO\dao360.dll 5.0
    {0002E157-0000-0000-C000-000000000046} VBIDE C:\Program Files (x86)\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB 5.3
    {00000200-0000-0010-8000-00AA006D2EA4} ADODB C:\Program Files (x86)\Common Files\System\ado\msado20.tlb 2.0
    {420B2830-E718-11CF-893D-00A0C9054228} Scripting C:\Windows\SysWOW64\scrrun.dll 1.0
    {00000600-0000-0010-8000-00AA006D2EA4} ADOX C:\Program Files (x86)\Common Files\System\ado\msadox.dll 6.0
    {2DF8D04C-5BFA-101B-BDE5-00AA0044DE52} Office C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE11\MSO.DLL 2.3
    {00020813-0000-0000-C000-000000000046} Excel C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE 1.7
    {00020905-0000-0000-C000-000000000046} Word C:\Program Files (x86)\Microsoft Office\Office14\MSWORD.OLB 8.5

    Se correr as referências nas máquinas onde se verifica o problema as referências para Excel e Word confirmam "isbroken=True" pelo que dá o erro "Error in loading DLL", facto que já tinha constatado, pois é exatamente este o problema.
    Honestamente os meus conhecimentos não permitem tirar daqui alguma solução para o problema!!!!

    Quanto às licenças posso assegurar que são legítimas. Também abdiquei do RunTime pelos motivos que apontou (não reconhece algumas referências).
    Posso dar-lhe mais alguns pormenores... não sei se são úteis!!!

    O projeto foi configurado no Office 2010 com o Access 2003.
    Alguns utilizadores têm instalado o Office 2003, Access 2003 (Professional edition 2003) e é nestes que acontece o problema.
    Como já referi creio que o erro acontece porque o Office 2003 não reconhece (porque não estão lá - missing references) as referências para o Word e Excel associadas pela versão do M_Office 2010.
    Haverá alguma forma de contornar isto?

    PauloVeiga
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 6
    Registrado : 02/11/2016

    "Missing references"

    Mensagem  PauloVeiga em Qui 03 Nov 2016, 16:41

    Boas

    Aparentemente o problema está resolvido.

    Tive que associar as referências .11 às máquinas que tinham instalado o Office 2003 e manter as referências .14 às do Office 2010. Por acaso os utilizadores estão concentrados o que se tornou relativamente fácil... se estiverem dispersos geograficamente esta solução não me parece viável.

    Ainda assim veremos se o comportamento se mantém estável, é que já percebi que o sistema tem tendência a alterar as referências para reconhecer o código!!!

    Muito obrigado pelo retorno.

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3206
    Registrado : 15/03/2013

    Re: [Resolvido]"Missing references"

    Mensagem  ahteixeira em Qui 03 Nov 2016, 17:00

    Olá Paulo, obrigado pelo retorno.

    Conforme postou na mensagem nº 3 (as referências), seria ideal postar por versao:

    Exemplo:
    - 2003 Runtime
    ....
    - 2003 Office (Access)
    ...
    - 2010 Office ...

    Assim será mais fácil comparar e talvez compreender melhor o que se está a passar.

    Relativamente ao desenvolvimento, sou da opinião que deve desenvolver na versão menor que vai distribuir, parece que é o Access 2003.
    Abraço

    PauloVeiga
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 6
    Registrado : 02/11/2016

    "Missing references"

    Mensagem  PauloVeiga em Sex 04 Nov 2016, 09:54

    Caro Teixeira

    Não postei as referências porque elas são exatamente as mesmas, quer na versão Office 2003, quer 2010. Com excepção destas:

    {00020813-0000-0000-C000-000000000046} Excel C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE 1.7
    {00020905-0000-0000-C000-000000000046} Word C:\Program Files (x86)\Microsoft Office\Office14\MSWORD.OLB 8.5

    No caso destas o exemplo que me enviou devolve um erro no Office 2003 quando analiza as ref. Excel e Word. Aliás como seria de esperar de acordo com o código inscrito nesse exemplo (no caso de referências "broking" vai para erro). Assim, estas em concreto, não aparecem no formulário e todas as outras se repetem.

    E tem toda a razão, a versão menor é que deve ser distribuida e é isso que acontece. A versão do ACCESS é a de 2003 para todos os utilizadores, o OFFICE é que alterna entre o 2003 e 2010. Eu pensava que daí não vinha problema mas, pelos vistos, na questão das referências não é bem asssim.

    Obrigado

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3206
    Registrado : 15/03/2013

    Re: [Resolvido]"Missing references"

    Mensagem  ahteixeira em Qua 09 Nov 2016, 22:50

    Olá Paulo Veiga,
    Se desenvolver em Access 2003 e criar ficheiro MDE com as referências para esta versão.

    a) Ao distribuir pelos postos com Access 2003 funciona?
    b) Na versão 2010 o que acontece?

    Abraço

    PauloVeiga
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 6
    Registrado : 02/11/2016

    "Missing references"

    Mensagem  PauloVeiga em Qui 10 Nov 2016, 11:17

    Bom dia Teixeira

    A aplicação não é distribuída posto a posto. Ela é unica e o acesso é feito atavés da rede interna em ficheiro MDE partilhado.
    É neste contexto que deparei com a situação já descrita e que obviei alterando as referências dos PT com Office 2003 para a versão Excel e Word .11, deixando o Office 2010 com a versão .14. Até agora funcionou sem conflitos. No fundo o código que eu necessito é reconhecido pelas duas versões desde que estejam devidamente referenciadas de acordo com as referências disponíveis nos respetivos pacotes do Office(excel e word .11 para o Office 2003 e .14 para o Office 2010).
    Creio que o problema foi o facto de a aplicação ter sido desenvolvida em Access 2003 com o Office 2010 e as referências .14 serem exclusivas deste pacote. Se o tivesse feito com o Office 2003 teria referenciado com a versão .11 que provavelmente seria reconhecida pelo Office2010.

    Bem, não sei se haverá outra forma de adaptar as referências às versões do Office!!! Para já esta solução parece estável.

    Aproveito para agradecer a sua disponibilidade.

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3206
    Registrado : 15/03/2013

    Re: [Resolvido]"Missing references"

    Mensagem  ahteixeira em Qui 10 Nov 2016, 12:41

    Olá, espero que o seu projecto esteja separado o FrontEnd do BackEnd.
    Se tiver duvidas efetue uma busca aqui no fórum.
    É recomendado que o FrontEnd seja distribuído para cada posto para a unidade de disco local (exemplo c:)
    O BackEnd, esse deve ficar na rede, no file share, que é vinculado a partir do FrontEnd.
    O desempenho vai aumentar.

    Creio que a questão das referências vai desaparecer (sendo compilado pelo 2003).
    Abraço

    PauloVeiga
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 6
    Registrado : 02/11/2016

    "Missing references"

    Mensagem  PauloVeiga em Qui 10 Nov 2016, 13:39

    Boas

    Está tudo nos "conformes". Obrigado Teixeira.

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3206
    Registrado : 15/03/2013

    Re: [Resolvido]"Missing references"

    Mensagem  ahteixeira em Qui 10 Nov 2016, 21:35

    Olá Paulo,
    Obrigado pelo retorno.
    Os utilizadores do fórum agradecem.
    Abraço

      Data/hora atual: Dom 04 Dez 2016, 12:08