[RESOLVIDO] Lookup em campo select não carrega na inclusão

No formulário de LAUDOS, tenho um combobox (select) em um formulário, chamado {atendimento_id}

A regra para mostrar os registros no combo é:

  • Só posso mostrar atendimentos que não possuam laudo.

Bem. Resolvi isso facilmente, mostrando apenas registros que não possuem relacionamento com a tabela de laudos usando a query abaixo:

SELECT a.id, a.nome FROM atendimentos AS a LEFT JOIN laudos AS l ON a.id = l.atendimento_id WHERE l.atendimento_id IS NULL ORDER BY a.nome

Na inclusão de novos registros funcionou direitinho… Mas tive um problema na alteração: O combo ficava vazio por causa do WHERE (óbvio, não é…).

Na minha cabeça a solução é simples:

SELECT a.id, a.nome FROM atendimentos AS a LEFT JOIN laudos AS l ON a.id = l.atendimento_id WHERE (l.atendimento_id IS NULL OR l.atendimento_id = '{atendimento_id}') ORDER BY a.nome

Funcionou na alteração!! :smiley:
Mas parou de funcionar na inclusão… rsss

No modo debug, percebi que nem roda o select do combo quando é inclusão. Penso que isso tenha a ver com o fato de eu estar usando o mesmo campo {atendimento_id} no WHERE…

Alguém já passou por algo do tipo? Help! :slight_smile:

No modo debug apresente a query na inclusão e na alteração aqui.

Vamos analisar e ver o que ocorre.

Olá Haroldo.

Na inclusão, o SC nem roda a query.

Me parece que há alguma regra interna do SC que não permite executar a query pelo fato de eu estar usando a variável {atendimento_id} na query do mesmo controle {atendimento_id}.

A solução que encontrei, graças à dica do Emerson Brandão no grupo do Telegram:

No evento onLoad, criei uma variável que recebe o valor de {atendimento_id}:

//para usar no combo (select) atendimento_id. [_atendimento_id] = {atendimento_id};

E uso a variável [_atendimento_id] no Lookup do controle {atendimento_id}:

SELECT a.id, a.nome FROM atendimentos AS a LEFT JOIN laudos AS l ON a.id = l.atendimento_id WHERE (l.atendimento_id IS NULL OR l.atendimento_id = '[_atendimento_id]') ORDER BY a.nome

Muito obrigado! :smiley:

2 Curtidas

Muito obrigado! Estava com este mesmo problema!