codice:
<%
'controllo i campi
If Request.Form("NomeCognome")="" OR Request.Form("Email")="" OR Request.Form("Descrizione")="" OR Request.Form("Provincia")="" OR Request.Form("Citta")="" Then
'se ce ne sno di vuoti do l'errore
Response.Redirect("errore.asp")

Else

'altimenti, se tutto è ok, inizio col mandare una email (che arriva a me)
Dim MyMail
Set MyMail=CreateObject("CDONTS.NewMail")
Descrizione=Request.Form("Descrizione")
MyMail.From=Request.Form("Email")
MyMail.To="info@sito.it"
MyMail.Subject="Richiesta di preventivo"
MyMail.Body="Da: " & Request.Form("NomeCognome") & "
Città: " & Request.Form("Citta") & "
Provincia: " & Request.Form("Provincia") & "
Telefono: " & Request.Form("Telefono") & "

" & Descrizione
MyMail.BodyFormat=0 
MyMail.MailFormat=0
MyMail.Importance=1 
MyMail.Send

'qui mi estraggo una cifra casuale da 1000 a 9999
Dim intUp, intLow, intRandom, intRange 
Randomize()
intUP = 1000
intLow = 9999
intRange = intUp - intLow + 1 
intRandom = CInt ( ( intRange * Rnd() ) + intLow) 
cifra=intRandom

'apro il database
Dim cn
Set cn=Server.CreateObject("ADODB.Connection")
cn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("database.mdb")
Dim rs, strConn, strSql
set rs = Server.CreateObject("ADODB.recordset")
sql="SELECT * FROM codici WHERE Email"
rs.Open "SELECT * FROM codici WHERE Email like '"&Request.Form("Email")&"'", cn,3,3

'con la query precedento vedo se l'email c'è già
If rs.EOF Then

'non c'è e proseguo con la registrazione de dati
rs.Fields("CodiceRichiesta")=cifra
rs.Fields("Email")=Request.Form("Email")
rs.Close
cn.Close

'mando una seconda email (che arriva all'utente)
Set MyMail=CreateObject("CDONTS.NewMail")
MyMail.From="info@sito.it"
MyMail.To=Request.Form("Email")
MyMail.Subject="Richiesta di preventivo"
MyMail.Body="Ciao "&Request.Form("NomeCognome")&",
la tua richiesta di preventivo &egrave; stata inviata, al più presto riceverai una risposta.

Il tuo codice per partecipare al concorso &egrave; "&cifra&""
MyMail.BodyFormat=0 
MyMail.MailFormat=0
MyMail.Importance=1 
MyMail.Send

Else

'se l'email già c'è mando un altro tipo di email (senza codice)
Set MyMail=CreateObject("CDONTS.NewMail")
MyMail.From="info@sito.it"
MyMail.To=Request.Form("Email")
MyMail.Subject="Richiesta di preventivo"
MyMail.Body="Ciao "&Request.Form("NomeCognome")&",
la tua richiesta di preventivo &egrave; stata inviata, al più presto riceverai una risposta."
MyMail.BodyFormat=0 
MyMail.MailFormat=0
MyMail.Importance=1 
MyMail.Send

Response.Redirect("conferma.asp")
Set MyMail=Nothing

'chiudo i 2 if aperti
End If

End If
%>
Questo codice mi dà:

ADODB.Recordset error '800a0bcd'

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

pagina.asp, line 34


La linea imputata è rs.Fields("CodiceRichiesta")=cifra

Perché?