MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    Não exclui referencia ausente

    Compartilhe
    avatar
    thiagomcosta
    Avançado
    Avançado

    Respeito às Regras 100%

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

    Não exclui referencia ausente

    Mensagem  thiagomcosta em Seg 26 Jun 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 ( [Você precisa estar registrado e conectado para ver este link.] ) 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.
    [Você precisa estar registrado e conectado para ver este link.]


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

    Respeito às Regras 100%

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

    Re: Não exclui referencia ausente

    Mensagem  JPaulo em Ter 27 Jun 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.

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    avatar
    thiagomcosta
    Avançado
    Avançado

    Respeito às Regras 100%

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

    Re: Não exclui referencia ausente

    Mensagem  thiagomcosta em Ter 27 Jun 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.

      Data/hora atual: Sab 18 Nov 2017, 19:32