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]Extrair parte de um texto a partir de um simbolo

    Compartilhe

    FrrzJr
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 06/01/2017

    [Resolvido]Extrair parte de um texto a partir de um simbolo

    Mensagem  FrrzJr em Qua 12 Set 2018 - 15:13

    Pessoal, Bom dia.
    Atualmente na empresa preciso realizar um relatório de cancelamento de resgates.
    Logo preciso do valor cancelado por item e nosso relatório atualmente não tem a informação separada em uma coluna, vem no seguinte formato:

    3884 pontos + 136,17
    8091 pontos + 9,64
    20204 pontos + 985,53
    10431 pontos + 12,43

    A necessidade é transpor os valores após o + em outra coluna, acredito que uma função resolveria isso, no entanto sou bem fraco nessa questão de função.

    Caso alguém possa ajudar, deixo já meu obrigado Smile
    avatar
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 486
    Registrado : 13/12/2016

    Re: [Resolvido]Extrair parte de um texto a partir de um simbolo

    Mensagem  Alexandre Fim em Qua 12 Set 2018 - 15:21

    Olá Antonio,

    A sua dúvida não ficou clara.
    Vc se refere a uma planilha?
    Um arquivo Texto?

    Por gentileza, explique os detalhes.

    Grato

    []'s

    FrrzJr
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 06/01/2017

    Re: [Resolvido]Extrair parte de um texto a partir de um simbolo

    Mensagem  FrrzJr em Qua 12 Set 2018 - 15:31

    Alexandre,
    Desculpe, você tem razão.

    Se trata de uma planilha em Excel que está vinculada a um BD Access, estou criando uma consulta nessa planilha e nessa consulta preciso dessa separação, entendeu?

    Segue um exemplo anexo.
    Anexos
    Exemplo.jpg
    Você não tem permissão para fazer download dos arquivos anexados.
    (48 Kb) Baixado 5 vez(es)

    IvanJr.
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]Extrair parte de um texto a partir de um simbolo

    Mensagem  IvanJr. em Sex 14 Set 2018 - 4:41

    Criei a seguinte função, copie o código e cole num módulo global:
    Código:
    Public Function fncSepara(argCampo As String, argQueSepara As String, argPosTermoQueQuero As Byte, argValorSeNaoExiste)

        Dim k
        
        k = Split(argCampo, argQueSepara)
        
        If argPosTermoQueQuero > (UBound(k) + 1) Then
            fncSepara = argValorSeNaoExiste
        Else
            fncSepara = k(argPosTermoQueQuero - 1)
        End If

    End Function

    Basta adicionar na sua consulta o seguinte campo:
    Código:
    extracao: fncSepara([NomeDaSuaColuna];" + ";2;0)

    FrrzJr
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 06/01/2017

    Re: [Resolvido]Extrair parte de um texto a partir de um simbolo

    Mensagem  FrrzJr em Sex 14 Set 2018 - 16:24

    Ivan, boa tarde!

    Funcionou realmente. Muito obrigado.

    Porém, poderia me ajudar com apenas mais um ponto que acabei deixando passar?
    Quando o campo é nulo ou vazio, o retorno na consulta é #Erro.

    Tentei contornar com outro IF nessa situação para retornar 0, porém quando incluo da "Erro de compilação: Tipo incompatíveis"

    Segue exemplo:

    Código:
    Public Function fncSepara(argCampo As String, argQueSepara As String, argPosTermoQueQuero As Byte, argValorSeNaoExiste)

        Dim k
        If argCampo Is Null Or argCampo = "" Then
            fncSepara = 0
        Else
            k = Split(argCampo, argQueSepara)
        
            If argPosTermoQueQuero > (UBound(k) + 1) Then
                fncSepara = argValorSeNaoExiste
            Else
                fncSepara = k(argPosTermoQueQuero - 1)
            End If
        End If
            

    End Function


    [Você precisa estar registrado e conectado para ver esta imagem.]

    IvanJr.
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]Extrair parte de um texto a partir de um simbolo

    Mensagem  IvanJr. em Sex 14 Set 2018 - 18:23

    Deixe a função como estava, basta usar na consulta agora assim:
    Código:
    extracao: fncSepara(Nz[NomeDaSuaColuna]);" + ";2;0)

    FrrzJr
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 06/01/2017

    Re: [Resolvido]Extrair parte de um texto a partir de um simbolo

    Mensagem  FrrzJr em Sex 14 Set 2018 - 18:31

    Perfeito! Obrigado pelo apoio Ivan

      Data/hora atual: Ter 25 Set 2018 - 10:42