MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Exportar com largura fixa via VBA

    Compartilhe

    CarlosAccess
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 25/03/2013

    Exportar com largura fixa via VBA

    Mensagem  CarlosAccess em Ter 29 Out 2013, 19:44

    Bom dia pessoal, sou relativamente novo no Fórum já tirei algumas dúvidas e gostaria de agradecer a todos vocês.

    Estou com um problema ao exportar uma tabela para TXT, com layout definido onde migrarei para outro sistema. Já fiz várias formatações e o único problema que me falta resolver é que não consigo exportar com largura fixa um campo que não tenha dados, por exemplo:

    Tenho uma tabela em que o campo data não é obrigatório, logo em alguns registros este campo estará em branco e é justamente ai que causa a distorção no meu TXT. Ao exportar obtenho o seguinte resultado:

    Data             DataBaixa     CodUnidade    CodOrgao

    Resultado Obtido:
     
    01102013       29102013           6                 7
    01102013       16102013           5                 7
    01102013       6                 7
    05102013       13102013           6                 7  
    01102013       6                 7
    01102013       16102013           5                 7

    Resultado esperado:

    01102013       29102013           6                 7
    01102013       16102013           5                 7
    01102013      ----------------         6                 7
    05102013       13102013           6                 7
    01102013      ----------------         6                 7
    01102013       16102013           5                 7

    Conto com a colaboração de todos e espero poder resolver esse probleminha aqui.


    Última edição por CarlosAccess em Ter 29 Out 2013, 22:10, editado 1 vez(es)

    clebergyn
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 519
    Registrado : 29/08/2012

    Re: [Resolvido]Exportar com largura fixa via VBA

    Mensagem  clebergyn em Ter 29 Out 2013, 21:49

    Olha, pelo que esta mostrando, é só voce fazer um tratamento de preencher "vazio" no campo data null ou que vem vazio, e voce pode fazer isso em uma outra consulta e depois exportar esta consulta,
    bem se não for exatamente isso envie seu banco convertido em Access 2003, por favor, zipado, para dar uma olhada e te envio de volta

    CarlosAccess
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 25/03/2013

    Re: [Resolvido]Exportar com largura fixa via VBA

    Mensagem  CarlosAccess em Ter 29 Out 2013, 23:56

    Obrigado Cleber, farei isso agora...

    CarlosAccess
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 25/03/2013

    Re: [Resolvido]Exportar com largura fixa via VBA

    Mensagem  CarlosAccess em Qua 30 Out 2013, 00:14

    Segue BD e junto um txt com a formatação correta.
    Anexos
    ExportarTxt.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (33 Kb) Baixado 8 vez(es)

    clebergyn
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 519
    Registrado : 29/08/2012

    Re: [Resolvido]Exportar com largura fixa via VBA

    Mensagem  clebergyn em Qua 30 Out 2013, 02:35

    Carlos, não sei se posso te ajudar, achei que sua duvida não era sobre "recordset", e fiz usando especificações via DoCmd.TransferText,
    se desta maneira servir, beleza, está em anexo

    agora se voce quer fazer da maneira que estava fazendo, outra pessoa no site
    vai poder te ajudar melhor, então refaça sua pergunta ou espere outro instrutor ok

    até
    Anexos
    ExoprtarTxT.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (58 Kb) Baixado 13 vez(es)

    CarlosAccess
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 25/03/2013

    Re: [Resolvido]Exportar com largura fixa via VBA

    Mensagem  CarlosAccess em Qua 30 Out 2013, 02:52

    Bom dia Cleber, ainda estou tentando adaptar a minha situação com a solução que você me apresentou.
    Se eu tivesse como fazer essa exportação direto da tabela ao invés da consulta facilitaria para mim.

    Enquanto isso se algum instrutor puder me ajudar a formatar esta string resolveria todo meu problema, pois é a única coisa que falta para terminar o meu projeto.

     Replace(Format(RSP!DataBaixa, "@@@@@@@@"), "/", "") & Space(0) & Format(RSP!CodOrgao, "@@@@") & Space(0) & Format(RSP!CodUnidadeOrcamentaria, "@@@@") & Space(0) & (RSP!Numeracao)
               
    Preciso que me retorne espaços em branco caso o valor do registro seja Null

    clebergyn
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 519
    Registrado : 29/08/2012

    Re: [Resolvido]Exportar com largura fixa via VBA

    Mensagem  clebergyn em Qua 30 Out 2013, 15:50

    Ja tentou o IIF que é o mesmo SeImed tipo
    IIF(IsNull(RSP!DataBaixa),"   10 espaços     ",Replace(Format(RSP!DataBaixa, "@@@@@@@@"), "/", ""))
    pode ser que dê certo

    ou
    dim d
    if Isnull(RSP!DataBaixa) then
    d="  10 espaços      "
    else
    d = RSP!DataBaixa
    end if
    Replace(Format(d, "@@@@@@@@"), "/", "")

    eu fiz e deu certo, veja em anexo
    Anexos
    ExoprtarTxT.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (74 Kb) Baixado 11 vez(es)


    Última edição por clebergyn em Qua 30 Out 2013, 16:31, editado 1 vez(es)

    CarlosAccess
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 25/03/2013

    Re: [Resolvido]Exportar com largura fixa via VBA

    Mensagem  CarlosAccess em Qua 30 Out 2013, 19:00

    Olá Cleber, estou muito agradecido pela sua dedicação em querer me ajudar e foi à partir da sua ideia que consegui desenvolver a formatação necessária para exportação da minha tabela.
    Eu consegui resolver através de uma consulta acréscimo em que faço a concatenação das duas datas "Data" e "DataBaixa", e no mesmo campo eu retiro os separadores através de um "Replace(SeuCampo; ","; ".")". Ao executar a consulta ela ja transfere as datas que eram os meus problemas formatadas para a tabela que preciso para fazer a exportação, no VBA eu formato essa String usando o "Len". Coloco tudo no "ao clicar" do botão exportar e pronto.

    Do outro jeito ficou um pouco complicado para mim pelo fato de não possuir o conhecimento necessário para manipulação desses códigos que você me passou, mas tenho certeza que seria um forma sensacional para resolver o meu problema também.

    Gostaria que você testasse para ver como ficou, só não sei como tirar essa primeira linha em branco que aparece no Txt, caso você saiba me ajude por favor.

    Deixarei aqui o exemplo convertido para 2003 caso alguém precise.

    Um grande abraço, e estarei sempre por aqui.
    Anexos
    TesteExportarSiga.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (211 Kb) Baixado 12 vez(es)

    CarlosAccess
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 25/03/2013

    Re: [Resolvido]Exportar com largura fixa via VBA

    Mensagem  CarlosAccess em Qua 30 Out 2013, 19:02

    Obrigado.

      Data/hora atual: Sex 09 Dez 2016, 03:51