MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

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 21/5/2016, 01: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
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Incluir dados no excel com o insert no acess

    Mensagem  Alexandre Neves em 9/6/2016, 10: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
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: Incluir dados no excel com o insert no acess

    Mensagem  FabioPaes em 9/6/2016, 14: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: 19/10/2017, 20:09