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]Quebra de linha em campo memorando pelo vba

    Compartilhe

    efrain_ben-orion
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 28/04/2014

    [Resolvido]Quebra de linha em campo memorando pelo vba

    Mensagem  efrain_ben-orion em Ter 10 Jun 2014, 18:12

    Aí galera,
    Estou apanhando no seguinte código:

    Me.objeto_viagem = Me.viagem & vbCrLf & " texto"

    Não estou conseguindo fazer com que o campo exiba os dois textos em linhas diferentes, ou seja, quero que o texto " texto" desça uma linha do texto Me.viagem.
    No entanto mesmo usando o vbCrLf ou o vbNewLine os dois textos ficam na mesma linha.

    Obs: O texto do campo Me.viagem vem de outro campo do tipo memorando. O texto " texto" será gravado no código.
    Alguém pode me ajudar?


    .................................................................................
    Quanto mais aprendemos, mas fica comprovada a nossa ignorância!

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Quebra de linha em campo memorando pelo vba

    Mensagem  Alexandre Neves em Ter 10 Jun 2014, 19:09

    Boa tarde,
    Procure aqui no fórum


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

    efrain_ben-orion
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 28/04/2014

    Re: [Resolvido]Quebra de linha em campo memorando pelo vba

    Mensagem  efrain_ben-orion em Ter 10 Jun 2014, 19:32

    É como eu disse, já testei todas essas sugestões e nada. O texto continua em uma só linha das duas formas:
    Me.objeto_viagem = Me.viagem & vbCrLf & " texto"
    Me.objeto_viagem = Me.viagem & vbNewLine & " texto"


    .................................................................................
    Quanto mais aprendemos, mas fica comprovada a nossa ignorância!

    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3236
    Registrado : 20/04/2011

    Re: [Resolvido]Quebra de linha em campo memorando pelo vba

    Mensagem  Silvio em Ter 10 Jun 2014, 19:43

    Já experimentou inverter os devidos campos ?

    Me.objeto_viagem = "texto" & vbCrLf _
    & Me.viagem



    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Quebra de linha em campo memorando pelo vba

    Mensagem  Alexandre Neves em Ter 10 Jun 2014, 19:51

    Não tinha reparado nesse pormenor.
    Esse campo também é do tipo memorando?


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

    efrain_ben-orion
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 28/04/2014

    Re: [Resolvido]Quebra de linha em campo memorando pelo vba

    Mensagem  efrain_ben-orion em Ter 10 Jun 2014, 20:25

    Silvio, os textos devem estar nessa ordem, pois o segundo, quando adicionado é uma complementação do primeiro, só que em novo parágrafo.
    Alexandre, os campos são do mesmo tipo, memo.
    Pra ser mais específico, o segundo texto é uma complementação do 1º, onde este pode ser o próprio campo, pois existe uma função para apenas adicionar o segundo texto após o primeiro se um certo critério for atendido.
    Assim:
    Tenho o campo Objeto_viagem, que especifica o relato da viagem a ser feita.
    Tenho um botão que quando clicado ele divide o valor da diária pela metade, tendo como base uma lei do nosso Estado.
    Então, o botão que vai inserir o texto no campo Objeto_viagem, verifica se o botão que divide o valor da diária está acionado, e se sim, ele deve, além de inserir um texto automaticamente no campo (texto gravado no código fonte), usar o próprio campo para inserir a referida lei em um novo parágrafo.

    Me.Objeto_viagem = Me.Objeto_viagem & "Perceberá o valor correspondente a metade das diárias, conforme Art. 3º, § 1º do Decreto 14.910, de 03/08/2012, Item III."

    Se o campo já estiver preenchido, a função deve apenas acrescentar o texto acima em um novo parágrafo.

    Viajar a serviço do Gabinete Militar da Governadoria, na função de Ajudante de Ordens, a fim de acompanhar e assessorar o Exmº. Senhor Governador do Estado do Piauí, conforme Art. 5º do Decreto 14.910, de 03/08/2012.
    Perceberá o valor correspondente a metade das diárias, conforme Art. 3º, § 1º do Decreto 14.910, de 03/08/2012, Item III.


    É dessa forma que preciso que o texto fique, no entanto ele está ficando assim:

    Viajar a serviço do Gabinete Militar da Governadoria, na função de Ajudante de Ordens, a fim de acompanhar e assessorar o Exmº. Senhor Governador do Estado do Piauí, conforme Art. 5º do Decreto 14.910, de 03/08/2012. Perceberá o valor correspondente a metade das diárias, conforme Art. 3º, § 1º do Decreto 14.910, de 03/08/2012, Item III.

    Já tentei as duas forma do vb (vbCrLf e vbNewLine) entre os textos e nada resolveu. Também não dá nenhum erro.
    No campo, através do formulário, pode dar um enter depois do 1º texto que fica no formato desejado, mas seria interessante que o vba fizesse isso sem que fosse preciso editar.



    .................................................................................
    Quanto mais aprendemos, mas fica comprovada a nossa ignorância!

    efrain_ben-orion
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 28/04/2014

    Re: [Resolvido]Quebra de linha em campo memorando pelo vba

    Mensagem  efrain_ben-orion em Ter 10 Jun 2014, 20:52

    Estou inserindo o meu código:

    Private Sub Auto_Preencher_Objeto_Click()
      Dim objeto As String
      If Me.Objeto_viagem <> "" Then
          If Me.Aplicar_leiDiária.Visible = False Then
              objeto = Me.Objeto_viagem
              objeto = objeto & vbCrLf & "               Perceberá o valor correspondente " _
              & "a metade das diárias, conforme Art. 3º, § 1º do Decreto 14.910, de 03/08/2012, Item III."
          End If
          Exit Sub

      Else
          If Me.Função = "Ajudante de Ordens" Then
              objeto = "               Viajar a serviço do Gabinete Militar da Governadoria, " _
              & "na função de " & Me.Função & ", a fim de acompanhar e assessorar o Exmº. Senhor " _
              & "Governador do Estado do Piauí e/ou Dignitários e demais Autoridades, conforme Art. 5º do Decreto 14.910, de 03/08/2012."
          ElseIf Me.Função = "Ajudante de Ordens do Governador" Then
              objeto = "               Viajar a serviço do Gabinete Militar da Governadoria, " _
              & "na função de " & Me.Função & ", a fim de acompanhar e assessorar o Exmº. Senhor " _
              & "Governador do Estado do Piauí, conforme Art. 5º do Decreto 14.910, de 03/08/2012."
          ElseIf Me.Função = "Ajudante de Ordens da 1ª Dama" Then
              objeto = "               Viajar a serviço do Gabinete Militar da Governadoria, " _
              & "na função de " & Me.Função & ", a fim de acompanhar e assessorar a 1ª Dama " _
              & "do Estado do Piauí, conforme Art. 5º do Decreto 14.910, de 03/08/2012."
          Else
              objeto = "               Viajar a serviço do Gabinete Militar da Governadoria, na função de " & Me.Função & _
              ", a fim de acompanhar o Exmº. Senhor Governador do Estado do Piauí e/ou demais Autoridades."
          End If
      End If

      If Me.Aplicar_leiDiária.Visible = False Then
          objeto = objeto & vbCrLf & "               Perceberá o valor correspondente " _
          & "a metade das diárias, conforme Art. 3º, § 1º do Decreto 14.910, de 03/08/2012, Item III."
      End If

      Me.Objeto_viagem = objeto
    End Sub

    Nesse código eu fiz tudo pelo vba, ou seja, sem que o código recorra ao texto já inserido no campo memorando, ou seja, com a variável objeto, tudo é armazenado nela e depois, o seu valor é inserido no campo Objeto_viagem. Antes eu usava o campo diretamente, e nenhuma das duas formas funcionou.
    O campo Me.Função insere a função correspondente do respectivo militar.


    .................................................................................
    Quanto mais aprendemos, mas fica comprovada a nossa ignorância!

    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3236
    Registrado : 20/04/2011

    Re: [Resolvido]Quebra de linha em campo memorando pelo vba

    Mensagem  Silvio em Ter 10 Jun 2014, 21:38

    o campo memorando esta em Rich Text?


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]

    efrain_ben-orion
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 28/04/2014

    Re: [Resolvido]Quebra de linha em campo memorando pelo vba

    Mensagem  efrain_ben-orion em Ter 10 Jun 2014, 23:03

    Sim, está. Isso porque o usuário poderá alterar a formatação, colocar algumas palavras ou todas em negrito, etc.
    Será esse o problema?
    Vou testar aqui e retorno.


    .................................................................................
    Quanto mais aprendemos, mas fica comprovada a nossa ignorância!

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Quebra de linha em campo memorando pelo vba

    Mensagem  Avelino Sampaio em Ter 10 Jun 2014, 23:11

    Olá!

    O Rich Text nada mais é que o texto no formato HTML.  A quebra de linha se dá pela tag < BR >

    Sucesso!


    Última edição por Avelino Sampaio em Qua 11 Jun 2014, 07:28, 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ê.

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

    efrain_ben-orion
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 28/04/2014

    Re: [Resolvido]Quebra de linha em campo memorando pelo vba

    Mensagem  efrain_ben-orion em Qua 11 Jun 2014, 02:33

    Avelino, e como ficaria essa tag no meu código? Se possível, mostre um exemplo.
    A orientação do Sílvio procede, o texto quando sem formatação Rich Text faz o que estou querendo, no entanto, perco a possibilidade de formatar um texto que pode precisar de formatação.
    Agradeço a atenção de todos.


    .................................................................................
    Quanto mais aprendemos, mas fica comprovada a nossa ignorância!

    efrain_ben-orion
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 28/04/2014

    Re: [Resolvido]Quebra de linha em campo memorando pelo vba

    Mensagem  efrain_ben-orion em Qua 11 Jun 2014, 02:54

    Aí galera, deu certo.
    A orientação do Sívio também resolve, mas como disse, perco a liberdade de formatar o texto pelo formulário.
    Usando a orientação do Avelino, a tag "
    " no lugar do vbNewLine ou vbCrLf,
    o novo parágrafo é acrescentado. Show de bola.
    Agradeço a todos pelo atenção e ensinamentos.


    .................................................................................
    Quanto mais aprendemos, mas fica comprovada a nossa ignorância!

      Data/hora atual: Dom 11 Dez 2016, 00:18