MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Exportação arquivo texto x Tamanho de campo

    avatar
    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 193
    Registrado : 29/04/2011

    [Resolvido]Exportação arquivo texto x Tamanho de campo Empty Exportação arquivo texto x Tamanho de campo

    Mensagem  vinicius.anna em 6/2/2013, 19:03

    Boa tarde

    Estou exportando os dados de uma tabela para um arquivo texto. Para campos como por exemplo, data, o arquivo texto fica correto, pois a data tem o tamanho fixo. Ocorre que possuo um campo de valor, que não possui tamanho fixo e quando faço a exportação, o arquivo fica desalinhado, conforme exemplo:

    2.1.01.01.0001 01 01 2011 D 523,00 No. 57181 Fornecedor.: DA ILHA COM DE ALCOOL LTDA
    1.1.01.01.0001 01 01 2011 C 523,00 No. 57181 Fornecedor.: DA ILHA COM DE ALCOOL LTDA
    2.1.01.01.0001 01 01 2011 D 1450,00 No. 229 Fornecedor:MOINHO CAMPO LARGO
    1.1.01.01.0001 01 01 2011 C 1450,00 No. 229 Fornecedor:MOINHO CAMPO LARGO
    2.1.01.01.0001 01 01 2011 D 11306,64 No.10154,10194,10206 Fornec.: LN DISTR CARNES LTDA
    1.1.01.01.0001 01 01 2011 C 11306,64 No.10154,10194,10206 Fornec.: LN DISTR CARNES LTDA
    2.1.01.01.0001 01 01 2011 D 2608,15 No. 7089 Fornecedor.: PEPSICO DO BRASIL LTDA
    1.1.01.01.0001 01 01 2011 C 2608,15 No. 7089 Fornecedor.: PEPSICO DO BRASIL LTDA
    2.1.01.01.0001 01 01 2011 D 2622,50 No. 71105 Fornecedor.:CARGILL AGRICOLA S/A
    1.1.01.01.0001 01 01 2011 C 2622,50 No. 71105 Fornecedor.:CARGILL AGRICOLA S/A
    2.1.01.01.0001 01 01 2011 D 3014,78 No. 2697503/2697504 Fornecedor.:SPAIPA S/A
    1.1.01.01.0001 01 01 2011 C 3014,78 No. 2697503/2697504 Fornecedor.:SPAIPA S/A

    O código que estou utilizando é este:

    Dim DB As DAO.Database
    Dim RSP As DAO.Recordset
    Dim strSQL As String
    Dim Sai As String
    Set DB = CurrentDb

    strSQL = "SELECT Geral.Conta, Geral.DD, Geral.MM, Geral.AAA, Geral.Class, Geral.Valor, Geral.Comp from Geral"
    Set RSP = DB.OpenRecordset(strSQL)
    strSQL = Application.CurrentProject.Path
    Open strSQL & "\Lancs.txt" For Output As #1

    Print #1, Sai
    With RSP
    .MoveFirst
    Do While Not .EOF
    Sai = Space(0) & (RSP!Conta) & Space(2) & (RSP!DD) & Space(2) & (RSP!MM) & Space(2) & (RSP!AAA) & Space(4) & (RSP!Class) & Space(2) & (RSP!Valor) & Space(2) & (RSP!Comp)
    CtaItens = CtaItens + 1
    Print #1, Sai
    .MoveNext
    Loop
    End With
    MsgBox "Exportado com Sucesso...", vbExclamation, "Lançamentos Contábeis Gerados"
    Set DB = Nothing
    Set RSP = Nothing
    Close #1
    Exit Sub

    Como posso fazer para que os campos de valor e histórico sejam gerados com tamanho fixo, alguém tem alguma dica.

    Att. Vinicius
    criquio
    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11228
    Registrado : 30/12/2009

    [Resolvido]Exportação arquivo texto x Tamanho de campo Empty Re: [Resolvido]Exportação arquivo texto x Tamanho de campo

    Mensagem  criquio em 6/2/2013, 19:15

    Uma ideia pode ser verificar em qual registro o campo tem mais caracteres e preencher os números de espaços que complete esse do maior. Algo como:

    Space(MaiorValor - Len(NomeDoCampo))

    Dependendo da situação ainda pode não ficar perfeitamente enquadrado, uma vez que algumas letras são mais finas que outras e etc. Outra forma seria inserindo TABs no lugar do espaço simples. Em alguns casos, o TAB ficar perfeito.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Exportação arquivo texto x Tamanho de campo Empty Re: [Resolvido]Exportação arquivo texto x Tamanho de campo

    Mensagem  Alexandre Neves em 6/2/2013, 19:17

    Boa noite, vinicius
    Adaptei para Valor. Não vi campo histórico. Tente assim.
    Dim DB As DAO.Database
    Dim RSP As DAO.Recordset
    Dim strSQL As String
    Dim Sai As String
    Dim TamValor as integer

    Set RSP = CurrentDb.OpenRecordset("SELECT Max(Len(Valor)) FROM Geral;")
    TamValor=rsp(0)

    Set DB = CurrentDb

    strSQL = "SELECT Geral.Conta, Geral.DD, Geral.MM, Geral.AAA, Geral.Class, Geral.Valor, Geral.Comp from Geral"
    Set RSP = DB.OpenRecordset(strSQL)
    strSQL = Application.CurrentProject.Path
    Open strSQL & "\Lancs.txt" For Output As #1

    Print #1, Sai
    With RSP
    .MoveFirst
    Do While Not .EOF
    Sai = Space(0) & (RSP!Conta) & Space(2) & (RSP!DD) & Space(2) & (RSP!MM) & Space(2) & (RSP!AAA) & Space(4) & (RSP!Class) & Space(2+TamValor-Len(RSP!Valor)) & (RSP!Valor) & Space(2) & (RSP!Comp)
    CtaItens = CtaItens + 1
    Print #1, Sai
    .MoveNext
    Loop
    End With
    MsgBox "Exportado com Sucesso...", vbExclamation, "Lançamentos Contábeis Gerados"
    Set DB = Nothing
    Set RSP = Nothing
    Close #1
    Exit Sub



    .................................................................................
    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
    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 193
    Registrado : 29/04/2011

    [Resolvido]Exportação arquivo texto x Tamanho de campo Empty Re: [Resolvido]Exportação arquivo texto x Tamanho de campo

    Mensagem  vinicius.anna em 7/2/2013, 13:05

    Bom dia,

    Aos amigos Criquio e Alexandre o meu muito obrigado pela dica/ajuda que foi de extrema utilidade. O problema mencionado anteriormente foi resolvido, porém, estou exportando lançamentos contábeis bem como o plano de contas, na exportação de meu plano de contas, preciso definir leiaute fixo para isto, para conta contábil é simples pois o campo tem tamanho fixo, já na nomenclatura (que é um campo de 40 posições) ao exportar desloca-se as demais colunas, conforme exemplo abaixo:

    100000000 ATIVO CIRCULANTE A
    100000000 DISPONÍVEL 2
    100000000 CAIXA GERAL 3
    100000001 Caixa Central 4
    100010000 BANCOS CONTA MOVIMENTO 3
    100010001 Banco c/ Movimento 4
    100010002 BANCO DO BRASIL S/A 4
    100010003 Banco HSBC Bank S/A 4
    100010004 Caixa Economica Federal 4
    100010005 Banco Itau S/A 4
    100010006 ( - ) Cheques Emitidos a Compensar 4
    100020000 APLICAÇÕES FINANCEIRAS 3
    100020001 Aplicações Financeiras 4

    O código que estou utilizando é o mesmo que postei anteriormente. Alguém tem mais alguma dica de como possa resolver.

    Obrigado

    Att. Vinicius
    criquio
    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11228
    Registrado : 30/12/2009

    [Resolvido]Exportação arquivo texto x Tamanho de campo Empty Re: [Resolvido]Exportação arquivo texto x Tamanho de campo

    Mensagem  criquio em 7/2/2013, 14:06

    Quando precisar mostrar um bloco de texto irregular como esse, utilize a função "Code" na postagem de mensagens ou a tag <pre> para que o texto fique exatamente como quer mostrar. Eu editei esse último com as tags <pre> Texto </pre> para que ficasse visível o que queria mostrar.

    Você tentou substituir os espaços por vbTab conforme mencionei anteriormente?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 193
    Registrado : 29/04/2011

    [Resolvido]Exportação arquivo texto x Tamanho de campo Empty Re: [Resolvido]Exportação arquivo texto x Tamanho de campo

    Mensagem  vinicius.anna em 7/2/2013, 15:38

    Boa tarde,

    Criquio

    Através de sua dica anteriormente passada estou pesquisando no site da msdn sobre o tab realmente é o que preciso....., mas não consegui utilizá-lo de forma correta.

    Obrigado
    avatar
    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 193
    Registrado : 29/04/2011

    [Resolvido]Exportação arquivo texto x Tamanho de campo Empty Re: [Resolvido]Exportação arquivo texto x Tamanho de campo

    Mensagem  vinicius.anna em 13/2/2013, 11:20

    Bom dia

    Usando o vbTab, visualmente o arquivo fica OK, mas, como após importar no banco preciso importá-lo também em um arquivo ISAM, em hexa o tab desloca o registro......, ai corrompe o arquivo....., há alguma outra forma para que possa fazê-lo?

    Obrigado

    Att. Vinicius
    criquio
    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11228
    Registrado : 30/12/2009

    [Resolvido]Exportação arquivo texto x Tamanho de campo Empty Re: [Resolvido]Exportação arquivo texto x Tamanho de campo

    Mensagem  criquio em 13/2/2013, 11:34

    Inicialmente você exporta e depois importa novamente? Não seria melhor passar direto para o destino final sem exportar para txt antes? Explique melhor.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 193
    Registrado : 29/04/2011

    [Resolvido]Exportação arquivo texto x Tamanho de campo Empty Re: [Resolvido]Exportação arquivo texto x Tamanho de campo

    Mensagem  vinicius.anna em 13/2/2013, 12:16

    Bom dia,

    Desculpe não detalhar anteriormente:
    - Trata-se de um processo de integração entre dois sistemas, um ERP que gera informações (em Access) que gera lançamentos contábeis para um sistema de terceiros, que usa ISAM, por isso, a pedido do próprio cliente ele prefere que, primeiro, gere-se o arquivo TXT para depois importar novamente no destino final para que ele mantenha a conciliação de lançamentos contábeis em seu controle.

    Att. Vinicius
    criquio
    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11228
    Registrado : 30/12/2009

    [Resolvido]Exportação arquivo texto x Tamanho de campo Empty Re: [Resolvido]Exportação arquivo texto x Tamanho de campo

    Mensagem  criquio em 13/2/2013, 12:22

    Então, considerando que não seja possível manipular os dados antes da importação no destino final, o melhor seria exportar normalmente, sem adicionar espaços e nem nada, mantendo o layout do documento exportado com o caractere separador de colunas, seja ele ponto e vírgula ou outro. Ou então, caso esse todo alinhadinho seja mesmo necessário, poderia exportar dois arquivos, sendo um todo engomadinho e o outro no esquema para a importação final. A não ser que esse programa final permita mudar o layout novamente para o formato original. Se você tiver acesso a isso, pode fazer o processo inverso no txt.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 193
    Registrado : 29/04/2011

    [Resolvido]Exportação arquivo texto x Tamanho de campo Empty Re: [Resolvido]Exportação arquivo texto x Tamanho de campo

    Mensagem  vinicius.anna em 13/2/2013, 17:28

    Boa tarde

    Pior que não possuo muita "flexibilidade" em relação ao software de terceiro utilizado pelo cliente ele tem um layout fixo e quer que eu gere de forma fixa....., por exemplo:
    Campo conta - posição 1 - Tamanho 9
    Campo Codigo reduzido - posição 10 - Tamanho 7
    Campo Nomenclatura - posição 18 - tamanho 40.....

    Att. Vinicius
    avatar
    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 193
    Registrado : 29/04/2011

    [Resolvido]Exportação arquivo texto x Tamanho de campo Empty Re: [Resolvido]Exportação arquivo texto x Tamanho de campo

    Mensagem  vinicius.anna em 14/2/2013, 12:49

    Bom dia,

    Muito obrigado pela atenção, após suas dicas consegui resolver meu problema.

    Att. Vinicius
    avatar
    Liomar
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 16/08/2012

    [Resolvido]Exportação arquivo texto x Tamanho de campo Empty Re: [Resolvido]Exportação arquivo texto x Tamanho de campo

    Mensagem  Liomar em 20/2/2020, 15:23

    Oh amigo, porque não postou o resultado final da solução encontrada? Me ajudaria, pois estou com a mesma dificuldade, apesar de seguir pelo norte aqui sugerido.

      Data/hora atual: 10/8/2020, 06:53