Existem várias maneiras de fazer isso, acredito que da forma que você falou seja uma boa opção, caso o usuário possa selecionar mais de uma opção na resposta.
L
leopoldof
Depende … Seriam varios checkbox para cada pergunta?
Seria sempre o mesmo número de checkBox para cada pergunta?
Poderia ser marcado mais de um checkbox para cada pergunta?
Vander_Carlos
Na primeira pergunta tem 9 CheckBox na segunda tem 7, podendo escolher vários CheckBox.
L
leopoldof
Uma idéia…
Porque vc não cria somente um campo no banco chamado resposta…
Então vc concatena todas as marcações da pergunta para uma string e grava no banco
Vc define como o checkbox marcado como S e não marcado como N e relaciona na posição 1 seria a marcação do checkbox 1 e assim por diante
por exemplo de reposta para pergunta 1 ficaria assim SSNNSNSNS
Então vc saberia que teria 9 checkbox sendo que
checkbox1 = Marcado
checkbox2 = Marcado
checkbox3 = Não Marcado
checkbox4 = Não Marcado
checkbox5 = Marcado
checkbox6 = Não Marcado
checkbox7 = Marcado
checkbox8 = Não Marcado
checkbox9 = Marcado
Vander_Carlos
Uma idéia…
Porque vc não cria somente um campo no banco chamado resposta…
Então vc concatena todas as marcações da pergunta para uma string e grava no banco
Vc define como o checkbox marcado como S e não marcado como N e relaciona na posição 1 seria a marcação do checkbox 1 e assim por diante
por exemplo de reposta para pergunta 1 ficaria assim SSNNSNSNS
Então vc saberia que teria 9 checkbox sendo que
checkbox1 = Marcado
checkbox2 = Marcado
checkbox3 = Não Marcado
checkbox4 = Não Marcado
checkbox5 = Marcado
checkbox6 = Não Marcado
checkbox7 = Marcado
checkbox8 = Não Marcado
checkbox9 = Marcado
Eu tinha pensado nisso, mas tem um problema quando eu for gerar o relatório como faria ?
No relatório quero fazer assim:
[ x ]checkbox1
[ ]checkbox2
[ ]checkbox3
[ x ]checkbox4
...
[]'s
L
leopoldof
Simples…
2 opções…
1-na hora do relatório usa um if … se a posição da string de resposta for S ele escreve X senão deixa em branco
2- Em Vez de usar S ou N…usa X ou ‘espaço’… então não hora de fazer o relatório só colocar a letra que está na posição da string
HenriqueBR
Use um campo para cada resposta marcada. E se você tiver que aumentar a quantidade de respostas? e uma tiver que ficar bem no meio das outras?
Vander_Carlos
Eu vou fazer a 2 opção que o leopoldof falou.
Criar um campo para cada CheckBox e salvar um X ou o espaço em branco.
Depois posto o resultado aqui.
Valeu pela ajuda.
[]'s
A
AbelBueno
Sugiro uma abordagem mais normalizada para isso.
Imagino que alguém cadastre Perguntas e Respostas Possíveis para estas, certo?
Crie uma tabela de Perguntas: idPergunta, descrição
Uma tabela de RespostasPossiveis: idResposta, idPergunta (fk), descrição
Uma tabela de RespostasDadas : idPergunta, idResposta, idUsuarioQueRespondeu
Com esta estrutura, fazer o relatório será bem mais simples depois.
E você mantém seu banco normalizado, o que costuma ser bom (até virar um gargalo).
Vander_Carlos
Fiz do jeito que o leopoldof mostrou e deu certo
Salvei no banco e gerei o relatório.
Agradeço a todos pela ajuda 8’D
[]'s
guilherme.dio
Não é melhor usar o modo do SSNNSS, porém intercalando com dquote ?