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


    [Resolvido]Como separar somente o Caminho do Caminho+Aquivo

    Eloirp
    Eloirp
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 14/06/2013

    [Resolvido]Como separar somente o Caminho do Caminho+Aquivo Empty Como separar somente o Caminho do Caminho+Aquivo

    Mensagem  Eloirp Dom 22 Set - 17:07

    Olá Pessoal,

    Estou precisando selecionar uma pasta excel para importar os dados via formulário e já consegui um exemplo de como importar aqui no fórum mesmo, porém ele está com pastas e arquivos fixos e eu quero que o usuário selecione, aí estou tentando utilizar o código abaixo para definir o nome da pasta e do arquivo, porém o nome do Path em Origem já vem com o nome do arquivo junto e não sei como separar somente o Path, alguém poderia me dar uma luz?

    Private Sub bt_Abrir_Click()

       Dim fd As Object
       Dim x As String
       
       Set fd = Application.FileDialog(1)
       
       With fd
           .ButtonName = "Abrir"
           .Title = "Selecione o local onde se encontra o arquivo..."
           
           If .Show Then
               Selecionarpasta = .SelectedItems(1)
               x = Selecionarpasta
           End If
       End With
       
       Me.Arquivo = SeparaNomes(x, "\", 3)
       Me.Origem = Selecionarpasta
       
       Set fd = Nothing
       
    End Sub


    O código para importar onde eu pretendo colocar o caminho e nome do arquivo é este:

       Dim strPathFile As String, strFile As String, strPath As String
       Dim blnHasFieldNames As Boolean
       Dim intWorksheets As Integer
       Dim strWorksheets(1 To 1) As String
       Dim strTables(1 To 1) As String

       
       strWorksheets(1) = "Plan1"
       strTables(1) = "tbl_teste"
       blnHasFieldNames = True
       strPath = "C:\teste\"
       For intWorksheets = 1 To 1

       strFile = Dir(strPath & "Pasta1.xlsx")
       
       Do While Len(strFile) > 0
       strPathFile = strPath & strFile

       DoCmd.TransferSpreadsheet acImport, _
       acSpreadsheetTypeExcel9, strTables(intWorksheets), _
       strPathFile, blnHasFieldNames, _
       strWorksheets(intWorksheets) & "$"
       strFile = Dir()
       Loop

       Next intWorksheets
    avatar
    Convidado
    Convidado


    [Resolvido]Como separar somente o Caminho do Caminho+Aquivo Empty Re: [Resolvido]Como separar somente o Caminho do Caminho+Aquivo

    Mensagem  Convidado Dom 22 Set - 18:02

    Quer pegar o nome da pasta e o nome do arquivo ali contido? separadamente?

    Simples.. Basta ir na sala de repositorio que temos o exemplo perfeito pra isto.


    cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Como separar somente o Caminho do Caminho+Aquivo Empty Re: [Resolvido]Como separar somente o Caminho do Caminho+Aquivo

    Mensagem  Convidado Dom 22 Set - 18:14

    Eis:

    http://maximoaccess.forumeiros.com/t14149-retornar-diretorio-e-nome-do-arquivo-selecionado?highlight=localiza+arquivo

    cumprimentos.
    Eloirp
    Eloirp
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 14/06/2013

    [Resolvido]Como separar somente o Caminho do Caminho+Aquivo Empty Re: [Resolvido]Como separar somente o Caminho do Caminho+Aquivo

    Mensagem  Eloirp Dom 22 Set - 19:34

    Valeu pela dica Piloto!
    Eu já tinha tentado este exemplo, porém ao clicar para procurar o arquivo dá erro de compilação e aponta para: Chr(0).

    Acabei encontrando uma solução com o fso.GetParentFolderName...

    Abaixo deixo como ficou para que possa servir para alguém que tenha a mesma dificuldade que eu tive!

    Aqui carrega o nome do caminho e arquivo a ser importado:

    Private Sub bt_Abrir_Click()
       
       Dim fd As Object
       Dim x As String
       
       Set fd = Application.FileDialog(1)
       
       With fd
           .ButtonName = "Abrir"
           .Title = "Selecione o local onde se encontra o arquivo..."
           
           If .Show Then
               Selecionarpasta = .SelectedItems(1)
               x = Selecionarpasta
           End If
       End With
       
       Set fd = Nothing

       Dim strFullFilePath As String
       Dim fso

       strFullFilePath = Selecionarpasta

       Set fso = CreateObject("Scripting.FileSystemObject")
       Me.OrigemPath = fso.GetParentFolderName(strFullFilePath)
       Me.Arquivo = SeparaNomes(x, "\", 3)
       
    End Sub


    Aqui importa o arquivo excel para a tabela "tbl_CrossReference_PV_Temp" e utiliza os dados carregados acima:

    Private Sub bt_ImportaExcel_Click()
       
       Dim strPathFile As String, strFile As String, strPath As String
       Dim blnHasFieldNames As Boolean
       Dim intWorksheets As Integer
       Dim strWorksheets(1 To 1) As String
       
       Dim strTables(1 To 1) As String
       
       strWorksheets(1) = "Plan1"
       strTables(1) = "tbl_CrossReference_PV_Temp"
       blnHasFieldNames = True
       strPath = "" & Me.OrigemPath & "\"
       
       For intWorksheets = 1 To 1
       
       strFile = Dir(strPath & "" & Me.Arquivo & "")
       
       Do While Len(strFile) > 0
       strPathFile = strPath & strFile
       DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, strTables(intWorksheets), strPathFile, blnHasFieldNames, strWorksheets(intWorksheets) & "$"
       strFile = Dir()
       Loop

       Next intWorksheets

       
       Dim strQtdeItens
       strQtdeItens = DCount("*", "qry_Reg_CrossReference_Carrega_Preco_2_Excel_Roll")
       MsgBox (" Foram encontrados " & strQtdeItens & " registros válidos do Excel! "), vbOKOnly, "Sistema Interno ELPER"

    End Sub
    avatar
    Convidado
    Convidado


    [Resolvido]Como separar somente o Caminho do Caminho+Aquivo Empty Re: [Resolvido]Como separar somente o Caminho do Caminho+Aquivo

    Mensagem  Convidado Dom 22 Set - 20:08

    Se resolveu.. resolvido está..

    Agora quanto ao erro do exemplo.. aqui não está a dar erro.

    O Fórum agradece o Retorno.

    Conteúdo patrocinado


    [Resolvido]Como separar somente o Caminho do Caminho+Aquivo Empty Re: [Resolvido]Como separar somente o Caminho do Caminho+Aquivo

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Qui 7 Nov - 15:45