MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Selecionar parte de uma String situada entre 2 caracteres

    avatar
    zcarloslopes
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 354
    Registrado : 28/10/2010

    [Resolvido]Selecionar parte de uma String situada entre 2 caracteres Empty [Resolvido]Selecionar parte de uma String situada entre 2 caracteres

    Mensagem  zcarloslopes em 16/1/2020, 14:36

    Boa tarde a todos,

    Venho mais uma vez solicitar a vossa ajuda.

    Tenho uma TextBox onde adiciono vários nomes completos de funcionários separados por ; (ponto e vírgula). (Ex: Ana Ambrósio;Paulo Serafim Ronaldo;José da Esquina)

    Preciso que ao duplo click numa parte de um nome qualquer, me seleccione o nome completo onde se encontra essa parte de nome que está entre ;

    Na prática seria para fazer como o código abaixo:
    Código:
    Private Sub TextoLivre_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    On Error Resume Next
    Dim Pesq As String

    Pesq = Me.TextoLivre.SelText

    If Len(Pesq) > 0 Then

        DoCmd.OpenForm "form_X", , , "NomeProf = '" & Pesq & "'"
    Else
        Exit Sub
    End If
    End Sub
    Mas ao duplo click numa parte do nome.


    Obrigado


    Última edição por zcarloslopes em 17/1/2020, 08:31, editado 1 vez(es)
    avatar
    renpv
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    [Resolvido]Selecionar parte de uma String situada entre 2 caracteres Empty Re: [Resolvido]Selecionar parte de uma String situada entre 2 caracteres

    Mensagem  renpv em 16/1/2020, 15:07

    Amigo, se eu fosse você tentaria tornar isso mais amigável para o usuário e, consequentemente, melhor pra você.

    Ao invés de usar TextBox use uma ListBox ou ComboBox. Então, você poderia usar a função Split pra separar logo os nomes pra deixar uma apresentação melhor.

    Com os nomes separados, cada uma em sua linha, fica melhor até de você trabalhar a programação. E o usuário vai agradecer.
    avatar
    zcarloslopes
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 354
    Registrado : 28/10/2010

    [Resolvido]Selecionar parte de uma String situada entre 2 caracteres Empty Re: [Resolvido]Selecionar parte de uma String situada entre 2 caracteres

    Mensagem  zcarloslopes em 16/1/2020, 15:29

    Obrigado pelo retorno renpv, mas não serve o meu propósito.

    Expliquei apenas o que pretendia para não ser cansativo no texto. Mas sendo assim, passo então a explicar o meu propósito:

    Tenho um Form de pesquisa com diversos campos de pesquisa. Um deles é o campo "Nome do Profissional"

    Acontece que em alguma situação é necessário fazer uma pesquisa com diversos nomes de profissionais.

    Para o efeito uso a tal TextBox onde vou adicionando através de uma ComboBox os nomes a pesquisar e separo-os por ;

    Após seleccionar todos os nomes, converto os nomes numa Array que irá entrar na cláusula IN de uma Query em SQL para efectuar a pesquisa.

    Até aqui funciona tudo na perfeição.

    O que acontece é que estes pedidos de pesquisa, por vezes vêm numa lista de nomes a pesquisar apenas com parte do nome (nome artístico).

    O procedimento que eu procuro serviria para, após seleccionar um determinado nome, fosse fácil aceder ao form da ficha completa do profissional e aí confirmar se o nome escolhido é o pretendido.


    Obrigado
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Selecionar parte de uma String situada entre 2 caracteres Empty Re: [Resolvido]Selecionar parte de uma String situada entre 2 caracteres

    Mensagem  ahteixeira em 16/1/2020, 15:47

    Olá a todos,

    Carlos, veja se ajuda:
    https://www.maximoaccess.com/t35204-resolvidoselstart-e-sellength-com-espaco
    docs.microsoft.com/en-us/office/vba/api/access.textbox.seltext

    Abraço
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2453
    Registrado : 22/11/2016

    [Resolvido]Selecionar parte de uma String situada entre 2 caracteres Empty Re: [Resolvido]Selecionar parte de uma String situada entre 2 caracteres

    Mensagem  DamascenoJr. em 17/1/2020, 01:59

    Veja este código também

    Código:
    Dim strNome() As String
        Dim intPEO(1 To 2) As Integer
        
        'intPEO(1) é um valor inteiro para a posição que o elemento/nome ocupa na matriz
        'intPEO(2) é um valor interiro para a posição que o elemento/nome ocupa na caixa de texto

        If Nz(Me!Texto0.Value) = "" Then Exit Sub
        
        strNome = Split(Me!Texto0.Value, ";")
        For intPEO(1) = LBound(strNome) To UBound(strNome)
        
            If Eval(Me!Texto0.SelStart & _
               " between " & _
               intPEO(2) & _
               " and " & _
               (intPEO(2) + Len(strNome(intPEO(1))))) Then
                Exit For
            End If
            
            intPEO(2) = intPEO(2) + Len(strNome(intPEO(1))) + Len(";")
        
        Next intPEO(1)
        
        Call DoCmd.OpenForm("form_X", , , "NomeProf = """ & strNome(intPEO(1)) & """")


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    zcarloslopes
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 354
    Registrado : 28/10/2010

    [Resolvido]Selecionar parte de uma String situada entre 2 caracteres Empty Re: [Resolvido]Selecionar parte de uma String situada entre 2 caracteres

    Mensagem  zcarloslopes em 17/1/2020, 08:31

    Bom dia a todos,

    Obrigado DamascenoJr e ahteixeira pela ajuda.

    O código do DamascenoJr faz exactamente o que eu pretendia.

    Muito obrigado.
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Selecionar parte de uma String situada entre 2 caracteres Empty Re: [Resolvido]Selecionar parte de uma String situada entre 2 caracteres

    Mensagem  ahteixeira em 17/1/2020, 14:24

    Olá a todos,

    Carlos, obrigado pelo retorno, o fórum agradece.

    cheers

      Data/hora atual: 28/11/2020, 02:50