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


2 participantes

    [Resolvido]IMPORTAR DO EXCEL PARA TABELA DO BD - Requerer referencia a Microsoft Office 11 Object Library

    avatar
    traderboy
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 16/01/2017

    [Resolvido]IMPORTAR DO EXCEL PARA TABELA DO BD - Requerer referencia a Microsoft Office 11 Object Library Empty [Resolvido]IMPORTAR DO EXCEL PARA TABELA DO BD - Requerer referencia a Microsoft Office 11 Object Library

    Mensagem  traderboy 2/9/2017, 00:59

    Ola Pessoal,


    1. Estou com um problema para importar os dados de uma planilha Excel para uma tabela no meu BD.

    2. Utilizei os códigos VBA do SILVIO, constantes no repositório: https://www.maximoaccess.com/t26809-importar-do-ms-excel-e-atualizar-tabela.

    3. Fiz as devidas alterações, mas quando tento executar, o sistema abre o VB e apresenta o erro: Erro de compilação: O tipo definido pelo usuário não foi definido. Este erro esta na linha Dim fd As FileDialog.

    4. Creio que o erro acontece porque não fiz, por não saber como, a referencia a Microsoft Office 11 Object Library, solicitado na instrução do código VBA exemplo do SILVIO. Utilizo o ACCESS 2016 e não descobri como fazer isso.

    5. Meu código VBA acionado no evento clicar é este:

    Código:
    Private Sub importar_Click()
    ' Requer referencia a Microsoft Office 11 Object Library
    On Error GoTo PROC_ERR
      
       Dim fd As FileDialog
       Set fd = Application.FileDialog(msoFileDialogFilePicker)
      
       fd.Title = "selecione o arquivo"
       fd.Filters.Add "Arquivo XLS", "*.xls", 1  'se for o caso, mude a extensão para XLSX, onde estão xls

       fd.Show
      
       If (fd.SelectedItems.Count > 0) Then
           '------inicio importação excel para sincronização
           Dim strPathFile As String, strFile As String, strPath As String
           Dim strTable As String
           Dim blnHasFieldNames As Boolean
           blnHasFieldNames = True
           strPathFile = fd.SelectedItems(1)
           strTable = "TblPrepostoTmp" 'planilha temporária que vai receber os dados do MS Excel.[/color]
          
           'apaga temporários, não é necessário, mas por segurança estou limpando a tabela antes
           DoCmd.RunSQL "Delete * from TblPrepostoTmp"
          
           'importa para tabela local temporária
           DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, strTable, strPathFile, blnHasFieldNames
           MsgBox "Registros importados com sucesso !" & vbCrLf & _
                 "Atualizando registros", vbInformation, Me.Caption
                  
                  
            'Declaração das Variaveis
    Dim DB As Database
    Dim rs As DAO.Recordset ' TblPrepostoTmp - onde estão os dados que serão importados
    Dim rs1 As DAO.Recordset ' tbimportacao -  para onde irão os dados a serem importados.


    Set DB = CurrentDb()


       'Filtra os dados da tabela de Origem e Define a tabela de Destino dos dados.
       Set rs = DB.OpenRecordset("SELECT * FROM TblPrepostoTmp ")
       Set rs1 = DB.OpenRecordset("tbimportacao")


    'Inicia a Gravação dos dados na Tabela de Destino (Dim rs1 As DAO.Recordset ' tbimportacao ) ,repete até COPIAR todos os Registros que foram selecionados
    Do While Not rs.EOF
           'Inicia a Gravação dos dados na tbimportacao
           rs1.AddNew
           rs1("CONTRATO") = rs("contrato")
           rs1("CPF") = rs("cpf")
           rs1("DIAS ATRASO") = rs("diasAtraso")
           rs1("OPERAÇÃO") = rs("operacao")
           rs1("DIVIDA") = rs("divida")
           rs1("AÇÃO") = rs("acao")
           rs1("CONTATO") = rs("contato")
           rs1("REVERTIDO") = rs("revertido")
           rs1.Update
       rs.MoveNext
       Loop

       'Ao Final Encerra as Conexões
       rs.Close
       rs1.Close
       DB.Close
          
           MsgBox "Operação concluída.", vbInformation, Me.Caption
          
           'apaga temporarios da tblprepostotmp que recebeu a importação.
           DoCmd.RunSQL "Delete * from TblPrepostoTmp"
          
       Else
           MsgBox "Não foi escolhido nenhum arquivo", vbInformation, Me.Caption

       End If
      
    PROC_EXIT:
       Exit Sub
      
    PROC_ERR:
       DoCmd.Hourglass False
       If Err.Number = 3011 Then
          LocalXML = ""
          MsgBox ("Arquivo inválido.")
       Else
           MsgBox Err.Description
       End If
       Resume PROC_EXIT




    End Sub


    6. Peço ajuda de vocês para corrigir este erro. Caso seja preciso, envio o BD e a planilha que busco importar.

    Abraço!!!
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]IMPORTAR DO EXCEL PARA TABELA DO BD - Requerer referencia a Microsoft Office 11 Object Library Empty Re: [Resolvido]IMPORTAR DO EXCEL PARA TABELA DO BD - Requerer referencia a Microsoft Office 11 Object Library

    Mensagem  FabioPaes 2/9/2017, 02:19

    Olá, tenha atenção as regras do Fórum! Pois as salas de Repositórios são somente para Exemplos!


    Abra o Visual Basic> Clique em Ferramenta> Referencia> depois localize o Microsoft Office 16 Object Library e o marque.
    Lembrando que o numero, se refere a versão. No meu caso, imagem a baixo, e access 2013.
    [Resolvido]IMPORTAR DO EXCEL PARA TABELA DO BD - Requerer referencia a Microsoft Office 11 Object Library Sem_ty17


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    traderboy
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 16/01/2017

    [Resolvido]IMPORTAR DO EXCEL PARA TABELA DO BD - Requerer referencia a Microsoft Office 11 Object Library Empty RESOLVIDO

    Mensagem  traderboy 2/9/2017, 02:38

    Ola Fabio,

    Obrigado, não percebi que havia criado a mensagem na sala de repositório.

    Deu certo! Consegui fazer a importação. Estou com um probleminha com a transferência dos dados da tabela temporária para outra tabela. No entanto, a dúvida inicial foi resolvida.

    Muito Obrigado Fabio!!!
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]IMPORTAR DO EXCEL PARA TABELA DO BD - Requerer referencia a Microsoft Office 11 Object Library Empty Re: [Resolvido]IMPORTAR DO EXCEL PARA TABELA DO BD - Requerer referencia a Microsoft Office 11 Object Library

    Mensagem  FabioPaes 2/9/2017, 03:32

    Blz... De uma olhada na sala de repositórios, tem vários modelos de importação... Eu mesmo ja fiz uns 3.


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    Conteúdo patrocinado


    [Resolvido]IMPORTAR DO EXCEL PARA TABELA DO BD - Requerer referencia a Microsoft Office 11 Object Library Empty Re: [Resolvido]IMPORTAR DO EXCEL PARA TABELA DO BD - Requerer referencia a Microsoft Office 11 Object Library

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/4/2024, 09:06