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

    [Resolvido]Ajustar tabela txt tabulada importada em uma nova

    avatar
    jbulhoes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 15/04/2014

    [Resolvido]Ajustar tabela txt tabulada importada em uma nova Empty [Resolvido]Ajustar tabela txt tabulada importada em uma nova

    Mensagem  jbulhoes 26/4/2014, 13:23

    Pessoal, bom dia.


    Aprendi muita coisa lendo os tópicos desse fórum, gostaria de primeiramente agradecer ao pessoal que colabora e de forma inteligente, dedica parte de seu tempo a ajudar outras pessoas e vou a medida do tempo estar colaborando também.

    Meu problema é que tenho que importar arquivo txt  que vem de forma tabulada e com os campos distribuídos da seguinte forma:

    (material/Atualização)                        ValorR$
    Campo1               Campo2        Campo3

    01.0024.0234.0

    01/2008
                         Referência          27,8000
    06/2001
                         Referência           14,8720

    01.0030.0630.4

    03/2012
                          Referência         3,2400
    08/2005
                          Referência         4,1880
    09/2004
                          Referência         3,3200
    02/2004
                          Referência         3,4200


    Criei uma nova tabela para receber os dados temporariamente só que pegando sempre o mês mais recente para cada atualização do código do material:

    A tabela tem que ficar assim:


    Campo1               Campo2           Campo3

    01.0024.0234.0       01/2008       27,8000
    01.0030.0630.4       03/2012         3,2400


    Criei a função abaixo mais não está acertando porque tenho que identificar o formato do campo para que possa mover na tabela de origem. Por favor, já tentei durante horas e realmente não consigo terminar.

    Function Preencher() As Boolean
    Dim TMat, TMat1 As DAO.Recordset
    Dim x
    Set TMat = CurrentDb.OpenRecordset("Precoreferencial2")
    Set TMat1 = CurrentDb.OpenRecordset("Precoreferencial3")
    x = Format(TMat(0), "00\.0000\.0000\.0")
     
    Do While Not TMat.EOF
    If Not IsNull(TMat(0) = x) Then
     TMat1.AddNew
     TMat1(0) = TMat(0)
     TMat.MoveNext
     TMat1(1) = TMat(0)
     TMat.MoveNext
     TMat1(2) = TMat(2)
     TMat1.Update
     TMat.MoveNext
     Else
     TMat.MoveNext
     End If

    Loop
         
    TMat.Close
    TMat1.Close
    Exit Function
    End Function


    Abraço a todos


    Última edição por jbulhoes em 26/4/2014, 14:09, editado 2 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Ajustar tabela txt tabulada importada em uma nova Empty Re: [Resolvido]Ajustar tabela txt tabulada importada em uma nova

    Mensagem  Alexandre Neves 26/4/2014, 13:38

    Boa tarde e bem-vindo ao fórum
    Disponibilize matéria para se trabalhar


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 15/04/2014

    [Resolvido]Ajustar tabela txt tabulada importada em uma nova Empty Arquivo Disponibilizado

    Mensagem  jbulhoes 26/4/2014, 14:07

    Obrigado Alexandre, segue arquivo , esqueci, desculpas.
    avatar
    jbulhoes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 15/04/2014

    [Resolvido]Ajustar tabela txt tabulada importada em uma nova Empty [Resolvido]Ajustar tabela txt tabulada importada em uma nova

    Mensagem  jbulhoes 29/4/2014, 22:26

    Alexandre, agradeço a atenção.

    Fiquei alguns dias concluindo outras partes do banco e depois de algumas horas quebrando a cabeça, consegui resolver. Para isso fiz testes para localizar o formato do campo (0) da tabela importada e depois ficou até fácil. Se tiver algum colega que tenha uma idéia otimizada a respeito, fique à vontade, até porque devem existir várias maneiras de fazer a mesma coisa.


    Function UpdatePU() As Boolean
    Dim TMat, TMat1 As DAO.Recordset
    Dim strSQL, strSQLI
    Set TMat = CurrentDb.OpenRecordset("Precoreferencial2")
    Set TMat1 = CurrentDb.OpenRecordset("Tbl_Prunit")
     
    Do While Not TMat.EOF
    If (TMat(0) = Format(TMat(0), "00\.0000\.0000\.0")) Then
     TMat1.AddNew
    'TMat1(0) = Left(TMat(0), InStr(1, TMat(0), ".") - 0) & Left(Mid(TMat(0), InStr(4, TMat(0), ".") - 3), 4) & Right(TMat(0), InStr(4, TMat(0), ".") - 3) -----  Com pontuação
     TMat1(0) = Left(TMat(0), InStr(1, TMat(0), ".") - 1) & Left(Mid(TMat(0), InStr(4, TMat(0), ".") - 3), 3) & Right(Left(Right(TMat(0), InStr(5, TMat(0), ".") - 1), 5) & Right(TMat(0), InStr(11, TMat(0), ".") - 12), 4) '----  Sem pontuação
     TMat.MoveNext
     TMat1(1) = Trim(TMat(0))
     TMat.MoveNext
     TMat1(2) = TMat(2)
     TMat1.UPDATE
     Else
     TMat.MoveNext
     End If
    Loop


    'Atualiza os dados da tabela principal de materais
    DoCmd.SetWarnings False
    strSQL = "UPDATE Tbl_Mat INNER JOIN Tbl_Prunit ON Tbl_Mat.COD_MAT = Tbl_Prunit.Campo1 SET Tbl_Mat.PRECOUNIT = [Tbl_Prunit]![Campo3], Tbl_Mat.UPDATESISTEM = Now();"
    DoCmd.RunSQL (strSQL)
    DoCmd.SetWarnings False

    'Apaga os dados da tabela temporária Tbl_Prunit
    'DoCmd.SetWarnings False
    'strSQLI = "Delete * from Tbl_Prunit"
    'DoCmd.RunSQL (strSQLI)
    'DoCmd.SetWarnings False

    TMat.Close
    TMat1.Close
    Exit Function
    End Function


    Obrigado ao fórum pelo espaço.


    Última edição por jbulhoes em 30/4/2014, 20:45, editado 1 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Ajustar tabela txt tabulada importada em uma nova Empty Re: [Resolvido]Ajustar tabela txt tabulada importada em uma nova

    Mensagem  Alexandre Neves 30/4/2014, 18:57

    Boa tarde,
    Mantenha o título para apresentar o assunto tratado.
    [Resolvido]Ajustar tabela txt tabulada importada em uma nova MaximoAccess%20ResolvidoMarcado


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

    Conteúdo patrocinado


    [Resolvido]Ajustar tabela txt tabulada importada em uma nova Empty Re: [Resolvido]Ajustar tabela txt tabulada importada em uma nova

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 01:52