Ver Mensaje Individual
  #12 (permalink)  
Antiguo 08/06/2010, 08:28
Avatar de JavierMMM
JavierMMM
 
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Consultar Campo Vacio de una BD

Hice algunas modificaciones dentro del ciclo anidado y me funciona parcialmente. Lo que hago ahora es lo siguiente:

Código:
for i=1 to 3
	DBresp.open "Select A.Idpregunta, C.Pregunta From (Respuestas A left join Posrespuesta B on (A.Idpregunta = B.Idpregunta)) left join Preguntas C on (A.Idpregunta = C.Idpregunta) Where A.Idpregunta = "& i &" and C.Idpregunta = "& i &"  Group By A.Idpregunta, C.Pregunta", Con 
	Do While not DBresp.eof'Inicia el ciclo de preguntas
		response.write "<b>Reactivo " & DBresp("Idpregunta") & ": " & DBresp("Pregunta") & "</b><br />"
		DBresp.movenext
	loop
	DBresp.Close
	
     for j=1 to 3
        Rs.Open "Select A.Idpregunta as AR, C.Idpregunta as AP, B.Idpregunta as APR, B.Posrespuesta From ((Respuestas A left outer join Posrespuesta B on (A.Idpregunta = B.Idpregunta)) left outer join Preguntas C on (A.Idpregunta = C.Idpregunta)) left join Regcontestada D on (A.Idcont = D.Idcont) Where A.respuesta = '"& j &"' and  A.Idpregunta = "& i &" and B.Punpreg = '"& j &"' and C.Idpregunta = "& i &" and D.Carrera = '"& idinst &"' Group By  A.Idpregunta, C.Idpregunta, B.Idpregunta, B.Posrespuesta Order By B.Idpregunta", Con

	if Not Rs.EOF Then
		response.Write(Rs("Posrespuesta")) & "</b><br />"
		f=Rs("Posrespuesta")
		Rs.movenext
		Rs.Close
		exit for
  	        else if Rs.EOF Then
			response.Write("No se contestó") & "</b><br />"
		end if
	end if
	Rs.close						
     Next
Next
Lo que pasa en el ciclo anidado es, que recorre el rs y va imprimiendo lo que encuentra, y lo que no, pues imprime "No se contestó". Hasta ahí todo bien en funcionamiento de lo que está programado, pero no en cuestión de visualización,. porque algunas veces el registro se encuentra la la posición 3, así que imprime

"No se contestó"
"No se contestó"
8

y esto no debe de verse.

Mi pregunta viene en el sentido de, ¿cómo puedo hacerle para que me recorra el rs en su totalidad y si encuentra un registro lo imprima en pantalla y cuando no, ponga una sola vez la leyenda "No se contestó"?

Gracias por su ayuda.