Ho un problema davvero difficile da risolvere, spero che qualcuno esperto di questo grande form possa darmi un'aiuto...
Questa è una parte dello script della pagina per correlare articoli.
L'id degli articoli correlati viene insertito concatenato in un campo specifico del recordset.

SCRIPT:
<%
'FUNZIONE PER LA VISUALIZZAZIONE DEGLI ARTICOLI CON ID DIVERSO DA QUELLI CORRELATI ALL'ARTICOLO PASSATO
function separ(testo,carattere)
dim separati
separati = split(testo, carattere)
k=1
for i=0 to ubound(separati)
sql_ARTICOLO_S = "select * from ARTICOLI WHERE ID_ARTICOLO=" & separati(i) & " order by TITOLO"
Set rds_ARTICOLO_S = Server.CreateObject("ADODB.Recordset")
rds_ARTICOLO_S.Open sql_ARTICOLO_S, conn ,3,3
if rds_ARTICOLI.fields("ID_ARTICOLO")=rds_ARTICOLO_S. fields("ID_ARTICOLO") then k=2
rds_ARTICOLO_S.Close '<<< PROBLEMA
set rds_ARTICOLO_S = Nothing
next
if k=1 then response.write "<OPTION value=" & rds_ARTICOLI.fields("ID_ARTICOLO") & ">" & rds_ARTICOLI.fields("TITOLO") & "</OPTION>"
end function
%>

<%
'INIZIO DEL CICLO ITERATIVO PER MOSTRARE A VIDEO GLI ARTICOLI NON ANCORA CORRELATI
do while not(rds_ARTICOLI.eof)
if CORRELATI<>"" then
testo=CORRELATI
carattere=","
call separ(testo,carattere)
else
response.write "<OPTION value=" & rds_ARTICOLI.fields("ID_ARTICOLO") & ">" & rds_ARTICOLI.fields("TITOLO") & "</OPTION>
"
end if
rds_ARTICOLI.movenext
loop
%>



Tutto funziona perfettamente solo che:

- se chiudo il recordset (rds_ARTICOLO_S)

rds_ARTICOLO_S.Close
set rds_ARTICOLO_S = Nothing

mi fa eseguire solo 16 cicli e mi da l'errore:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][Driver ODBC Microsoft Access] Oggetto non valido o non impostato.

correlati.asp, line 73


- se non chiudo il recordset (rds_ARTICOLO_S) mi da l'errore:

Microsoft OLE DB Provider for ODBC Drivers error '8007000e'

[Microsoft][Driver ODBC Microsoft Access] Impossibile aprire altre tabelle.
correlati.asp, line 73

dopo circa 9 cicli....

perfavore potete consigliarmi come risolvere questo problema, facendo in modo tale che posso eseguire infinite volte il ciclo...(per esempio estraendo tutti i dati e poi usarli dopo aver chiuso il database!!!)....spero ci sia una soluzione.

GRAZIE A TUTTI,
MARCO