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]Inserir caracteres

    Compartilhe

    joao batista
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 57
    Registrado : 17/11/2011

    [Resolvido]Inserir caracteres

    Mensagem  joao batista em Dom 15 Maio 2016, 14:49

    Senhores, bom dia.
    Preciso gerar um arquivo txt, porém cada campo deverá conter uma quantidade máxima de caracteres, conforme abaixo.

    campo empresa = 60 caracteres
    campo empresa = Imobiliária do Pedro LTDA (25 caracteres)

    no caso acima, preciso inserir espaços em branco de tal forma que o total de caracteres (Imobiliária do Pedro LTDA + espaços em branco) = 60.
    ficaria assim: Imobiliária do Pedro-----------------------------------
    onde (-) seriam apenas espaços em branco

    se o campo empresa tiver 50 caracteres, deverá completar com 10 espaços em branco, e assim por diante...

    Poderiam me ajudar?

    FabioPaes
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2302
    Registrado : 14/08/2013

    Re: [Resolvido]Inserir caracteres

    Mensagem  FabioPaes em Dom 15 Maio 2016, 16:18

    Amigo, não seu sua realidade, ma vi um exemplo para Relatório e Consulta, onde pega o Valor de Um campo e completa com ................... ate o limite X de caracter


    Ex:

    No relatorio tenho o campo NomeCli.  Então pego esse NomeCli, vejo o comprimento e completo com .... ate chegar a 60 Cracter no total.

    =[NomeCli] & Cadeia(60-Compr([NomeCli]);".") 'No propriedade Dados FOnte de Contre de uma caixa texto so colocar isso.

    OU

    Na Consulta, basta colocar isto que ira pegar o Nome do cliente e completar com ............... Para totalizar 60Caracter.
    Clinte:[NomeCli] & Cadeia(60-Compr([NomeCli]);".")

    Troque o "." por " " para Espaço em brano


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    joao batista
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 57
    Registrado : 17/11/2011

    Re: [Resolvido]Inserir caracteres

    Mensagem  joao batista em Dom 15 Maio 2016, 17:24

    Fabio, obrigado pelo retorno.

    testei conforme orientado,
    dá o seguinte erro: Função "Cadeia" indefinida na expressão.


    FabioPaes
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2302
    Registrado : 14/08/2013

    Re: [Resolvido]Inserir caracteres

    Mensagem  FabioPaes em Dom 15 Maio 2016, 18:48

    Amigao, da formo como lhe passei e pra usar em consulta modo Designer... Se for Sql e ou VBA muda pro Ingles.
    SELECT [NomeCli] & String(60-Len([NomeCli]),".") AS 60Caracter FROM tblCliente;
    o ; vai ser ,  
    Como.esta Testando? De mais detalhe, pois assim e complicado passar.de forma correta.


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    joao batista
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 57
    Registrado : 17/11/2011

    Re: [Resolvido]Inserir caracteres

    Mensagem  joao batista em Dom 15 Maio 2016, 19:04

    Fabio,

    Testei em consulta, conforme sua orientação e atingiu o objetivo.

    Peço tua opinião sobre o seguinte.

    Preciso que através de um botão, faça-se os ajustes necessários em relação ao tamanho do campo e preenchimento com espaços vazios como já mencionado.
    Após feito os ajustes, gerar-se-a um arquivo no formato txt já com os campos devidamente ajustados.

    Qual a melhor opção para fazer tais ajustes em relação aos campos antes de gerar o txt?

    FabioPaes
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2302
    Registrado : 14/08/2013

    Re: [Resolvido]Inserir caracteres

    Mensagem  FabioPaes em Dom 15 Maio 2016, 19:19

    Primeiro preciso saber como esta exportando isso...

    Relatorio? Ou Consulta?

    Na minha Opinião Uma consulta e melhor, que poderia ser criado de acordo com a ultima mensagem...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    joao batista
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 57
    Registrado : 17/11/2011

    Re: [Resolvido]Inserir caracteres

    Mensagem  joao batista em Seg 16 Maio 2016, 10:06

    Tenho um formulário, alimentado por uma consulta (nesta consulta estou aplicando o tratamento dos caracteres conforme você me orientou).
    Abaixo, os referidos campoA, campoB... (já configurados pela consulta)

    no botão do formulário, ao clicar:
    Open "C:\Users\H\Desktop\MODELO.txt" For Output As #1
    Print #1, Me.Sistema
    Print #1, Me.campoA & Me.campoB & Data & campoC.Column(0) & campoD & campoE.Column(0)
    Close #1

    a título de conhecimento, caso eu queira fazer o ajuste de quantidade de caracteres ao clicar no botão que gera o arquivo txt, como eu faria?

    E ainda, tenho outra questão: Preciso gerar o arquivo txt informando o detalhamento de cada parcela da seguinte forma:
    VendaA: Parcela1;Comissão1;Imposto1;Parcela2;Comissão2;Imposto2;Parcela3;Comissão3;Imposto3; e assim por diante.
    VendaB: Parcela1;Comissão1;Imposto1;Parcela2;Comissão2;Imposto2;Parcela3;Comissão3;Imposto3; e assim por diante.

    como faço para agrupar em uma única linha todas estas informações, sendo que para cada venda deverá gerar uma nova linha?


    Última edição por joao batista em Seg 16 Maio 2016, 11:30, editado 1 vez(es) (Razão : complemento)

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3348
    Registrado : 04/04/2010

    Re: [Resolvido]Inserir caracteres

    Mensagem  Avelino Sampaio em Seg 16 Maio 2016, 12:04

    Olá!

    A minha dica 54 pode te ajudar como agrupar os registros

    [Você precisa estar registrado e conectado para ver este link.]

    Uma outra forma de acrecentar os espaços é direto na linha PRINTER.  Exemplo:

    Open "C:\Users\H\Desktop\MODELO.txt" For Output As #1
    Print #1, Me.Sistema
    Print #1, Me.campoA & space(60-len(me.campoA)) & Me.campoB & Data & campoC.Column(0) & campoD & campoE.Column(0)
    Close #1


    Sucesso!


    Última edição por Avelino Sampaio em Seg 16 Maio 2016, 12:41, editado 1 vez(es)


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    joao batista
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 57
    Registrado : 17/11/2011

    Re: [Resolvido]Inserir caracteres

    Mensagem  joao batista em Seg 16 Maio 2016, 12:08

    Grande Mestre Avelino, bom dia!!!
    Estarei seguindo as orientações e estudando a dica.

    logo mais informo os resultados.

    joao batista
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 57
    Registrado : 17/11/2011

    Re: [Resolvido]Inserir caracteres

    Mensagem  joao batista em Seg 16 Maio 2016, 16:19

    Avelino, baixei o exemplo da dica 54, e me esclareceu muito.
    Estou estudando os códigos e adequando às minhas necessidades.

    Duvidas:
    Quando vou criar o arquivo txt, utilizando o raciocínio da dica 54 preciso que:

    A Primeira linha do txt sempre será o texto: Relatório (nunca muda, e deverá aparecer somente na primeira linha do txt)

    A segunda linha do txt deverá conter: campos que busco da consulta A (Dados da Empresa nunca muda, e deverá aparecer somente na primeira linha do txt)

    A terceira linha do txt deverá conter campos que busco da consulta C (Parcela recebidas do cliente A)
    A quarta linha do txt deverá conter campos que busco da consulta C (Parcela recebidas do cliente B)

    e caso tenha 50 cliente com parcela pagas, deverá ser gerado linhas subsequentes no txt.

    E possível realizar o que pretendo? Poderia me auxiliar?

    joao batista
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 57
    Registrado : 17/11/2011

    Re: [Resolvido]Inserir caracteres

    Mensagem  joao batista em Ter 17 Maio 2016, 13:36

    Caros colegas, Fábio e Avelino.
    Agradeço muito o paciência e todas as orientações recebidas, todas, sem exceção foram úteis para o meu aprendizado.

    Segui a sugestão do Fábio, e tratei os tamanhos dos campos na consulta, o que ficou muito bom!

    Utilizei as dicas do Avelino (dica 54) convido aos colegas que ainda não viram, que visitem [Você precisa estar registrado e conectado para ver este link.]

    Continuarei a estudar os códigos, e por hora creio que posso finalizar este assunto.

    Obrigado a todos.

    FabioPaes
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2302
    Registrado : 14/08/2013

    Re: [Resolvido]Inserir caracteres

    Mensagem  FabioPaes em Ter 17 Maio 2016, 15:38

    Bacana! Por gentileza, marque o Topico como encerrado, para facilitar a busca no Forum!

    Ate a próxima!

    Obs: A dica postada por mim, salvo engano é de autoria do Avelino Sampaio


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    joao batista
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 57
    Registrado : 17/11/2011

    Re: [Resolvido]Inserir caracteres

    Mensagem  joao batista em Ter 17 Maio 2016, 16:03

    grato a todos.

      Data/hora atual: Dom 04 Dez 2016, 06:02