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]Alterar bloco de texto Replace

    4nderson
    4nderson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 62
    Registrado : 25/03/2022

    [Resolvido]Alterar bloco de texto Replace Empty [Resolvido]Alterar bloco de texto Replace

    Mensagem  4nderson 11/4/2022, 00:44

    Olha eu aqui de novo!  Very Happy

    O código da mensagem nº 18 deu muito certo! Um sucesso total!

    No entanto, eu precisei substituir condicionalmente diferentes blocos de texto da string resultante.
    Ou seja, com base no nome do arquivo eu precisei adaptar a exibição da string. E para isso eu usei a função Replace.

    Os nomes dos arquivos estão nesse formato:
    Balanço-01-2022

    Quero que as strings fiquem assim:
    Janeiro/2022
    Fevereiro/2022
    Março/2022

    E assim sucessivamente... de acordo com a base de dados selecionada.

    O bom é que eu resolvi. O que me pareceu estranho foi a forma como eu usei a função Replace.
    Fiz por intuição, mas desconfio que exista um jeito mais prático de atingir esse resultado. No final do seu código eu acrescentei a seguinte linha:

    Código:
    fncRetiraNomeFicheiro = Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(sTmp, "Balanço-", ""), "-", "/"), "01/", "Janeiro/"), "02/", "Fevereiro/"), "03/", "Março/"), "04/", "Abril/"), "05/", "Maio/"), "06/", "Junho/"), "07/", "Julho/"), "08/", "Agosto/"), "09/", "Setembro/"), "10/", "Outubro/"), "11/", "Novembro/"), "12/", "Dezembro/")

    Não sei se esse é o melhor jeito de fazer isso (Replace "em camadas"), mas deu certo!

    P.S: Desculpe minha insistência neste tópico, mas dessa vez eu quis apenas contribuir compartilhando a conclusão, para quem possa interessar.
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7613
    Registrado : 15/03/2013

    [Resolvido]Alterar bloco de texto Replace Empty Re: [Resolvido]Alterar bloco de texto Replace

    Mensagem  Alvaro Teixeira 11/4/2022, 11:50

    Olá,

    Pode obter o que pretende, com a função nativa "format" e capturando os ultimos sete digitos, algo assim:
    Código:
    SeuCampo = Format(Right([CampoOuStringParaAjustar], 7), "mmmm/yyyy")

    Abraço

    4nderson gosta desta mensagem

    4nderson
    4nderson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 62
    Registrado : 25/03/2022

    [Resolvido]Alterar bloco de texto Replace Empty Re: [Resolvido]Alterar bloco de texto Replace

    Mensagem  4nderson 11/4/2022, 13:12

    Saudações, meu nobre!

    Sua solução foi tão simples e elegante que a minha linha pareceu ridícula.

    Obrigado pelo retorno!
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7613
    Registrado : 15/03/2013

    [Resolvido]Alterar bloco de texto Replace Empty Re: [Resolvido]Alterar bloco de texto Replace

    Mensagem  Alvaro Teixeira 11/4/2022, 14:32

    Olá Anderson Rodrigues,

    Com tempo vai ficar especialista, está no fórum certo Wink
    Obrigado pelo feedback, o fórum agradece.

    Abraço

      Data/hora atual: 1/10/2022, 16:29