Il problema me lo restituisce solo e soltanto quando nello script sottostante pongo il contatore visite (opportunamente identificabile dal commento in testa), in fondo al codice.

L'errore sta nella riga in grassetto in fondo allo script.

Se questo lo levo lo script funziona correttamente.
Se lascio il contatore e levo lo script dell'ordinamento dell'array, funziona pure correttamente.
Insieme no!!!

Vorrei capire il motivo e, vorrei soprattutto, risolvere, perchè mi serve per un lavoro di una certa rilevanza. :rollo:

Grazie a tutti quelli che mi sapranno aiutare (è da ieri sera che ci sbatto!!!).
codice:
<%@ LANGUAGE = "VBscript" %>

<%
'dichiara l'array
dim a(14)

'Funzione per ordinamento array
sub ordina(byref A)

	n=ubound(A)

	for j=1 to n
		x=A(j)(0)
		x2=A(j)(1)
		x3=A(j)(2)		
		i=j-1
		go=1

		while (i>=0)and(go=1)
			if (A(i)(0)<x) then
				A(i+1)(0)=A(i)(0)
				A(i+1)(1)=A(i)(1)
				A(i+1)(2)=A(i)(2)				
				i=i-1
			else
				go=0
			end if
		wend

		A(i+1)(0)=x
		A(i+1)(1)=x2
		A(i+1)(2)=x3
		
	next

end sub

'recupera il numero di opzioni previste per il sondaggio 
Voti = Request.form("tot_voti")

'recupera il flag di votazione
votato = request.form("votato")

'esegue lettura dati e update dei voti
if votato = "VOTA" then

	For i = 1 to Voti
		myVarVoto = "voto" & CStr(i)
		myVarVoto = Request.Form(myVarVoto)

		if len(myVarVoto) > 0 then	
			'query di estrazione dati dalla tabella sondaggi		  								
			strSQL = "SELECT Id_sondaggio, Ris1, Opzione1, Ris2, Opzione2, Ris3, Opzione3, Ris4, Opzione4, " & _
					 " Ris5, Opzione5, Ris6, Opzione6, Ris7, Opzione7, Ris8, Opzione8, " & _
					 " Ris9, Opzione9, Ris10, Opzione10, Ris11, Opzione11, Ris12, Opzione12, " & _
					 " Ris13, Opzione13, Ris14, Opzione14, Ris15, Opzione15 " & _												
					 " FROM sondaggi where Id_sondaggio = 1 "
					 
			Set objrs = Server.CreateObject("ADODB.Recordset")
			objrs.Open strSQL, objConn
	
			if myVarVoto <> "" then
				select case myVarVoto			
					case "voto1"
						sqlUpd = "UPDATE sondaggi set Ris1 = " & objrs("Ris1") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
						objConn.execute(sqlUpd)											
					case "voto2"
						sqlUpd = "UPDATE sondaggi set Ris2 = " & objrs("Ris2") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
						objConn.execute(sqlUpd)					
					case "voto3"	
						sqlUpd = "UPDATE sondaggi set Ris3 = " & objrs("Ris3") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
						objConn.execute(sqlUpd)
					case "voto4"	
						sqlUpd = "UPDATE sondaggi set Ris4 = " & objrs("Ris4") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
						objConn.execute(sqlUpd)
					case "voto5"
						sqlUpd = "UPDATE sondaggi set Ris5 = " & objrs("Ris5") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
						objConn.execute(sqlUpd)											
					case "voto6"
						sqlUpd = "UPDATE sondaggi set Ris6 = " & objrs("Ris6") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
						objConn.execute(sqlUpd)					
					case "voto7"	
						sqlUpd = "UPDATE sondaggi set Ris7 = " & objrs("Ris7") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
						objConn.execute(sqlUpd)
					case "voto8"	
						sqlUpd = "UPDATE sondaggi set Ris8 = " & objrs("Ris8") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
						objConn.execute(sqlUpd)
					case "voto9"
						sqlUpd = "UPDATE sondaggi set Ris9 = " & objrs("Ris9") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
						objConn.execute(sqlUpd)											
					case "voto10"
						sqlUpd = "UPDATE sondaggi set Ris10 = " & objrs("Ris10") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
						objConn.execute(sqlUpd)					
					case "voto11"	
						sqlUpd = "UPDATE sondaggi set Ris11 = " & objrs("Ris11") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
						objConn.execute(sqlUpd)
					case "voto12"	
						sqlUpd = "UPDATE sondaggi set Ris12 = " & objrs("Ris12") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
						objConn.execute(sqlUpd)
					case "voto13"
						sqlUpd = "UPDATE sondaggi set Ris13 = " & objrs("Ris13") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
						objConn.execute(sqlUpd)											
					case "voto14"
						sqlUpd = "UPDATE sondaggi set Ris14 = " & objrs("Ris14") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
						objConn.execute(sqlUpd)					
					case "voto15"	
						sqlUpd = "UPDATE sondaggi set Ris15 = " & objrs("Ris15") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
						objConn.execute(sqlUpd)																													
				end select		

			end if 
			
		end if
	
	next 'fine ciclo

	'chiude il recordset
	objrs.close
	set objrs = nothing
			
end if

'query di estrazione dati dalla tabella sondaggi ultima aggiornata		  								
strSQL = "SELECT Domanda_sondaggio, Ris1, Opzione1, Ris2, Opzione2, Ris3, Opzione3, Ris4, Opzione4, " & _
		 " Ris5, Opzione5, Ris6, Opzione6, Ris7, Opzione7, Ris8, Opzione8, " & _
		 " Ris9, Opzione9, Ris10, Opzione10, Ris11, Opzione11, Ris12, Opzione12, " & _
		 " Ris13, Opzione13, Ris14, Opzione14, Ris15, Opzione15 " & _												
		 " FROM sondaggi where Id_sondaggio = 1 " 

Set objrs = Server.CreateObject("ADODB.Recordset")
objrs.Open strSQL, objConn

'inizia a scrivere la pagina
Response.Write("<html><head><title>Home Page</title>")	
Response.Write("<script language='JavaScript' src='script.js'></script>")	
Response.Write("</head>")	
Response.Write("<body>")	

if not objrs.eof then
	
	'carico l'array delle domande e delle risposte
	a(0)=array(objrs("Ris1"), objrs("Opzione1"), 1)
	a(1)=array(objrs("Ris2"), objrs("Opzione2"), 2)
	a(2)=array(objrs("Ris3"), objrs("Opzione3"), 3)
	a(3)=array(objrs("Ris4"), objrs("Opzione4"), 4)
	a(4)=array(objrs("Ris5"), objrs("Opzione5"), 5)
	a(5)=array(objrs("Ris6"), objrs("Opzione6"), 6)
	a(6)=array(objrs("Ris7"), objrs("Opzione7"), 7)
	a(7)=array(objrs("Ris8"), objrs("Opzione8"), 8)
	a(8)=array(objrs("Ris9"), objrs("Opzione9"), 9)
	a(9)=array(objrs("Ris10"), objrs("Opzione10"), 10)
	a(10)=array(objrs("Ris11"), objrs("Opzione11"), 11)
	a(11)=array(objrs("Ris12"), objrs("Opzione12"), 12)
	a(12)=array(objrs("Ris13"), objrs("Opzione13"), 13)
	a(13)=array(objrs("Ris14"), objrs("Opzione14"), 14)
	a(14)=array(objrs("Ris15"), objrs("Opzione15"), 15)	
	
	call ordina(a)
	
	'stampiamo a video l'array ordinato in una formattazione HTML
	Response.Write("<table border='1' align='center' width='250'>")
	Response.Write("<form name='sondaggio' action='array.asp' method='post' onSubmit='return testSondaggioHome();'>")		
	Response.Write("<tr align='center'><td colspan='3'>Sondaggio del mese</td></tr>")
	Response.Write("<tr align='center'><td colspan='3'>" & objrs("Domanda_sondaggio") & "</td></tr>")	
	Response.Write("<tr align='center'><td colspan='2'>Discipline:</td><td>Voti:</td></tr>")
	
	contaScelta = 1
		
	for i=0 to ubound(a)
		if a(i)(1) <> "" then
			Response.Write("<tr>")		
			Response.Write("<td align='left'>" & a(i)(1) & "</td>")
			Response.Write("<td align='center'><input type='checkbox' value='voto" & a(i)(2) & "' name='voto" & a(i)(2) & "'></td>")			
			Response.Write("<td align='center'>" & a(i)(0) & "</td>")		
			Response.Write("</tr>")	
		end if
		contaScelta = contaScelta + 1
	next
	Response.Write("<tr align='center'><td colspan='3'><input type='hidden' name='tot_voti' value='" & contaScelta - 1 & "'><input type='hidden' name='votato' value=''><input type='submit' value='Vota' name='vota'></td></tr>")		
	Response.Write("</form>")	
	Response.Write("</table>")	
else
	Response.Write("<table border='1' align='center' width='200'>")
	response.write("<tr><td align='center'>Nessun sondaggio trovato</td></tr>")
	Response.Write("</table>")	
end if

'chiude la pagina
Response.Write("</body></html>")

'pulizia oggetti ADO
objrs.close
set objrs = nothing
objConn.close
set objConn = Nothing
 
 'per il contatore visite
 Set f = CreateObject("Scripting.FileSystemObject")
 Percorso = Server.MapPath("/mdb-database/contatoreStellina.txt")
Set a = f.OpenTextFile(Percorso)
 conta_visite = cint(a.ReadLine)
 If Session("conta_visite") = 0 then 
 Session("conta_visite") = conta_visite
 conta_visite = conta_visite + 1
 a.close
 Set a = f.CreateTextFile(Percorso, True)
 a.WriteLine(conta_visite)
 End If
 a.Close 
 
 response.write("Visite: " & conta_visite)%>