MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


2 participantes

    Não exclui referencia ausente

    thiagomcosta
    thiagomcosta
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 377
    Registrado : 23/01/2017

    Não exclui referencia ausente Empty Não exclui referencia ausente

    Mensagem  thiagomcosta 26/6/2017, 20:45

    Olá!

    Estou tentando remover uma referência ausente via VBA, porém todas as minhas tentativas estão sendo infelizes.

    Meu código é este:
    Código:
    Sub TesteAtualizaRef()
    Dim vReferencia As Reference
    Dim vGUID As String, vNome As String
    Dim vExcelInstalado As Boolean

    For Each vReferencia In References
        If vReferencia.IsBroken = True Then References.Remove vReferencia '>>> Erro nesta linha <<<
    Next
    vExcelInstalado = False
    For Each vReferencia In References 'Verifica se a referencia está instalada
        If vReferencia.Guid = "{00020813-0000-0000-C000-000000000046}" Then
            vExcelInstalado = True
            Exit For
        End If
    Next
    If vExcelInstalado = False Then References.AddFromGuid "{00020813-0000-0000-C000-000000000046}", 1, 6 'Adiciona a referencia
    End Sub

    Já tentei o código passado pelo JPaulo neste tópico ( https://www.maximoaccess.com/t15831-resolvido-referencia-excel-objec-t-library ) e também não funcionou, dando o mesmo erro.
    Código:
    Public Function RemoveReferenciasAusentes()
    Dim ref As Variant

    With Application.VBE.ActiveVBProject
        For Each ref In .References
            If ref.IsBroken Then
                .References.Remove ref
            End If
        Next
    End With
    End Function

    Já tentei outras soluções encontradas pela internet, todas semelhantes, porém sempre dá o mesmo erro.
    Não exclui referencia ausente Erroex10


    Alguma sugestão de solução?
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    Não exclui referencia ausente Empty Re: Não exclui referencia ausente

    Mensagem  JPaulo 27/6/2017, 15:01

    Algumas perguntas:

    1º É Ms Access ou Excel ?

    2º Se é Ms Access qual a versão ?

    3º Você tem permissões para entrar no Regedit do Computador ?

    Teste este, se as duas (2) ultimas respostas ás minhas perguntas forem verdadeiras;

    Código:
    Public Function FixRefsAusentes()
        Dim loRef As Access.Reference
        Dim intCount As Integer
        Dim intX As Integer
        Dim blnBroke As Boolean
        Dim strPath As String

        On Error Resume Next

        'Conta o número de referências no banco de dados
        intCount = Access.References.Count

        'Percorrer cada referência no banco de dados
        'e determina se a referência está quebrada.
        'Se estiver quebrada, remove a Referência e adicione-a novamente.
     
        For intX = intCount To 1 Step -1
            Set loRef = Access.References(intX)
            With loRef
                blnBroke = .IsBroken
                strPath = .FullPath
                If blnBroke = True Or Err <> 0 Then
                    strPath = .FullPath
                    With Access.References
                        .Remove loRef
                        .AddFromFile strPath
                    End With
                End If
            End With
        Next

        Set loRef = Nothing
        Call SysCmd(504, 16483)
    End Function



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Não exclui referencia ausente Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Não exclui referencia ausente Folder_announce_new 102 Códigos VBA Gratuitos...
    Não exclui referencia ausente Folder_announce_new Instruções SQL como utilizar...
    thiagomcosta
    thiagomcosta
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 377
    Registrado : 23/01/2017

    Não exclui referencia ausente Empty Re: Não exclui referencia ausente

    Mensagem  thiagomcosta 27/6/2017, 17:12

    Opa!!!!

    O BD é desenvolvido no Access 2010.
    Porém tem uma máquina que tem apenas o Access 2013 e o Excel 2007 (olha a salada). Nesta máquina que está dando o problema. Quero resolver nesta antes, pois tem outros equipamentos com esta mesma configuração que utilizarão a plicação em Access num futuro próximo. É mantido deste jeito devido à algum outro aplicativo também utilizar o Office, não sei informar ao certo.

    Possui acesso ao registro.

    Teste o código, não informou erro, porém naõ removeu a referencia quebrada.

    Estou quase a atualizar o office e ver o barulho que vai dar com os outros aplicativos. O problema é se aparecem mais máquinas nesta formatação de versões do Office.

    Conteúdo patrocinado


    Não exclui referencia ausente Empty Re: Não exclui referencia ausente

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/5/2024, 06:05