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

    Importação de arquivo CSV apresentando erro

    avatar
    salomaojosealves.melo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 29/06/2015

    Importação de arquivo CSV apresentando erro Empty Importação de arquivo CSV apresentando erro

    Mensagem  salomaojosealves.melo 9/11/2020, 17:13

    Prezados, uma boa tarde.

    Tenho uma rotina, inclusive adaptada de exemplo colhido neste fórum, que utilizo para importar dados de um arquivo texto, extensão ".CSV". Abaixo segue o código VBA. Estava funcionando bem, contudo surgiu um problema: a base de dados que estou importando, vez uma vez outra, aparece um caractere especial que "confunde" a rotina, gerando um erro "Subscrito fora do Intervalo".

    Analisando a linha na qual surge o erro, verifiquei o caractere especial, que, ao passar o ponteiro do "mouse" sobre o mesmo apresenta a expressão SUB (^Z = 26 = 0x1a), conforme imagem anexada. Ou seja, a rotina quebra a linha até este caractere especial não lendo os demais dados, o que ocasiona o erro "subscrito fora do intervalo".

    Se possível, me deem uma ideia para tratar este problema.

    Agradecido antecipadamente pela atenção dispensada.


    Código VBA utilizado para fazer a importação dos dados.

    Código:
    Open CurrentProject.Path & "\Importacoes\SEF_ENTRADAS_DOC.csv" For Input As #1
       Set Db = DBEngine.Workspaces(0).Databases(0)
       Set rs = Db.OpenRecordset("SEF_ENTRADAS_DOC")
       
       Line Input #1, linha
       
       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(8) = Trim(anArray(8))
           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) = Trim(anArray(15))
           rs(16) = Trim(anArray(16))
           rs(17) = Trim(anArray(17))
           rs(18) = Trim(anArray(18))
           rs(19) = Trim(anArray(19))
           rs(20) = Trim(anArray(20))
           rs(21) = Trim(anArray(21))
           
           rs.Update
           DblQtdRegistrosSEFDoc = DblQtdRegistrosSEFDoc + 1
       
       Loop
    Anexos
    Importação de arquivo CSV apresentando erro AttachmentImagem_dados.jpg
    Você não tem permissão para fazer download dos arquivos anexados.
    (83 Kb) Baixado 4 vez(es)
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Importação de arquivo CSV apresentando erro Empty Re: Importação de arquivo CSV apresentando erro

    Mensagem  Alvaro Teixeira 11/11/2020, 00:41

    Olá Salomao,

    Existe vários exemplos no fórum.
    Já tentou a "Busca" aqui do fórum, veja como fazer:
    https://www.maximoaccess.com/t1115-busca-no-forum-search

    Se mantiver a dúvida, talvez seja melhor partilhar base de dados simples e funcional do que tem para se testar.

    Abraço

      Data/hora atual: 8/11/2024, 15:05