Ir para conteúdo

POWERED BY:

Arquivado

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

Leandro Diniz

Imprimir Na Tela % Coparando Os Campos

Recommended Posts

Preciso da ajuda de vcs, tenho um db com as seguintes colunas;CODIGO_ALUNO Encontro_01Encontro_02Encontro_03Encontro_04Encontro_05Seria o codigo do aluno e os encontros que participou, nos campo Encontro_xx esta com S para quem participou e N para quem nao partipou.preciso imprimir o listagem de quem participou dos encontros com 70% de presença.OBS: Aplicação em ASP com database MYSQLAgradeço quem poder me ajudar nessa logica.GratoLeandro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sabendo que 70% de 5 são 3,5, você deve selecionar os alunos que participaram de 4 encontros, vai dar um selec com muitas combinacoes, ou você percorre tudo e vai gravando em quantos encontros cada aluno participou, depois você filtra.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sabendo que 70% de 5 são 3,5, você deve selecionar os alunos que participaram de 4 encontros, vai dar um selec com muitas combinacoes, ou você percorre tudo e vai gravando em quantos encontros cada aluno participou, depois você filtra.

Teria como você postar um exemplo p ver se eu entendo um pouco melhor ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo assim:

...'Seleciona todos os alunosSet rs = cnn.Execute("select * from tabela")'Cria um vetor que vai armazenar o id do aluno com 70% ou mais de presençaDim id_alunos()Dim i, ji = 0j = 0'Percorre o recordsetIf Not rs.EOF Then   rs.MoveFirst   Do While Not rs.EOF	  If rs("Encontro_01") = "S" Then i = i + 1 End If	  If rs("Encontro_02") = "S" Then i = i + 1 End If	  If rs("Encontro_03") = "S" Then i = i + 1 End If	  If rs("Encontro_04") = "S" Then i = i + 1 End If	  If rs("Encontro_05") = "S" Then i = i + 1 End If	  'Checa se obteve 70% de presenca	  If ((i / 5) >= 0.7) Then		 j = j + 1		 ReDim Preserve id_alunos(j)		 'Grava no vetor o id do aluno acima de 70%		 id_alunos(j) = rs("CODIGO_ALUNO")	  End If	  rs.MoveNext   LoopEnd If...
Aí depois você faz um select na tabela dos alunos e passa como id o id_alunos().

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo assim:

...'Seleciona todos os alunosSet rs = cnn.Execute("select * from tabela")'Cria um vetor que vai armazenar o id do aluno com 70% ou mais de presençaDim id_alunos()Dim i, ji = 0j = 0'Percorre o recordsetIf Not rs.EOF Then   rs.MoveFirst   Do While Not rs.EOF	  If rs("Encontro_01") = "S" Then i = i + 1 End If	  If rs("Encontro_02") = "S" Then i = i + 1 End If	  If rs("Encontro_03") = "S" Then i = i + 1 End If	  If rs("Encontro_04") = "S" Then i = i + 1 End If	  If rs("Encontro_05") = "S" Then i = i + 1 End If	  'Checa se obteve 70% de presenca	  If ((i / 5) >= 0.7) Then		 j = j + 1		 ReDim Preserve id_alunos(j)		 'Grava no vetor o id do aluno acima de 70%		 id_alunos(j) = rs("CODIGO_ALUNO")	  End If	  rs.MoveNext   LoopEnd If...
Aí depois você faz um select na tabela dos alunos e passa como id o id_alunos().

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

Como que vou imprimir na tela só os que estao dentro dos 70 % exemplo; quero fazer um select em tudo filtarndo só os que estao dentro .

 

José da Silva - 85%

Maria José - 70%

 

 

<%'Abre conexao com o dbset conexao = Server.CreateObject("ADODB.Connection")conexao.open Application("sgp_dados")'Seleciona todos os participantesset rs_enc = conexao.execute("SELECT * FROM sgp_participantes")'Cria um vetor que vai armazenar o id do aluno com 70% ou mais de presençaDim id_alunos()Dim i, ji = 0j = 0'Percorre o recordsetIf Not rs_enc.EOF Then   rs_enc.MoveFirst   Do While Not rs_enc.EOF	  If rs_enc("e_1") = "S" Then i = i + 1 End If	  If rs_enc("e_2") = "S" Then i = i + 1 End If	  If rs_enc("e_3") = "S" Then i = i + 1 End If	  If rs_enc("e_4") = "S" Then i = i + 1 End If	  If rs_enc("e_5") = "S" Then i = i + 1 End If	  'Checa se obteve 70% de presenca	  If ((i / 5) >= 0.7) Then		 j = j + 1		 ReDim Preserve id_alunos(j)		 		 'Grava no vetor o id do aluno acima de 70%		 id_alunos(j) = rs_enc("cod_part")	  End If	  rs_enc.MoveNext   LoopEnd If'set rs_cert = conexao.execute("SELECT * FROM sgp_profissionais where cod_prof = "& id_alunos(212) & "")'set rs_cert = conexao.execute("SELECT * FROM sgp_profissionais ")'While Not rs_cert.EOF'Response.Write rs_cert("prof_nome")'Response.Write "<br/>"'rs_cert.MoveNext'Wendconexao.closeSet rs_enc = Nothing'Set rs_cert = Nothing%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como que vou imprimir na tela só os que estao dentro dos 70 % exemplo; quero fazer um select em tudo filtarndo só os que estao dentro .José da Silva - 85%Maria José - 70%

Seguinte, no script acima você grava o id do aluno no vetor id_alunos(), agora você tem que percorrer o vetor e dentro do loop você seleciona o nome do aluno na tabela e mostra, se você quiser gravar a porcentagem, você vai ter que mexer no vetor.

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.