Abrir formulário em branco

Olá pessoal,

gostaria de saber como fazer pra abrir um formulário em branco
quando for incluir um novo registro.

Pesquisei no fórum, e encontrei algo do tipo:
colocar na cláusula where do sql algo como campo_id=0 ou campo_id<>0

Bom, fiz isso, e ele realmente inicia com um formulário em branco,
mas o problema é:

Quando eu faço uma consulta, e nos registros retornados pela consulta
tem um link pra poder editar o registro abrindo o formulário de inserção/atualização,
ele está abrindo um formulário vazio, onde deveria abrir o formulário com
os dados do registro selecionado.

Jonas,

Você pode usar a macro sc_apl_conf antes da abertura do formulário… A forma de utilizar depende da sua intenção.

Por exemplo, se quando teu formulário for chamado através de um menu ele deverá vir em branco, vc pode colocar algo assim evento onExecute (do menu):

[tt]if ({sc_menu_item} == “item_1”)
{
sc_apl_conf(‘form_cadastro’, ‘start’, ‘new’);
}[/tt]

Isso supondo que o nome do teu form seja “form_cadastro” e o nº do item dele no menu seja 1. O nº do item no menu aparece durante a edição do próprio menu.

Dessa forma não precisa colocar o where campo_id <> 0 no sql da aplicação.

Espero ter ajudado.

Att.
Robson

Muito obrigada Robson,
era exatamente isso o que eu precisava.

Avancei um pouco.

Mudei de sc_lookup para sc_select e agora está funcionando melhor. Sempre que rodo a primeira vez, ele retorna correto, a segunda vez é que não, ele abre um novo registro, mesmo encontrando o CPF.

sc_select(meus_dados, “SELECT * FROM candidato WHERE CPF = {CPF} AND COD_PROCESSO_SELETIVO = ‘[COD_PROCESSO]’”);

if ({meus_dados} === false){

echo "Erro de acesso. Mensagem = " . {meus_dados_erro};

}
elseif (empty({meus_dados})){

sc_apl_conf(“inscricao”, “start”, “new”);
sc_redir(inscricao);

}
else{

[CPF_INFORMADO] = {CPF};
echo [CPF_INFORMADO];

}

if (empty([CPF_INFORMADO])){

echo “Variavel do CPF está vazia”;
sc_apl_conf(“inscricao”, “start”, “new”);
sc_redir(inscricao);

}
else{

Echo “A variavel de CPF NÃO está vazia”;

sc_redir(inscricao);

}

Tenta assim:

sc_reset_apl_conf();

sc_lookup(meus_dados, “select cpf from candidato
where (cpf = ‘{cpf}’ and cod_processo_seletivo = ‘[cod_processo]’)”);

if ({meus_dados} === false){
echo "Erro de acesso. Mensagem = " . {meus_dados_erro};

}elseif (empty({meus_dados})){
sc_apl_conf(“inscricao”, “start”, “new”);
sc_redir(inscricao);

}else{

 [cpf_informado] = {meus_dados[0][0]}; 
 echo [cpf_informado];

}

if (empty({meus_dados[0][0]})){

echo "Variavel do CPF está vazia";
sc_apl_conf("inscricao", "start", "new"); 
sc_redir(inscricao); 

}else{

 Echo "A variavel de CPF NÃO está vazia";
 sc_redir(inscricao); 

}

George Carvalho