sempre con questi maledettissimi cicli... (mi ricordano qualcosa )

ho questo codice:
codice:
<%
query
if rec.eof then
response.write nessun record
%> 
<%else%>
		<%
		rs.PageSize = RecordsPerPagina
		rs.AbsolutePage = page

For i=1 to RecordsPerPagina 
  if Not rs.EOF then 
    'mostra record 
	
	if request("tipo_mx")="sent" then
	value="disabled"
	if rs("messaggio_letto")="1" then
	check="checked"
	end if
	end if
	
	if request("tipo_mx")<>"sent" then
	if rs("messaggio_letto")="1" then
	check="checked"
	value="disabled"
	end if
	end if
	if rs("messaggio_letto")="1" then
	letto_web = "Letto dall'utente il " & rs("data_letto") 
	else
	letto_web="Il messaggio non è stato ancora letto"
	end if
	%>

'mostro record...

   <% rs.movenext
      end if
    	next
    	%>
il problema è che se tipo_mx="sent"
codice:
if request("tipo_mx")="sent" then
	value="disabled"
	if rs("messaggio_letto")="1" then
	check="checked"
	end if
	end if
dovrebbe cekkare le checkbox e renderle disabled.
in effetti le rende disabled ma se il record = 1 ed è il primo del recordset, cekka tutti i restanti sotto.
se non è il primo ma il 4° cekka tutti quelli sotto il 4° anche se non rs("messaggio_letto") = 0

sicuramente è un problema di condizione.
MA dove??

Grazie.