Não duplicar registros no BD no controle [RESOLVIDO]

Bom dia pessoal tudo bem?

Tenho um sistema onde os usuários fazem a chamada semanalmente, mas gostaria de aparecer uma mensagem para o usuário caso ele escolha uma semana na qual ele já fez a chamada.

Tenho uma aplicação controle que faz o filtro com os campos:

{Setor}, {celula} e {semana}

Em eventos Ajax quando ele clicar no campo semana fiz a seguinte rotina:

sc_lookup(dataset,"SELECT semana
FROM frequencia
WHERE membros_celula_setor_idsetor = ‘{setor}’ AND membros_celula_idcelula = ‘{celula}’ and semana = ‘{semana}’ ");

if({dataset}[0][0] == {semana}) {
sc_error_message(“Semana já cadastrada”);

}

No entanto, no evento onclik ele já aparece a mensagem sem antes clicar na semana desejada e no outros eventos não faz nenhuma chamada.

Daniel,

Como é feita a escolha da semana? Que tipo de campo definiste?

Olá Kleyber,

Definir o campo {semana}.

1 - No controle o campo semana faz uma query para a tabela_semana:

semana | data_inicio | data_fim
12 - 2018 21/03/18 27/03/18
13 - 2018 28/03/18 03/04/18

2 - Na tabela_frequencia:

faltou | semana | data_inicio | data_fim
Sim 12 - 2018 21/03/18 27/03/18
Não 13 - 2018 28/03/18 03/04/18

3 - Gostaria que o usuário ao fazer a chamada, ao escolher o select campo semana que chama a tabela_semana, comparar na tabela_frequencia se já existe aquela semana cadastrada, se sim aparecer uma mensagem, falando que já existe o cadastro.

Bem, eu havia perguntado exatamente o que respondeste no ponto 3, ou seja, tu estás usando um campo SELECT. Daí eu usaria o evento OnChange no campo SEMANA pra fazer esse lookup.

Valeu Kleyber deu certo no onChange