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

    Incluir dados no excel com o insert no acess

    Compartilhe

    RicketyKnave2
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 22
    Registrado : 25/03/2016

    Incluir dados no excel com o insert no acess

    Mensagem  RicketyKnave2 em Sab 21 Maio 2016, 02:20

    Gostaria de saber como fazer a importação dos dados do excel onde os campos das colunas irão para os campos da tabela no access.

    Ex:

    campo do excel com a coluna "nome" seja inserido na coluna "nome" do access, independente da suas posições.

    Estou usando este código, porém tenho que manter os campos em um formato único.

    Private Sub Comando0_Click()

    'Tem que ativar o Microsoft Office 12.0 Object Library.

    Dim fDialog As Office.FileDialog
    Dim varFile As Variant
    Dim localhost As String

    'cria a listagem
    FileList.Visible = False
    Me.FileList.RowSource = ""

    'seta o arquivo.
    Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
    With fDialog
    'habilitar caixa de dialog.
    .AllowMultiSelect = True

    'informa onde se encontra o arquivo/nome.
    .Title = "Please select one or more files"

    'limpar e filtra tipo de arquivo.
    .Filters.Clear
    .Filters.Add "Excel Files", "*.csv"
    .Filters.Add "All Files", "*.*"

    'Mostrar a caixa de diálogo . Se o método .Show retorna True , o
    'User pegou pelo menos um arquivo . Se o método retorna .Show
    'False , o usuário clicou em Cancelar .
    If .Show = True Then
    'Loop através de cada arquivo selecionado e adicioná-lo à caixa de listagem .
    For Each varFile In .SelectedItems
    localhost = varFile
    Next

    Dim resp
    Dim rs As Recordset
    Dim linha$
    Dim anArray
    Dim db As Database

    'conexão com o banco de dados
    Open localhost For Input As #1
    Set db = DBEngine.Workspaces(0).Databases(0)
    Set rs = db.OpenRecordset("INCONSISTENCIAS")
    Line Input #1, linha

    'verifica a resposta do usuário
    resp = MsgBox("Deseja Realmente incluir os dados no Bando de Dados?", vbQuestion + vbYesNo, "Inclusão")

    'realiza o procedimento de inclusão
    usuario = Environ("username")

    'realiza a verificação do excel em csv
    If Len(linha) > 0 Then
    Do While Not EOF(1)

    Line Input #1, linha

    anArray = Split(linha, ";")
    rs.AddNew
    rs(0) = Trim(anArray(0))
    rs(1) = Trim(anArray(1))
    rs(2) = Trim(anArray(2))
    rs(3) = Trim(anArray(3))
    rs(4) = Trim(anArray(4))
    rs(5) = Trim(anArray(5))
    rs(6) = Trim(anArray(6))
    rs(7) = Trim(anArray(7))
    rs(Cool = Trim(anArray(Cool)
    rs(9) = Trim(anArray(9))
    rs(10) = Trim(anArray(10))
    rs(11) = Trim(anArray(11))
    rs(12) = Trim(anArray(12))
    rs(13) = Trim(anArray(13))
    rs(14) = Trim(anArray(14))
    rs(15) = Date
    rs(16) = usuario
    rs(17) = "ATIVO"
    rs.Update
    Loop

    MsgBox "Importação Concluída com Sucesso!!"
    rs.Close: Set rs = Nothing
    db.Close: Set db = Nothing

    Close #1

    Else
    rs.Close: Set rs = Nothing
    db.Close: Set db = Nothing

    Close #1
    End If
    Else
    MsgBox "You clicked Cancel in the file dialog box."
    End If
    End With

    End Sub

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Incluir dados no excel com o insert no acess

    Mensagem  Alexandre Neves em Qui 09 Jun 2016, 11:11

    bom dia,
    Tente
    rs(Trim(anArray(0))) = Trim(anArray(0))
    rs(Trim(anArray(1))) = Trim(anArray(1))
    ...


    .................................................................................
    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

    FabioPaes
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: Incluir dados no excel com o insert no acess

    Mensagem  FabioPaes em Qui 09 Jun 2016, 15:14

    Caso a dica do Amigo a cima nao de certo, Faça um teste com esse Exemplo que Compartilhei...
    [Você precisa estar registrado e conectado para ver este link.]

    Coloque sua Tabela limpa nesse BD exemplo, selecione a planilha excel, a tabela e a Folha... Mande importar para ver...


    .................................................................................
    _____________________________________________________________________
    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!

      Data/hora atual: Qua 07 Dez 2016, 20:08