Newsgroup: it.comp.www.asp
Titolo: Messaggio di errore su RecordSet

Salve a tutti,
ho un problema all'interno di una pagina quando cerco di effettuare
l'apertura di un recordset su una tabella di un DB Access.
Mi spiego meglio: dalla pagina accedo ad una tabella del DB ne leggo i
campi e ne visualizzo il contenuto in una pagina HTML, la tabelle in
questione ha un campo che contiene la chiave collegata ad una seconda
tabella dello stesso DB.
Utilizzo pertanto tale campo all'interno di una query per seleziona la
tupla che mi serve dove sono contenute altre informazione da
visualizzare.
L'errore che mi viene visualizzato è il seguente:
Errore di run-time di Microsoft VBScript errore "800a005b" 
Variabile oggetto non impostata: 'rs' 
il codice dove eseguo le varie operazioni è il seguente:
connessione alla tabella principale:
' APERTURA CONNESSIONE SUL DB
 mConn.Open msConn  	 
' APERTURA RECORDSET
   Set oRecSet = Server.CreateObject("ADODB.Recordset")
   msSql = "SELECT * FROM " & nomeTabella & " ORDER BY anno_invio " &
ordinamento & ", mese_invio " & ordinamento & ", giorno_invio "&
ordinamento
    oRecSet.Open msSql, msConn, 3, 3
[da qui estraggo tutti i campi che mi interessano]
eseguo quindi un'altra query sulla seconda tabella dello stesso DB
' APERTURA RECORDSET SU TBL_RICHIESTE
   Set rs = Server.CreateObject("ADODB.Recordset")
   strRichieste = "SELECT * FROM tbl_richieste WHERE chiave = " &
oRecSet("codice_cliente")
 rs.Open strRichieste, msConn, 3, 3	   
Ovviamente il primo recordSet è ancora aperto quando eseguo la
connessione alla seconda tabella.
Gia al solo settaggio della variabile "rs" mi viene visualizzato
l'errore.
Premetto che il codice fa parte di una pagina che viene inclusa in
un'altra  dove vengono settate le variabili mConn e msConn usate.
Non capisco dove sto sbagliando, qualcuno sa darmi un'indicazione ?
Vi ringrazio in anticipo.
Fabrizio.

 Variabile oggetto non impostata: 'rs'
Ho guardato velocemente il tuo codice e non mi sembra ci siano errori anche 
se ci sono delle cose *strane*. Ad inizio codice apri una connessione in 
questo modo:
mConn.Open msConn
In msConn è presente una stringa per l'accesso al database), ma in seguito 
tu non usi questa connessione aperta, ma ne apri un'altra con il recordset 
passandogli ancora la stringa per l'accesso al database:
oRecSet.Open msSql, msConn, 3, 3
e in seguito:
rs.Open strRichieste, msConn, 3, 3
Se vuoi usare la connessione aperta in precedenza devi scrivere:
oRecSet.Open msSql, mConn, 3, 3
rs.Open strRichieste, mConn, 3, 3
Comunque, tornando al tuo errore, sicuro che non utilizzi la variabile rs in 
qualche altra parte del codice (anche negli include)?
Un solo suggerimento, senza bisogno di aprire la connessione per ogni 
recordset, puoi scrivere:
' APERTURA CONNESSIONE SUL DB
 mConn.Open msConn
' APERTURA RECORDSET
   Set oRecSet = Server.CreateObject("ADODB.Recordset")
   msSql = "SELECT * FROM " & nomeTabella & " ORDER BY anno_invio " &
ordinamento & ", mese_invio " & ordinamento & ", giorno_invio "&
ordinamento
 set  oRecSet=mConn.Execute(msSql)
[da qui estraggo tutti i campi che mi interessano]
eseguo quindi un'altra query sulla seconda tabella dello stesso DB
' APERTURA RECORDSET SU TBL_RICHIESTE
   strRichieste = "SELECT * FROM tbl_richieste WHERE chiave = " &
oRecSet("codice_cliente")
 set  rs=mConn.Execute(strRichieste)
e infine chiudi il tutto con:
set rs=nothing
set oRecSet=nothing
mConn.Close
set mConn=nothing
Ciao
--
AZ 

 Ciao
Ho seguito il tuo consiglio ed ho risolto il problema.
Comunque probabilmente il problema era dovuto al fatto che subito dopo
aver aperto il secondo recordset lo chiudevo e nel ciclo sucessivo mi
generava l'errore ! Infatti la prima volta mi visualizzava i campi, la
volta successiva dava errore.
Inoltre ho ottimizzato l'apertura del recordset come mi hai indicato
rispetto alla sintassi che usavo io.
GRAZIE.
Fabrizio.