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


4 participantes

    Vincular Foto como caminho para o servidor em rede

    avatar
    Josiel Avelino dos Santos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 20/09/2015

    Vincular Foto como caminho para o servidor em rede Empty Vincular Foto como caminho para o servidor em rede

    Mensagem  Josiel Avelino dos Santos 3/11/2016, 10:33

    Tenho um BD em uma rede 4 pcs. Com front end em cada terminal e o back end em um servidor/Terminal. Estou vinculando imagens de cliente salvando nome do arquivo e visualizando por meio do caminho =[Application].[CurrentProject].[Path] & "\Imagens\" & [arquivo]. Mas não estou conseguindo elaborar um caminho que envie e buscar a imagem na pasta no servidor.
    =>Nois
    =>Nois
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 980
    Registrado : 09/11/2012

    Vincular Foto como caminho para o servidor em rede Empty Re: Vincular Foto como caminho para o servidor em rede

    Mensagem  =>Nois 3/11/2016, 11:47

    ola

    quando voce indica CurrentProject.Path quando quer dizer que que as imagens ou arquivo ficam em uma pasta local no seu computador, voce devera indicar o nº de ip da sua rede, dominio ou mesmo diretorio compartilhado

    coloque algo assim:

    "\\ip_de_sua_rede" & "\Sua_pasta\Imagens\" & [arquivo]

    se estiver mapeado no seu computador o drive "G" por exemplo:

    "G:" & "\Sua_pasta\Imagens\" & [arquivo]



    .................................................................................
    Att. Nois

    Se tudo não der certo... tente de novo drunken
    avatar
    Josiel Avelino dos Santos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 20/09/2015

    Vincular Foto como caminho para o servidor em rede Empty Re: Vincular Foto como caminho para o servidor em rede

    Mensagem  Josiel Avelino dos Santos 3/11/2016, 13:48

    Ainda não consegui já tentei das duas formas
    =>Nois
    =>Nois
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 980
    Registrado : 09/11/2012

    Vincular Foto como caminho para o servidor em rede Empty Re: Vincular Foto como caminho para o servidor em rede

    Mensagem  =>Nois 3/11/2016, 14:03

    poste uma parte do seu bd de exemplo para analise

    informe o caminho que deve aparecer na foto.

    no aguardo.


    .................................................................................
    Att. Nois

    Se tudo não der certo... tente de novo drunken
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    Vincular Foto como caminho para o servidor em rede Empty Vincular Foto como caminho para o servidor em rede

    Mensagem  CassioFabre 3/11/2016, 15:40

    Boa tarde,

    Com a licença do amigo =>Nois

    Josiel, faça o seguinte: em um módulo coloque as seguintes funções:

    Código:
    #If VBA7 Then
        Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
        Public Declare PtrSafe Function GetFocus Lib "user32" () As LongPtr
    #Else
        Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
        Public Declare Function GetFocus Lib "user32" () As Long
    #End If

    Public Enum mPasta
        mBackEnd
        mBd
        mBackup
        mImage
        mXml
        mEmail
        mRelatorio
        mAjuda
    End Enum

    Public Function funcCaminhoBackEnd() As String
        Dim strConBE As String
        Dim strTabelaLinkBE As String
        Dim tblBE As DAO.TableDef
        Dim kBE
        On Error GoTo trataerro
        
        Dim strDataFilePathBE As String
        Dim StrTextBE As String ' Used for Debugging
        Dim strDataFileNameBE As String
        Dim CharCountBE As Integer
        Dim CharCount1BE As Integer
        
        For Each tblBE In CurrentDb.TableDefs
            If Len(tblBE.Connect & "") > 0 Then strTabelaLinkBE = tblBE.Name
        Next
      
        ' Get data path is determined by path to table a linked table in DataBase
        strDataFilePathBE = CurrentDb.TableDefs(strTabelaLinkBE).Connect
        CharCountBE = Len(strDataFilePathBE)
        CharCount1BE = InStr(strDataFilePathBE, ":")
        
        'Strip off leading charactors from path Password DataBase ect
        strDataFilePathBE = right(strDataFilePathBE, (CharCountBE - (CharCount1BE - 2)))
        
        'Strip off file name for database
        CharCountBE = InStrRev(strDataFilePathBE, "\")
        strDataFilePathBE = Left(strDataFilePathBE, CharCountBE)
            
        ' Used for Debugging Print Data File Path
        ' Returns:     C:\Users\Michael\Documents\Access\PropMgr
        ' StrText = "Data File: " & strDataFilePath
        ' MsgBox StrText
       ' Put srtDataFilePath in text box on Main Menu
        funcCaminhoBackEnd = strDataFilePathBE
        
    sair:
        Exit Function
    trataerro:
        MsgBox "Erro: " & Err.Number & vbCrLf & Err.Description, vbCritical, "Aviso", Err.HelpFile, Err.HelpContext
        Resume sair:
    End Function

    Public Function pastaBackEnd(Optional pasta As mPasta = mBd)
        
        On Error Resume Next
        Dim strLocal As String
        
        Select Case pasta
            Case 0: strLocal = "backEnd"
            Case 1: strLocal = ""
            Case 2: strLocal = "backup"
            Case 3: strLocal = "image"
            Case 4: strLocal = "xml"
            Case 5: strLocal = "email"
            Case 6: strLocal = "relatorio"
            Case 7: strLocal = "ajuda"
        End Select
        
        pastaBackEnd = funcCaminhoBackEnd & strLocal
    End Function

    na função pastaBackEnd estão as pastas da raiz do mesmo lugar onde está o seu backend. No meu caso, na raiz estão as pastas: backEnd, backup, image, xml, etc... O segundo item ( "" ) está vazio pois este representará a propria pasta do backend.

    Por exemplo: suponhamos que seu backend esteja na rede no seguinte endereço \\192.168.5.208\programa\programa.accdb e dentro dessa pasta tenham outras como por exemplo imagens, arquivos, relatorios, etc. Caso você queira acessar a pasta "relatorios" pelo windows explorer, ficaria com o endereço \\192.168.5.208\programa\relatorios. Então caso voce tenha pastas diferentes das minhas, voce deve substituir o Enum pelas pastas que você tem aí e colocar estes valores no select case da função pastaBackEnd. Seguindo o exemplo que citei acima, supondo que tenha só essas três pastas, no seu caso ficaria assim:

    Código:
    #If VBA7 Then
        Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
        Public Declare PtrSafe Function GetFocus Lib "user32" () As LongPtr
    #Else
        Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
        Public Declare Function GetFocus Lib "user32" () As Long
    #End If

    Public Enum mPasta
        mImagens
        mBd
        mArquivos
        mRelatorios
    End Enum

    Public Function pastaBackEnd(Optional pasta As mPasta = mBd)
        
        On Error Resume Next
        Dim strLocal As String
        
        Select Case pasta
            Case 0: strLocal = "imagens"
            Case 1: strLocal = ""
            Case 2: strLocal = "arquivos"
            Case 3: strLocal = "relatorios"
        End Select
        
        pastaBackEnd = funcCaminhoBackEnd & strLocal
    End Function

    Vale ressaltar que a ordem do Enum e do select case da função pastaBackEnd tem que ser exatamente a mesma e no select case tem que estar o nome da pasta rigorosamente como ela é.

    Para usar a função é simples: quando você for salvar a imagem (por exemplo) a string "caminho" ficaria:

    Código:
    caminho = pastaBackEnd(mImagens) & "\nome_do_arquivo.jpg"

    O trecho acima equivale exatamente ao caminho \\192.168.5.208\programa\imagens. Isto vale para todos os outros tipos de arquivo e pastas que voce colocar.

    Abraço.


    Última edição por CassioFabre em 4/11/2016, 09:08, editado 1 vez(es)
    =>Nois
    =>Nois
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 980
    Registrado : 09/11/2012

    Vincular Foto como caminho para o servidor em rede Empty Re: Vincular Foto como caminho para o servidor em rede

    Mensagem  =>Nois 3/11/2016, 16:47

    mais simples ficaria assim

    coloque ao carregar do formulário

    Código:

    Dim strpastainicial as string

    strpastainicial = "\\Informe_o_ip_aqui\" 'Deve Ser adcionado o caminho de rede aqui

    me.sua_imagem.Picture = strpastainicial & "sua_pasta_imagens\sua_imagem.png"


    .................................................................................
    Att. Nois

    Se tudo não der certo... tente de novo drunken
    =>Nois
    =>Nois
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 980
    Registrado : 09/11/2012

    Vincular Foto como caminho para o servidor em rede Empty Re: Vincular Foto como caminho para o servidor em rede

    Mensagem  =>Nois 4/11/2016, 17:27

    Olá, algum avanço?


    .................................................................................
    Att. Nois

    Se tudo não der certo... tente de novo drunken
    avatar
    Josiel Avelino dos Santos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 20/09/2015

    Vincular Foto como caminho para o servidor em rede Empty Re: Vincular Foto como caminho para o servidor em rede

    Mensagem  Josiel Avelino dos Santos 7/11/2016, 13:17

    Desculpe a demora gostei das duas aplicações. Já apliquei a mais simples funcionou perfeitamente. Irei testar a mais complexa.
    Muito obrigado e mais uma vez desculpe pela demora.
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    Vincular Foto como caminho para o servidor em rede Empty Re: Vincular Foto como caminho para o servidor em rede

    Mensagem  Noobezinho 8/11/2016, 13:08

    Na realidade o caminho UNC(rede) mais simples é:


    "\\NomedoServidor\Pasta\subpastaSeHouver\imagem.jpg 'ou qual for a extensão dela.


    Só mais uma ajudinha! Razz

    [ ]'s




    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    Vincular Foto como caminho para o servidor em rede Empty Vincular Foto como caminho para o servidor em rede

    Mensagem  CassioFabre 9/11/2016, 09:17

    Bom dia,

    Vale ressaltar que o método que eu passei é, sim, mais complexo, porém ele funciona em qualquer servidor/ip/endereço sem fazer qualquer alteração no código. Vejo o método "192.168.5.1" como sendo um tanto quanto restrito. Caso queira distribuir seu back end em outra rede (ou mesmo o servidor sofrer uma alteração de endereço), terá que fazer algumas (ou várias) alterações no seu código. É basicamente a mesma diferença entre chamar o endereço do front end de C:\programa\programa.accdb e CurrentProject.Path & "\programa.accdb". Aí fica a critério do programador.

    Abraço.

    Conteúdo patrocinado


    Vincular Foto como caminho para o servidor em rede Empty Re: Vincular Foto como caminho para o servidor em rede

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 10:13