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:
- Criei um formulário de múltiplos registros, ligando com a tabela 3.
- Retirei todos os campos da visualização, deixando apenas o campo COD_RESPOSTA.
- 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.
- 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]};
}
- Este evento criado, fiz chamada a ele no evento onLoadRecord: M_pergunta();
- No SQL da aplicação, na condição inseri:
COD_QUESTAO in(select COD_QUESTAO from questionario_questao where COD_PROCESSO_SELETIVO = ‘[COD_PROCESSO]’)
- 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
- O campo, criado, RESPOSTA defini como Label.
- 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?