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 conforme o primeiro dígito

    avatar
    Leonardonc
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 04/07/2012

    Importação conforme o primeiro dígito Empty Importação conforme o primeiro dígito

    Mensagem  Leonardonc 9/11/2012, 00:23

    Como faço para importar txt (largura fixa) usando 03 especificações de acordo com o primeiro dígito da linha? Por exemplo:

    tipo - nome - codigo
    0cabecalho 00
    1ADAO 11
    1BEATRIZ 12
    1CARLOS 13
    9rodape 99

    No caso, as linhas com dígito 1 na primeira coluna são as que iriam para uma tabela.
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    Importação conforme o primeiro dígito Empty Re: Importação conforme o primeiro dígito

    Mensagem  Cláudio Más 9/11/2012, 01:33

    Não sei se entendi bem o problema...

    Não poderia importar todo o arquivo para a tabela, e depois executar uma consulta exclusão, para deletar os registros cujo primeiro dígito é diferente de 1?
    avatar
    Leonardonc
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 04/07/2012

    Importação conforme o primeiro dígito Empty Re: Importação conforme o primeiro dígito

    Mensagem  Leonardonc 9/11/2012, 09:43

    Na verdade, existem arquivos mais complexo como, por exemplo:

    0cabecalho 00
    1ADAO 11
    1BEATRIZ 12
    1CARLOS 13
    1DIOGO 14
    1ELIANE 15
    2contrato12 cancelado
    2contrato14 confirmado
    2contrato15 confirmado
    9rodape 99

    Ou seja, existe uma especificação para o registro 1 e outra para o 2.
    avatar
    Leonardonc
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 04/07/2012

    Importação conforme o primeiro dígito Empty Re: Importação conforme o primeiro dígito

    Mensagem  Leonardonc 9/11/2012, 10:42

    Mas, Claudio, o arquivo é grande. Ficaria pesado se seguir o que você disse.

    A maior lógica que pensei é:

    if (select 1º dígito da linha) = 1 then
    ....especificacao 1
    else
    ....if (select 1º dígito da linha) = 2 then
    ........especificacao 2
    ....end if
    end if
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    Importação conforme o primeiro dígito Empty Re: Importação conforme o primeiro dígito

    Mensagem  Cláudio Más 9/11/2012, 10:44

    Parece que o arquivo tem linhas de diferentes tamanhos.

    É melhor mesmo ler linha a linha e fazer o tratamento adequado, como nesse tópico, por exemplo. Não é utilizada a especificação de importação.


    Última edição por Cláudio Más em 9/11/2012, 10:46, editado 1 vez(es)
    avatar
    Leonardonc
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 04/07/2012

    Importação conforme o primeiro dígito Empty Re: Importação conforme o primeiro dígito

    Mensagem  Leonardonc 9/11/2012, 10:45

    Exatamente. Como? rsrs
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    Importação conforme o primeiro dígito Empty Re: Importação conforme o primeiro dígito

    Mensagem  Cláudio Más 9/11/2012, 10:46

    Clique no link abaixo, conforme a mensagem anterior:

    Exemplo
    avatar
    Leonardonc
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 04/07/2012

    Importação conforme o primeiro dígito Empty Re: Importação conforme o primeiro dígito

    Mensagem  Leonardonc 9/11/2012, 10:49

    Ok. Vou dar uma olhada. Assim que terminar o teste, dou retorno. Obrigado.
    avatar
    Leonardonc
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 04/07/2012

    Importação conforme o primeiro dígito Empty Re: Importação conforme o primeiro dígito

    Mensagem  Leonardonc 14/11/2012, 00:23

    Boa noite. Consegui finalizar do jeito que queria. Estava tentando usar, num único arquivo, duas especificações para duas tabelas distintas. Segue o exemplo para quem quiser consultar:

    Private Sub duas_especificacoes_Click()
    ____Dim DB As DAO.Database
    ____Dim RS As DAO.Recordset
    ____Dim Linha As String
    ________Open "C:\...\teste.txt" For Input As #1
    ____________Set DB = CurrentDb
    ____________Set RS = DB.OpenRecordset("tabela1")
    ____________Set RST = DB.OpenRecordset("tabela2")
    ________________Line Input #1, Linha
    ________________If Mid$(Linha, 2, 8 ) = "cadastro" Then
    ____________________While Not EOF(1)
    ________________________Line Input #1, Linha
    ________________________If Left$(Linha, 1) = "1" Then
    ____________________________With RS
    ________________________________.AddNew
    ________________________________!reg = Mid$(Linha, 1, 1)
    ________________________________!nome = Mid$(Linha, 2, 10)
    ________________________________!cod = Mid$(Linha, 12, 2)
    ________________________________.Update
    ____________________________End With
    ________________________ElseIf Left$(Linha, 1) = "2" Then
    ____________________________With RST
    ________________________________.AddNew
    ________________________________!reg = Mid$(Linha, 1, 1)
    ________________________________!data = Mid$(Linha, 2, 8 )
    ________________________________!idade = Mid$(Linha, 10, 2)
    ________________________________.Update
    ____________________________End With
    ________________________End If
    ____________________Wend
    ____________________MsgBox "Ok."
    ________________Else
    ____________________MsgBox "Não é o arquivo correto."
    ________________End If
    ____________Set RST = Nothing
    ____________Set RS = Nothing
    ____________Set DB = Nothing
    ________Close
    End Sub

    Cláudio Más, agradeço.

    Pessoal, esta é a melhor maneira para o que eu queria? Ou tem outra, mais rápida e confiável?

    Moderadores, podem colocar [RESOLVIDO] no tópico.

    Conteúdo patrocinado


    Importação conforme o primeiro dígito Empty Re: Importação conforme o primeiro dígito

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/11/2024, 22:34