Validação não está retornando resultado corretamente

Olá!

Estou com uma dificuldade.

Tenho uma validação no Lost de um campo de código de agência. Vou mandar o trecho que está dentro deste lostfocus:

Nesta primeira record eu tenho uma consulta que retorna o código interno da agência, o código que o usuário vê e a descrição:

RecordValidaAgencia

Nesse primeiro IF, estou validando se o código que o usuário colocou no campo é diferente de um resultado dessa record, se for diferente vai retornar a mensagem que agência não cadastrada ou sem parâmetros.
Pois bem, é ai meu problema, nessa minha record retorna duas agências, quando coloco uma delas, aceita normalmente e não entra na mensagem (que está correto), mas quando coloco a outra agência que me retorna na record está entrando na mensagem, mesmo o código digitado sendo igual ao da record.

Sabe me dizer onde estou pecando ou estou fazendo errado?

Boa Tarde Nielson.

A RECORD sempre considera apenas o primeiro registro encontrado.

No seu IF está sempre comparando o primeiro registro do resultado do SELECT com o valor que está na tela.

Você precisa adicionar o código da agência no SQL. Por exemplo:

SELECT A.COD_SEQ_AGENCIA, A.COD_AGENCIA, A.NOM_AGENCIA
   FROM TABELA1 A, TABELA2 PR
WHERE A.COD_EMPRESA = {?INPUT Empresa}
   AND A.CODIGOFL = {?INPUT Filial}
   AND A.AG_ATIVA = 'S'
   AND A.COD_SEQ_AGENCIA = PR.COD_SEQ_AGENCIA
   AND A.COD_AGENCIA = '{?INPUT CodigoAgencia}'
1 curtida

Entendi, então sempre que fizer uma record é pra um único registro, achei que ela via toda a faixa retornada.

Legal, deu certo aqui, mais uma vez obrigado Daniel. :sweat_smile:

Denada @nielson.santos!