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


4 participantes

    [Resolvido]Importação de arquivo (CSV) para o access

    avatar
    Tractive
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 22/10/2017

    [Resolvido]Importação de arquivo (CSV) para o access Empty [Resolvido]Importação de arquivo (CSV) para o access

    Mensagem  Tractive 22/10/2017, 16:58

    Boa tarde pessoal,

    Estou com uma situação em que preciso importar para o access uma série de arquivos (cerca de 200) para uma mesma tabela no banco de dados, esses arquivos estão no formato CSV.

    Existe alguma opção em que eu consiga realizar essa importação via VBA ou de alguma maneira mais prática?

    Obs.: Todos os arquivos possuem a mesma quantidade de colunas (cerca de 120). Em anexo, está um modelo da planilha em que preciso importar para um banco de dados access.
    Anexos
    [Resolvido]Importação de arquivo (CSV) para o access Attachmentexemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (2 Kb) Baixado 43 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Importação de arquivo (CSV) para o access Empty Re: [Resolvido]Importação de arquivo (CSV) para o access

    Mensagem  Alexandre Neves 22/10/2017, 19:51

    Boa tarde, e bem-vindo ao fórum
    Veja este stackoverflow.com/questions/11275356/vba-procedure-to-import-csv-file-into-access


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 22/10/2017

    [Resolvido]Importação de arquivo (CSV) para o access Empty Re: [Resolvido]Importação de arquivo (CSV) para o access

    Mensagem  Tractive 22/10/2017, 22:35

    Realizei a conversão do arquivo para (.xlsx), e consegui realizar a importação para o access.

    Me deparei com outra situação, no banco de dados já existe as colunas formatadas (por exemplo, na coluna empresa como número, descrição como texto curto e assim por diante), porém no momento de realizar a importação de alguns arquivos para o access, algumas colunas estão fora deste formato.. existe alguma opção para solucionar este problema (ou seja, que todos as colunas "Empresas" dos 200 arquivos, sejam importadas como "número")?

    Outra questão, a partir de um código VBA aqui do fórum, fiz algumas adaptações para tentar importar o arquivo no formato (.csv), porém está ocorrendo o seguinte erro ('31519' - Não é possível importar o arquivo.)


    Código:

    Private Sub Comando0_Click()

    Dim strPathFile As String
    Dim strFile As String
    Dim strPath As String
    Dim strTable As String
    Dim blnHasFieldNames As Boolean

    blnHasFieldNames = True
    strPath = "C:\Users\mathe\Desktop\testes - csv\" ' diretório onde os arquivos estão localizados
    strTable = "tdDados" 'nome da tabela no seu banco
    strFile = Dir(strPath & "*.csv") 'nome do seu arquivo, importa todos os arquivos que estiverem em C:\ para a tabela do banco.

    Do While Len(strFile) > 0
        strPathFile = strPath & strFile
        DoCmd.TransferText acImportDelim, _
        strTable, strPathFile, blnHasFieldNames
        strFile = Dir()
    Loop

    End Sub

    Está debugando na seguinte parte:

    Código:

    DoCmd.TransferText acImportDelim, _
    strTable, strPathFile, blnHasFieldNames

    Alguém poderia me dar uma luz nessas duas situações apontadas acima?

    Obrigado
    avatar
    Tractive
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 22/10/2017

    [Resolvido]Importação de arquivo (CSV) para o access Empty Re: [Resolvido]Importação de arquivo (CSV) para o access

    Mensagem  Tractive 24/10/2017, 12:24

    Por gentileza, alguém poderia me auxiliar?

    Grato.
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    [Resolvido]Importação de arquivo (CSV) para o access Empty Re: [Resolvido]Importação de arquivo (CSV) para o access

    Mensagem  Silvio 25/10/2017, 11:01

    Bom dia....

    Matheus, as colunas que estão na planilha do Excel, tem que ter as mesmas nomenclaturas da tabela ( nomes dos campos ) que vai receber os dados a serem importados.
    Se possível, essa planilha a ser importada, os dados de todas as células coloque como formato texto.
    Se houver algum campo de numeração automática nessa planilha, exclua a coluna da mesma, para não haver choque com a numeração automática da tabela.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Importação de arquivo (CSV) para o access Empty Re: [Resolvido]Importação de arquivo (CSV) para o access

    Mensagem  Alvaro Teixeira 25/10/2017, 11:13

    Olá a todos,

    Acho que não será obrigatório ter os mesmos nomes.
    Na minha opinião, pode , importar/ligar(vincular) para uma tabela temporaria, exemplo tblCSVtemp.
    Depois através de uma consulta adiconar obtem o pretendido.

    Mais outro exemplo de importar:
    https://www.maximoaccess.com/t26120-resolvidoimportar-csv-para-tabela

    Abraço a todos
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    [Resolvido]Importação de arquivo (CSV) para o access Empty Re: [Resolvido]Importação de arquivo (CSV) para o access

    Mensagem  Silvio 25/10/2017, 11:50

    Álvaro, boa tarde.

    Veja, já passei por isso, quando tentei importar, dava erro de nomenclatura. Depois que coloquei a nomenclatura correta, parou de dar erro.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Importação de arquivo (CSV) para o access Empty Re: [Resolvido]Importação de arquivo (CSV) para o access

    Mensagem  Alvaro Teixeira 25/10/2017, 14:32

    Olá a todos
    Silvio, vamos aguardar o retorno do colega.

    Matheus Freitas o ideal será postar a base de dados com a tabela que vaiu receber os dados do exemplo postado na mensagem nº 1.

    Assim fica mais fácil para qualquer membro poder testar e ajudar.
    Abraço
    avatar
    Tractive
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 22/10/2017

    [Resolvido]Importação de arquivo (CSV) para o access Empty Re: [Resolvido]Importação de arquivo (CSV) para o access

    Mensagem  Tractive 25/10/2017, 21:58

    Boa noite pessoal,

    Agradeço pelas respostas, mas ainda estou com um pequeno problema..

    Inicialmente estava com os arquivos em formato (.csv), mas acabei convertendo-os para o formato (.xlsx).

    O meu problema agora é no momento da importação das informações para o access. Não está respeitando os critérios, por exemplo, na coluna "Valor de aquisição", utilizando o código (VBA) do exemplo em anexo, ao final da importação, as casas decimais dos valores estão sendo ignoradas.

    Pelo que verifiquei aqui no fórum, o comando "DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9" não leva formatação, portanto, existe alguma forma que atenda minha necessidade?

    No anexo está os arquivos para análise.

    Abraço
    Anexos
    [Resolvido]Importação de arquivo (CSV) para o access AttachmentExemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (582 Kb) Baixado 51 vez(es)
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    [Resolvido]Importação de arquivo (CSV) para o access Empty Re: [Resolvido]Importação de arquivo (CSV) para o access

    Mensagem  Silvio 26/10/2017, 11:31

    Bom dia....

    Matheus, aqui vai algumas dicas....

    1- jamais coloque dessa forma nos campos que originam os nomes em tabelas
    Errado:
    Classe do imobilizado
    Transferência de aquisição
    1ª aquisição

    Correto:
    ClasseImobilzado
    TransferenciaAquisicao
    PAquisicao

    2- Ou seja....em hipotese alguma use: palavras acentuadas e com espaços. Existe um campo lá abaixo chamado Legenda onde pode-se colocar com espaços e acentos.

    3- Essa regra vale também quando se dá o nome a tabela, formulários, relatórios e consultas.

    4- Respondendo a tua duvida.
    Campo Valor de aquisição..coloque tipo moeda e veja o resultado.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    Tractive
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 22/10/2017

    [Resolvido]Importação de arquivo (CSV) para o access Empty Re: [Resolvido]Importação de arquivo (CSV) para o access

    Mensagem  Tractive 28/10/2017, 19:13

    O problema foi sanado, fiz uma reestruturação na tabela e alterei os formatos também.

    Obrigado Silvio!

    Abraço

    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    [Resolvido]Importação de arquivo (CSV) para o access Empty Re: [Resolvido]Importação de arquivo (CSV) para o access

    Mensagem  Silvio 28/10/2017, 19:39

    Boa tarde.

    Ótimo que resolveu.

    Abraços e o fórum agradece o retorno.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."

    Conteúdo patrocinado


    [Resolvido]Importação de arquivo (CSV) para o access Empty Re: [Resolvido]Importação de arquivo (CSV) para o access

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 23:27