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

    [Resolvido]Atualizar automaticamente campo de hiperlink em tabela

    Compartilhe

    wellratm
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 06/11/2015

    [Resolvido]Atualizar automaticamente campo de hiperlink em tabela

    Mensagem  wellratm em 13/1/2017, 16:38

    Boa tarde,

    Estou desenvolvendo um banco de dados de volumes de projetos para a instituição que trabalho, no qual tem uma tabela que denominei "Projetos_Vol". Nesta tabela existe um campo de hiperlink denominado "Digitalizado" onde aos poucos estou linkando com os arquivos em PDF que estou salvando em uma pasta específica na rede, cujo nome de cada arquivo é igual ao seu "Localizador_Final" (campo existente na tabela em questão).

    Pois bem, preciso de um procedimento que faça com que toda vez que eu iniciar o banco de dados, o campo de hiperlink seja atualizado com os caminhos de rede de cada arquivo PDF já existente na pasta. Estamos aos poucos digitalizando todo o arquivo de projetos e salvando nesta pasta específica "\Projetos_Database\Projetos_PDF\(nome do Arquivo=Localizador_Final).PDF".

    Esse procedimento é muito importante para que não tenhamos que "linkar" manualmente toda vez que digitalizarmos um volume de projeto, bem como evitará possíveis erros.

    Em anexo envio arquivo do Access 2016 com a tabela, consulta e formulário que criei para esse procedimento. Cheguei a tentar elaborar um código para que, ao carregar o formulário, rodar um Do Loop e fazer um teste para verificar se o arquivo referente a cada registro da tabela existe na pasta. Mas obviamente não está funcionando. Ele está testando só primeiro registro e não está passando para o próximo (vejam o procedimento).

    A ideia é verificar se o arquivo existe na pasta, e caso exista, atualizar automaticamente o campo de hiperlink.

    Parece fácil, mas para mim está difícil.

    Agradeço desde já a atenção!

    Wellington
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Atualizar automaticamente campo de hiperlink em tabela

    Mensagem  ahteixeira em 14/1/2017, 12:47

    Olá Wellington,
    Faltou o anexo, veja como fazer:
    [Você precisa estar registrado e conectado para ver este link.]

    Realtivamente à sei se compreendi bem, mas normalmente não se guarda o caminho na totalidade.
    Pois caso se altere a pasta ou até mesmo o nome do servidor, será só configurar o novo nome e funfa tudo na mesma.

    Exemplo:
     CaminhoServidor="\\server1\rede\documentosDigitalizados\"

    Então, na base de dados guardamos o nome do ficheiro
    Exemplo:
     NomeFicheiro="CartaCliente1010.pdf"

    Quando necessitamos do caminho completo:
    CaminhoCompleto=CaminhoServidor & NomeFicheiro
     CaminhoCompleto=CaminhoServidor & NomeFicheiro
    ficando o caminho completo: \\server1\rede\documentosDigitalizados\CartaCliente1010.pdf

    Imagine que vai copiar para outro servidor, alterava para o novo:
     CaminhoServidor="\\srv_bkp\documentosAntigos\"
    ficava depois da alteração: \\srv_bkp\documentosAntigos\CartaCliente1010.pdf

    Desta forma, na minha opinião é a mais correcta.
    Repare que pode ter no seu projeto um formulario com uma caixa de texto para configurar o nome do servidor, podendo ficar guardado numa tabela (local ou na rede)

    Abraço

    wellratm
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 06/11/2015

    Re: [Resolvido]Atualizar automaticamente campo de hiperlink em tabela

    Mensagem  wellratm em 16/1/2017, 17:08

    Prezado ahteixeira,

    Agradeço demais a atenção. Realmente não cliquei em enviar e o arquivo não foi anexo.

    Também entendo que separar o caminho do nome do Arquivo seria o ideal, mas como ainda estou engatinhando em VBA e o projeto já está bem adiantado com o caminho completo de hiperlink, fica difícil pra mim alterar agora.

    Neste finde fiquei pesquisando e acabei chegando a um solução que deu certo. Ei-la:


    Private Sub Atualiza_Vol()
    Dim strPath As Variant
    Dim strCheck As Boolean
    Dim Rs As DAO.Recordset

    Set Rs = CurrentDb.OpenRecordset("Projetos_Vol")

    Do While Not Rs.EOF

    'Arquivo a ser verificado
    strPath = "M:\Projetos_Database\Projetos_PDF\" & Rs(Cool & ".pdf"
    If Dir(strPath) = vbNullString Then
    strCheck = False
    Else
    strCheck = True
    End If

    'caso exista o arquivo
       If strCheck = True Then

       Rs.Edit

       Rs(9) = "#M:\Projetos_Database\Projetos_PDF\" & Rs(Cool & ".pdf#"
       
       Rs.Update

       Rs.MoveNext

    'caso não exista
       Else

       Rs.Edit

       Rs(9) = Null

       Rs.MoveNext

       End If

    Loop

    Rs.Close

    DoCmd.Close acForm, "Projetos_Vol_Atualiza"

    Exit Sub

    End Sun

    Como não pretendo alterar o caminho, vai funcionar.

    A única coisa que gostaria agora é que no código acima eu pudesse acrescentar uma máscara para o hiperlink, para que no campo do relatório que gero não apareça todo o caminho do hiperlink, mas sim somente a palavra "PDF". Tem como?

    Grato!
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Atualizar automaticamente campo de hiperlink em tabela

    Mensagem  ahteixeira em 16/1/2017, 18:00

    Olá, estou no celular.
    No entanto, acho que pode ocultar o campo com o hiperlink, e criar um (ou botao) que ao clicar abre o hiperlink escondido.
    Efetue uma busca aqui no fórum abrir hiperlink.
    Fica sugestão.
    Abraço

    wellratm
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 06/11/2015

    Re: [Resolvido]Atualizar automaticamente campo de hiperlink em tabela

    Mensagem  wellratm em 16/1/2017, 18:47

    Ahteixeira,

    Bem pensado. Criarei o botão de deixarei o campo com hiperlink inviável.

    Muito obrigado!

    Resolvido.
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Atualizar automaticamente campo de hiperlink em tabela

    Mensagem  ahteixeira em 16/1/2017, 18:56

    Olá, obrigado pelo retorno.
    Faltou dar o tópico como resolvido, Veja como fazer:
    [Você precisa estar registrado e conectado para ver este link.]
    Abraço

    wellratm
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 06/11/2015

    Re: [Resolvido]Atualizar automaticamente campo de hiperlink em tabela

    Mensagem  wellratm em 16/1/2017, 19:02

    Ok! Resolvido.

    Obrigado
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Atualizar automaticamente campo de hiperlink em tabela

    Mensagem  ahteixeira em 16/1/2017, 20:57

    cheers

    wellratm
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 06/11/2015

    Re: [Resolvido]Atualizar automaticamente campo de hiperlink em tabela

    Mensagem  wellratm em 17/1/2017, 12:34

    Descobri uma forma melhor ainda de resolver meu problema. Em vez de botões e esconder o caminho do hiperlink, a gente pode escolher o nome que aparecerá na tela antes da "#" que define o caminho.

    Ficou assim:

    Rs(9) = "PDF#M:\Projetos_Database\Projetos_PDF\" & Rs(Cool & ".pdf#"

    Dessa forma na tela vai aparecer apenas o texto "PDF".

    Ou seja, basta escolher o nome que quer q apareça na tela e colocar antes da #.

    Nesse link da Microsoft tem os bizus de hiperlink :

    msdn.microsoft.com/pt-br/library/office/ff844740.aspx
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Atualizar automaticamente campo de hiperlink em tabela

    Mensagem  ahteixeira em 25/1/2017, 08:34

    Olá Wellington,
    Obrigado pela partilha, os utilizadores do fórum agradecem.

    Abraço

      Data/hora atual: 15/8/2018, 19:28