MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido] Nome do BackEnd

    Compartilhe

    Gabriel Brunichaki
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 139
    Registrado : 11/12/2015

    [Resolvido] Nome do BackEnd

    Mensagem  Gabriel Brunichaki em Seg 19 Set 2016, 15:01

    Bom dia,

    Eu seleciono meu arquivo BackEnd através da propriedade FileDialog, que pega o caminho completo do arquivo. (ex: C:\Program Files\Program\test.mdb).

    Como eu faço para manipular essa String e pegar só o nome do arquivo, de fato? (test.mdb)

    Acontece que, às vezes, o nome do BackEnd muda (test(2).mdb, test - Cópia.mdb, etc.), assim como o caminho (pode estar na área de trabalho, nos documentos, nos downloads, etc.)...

    Conto com a ajuda de vocês.

    Abraço!


    .................................................................................
    “Não podemos solucionar problemas usando a mesma forma de raciocínio que usamos quando os criamos.”
    – Albert Einstein

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido] Nome do BackEnd

    Mensagem  ahteixeira em Seg 19 Set 2016, 15:17

    Olá Gabriel,

    Através do FileDialog use GetFileName

    Abraço

    Gabriel Brunichaki
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 139
    Registrado : 11/12/2015

    Re: [Resolvido] Nome do BackEnd

    Mensagem  Gabriel Brunichaki em Seg 19 Set 2016, 17:22

    Eae Teixeira,

    Não consegui achar o GetFileName...

    Estou usando a seguinte função:

    O argumento argExit serve para especificar se o programa deve ser encerrado se o usuário cancela a seleção de arquivo e o argumento argOnlyPath serve para especificar se a função apenas pega o caminho do banco ou se já conecta... Bem, isso não é importante para a minha questão, apenas para esclarecimento...

    Código:
    Sub SelectDatabase(argExit As Boolean, argOnlyPath As Boolean)
        Dim fd As New FileDialog
        
        With fd
            .DialogTitle = "Selecione um banco de dados"
            .DefaultExt = "mdb"
            .DefaultDir = "C:\Program Files\"
            .MultiSelect = False
            .Filter1Text = "Banco de dados Access"
            .Filter1Suffix = "*.mdb"
            .Filter1Text = "Todos os arquivos"
            .Filter1Suffix = "*.*"
            .ShowOpen
            
            If (Len(.FileName & "") > 0) Then
                If (argOnlyPath) Then
                    newDatabase = .FileName
                    'AQUI É ONDE EU GOSTARIA DE OBTER O NOME DO ARQUIVO, ALGO COMO: MsgBox .GetFileName
                    Exit Sub
                Else
                    CurrentDb.Properties!ideeDatabase = .FileName
                    ConnectDatabase (.FileName)
                End If
            Else
                If (argExit) Then
                    DoCmd.Quit
                End If
            End If
        End With
    End Sub


    .................................................................................
    “Não podemos solucionar problemas usando a mesma forma de raciocínio que usamos quando os criamos.”
    – Albert Einstein

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido] Nome do BackEnd

    Mensagem  ahteixeira em Seg 19 Set 2016, 22:54

    Olá,
    O código postado parece que está a usar o CommonDialog Control.
    Tente assim:
    Código:
    'AQUI É ONDE EU GOSTARIA DE OBTER O NOME DO ARQUIVO, ALGO COMO: MsgBox .GetFileName
                 MsgBox Dir(.FileName)
    '---fim

    Caso não consiga, teste este:
    Código:
    Private Sub SelectDatabase_Click()
    'Alvaro Teixeira (ahteixeira) 2016
    'para MaximoAccess
    'Requer referencia a Microsoft Office XX.xx Object Library
        Dim fd As FileDialog
        Set fd = Application.FileDialog(msoFileDialogFilePicker)
        
        fd.Title = "Selecione um banco de dados"
        fd.InitialFileName = "C:\Program Files\"
        fd.Filters.Add "Ficheiro MDB", "*.mdb", 1

        fd.Show
        
        If (fd.SelectedItems.Count > 0) Then
            MsgBox fd.SelectedItems(1), vbInformation, "Caminho completo"
            MsgBox Dir(fd.SelectedItems(1)), vbInformation, "Nome de arquivo"
            MsgBox "MaximoAccess, sempre aprender!", vbInformation, "MaximoAccess.com"
        Else
            MsgBox "Operação cancelada pelo utilizador.", vbInformation, ""
        End If
    End Sub
    Não se esqueça que requer a referência a Microsoft Office XX Object Library.
    Abraço

    Gabriel Brunichaki
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 139
    Registrado : 11/12/2015

    Re: [Resolvido] Nome do BackEnd

    Mensagem  Gabriel Brunichaki em Qua 21 Set 2016, 20:57

    Funcionou com Dir(.FileName). Valeu pelo apoio!


    .................................................................................
    “Não podemos solucionar problemas usando a mesma forma de raciocínio que usamos quando os criamos.”
    – Albert Einstein

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido] Nome do BackEnd

    Mensagem  ahteixeira em Qua 21 Set 2016, 22:35

    Olá Gabriel, obrigado pelo retorno.
    Abraço

      Data/hora atual: Dom 11 Dez 2016, 00:16