Formulário de preenchimento com rádio

(ramosinfo) #1

Boa tarde,

Estou criando um formulário de preenchimento que deve bucar dados de outras tabelas.

Tenho 4 tabelas:

Tabela 1 - questionario_questao
Estrutura: COD_QUESTAO, DESCRICAO, COD_PROCESSO_SELETIVO
Finalidade: Cadastra as perguntas do questionário.

Tabela 2 - questionario_resposta
Estrutura: COD_RESPOSTA, COD_QUESTAO, DESCRICAO, COD_PROCESSO_SELETIVO
Finalidade: Cadastra as respostas do questionário.

Tabela 3 - questionario_resultado
Estrutura: COD_RESULTADO, COD_RESPOSTA, COD_QUESTAO, COD_CANDIDATO, DATAEHORA, COD_PROCESSO_SELETIVO
Finalidade: Cadastra as respostas informadas pelos usuários.

Tabela 4 - questionario_perg_x_resp
Estrutura: COD_RESPOSTA, COD_QUESTAO, COD_PROCESSO_SELETIVO
Finalidade: Define quais as respostas de uma questão. Aqui faz parte de um mestre-detalhe.

Os cadastros de perguntas e respostas e das definições das respostas para cada pergunta, tá ok, foi desenvolvido. Agora estou com dificuldades com o formulário do questionário mesmo.

Fiz da seguinte forma:

  1. Criei um formulário de múltiplos registros, ligando com a tabela 3.
  2. Retirei todos os campos da visualização, deixando apenas o campo COD_RESPOSTA.
  3. Criei um novo campo, do tipo texto, chamado “pergunta” e deixei ele visível pro formulário, sendo este em primeiro lugar e em segundo lugar o campo COD_RESPOSTA.
  4. Criei um método PHP chamado M_pergunta, com o código a seguir:

sc_lookup(dataset,“SELECT COD_QUESTAO, DESCRICAO, COD_PROCESSO_SELETIVO FROM questionario_questao WHERE COD_QUESTAO = {COD_QUESTAO} AND COD_PROCESSO_SELETIVO = ‘[COD_PROCESSO]’ ORDER BY COD_QUESTAO”);

if(!empty({dataset}))
{
{pergunta} = {dataset[0][0]};
}

  1. Este evento criado, fiz chamada a ele no evento onLoadRecord: M_pergunta();
  2. No SQL da aplicação, na condição inseri:

COD_QUESTAO in(select COD_QUESTAO from questionario_questao where COD_PROCESSO_SELETIVO = ‘[COD_PROCESSO]’)

  1. O campo COD_RESPOSTA defini como radio, e no lookup, inseri:

SELECT
resp_def.COD_RESPOSTA,
resp_def.COD_QUESTAO
FROM
questionario__perg_x_resp perg_resp_def INNER JOIN questionario_questao perg ON perg_resp_def.COD_QUESTAO = perg.COD_QUESTAO
INNER JOIN questionario_resposta resp_def ON perg_resp_def.COD_RESPOSTA = resp_def.COD_RESPOSTA
WHERE perg.COD_QUESTAO = {COD_QUESTAO} order by resp_def.COD_RESPOSTA

  1. O campo, criado, RESPOSTA defini como Label.
  2. Na Barra de Ferramentas, defini para deixar os botões apenas de Inserir e Retornar.

Mas quando executo, não lista as questões. O que posso estar fazendo de errado?