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

3 participantes

    Ler Segunda linha do SubFormulario

    linkangelo
    linkangelo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 27/02/2018

    Ler Segunda linha do SubFormulario Empty Ler Segunda linha do SubFormulario

    Mensagem  linkangelo Sex 15 Out 2021, 16:46

    Gente segue o codigo =)

    o que eu quero parece simples que a PRO2 e a VAL2, seja a segunda informação do outro subformulario.

    Exemplo:

     Coluna
       75 = VAL
       76 = VAL2


    Já tentei Row (0, 2) entre outros

    __________________________________________

    Dim PER As DAO.Recordset
    Dim VAR As DAO.Recordset

    Set PER = Me.(nomedoSubFormulario).Form.Recordset
    Set VAR = Me.(nomedoSubFormulario).Form.Recordset

    With PER
       .MoveFirst

           Do While Not PER.EOF
           .Edit


           Dim PRO As String
           Dim PRO2 As String
           Dim VAL As String
           Dim VAL2 As String


           PRO = VAR!Nome.Value  --AQUI ESTA PUXANDO NORMAL O PRIMEIRO VALOR
           VAL = VAR!VALOR.Value  --AQUI ESTA PUXANDO NORMAL O PRIMEIRO VALOR


           PRO2 = VAR!Nome.Value     -- NÃO SEI O QUE COLOCO PRA PUXAR A SEGUNDA LINHA DO OUTRO SUBFORMULARIO
           VAL2 =  VAR!VALOR.Value    --NÃO SEI O QUE COLOCO PRA PUXAR A SEGUNDA LINHA DO OUTRO SUBFORMULARIO
             
             PER!TEMP = Replace(Replace(PER!MEDIDA, PRO, VAL), PRO2, VAL)
             
              PER!MEDIDAFINAL.Value = Eval(PER!TEMP.Value)
     
           .Update
           .MoveNext
        Loop
    End With
    Set PER = Nothing

    ________________________________________________________________________________________________

    Obs: Esse cédigo é para subtituir varios caracteres de uma vez com referencia em um subformulario

    Desde já Muito Obrigado!
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Ler Segunda linha do SubFormulario Empty Re: Ler Segunda linha do SubFormulario

    Mensagem  ahteixeira Seg 18 Out 2021, 22:40

    Olá Osvaldo Abgelo,

    O idela seria via recordset is ao registo dois.
    No entanto outra possibilidade, poderia ser un Dloockup ou query "filtrada".

    Monte um exemplo simples do que tem de forma a se poder testar.
    Assim fica mais fácil para qualquer membro poder ajudar


    Abraço
    linkangelo
    linkangelo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 27/02/2018

    Ler Segunda linha do SubFormulario Empty Exemplo de Substituir Linha Por Linha

    Mensagem  linkangelo Ter 19 Out 2021, 12:34

    Ler Segunda linha do SubFormulario Exempl10


    Fiz um exemplo, na teoria é simples a cada linha da historia o sistema vai na lista de nomes pega o nome do personagem e volta pra linha substituindo o nome curto para o nome completo
    depois vai para a proxima linha e faz a mesma coisa eu estou tentando com as Funçoes "replace" e "Do While Not SubForm.EOF" até agora so consegui com o primeiro e ultimo nome =(
    com os nomes do meio ainda NADA.
    Anexos
    Ler Segunda linha do SubFormulario AttachmentSem Título-1.png
    Você não tem permissão para fazer download dos arquivos anexados.
    (55 Kb) Baixado 1 vez(es)
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3455
    Registrado : 21/04/2011

    Ler Segunda linha do SubFormulario Empty Re: Ler Segunda linha do SubFormulario

    Mensagem  Marcelo David Ter 19 Out 2021, 13:15

    Osvaldo, bom dia.
    Para facilitar a ajuda, crie um banco de exemplo
    com a estrutura que precisa e poste aqui.

    Isso agilizará quem for lhe ajudar.


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Clique aqui e conheça o treinamento.
    Ler Segunda linha do SubFormulario Marcel11
    linkangelo
    linkangelo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 27/02/2018

    Ler Segunda linha do SubFormulario Empty Re: Ler Segunda linha do SubFormulario

    Mensagem  linkangelo Ter 19 Out 2021, 13:32

    Segue o Exemplo
    Download Aqui!

    Segue o Link para Download do Exemplo
    linkangelo
    linkangelo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 27/02/2018

    Ler Segunda linha do SubFormulario Empty Exemplo de como estou tentando.

    Mensagem  linkangelo Ter 19 Out 2021, 13:42

    Option Compare Database

    Private Sub Comando7_Click()
    Dim PER As DAO.Recordset
    Dim VAR As DAO.Recordset
    Dim PRO As String
    Dim PRO2 As String
    Dim VAL As String
    Dim VAL2 As String
    Dim qRegistros As Long
    Dim i As Long

    Set PER = Me.TAB01.Form.Recordset
    Set VAR = Me.TAB02.Form.Recordset

    With PER
    .MoveFirst

    Do While Not PER.EOF
    .Edit




    PRO = VAR!Nome.Value
    VAL = VAR![nome completo].Value


    qRegistros = VAR.RecordCount
    For i = 1 To qRegistros
    VAR.Edit


    PER!HISTORIA = Replace(PER!HISTORIA, PRO, VAL, , -1)

    VAR.Update
    VAR.MoveNext
    Next i

    .Update
    .MoveNext
    Loop
    End With
    Set PER = Nothing


    End Sub
    linkangelo
    linkangelo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 27/02/2018

    Ler Segunda linha do SubFormulario Empty O Mais perto que cheguei =(

    Mensagem  linkangelo Ter 19 Out 2021, 14:20

    Exemplo que funciona so não muda a linha =(
    Anexos
    Ler Segunda linha do SubFormulario AttachmentARQUIVO EXEMPLO SUBTITUIR.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (33 Kb) Baixado 11 vez(es)
    linkangelo
    linkangelo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 27/02/2018

    Ler Segunda linha do SubFormulario Empty Consegue! so que ai veio outro erro =(

    Mensagem  linkangelo Ter 19 Out 2021, 14:57

    Download


    Agora se o nome da personagem for "MARIANA" o sistema entende que o nome é Maria e já substitui antes de ler a palavra inteira =(
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3455
    Registrado : 21/04/2011

    Ler Segunda linha do SubFormulario Empty Re: Ler Segunda linha do SubFormulario

    Mensagem  Marcelo David Ter 19 Out 2021, 15:24

    Desculpe, parece confuso para mim.

    Tem a história, como por exemplo:

    "Jose tinha 5 anos a mais que Maria, que era 2 anos mais velha que Lucas"

    Tem os nomes:
    • NOME
    • JOSE
    • MARIA
    • LUCAS
    • ANA
    • MARIANA


    O que tem que substituir? E por qual substituir?
    Como ficaria a história (acima) no final?


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Clique aqui e conheça o treinamento.
    Ler Segunda linha do SubFormulario Marcel11
    linkangelo
    linkangelo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 27/02/2018

    Ler Segunda linha do SubFormulario Empty Como tinha que ficar

    Mensagem  linkangelo Ter 19 Out 2021, 15:41

    "Jose tinha 5 anos a mais que Maria, que era 2 anos mais velha que Lucas"

    Tinha que ficar assim

    "Jose Felipe tinha 5 anos a mais que Maria Aparecida, que era 2 anos mais velha que Lucas Silva"

    no ultimo que eu mandei ja esta tudo ok

    só que agora veio a MARIANA como o nome ela é junção o sistema esta fazendo o nome de ficar "MARIA APARECIDA"ANA
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3455
    Registrado : 21/04/2011

    Ler Segunda linha do SubFormulario Empty Re: Ler Segunda linha do SubFormulario

    Mensagem  Marcelo David Ter 19 Out 2021, 17:43

    Estamos caminhando.
    A intenção é substituir o nome pelo nome completo?


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Clique aqui e conheça o treinamento.
    Ler Segunda linha do SubFormulario Marcel11
    linkangelo
    linkangelo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 27/02/2018

    Ler Segunda linha do SubFormulario Empty Re: Ler Segunda linha do SubFormulario

    Mensagem  linkangelo Ter 19 Out 2021, 18:06

    Exatamente.

    Mais agora o erro é MARIANA, que ele troca o "MARIA" antes de ler o nome completo no word a opção é "Localizar apens palavras completas"

    Exemplo:

    o "Rosangela" e "Angela" ele vai primeiro mudar o "Angelo" do que ler o nome todo antes de alterar.
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3455
    Registrado : 21/04/2011

    Ler Segunda linha do SubFormulario Empty Re: Ler Segunda linha do SubFormulario

    Mensagem  Marcelo David Ter 19 Out 2021, 18:32

    Sim, vou problematizar um pouco:

    NomeNome completo
    MarceloMarcelo David
    MarceloMarcelo Rocha

    Como o sistema saberá por qual Marcelo substituir?


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Clique aqui e conheça o treinamento.
    Ler Segunda linha do SubFormulario Marcel11
    linkangelo
    linkangelo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 27/02/2018

    Ler Segunda linha do SubFormulario Empty Re: Ler Segunda linha do SubFormulario

    Mensagem  linkangelo Ter 19 Out 2021, 18:47

    O nome Completo não se repete isso é fixo, e se acontecer é só o primeiro da lista de nome que vais er usado,

    se for marcelo 1 ou marcelo 2, so o primeiro marcelo será usado, mais é o que eu falei o nome Marcelo nao sera repetido na tabela de nomes

    o erro esta em um nome meno vir antes do maior exemplo

    ANA E MARIANA

    o sistema esta trocando o ANA Antes do MARIANA

    NOME   NOME COMPLETO   FRASE                       RESULTADO
    ANA            ANA CLARA           EU AMO A ANA       EU AMO "ANA CLARA"
    MARIANA   MARIANA PONTES   EU AMO A MARIANA       EU AMO MARI"ANA CLARA"
    linkangelo
    linkangelo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 27/02/2018

    Ler Segunda linha do SubFormulario Empty Se fosse o Excel

    Mensagem  linkangelo Ter 19 Out 2021, 19:02

    Olha o se fosse no excel para ler o campo completo seria (LookAt := xlWhole)
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Ler Segunda linha do SubFormulario Empty Re: Ler Segunda linha do SubFormulario

    Mensagem  ahteixeira Ter 19 Out 2021, 22:41

    Ola a todos,

    Osvaldo abgelo,

    Uma solução seria colocar na pesquisa de substituicao o espaço antes e depois do nome, mas para isso a história não poderia começar logo com o nome, mas assim por exemplo:
    Ler Segunda linha do SubFormulario 0189

    No código ficaria assim:
    Código:
        PER!HISTORIA = Replace(PER!HISTORIA, Chr(32) & PRO & Chr(32), Chr(32) & VAL & Chr(32))

    Outra coisa, no título do tópico só se escreve na mensagem, nr 1, depois o forum repete automaticamente, nas seguintes deve ficar em branco.
    Edite as mensagens que tem o titulo diferente deixe em branco.

    Abraço
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3455
    Registrado : 21/04/2011

    Ler Segunda linha do SubFormulario Empty Re: Ler Segunda linha do SubFormulario

    Mensagem  Marcelo David Seg 25 Out 2021, 16:00

    Boa tarde senhores,
    pensando nesse tópico, desenvolvi uma função para realizar substituição considerando palavra completa.
    Na verdade é opcional considerar a palavra completa ou não.

    Osvaldo, para o seu caso, faça o seguinte:

    copie para um módulo do seu projeto (último que estava mais próximo do objetivo) minha função do link abaixo:
    https://www.maximoaccess.com/t40178-funcao-fncsubstituir-que-funciona-semelhante-a-replace-do-vba-que-considera-a-palavra-completa

    Após isso, no seu código, substitua a linha abaixo que usa o Replace nativo do VBA pela minha função FncSubstituir:
    Linha com Replace do VBA:
    PER!HISTORIA = Replace(PER!HISTORIA, PRO, VAL)

    Substitua por:
    PER!HISTORIA = FncSubstituir(PER!HISTORIA, PRO, VAL, True)

    Teste e retorne, por favor.


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Clique aqui e conheça o treinamento.
    Ler Segunda linha do SubFormulario Marcel11

      Data/hora atual: Ter 30 Nov 2021, 00:16