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

    Importar do excel para access(erro)

    Compartilhe

    shirohige
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 63
    Registrado : 07/11/2012

    Importar do excel para access(erro)

    Mensagem  shirohige em 11/3/2016, 07:06

    Bom dia,

    Se possivel, gostaria de uma ajuda de vocês para melhorar o código de importação excel.

    Hoje estou utilizando o código abaixo para importar um arquivo excel para o access, mas ainda acho que ele tem alguns problemas e por isso estou pedindo ajuda.

    1- Quando ele não localiza o arquivo, o código trava. Gostaria de verificar antes se o arquivo existe na pasta.
    2- Eu tenho 8 label's no meu formUpdate (st1 até 8.), gostaria que apos verificar que o arquivo não exista ele transfira essa informação para o label dele. Já armazeno o nome do label na variavel semaforo ->>> Form_frmUpdate.semaforo.ForeColor = &HFF&
    mas esse código não funcionou como eu queria. (Erro de compilação)

    Muito Obrigado pela ajuda


    Código:
    caminho = CurrentProject.Path & "\Dados\"
    Dim oRS As DAO.Recordset, i As Integer, j As Integer, SFile As String
        Dim oXL As Excel.application
        Dim oWb As Excel.Workbook
        Dim oWs As Excel.Worksheet
        Dim oSelect As Excel.Range




    '---
      
        Set oXL = CreateObject("Excel.Application")
        SFile = caminho & "SapE" & refMes & TAM & ".xls"
        
        Set oWb = oXL.Workbooks.Open(SFile)
        Set oWs = oWb.ActiveSheet
        Set oSelect = oWs.Cells(4, 1).CurrentRegion
        Set oRS = CurrentDb.OpenRecordset("tblTeste")
        

              
          'LOOP for include data in database
        
          i2 = 1
           For i = 2 To oSelect.Rows.Count
            If (Not oSelect.Range("A" & i) Like "*Tipo*") And (Not oSelect.Range("C" & i) Like "*Resultado*") And (Not oSelect.Range("A" & i) Like "*Resultado*") Then
            


     i2 = i2 + 1
    Form_frmUpdate.shpProgressBar.Width = Form_frmUpdate.shpProgressBar.Width + e

                oRS.AddNew
                   oRS.Fields(0) = oSelect.Range("A" & i)  
                   oRS.Fields(1) = oSelect.Range("C" & i)  
                   oRS.Fields(2) = oSelect.Range("H" & i)  
                   oRS.Fields(3) = oSelect.Range("I" & i)  
                   oRS.Fields(4) = Replace(oSelect.Range("J" & i), "/", "")
                   oRS.Fields(5) = oSelect.Range("L" & i)  
                   oRS.Fields(6) = oSelect.Range("N" & i)  
                   oRS.Fields(7) = oSelect.Range("O" & i)  

                oRS.Update
                
                End If
           Next i
       oXL.Quit
      




      
    End If

    Mauricio.Santos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 15/02/2016

    Importar do excel para access(erro)

    Mensagem  Mauricio.Santos em 11/3/2016, 12:53

    shirohige....

    Para verificar se um arquivo ou pasta existe utilize a função Dir[(pathname[, atributos])]
    Essa função retorna uma String que representa o nome de um arquivo, diretório ou pasta. Se o caminho não for encontrado ela retorna uma string de comprimento zero("") e você poderá tratar como desejar.

    Exemplo:

    Código:


        SFile = caminho & "SapE" & refMes & TAM & ".xls"

        If Dir(SFile) = vbNullString then

            SuaLabel.caption = "Arquivo não encontrado"
        
            .....Restante do código.....

        End If
        


    Dê uma olhada neste link para maiores informações.

    Espero ter ajudado.

    Sucesso!!!

    shirohige
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 63
    Registrado : 07/11/2012

    Re: Importar do excel para access(erro)

    Mensagem  shirohige em 14/3/2016, 07:11

    No caso da verificação vou testar, mas o caso da label é diferente. Ele tem transferir a informação para label correta, porque tenho 8 label's e estou armazenando o nome delas na variavel semaforo.

      Data/hora atual: 3/12/2016, 14:41