Comparação

Discussão em 'Progress 4GL' iniciado por Will, Setembro 2, 2009.

  1. Will

    Will Membro Participativo

    glera, seguinte estou fazendo um finda numa campo da tabela, este campo (item.descricao) que tem o valor "teste(5050)"
    então se eu der uma message de:
    replace(entry(2,"teste(5050)","("),")","") ele me retorna "5050"

    agora se eu der um find item where replace(entry(2,item.descricao,"("),")","") = "5050". ele não retorna registro algum, alguém sabe ao que se deve isto?
  2. Cobra.cne

    Cobra.cne Equipe de Suporte Moderador

    Caro Will,

    vc já verificou se não existe algum espaço na sua descrição, no meio ou no final, parece simples mas as vezes esquecemos de observar estar situações.

    tenta usar com o trim

    Código:
    find item where trim(replace(entry(2,trim(item.descricao),"("),")","")) = "5050". 
    T+
  3. af.dums

    af.dums Membro Ativo

    Como você está usando FIND (sem FIRST ou LAST) está correndo o risco do sistema encontrar mais registros que atendam a clausula WHERE, consequentemente o progress não sabe quem retornar e não retorna nada...
  4. Will

    Will Membro Participativo

    Ae glera, bom utilizei o tirm, e pra garantir dei um length no retorno e retornou 4 caracteres, quanto ao find, testei com o for each e não retornou nada.......
  5. Will

    Will Membro Participativo

    pessoal, acabei resolvendo meu problema, jogando esta informação para outro campo do cadastro, porém , continuo na dúvida do mal funcionamento, acredito que eja em função desta condição estar numa query.,..

    enfim obrigado a todos

Compartilhe esta Página