MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Retornar apenas o diretório do arquivo

    josé waldick
    josé waldick
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 84
    Registrado : 06/06/2017

    [Resolvido]Retornar apenas o diretório do arquivo Empty [Resolvido]Retornar apenas o diretório do arquivo

    Mensagem  josé waldick em 5/4/2020, 19:39

    Olá pessoas!
    Sabemos que a função Dir(x) retorna o arquivo correspondente ao caminho informado (x); existe alguma maneira de fazer com que seja retornado apenas o path do arquivo?
    Ex:
    C:\Diretorio1\arquivo.accdb
    Retorne: 'C:\Diretorio1\'

    C:\Diretorio1\Diretorio2\arquivo.accdb
    Retorne: 'C:\Diretorio1\Diretorio2\'

    C:\Diretorio1\Diretorio2\Diretorio3\arquivo.accdb
    Retorne: 'C:\Diretorio1\Diretorio2\Diretorio3\'


    .................................................................................
    Deus é bom e fiel!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7781
    Registrado : 05/11/2009

    [Resolvido]Retornar apenas o diretório do arquivo Empty Re: [Resolvido]Retornar apenas o diretório do arquivo

    Mensagem  Alexandre Neves em 6/4/2020, 12:36

    Bom dia
    Código:
    Function NomePasta(EnderecoCompleto As String, SoPasta As Booleano) As String
        '--------------------------------------------------------------'
        '  código criado por Alexandre Neves, do Fórum MaximoAccess  '
        '    utilize o código livremente mas mantenha os créditos    '
        '--------------------------------------------------------------'
        Dim Cont As Integer
       
        If Right(EnderecoCompleto, 1) = "\" Then
            NomePasta = EnderecoCompleto
        Else
            For Cont = 1 To Len(EnderecoCompleto)
                If InStr(Cont, EnderecoCompleto, "\") = 0 Then
                    NomePasta = Mid(EnderecoCompleto, 1, Cont - 1)
                    Exit For
                Else
                    Cont = InStr(Cont, EnderecoCompleto, "\")
                End If
            Next
        End If
       
        If SoPasta Then
            If Right(NomePasta, 1) = "\" Then NomePasta = Mid(NomePasta, 1, Len(NomePasta) - 1)
           
            For Cont = Len(NomePasta) To 1 Step -1
                If Mid(NomePasta, Cont, 1) = "\" Then
                    NomePasta = Mid(NomePasta, Cont + 1)
                    Exit For
                End If
            Next
        End If
    End Function


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    josé waldick
    josé waldick
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 84
    Registrado : 06/06/2017

    [Resolvido]Retornar apenas o diretório do arquivo Empty Re: [Resolvido]Retornar apenas o diretório do arquivo

    Mensagem  josé waldick em 6/4/2020, 14:52

    Bom dia, Alexandre!
    Não estou conseguindo executar o código, talvez eu esteja fazendo algum procedimento errado.

    Me!arquivo= C:\Diretorio1\Diretorio2\arquivo.xxx
    Ao clicar no cmdxxx faça:
    Me!caminho= NomePasta(Me!arquivo)
    Dai retorna o erro:'Erro de compilação: O argumento não é opcional'


    .................................................................................
    Deus é bom e fiel!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7781
    Registrado : 05/11/2009

    [Resolvido]Retornar apenas o diretório do arquivo Empty Re: [Resolvido]Retornar apenas o diretório do arquivo

    Mensagem  Alexandre Neves em 6/4/2020, 16:06

    a função tem 2 argumentos. falta preencher o segundo que será True


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    josé waldick
    josé waldick
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 84
    Registrado : 06/06/2017

    [Resolvido]Retornar apenas o diretório do arquivo Empty Re: [Resolvido]Retornar apenas o diretório do arquivo

    Mensagem  josé waldick em 6/4/2020, 19:43

    Atendeu perfeitamente, obrigado Alexandre!


    .................................................................................
    Deus é bom e fiel!

      Data/hora atual: 1/12/2020, 11:24