MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]centralizar somente uma linha em caixa de texto de um relatório

    Compartilhe

    delsonk
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 99
    Registrado : 26/11/2013

    [Resolvido]centralizar somente uma linha em caixa de texto de um relatório

    Mensagem  delsonk em 13/6/2018, 14:20

    O conteúdo abaixo é exibido na caixa de texto text_Diploma, em um relatório do Access.

    O formato do texto está: Rich Text e o alinhamento do texto está: Distribuir

    Consegui formatar em negrito colocando entre as tags: , mas as tags
    " não funcionam para centralizar.

    Desejo que, somente a linha que está em negrito ([P_Grad] e [Tbl_Expedicao.Nome]) fiquem centralizados no diploma.

    Segue anexo como exemplo arquivo teste_Rel_Diploma.pdf para visualizar como quero o formato.

    txt_Diploma = "

              O     Comandante     do     Exército     outorga    ao(à)
    " & _
       "" & [P_Grad] & "" & "  " & "" & [Tbl_Expedicao.Nome] & "
    " & _
       " a  Medalha  do  Pacificador  pelos  assinalados  serviços  prestados  ao  Exército  Brasileiro,  tendo  se  tornado  credor(a)  de  homenagem  especial  da  Instituição." & "

    " & _
       "

              E,  para  constar,  mandou  expedir  o  presente  diploma.

    "
    Anexos
    teste_Rel_Diploma.pdf
    Você não tem permissão para fazer download dos arquivos anexados.
    (278 Kb) Baixado 13 vez(es)


    Última edição por delsonk em 27/6/2018, 14:02, editado 1 vez(es)
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]centralizar somente uma linha em caixa de texto de um relatório

    Mensagem  Alexandre Neves em 14/6/2018, 21:43

    Boa noite,
    Tente
    Código:
    txt_Diploma = "<p>           O     Comandante     do     Exército     outorga    ao(à)</p><br>" & _
      "<p style='text-align:center'><b>" & [P_Grad] & "  " & [Tbl_Expedicao.Nome] & "</b></p> <br>" & _
      "<p> a  Medalha  do  Pacificador  pelos  assinalados  serviços  prestados  ao  Exército  Brasileiro,  tendo  se  tornado  credor(a)  de  homenagem  especial  da  Instituição." & "</p>" & _
      "<p>           E,  para  constar,  mandou  expedir  o  presente  diploma.</p>"


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

    delsonk
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 99
    Registrado : 26/11/2013

    Re: [Resolvido]centralizar somente uma linha em caixa de texto de um relatório

    Mensagem  delsonk em 15/6/2018, 18:46

    Boa tarde, Alexandre Neves.

    Obrigado pela sua ajuda!

    segui a sua sugestão mas infelizmente não surtiu o resultado esperado, ou seja, não consegui deixar a linha:
    "<p style='text-align:center'><b>" & [P_Grad] & "  " & [Tbl_Expedicao.Nome] & "</b></p> <br>" & _
    centralizada no relatório.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]centralizar somente uma linha em caixa de texto de um relatório

    Mensagem  Alexandre Neves em 15/6/2018, 22:16

    Boa noite,
    Tente
    Código:
    txt_Diploma = "<p>          O    Comandante    do    Exército    outorga    ao(à)</p><br>" & _
      "<p align="center"><b>" & [P_Grad] & "  " & [Tbl_Expedicao.Nome] & "</b></p> <br>" & _
      "<p> a  Medalha  do  Pacificador  pelos  assinalados  serviços  prestados  ao  Exército  Brasileiro,  tendo  se  tornado  credor(a)  de  homenagem  especial  da  Instituição." & "</p>" & _
      "<p>          E,  para  constar,  mandou  expedir  o  presente  diploma.</p>"


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

    delsonk
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 99
    Registrado : 26/11/2013

    Re: [Resolvido]centralizar somente uma linha em caixa de texto de um relatório

    Mensagem  delsonk em 18/6/2018, 15:22

    Bom dia,

    infelizmente o código acima também não deu o resultado esperado.
    Estou pensando em fazer um While para adicionar os espaços necessários, de modo que o campo fique centralizado, através da inserção de um paragrafo, baseado no total em caracteres existente na linha da caixa de texto e no comprimento (Len) e na quantidade de caracteres do texto a centralizar.

    Algo assim:

    Option Explicit 'Compare Database

    Public Sub Detalhe_Format(Cancel As Integer, FormatCount As Integer)
    Dim paragrafo As String
    Const espaco = " "
    Dim i, comprimento As Integer

    i = 0
    comprimento = 0

    comprimento = Len(P_Grad & "  " & [Tbl_Expedicao.Nome])
       If comprimento < 58 Then                              ' 58 é comprimento em caracteres do espaço horizontal da caixa de texto
          comprimento = (58 - comprimento) / 2        ' cálculo do espaço para começar o texto
          Do While comprimento > i
           i = i + 1
           paragrafo = paragrafo & espaco
          Loop
       End If
       txt_Diploma = "           O     Comandante     do     Exército     outorga    ao(à)<br>" & _
     paragrafo & "<b>" & [P_Grad] & "  " & [Tbl_Expedicao.Nome] & "</b></p>" & _
     "<p> a  Medalha  do  Pacificador  pelos  assinalados  serviços  prestados  ao  Exército  Brasileiro,  tendo  se  tornado  credor(a)  de  homenagem  especial  da  Instituição." & "</p>" & _
     "<p>           E,  para  constar,  mandou  expedir  o  presente  diploma.</p>"

    delsonk
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 99
    Registrado : 26/11/2013

    Re: [Resolvido]centralizar somente uma linha em caixa de texto de um relatório

    Mensagem  delsonk em 27/6/2018, 13:52

    Funcionou perfeitamente desta forma:


    mStr = (P_Grad & "  " & [Tbl_Expedicao.Nome])
       
       txt_Diploma = "           O     Comandante     do     Exército     outorga    ao(à)<br>" & _
                     "<b> <p align=center>" & mStr & "</b></p>" & _
                     "<p> a  Medalha  do  Pacificador  pelos  assinalados  serviços  prestados  ao  Exército  Brasileiro,  tendo  se  tornado  credor(a)  de  homenagem  especial  da  Instituição." & "</p>" & _
                     "<p>           E,  para  constar,  mandou  expedir  o  presente  diploma.</p>"


    Muitíssimo obrigado Alexandre Neves pelo auxílio. Sua dica estava correta mas demorei para acertar os detalhes.

    Saudações

      Data/hora atual: 21/9/2018, 03:58