Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Edwilson Curti

Selecionando e contando registros conforme a condição exigida

Recommended Posts

O Lance é o seguinte,

 

Estou desenvolvendo um programa que realiza as pesquisas e faz tbm a apuração de pesquisas realizadas.

Ele possui 3 tabelas, a PERGUNTAS, a RESPOSTAS e a QUESTIONÀRIOS.

 

Para cada pergunta armazenada na Tabela PERGUNTAS, existem 3 repostas na Tabela RESPOSTAS.

Na tabela QUESTIONARIOS2 armazeno os resultados colhidos na pesquisa efetuada, ou seja, para cada questionário preenchido pelo entrevistador, será armazenada uma resposta para cada pergunta, na tabela QUESTIONARIOS2, que é a tabela a qual referencio na query probelmática abaixo.

Depois é só contar os resultados armazenados nesta TABELA (QUESTIONARIOS2), entende.

 

Veja o código abaixo:

 

i = 0

calculo_percent = 0

contgeral2 = 0

 

nregs3 = nregs3 - 1

 

'Redimensiona o Array, tornando-o dinâmico.

ReDim calculoperc_array(nregs3)

 

'Apura a ocorrencia das respostas na tabela.

Do While control4 = 0

For i = 0 To nregs3

codpergunta = codper_array(i)

resposta = resposta_array(i)

'Verifica ocorrências da resposta na tabela.

With cnnComando

.ActiveConnection = conexao_bd

.CommandType = adCmdText

.CommandText = "Select * From QUESTIONARIOS2 Where COD_PER = '" & codpergunta & "' And RESPOSTA_RESP = '" & resposta & "' ;"

Set rsSelecao = .Execute

End With

 

contgeral2 = rsSelecao.RecordCount

 

calculo_percent = ((contgeral2 / nregs) * 100) 'Acha o percentual da apuração.

 

calculoperc_array(i) = calculo_percent

 

If rsSelecao.EOF = True Then

rsSelecao.MoveFirst

End If

 

calculo_percent = 0

contgeral2 = 0

 

Next i

Exit Do

Loop

Set cnnComando = Nothing

Set rsSelecao = Nothing

 

Mais de uma pesquisa pode estar armazenada nesta Tabela QUESTIONARIOS2, por isso quero que ela conte somente aqueles que possuam o COD_PER que é o Código da pergunta e a RESPOSTA_RESP, que é a resposta, iguais às condiçõies fornecidas.

Desta forma, em 10 questionários resposndidos, após a apuração, ele me mostrará:

CANDIDATO A -- 5

CANDIDATO B -- 3

CANDIDATO C -- 2

 

O modo como coloquei a query acima, não está funcionando.

A Resposta "Não respondeu" é comum em todas as perguntas. Ele conta certo as respostas A e B, mas quando chega na C, a resposta comum a todas as perguntas, ele não leva em conta a condição exigida.

E aí, alguma sugestão? O que está errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvi gente.

 

Na verdade, foi um problema na hora de ler o Código da Pergunta (COD_PER), pois em vez de ler o Código da Pergunta, eu mandei ler o número de sequencia da pergunta, ou seja, na comparação ele, em vez de comparar Código de Pergunta com Código de Pergunta, ele estava comparando Código de Pergunta com Número de Sequencia da pergunta.

 

 

Pura distração.... Agradeço a atenção...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.