• User Newbie

    Problema asp con db access

    Ciao a tutti. Non so se sto postando sulla sezione giusta, quindi chiedo in anticipo scusa in caso di mio errore.
    Il problema è il seguente: quando visito la pagina della classifica mi restituisce il questo errore:
    ADODB.Field error '800a0bcd'
    Either BOF or EOF is True, or the current record has been deleted. Requested
    operation requires a current record.
    /classifica.asp, line 133.

    Il codice è il seguente:
    ... Dim strSQL, barra, objRECSET, serie, strPen, objPen
    ... serie = "78"
    ... strSQL = "SELECT * FROM qryClassificaWeb WHERE Serie_C Like
    '"&serie&"' AND Serie_O Like '"&serie&"'"
    ... strPen = "SELECT * FROM qryPenalizzazioni WHERE tblSquadra.serie
    Like '"&serie&"'"
    ... Dim objRS, numero
    ... Set objRS = Server.CreateObject("ADODB.Recordset")
    ... objRS.Open strSQL, objConn
    ... numero = objRS.recordcount
    ... Set objPen = Server.CreateObject("ADODB.Recordset")
    ... objPen.Open strPen, objConn
    132 dim ser, bgcolore
    133 ser = objRS("serie")
    134 If objRS.EOF Then
    ... Response.Write "Classifica non presente"%>
    ... <%Else%> .........
    Ho fatto varie prove: se escludo la riga incriminata (la 133), l'errore non appare,
    ed a video scrive "Classifica non presente" e se invece escludo la riga 133, e modifico la riga 134 da "If objRS.EOF Then" a "If not objRS.EOF Then" mi fa vedere solo lintestazione della classifica.
    Ho anche notato che se inserisco i risultati di un pò di giornate l'errore sparisce e mi costruisce la classifica regolarmente.
    Onestamente non riesco a capire dove sto sbagliando. :bho:
    Grazie anticipatamente.


  • Super User

    Prova a spostare

    dim ser, bgcolore
    ser = objRS("serie")

    due righe sopra, prima di

    Set objPen = Server.CreateObject("ADODB.Recordset")


  • User Newbie

    @cali1981 said:

    Prova a spostare

    dim ser, bgcolore
    ser = objRS("serie")

    due righe sopra, prima di

    Set objPen = Server.CreateObject("ADODB.Recordset")

    Ciao e grazie per avermi risposto.
    Ho fatto come da te consigliato ma il risultato è stato lo stesso.

    ieri tra le varie prove mi sono accorto che con il codice inalterato se inserisco i risultati della prima giornata l'errore persiste, mentre basta inserire i risultati delle seconda giornata per avere il calcolo ed automaticamente la costruzione della classifica.

    Preciso anche che:
    con questo codice strSQL = "SELECT * FROM qryClassificaWeb WHERE Serie_C Like '"&serie&"' AND Serie_O Like '"&serie&"'" vado ad interrogare i vari dati per costruire la classifica

    mentre con questo codice strPen = "SELECT * FROM qryPenalizzazioni WHERE tblSquadra.serie Like '"&serie&"'" vado solo a verificare se ci sono eventuali punti di penalizzazione a qualche squadra.

    Ecco perchè credo che l'errore sia nel promo codice quello della classifica.

    Per completezza ti posto tutto il codice inerente alla costrizione a video della classifica.

    <%
    'dati relativi all'articolo
    Dim strSQL, barra, objRECSET, serie, strPen, objPen
    serie = "78"
    strSQL = "SELECT * FROM qryClassificaWeb WHERE Serie_C Like '"&serie&"' AND Serie_O Like '"&serie&"'"
    strPen = "SELECT * FROM qryPenalizzazioni WHERE tblSquadra.serie Like '"&serie&"'"

    Dim objRS, numero
    Set objRS = Server.CreateObject("ADODB.Recordset")
    'objRS.CursorType = adOpenStatic
    objRS.Open strSQL, objConn
    numero = objRS.recordcount
    Set objPen = Server.CreateObject("ADODB.Recordset")
    objPen.Open strPen, objConn
    dim ser, bgcolore
    ser = objRS("serie")
    If objRS.EOF Then
    'If not objRS.EOF Then

             Response.Write "Classifica non presente"%>
    

    <%Else%>
    <p>
    <table width="420" border="1px">
    <tr bgcolor="#000000">
    <td width="24%" bgcolor="#003399"><span class="Stile3">Squadra</span></td>
    <td colspan="7" bgcolor="#003399"><div align="center" class="Stile3">Totale</div></td>
    <td colspan="5" bgcolor="#003399"><div align="center" class="Stile3">In casa </div></td>
    <td colspan="5" bgcolor="#003399"><div align="center" class="Stile3">Fuori casa </div></td>
    </tr>
    <tr bgcolor="#000000">
    <td bgcolor="#003399"><span class="Stile3"> </span></td>
    <td width="4%" bgcolor="#003399"><div align="center" class="Stile3">Pt</div></td>
    <td width="4%" bgcolor="#003399"><div align="center" class="Stile3">G</div></td>
    <td width="4%" bgcolor="#003399"><div align="center" class="Stile3">V</div></td>
    <td width="4%" bgcolor="#003399"><div align="center" class="Stile3">N</div></td>
    <td width="4%" bgcolor="#003399"><div align="center" class="Stile3">P</div></td>
    <td width="4%" bgcolor="#003399"><div align="center" class="Stile3">GF</div></td>
    <td width="6%" bgcolor="#003399"><div align="center" class="Stile3">GS</div></td>
    <td width="4%" bgcolor="#003399"><div align="center" class="Stile3">V</div></td>
    <td width="4%" bgcolor="#003399"><div align="center" class="Stile3">N</div></td>
    <td width="4%" bgcolor="#003399"><div align="center" class="Stile3">P</div></td>
    <td width="5%" bgcolor="#003399"><div align="center" class="Stile3">GF</div></td>
    <td width="6%" bgcolor="#003399"><div align="center" class="Stile3">GS</div></td>
    <td width="4%" bgcolor="#003399"><div align="center" class="Stile3">V</div></td>
    <td width="4%" bgcolor="#003399"><div align="center" class="Stile3">N</div></td>
    <td width="4%" bgcolor="#003399"><div align="center" class="Stile3">P</div></td>
    <td width="7%" bgcolor="#003399"><div align="center" class="Stile3">GF</div></td>
    <td width="4%" bgcolor="#003399"><div align="center" class="Stile3">GS</div></td>
    </tr>
    <%
    Do While Not objRS.EOF
    if objRS("squadra") = "Magione C5" then
    bgcolore = "#BFCCF9"
    else
    bgcolore = "#ffffff"
    end if
    %>
    <tr class="Stile4" bgcolor=<% = bgcolore %> >
    <td class="Stile2"><%=objRS("squadra")%></td>
    <td><div align="center" class="Stile2"><b><%=objRS("Pt")%></b></div></td>
    <td><div align="center" class="Stile2"><%=objRS("G")%></div></td>
    <td><div align="center" class="Stile2"><%=objRS("V")%></div></td>
    <td><div align="center" class="Stile2"><%=objRS("N")%></div></td>
    <td><div align="center" class="Stile2"><%=objRS("P")%></div></td>
    <td><div align="center" class="Stile2"><%=objRS("GF")%></div></td>
    <td><div align="center" class="Stile2"><%=objRS("GS")%></div></td>
    <td><div align="center" class="Stile2"><%=objRS("V_c")%></div></td>
    <td><div align="center" class="Stile2"><%=objRS("N_c")%></div></td>
    <td><div align="center" class="Stile2"><%=objRS("P_c")%></div></td>
    <td><div align="center" class="Stile2"><%=objRS("GF_c")%></div></td>
    <td><div align="center" class="Stile2"><%=objRS("GS_c")%></div></td>
    <td><div align="center" class="Stile2"><%=objRS("V_fc")%></div></td>
    <td><div align="center" class="Stile2"><%=objRS("N_fc")%></div></td>
    <td><div align="center" class="Stile2"><%=objRS("P_fc")%></div></td>
    <td><div align="center" class="Stile2"><%=objRS("GF_fc")%></div></td>
    <td><div align="center" class="Stile2"><%=objRS("GS_fc")%></div></td>
    </tr>

    <%
    objRS.MoveNext
    Loop
    %>
    </table>
    <p> </p>
    <div><span class="Stile2">
    <%
    If objPen.EOF Then
    Response.Write "Nessuna squadra ha subito penalizzazioni"
    else
    Do While Not objPen.EOF
    Response.Write "Squadra: " & objPen("nome") & " - Punti di penalizzazione: " & objPen("punti_penalizzazione") & "<br>"
    objPen.MoveNext
    Loop
    end if
    objPen.Close
    Set objPen=Nothing
    %>
    </span>
    </div>

    <%
    objRS.Close
    Set objRS=Nothing
    'objRS1.Close
    'Set objRS1=Nothing
    objConn.Close
    Set objConn=Nothing
    %>
    <p>  </p>
    <p>
    <% end if %>
    </p>


  • Super User

    Non mi sembra che controlli se i risultati ci siano, sicuro che tira fuori qualcosa?