Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa noite,
Andei pesquisando e não encontrei nada que ajude ao meu problema, tenho um campo de "Observação" em minha tabela, onde tenho que extrair o código do vendedor, sei os códigos, o problema é que eles podem aparecer em várias posições diferentes no campo, existe algum modo de extrair apenas os valores que preciso? independente de sua posição no campo?
Marcelo, se eu entendi o seu problema, sugiro utilizar a função Index().
Exemplo:
Index ( SeuCampo, '1006' )
Esta função irá retornar a posição na string onde haja a correspondência exata que vc definiu no segundo parâmetro, à partir dai é fazer uma condicional para definir se encontrou ou não o valor.
'Vandré, até utilizar esta função, mas não conseguiu o resultado esperado, olha o resultado desta linha:
infCpl infCpl_
' 1006 ' 19424 10 15 4 11 0 , 6 4 | FALTAS E AVARIAS DE MERCADORIAS INFORMAR A TRANSPORTADORA
Eu busco o '1015' e ele retorna o '1006', imagina que ele está verificando todos os números de campo e mostra o resultado ....
Eu tenho uma sequência de códigos que usa o script abaixo:
IF (KeepChar ('1007', [NFe / infNFe / infAdic / infCpl]) = '1006', '1006',
IF (KeepChar ('1009', [NFe / infNFe / infAdic / infCpl]) = '1009', '1009',
IF (KeepChar ('1015', [NFe / infNFe / infAdic / infCpl]) = '1015', '1015',
IF (KeepChar ('1017', [NFe / infNFe / infAdic / infCpl]) = '1017', '1017',
IF (KeepChar ('1018', [NFe / infNFe / infAdic / infCpl]) = '1018', '1018',
IF (KeepChar ('1019', [NFe / infNFe / infAdic / infCpl]) = '1019', '1019', '',) como infCpl,
Para algumas linhas apresenta o resultado esperado ... mais para outros elementos apresenta outro resultado ...'
Amigo,
Ao analisar o seu IF, percebo que a condição '1006' também existe, e existe antes mesmo do check do valor '1015'.
Ou seja, o script faz o check primeiro procurando 1006 e encontra, logo ele não vai te retornar o 1015.
Tente inverter os valores do seu IF, começando do maior para o menor e veja se traz retorno positivo.
Atenciosamente,
Vandré Carlos
Obrigado pela atenção Vandré,
Más também fiz este teste e continua com o problema, funciona para muitas linhas, más não todas. O ideal é que conseguisse pegar somente o valor desejado de forma completa, ou seja, apresentar somente quando o valor atingir sua busca exata e não pegar partes dos textos e montar o valor encontrado que é o que ocorre atualmente.
Imaginei que colocando entre 'aspas' fosse apresentar somente este valor,,, será se existe alguma forma de fixar o valor nesta busca?
Marcelo, se eu entendi o seu problema, sugiro utilizar a função Index().
Exemplo:
Index ( SeuCampo, '1006' )
Esta função irá retornar a posição na string onde haja a correspondência exata que vc definiu no segundo parâmetro, à partir dai é fazer uma condicional para definir se encontrou ou não o valor.
Obrigado... fiz umas mudanças e utilizei esta função e tudo deu certo....