Åh gud det var längesedan man satt ner och gjorde sin egen hemsida i ASP :)
Mkt har man glömt, mkt sitter kvar, men nu har jag kört fast rejält och inget i min gamla minnesbank hjälper.
Hade en gammal sportsida som jag försökte fräsha upp. Sidan listar ett lags fem största segrar hemma och borta, men nu editerade jag det hela så att det blev per säsong.
Visade sig dock att en av säsongerna inte innehöll fem segrar, vare sig hemma eller borta, så felmeddelandet som dök upp blev då:
"
ADODB.Field fel '80020009'
Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post. "
Själva frambläddrandet av de fem matcherna ser ut så här:
<% For i=1 To 5
nummert1 = nummert1 + 1
If nummert1 Mod 2 = 0 then
color = "#F8C570"
Else
color = "#FFFFFF"
End If
%>
Har ju alltså inte angett ngt stop, om det nu skulle visa sig att laget inte ens vinner fem matcher hemma borta, vilket ju är rätt dumt när det gäller per säsong. För att sidan inte skall visa felet krävs ju att laget vinner det mesta, och det är ju rätt svårt ibland :)
Dessvärre så finns det inget i din loop som ropar på något record-set så felet uppkommer någon annanstans. Som koden du bifogar är skriven skulle den kunna copy-pastas in var som helst och fungera :)
Genrellt så är det bra med
do while not RS.EOF
.....
loop
för precis som du säger så är det ganska knasig kodning att förutsätta något man inte kan veta innan!
För mer specifik hjälp kan du väl klistra in hela koden så kan vi klura på ett smart sätt att lösa ditt problem. Ta bort lösenord etc om du har sådant där!
Kan för enkelhetens skull då kopiera in precis hela kod-delen, med tabell etc så att ingen nödvändig info försvinner för dig :)
<%Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("xxxx/yyyyyy.mdb")&";pwd=härvareettlösenordvisst"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select* From games where teamHome = 'mitt lagnamn' AND gameType = 'League' AND gameTipsSign <> 'X' AND season = 7 order by
teamHomeGoals DESC, teamAwayGoals ASC, date DESC"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic %>
<TABLE cellSpacing=4 cellPadding=4 width=225 border=0>
<TBODY>
<TR>
<TD class=name bgColor=#DE8B00><STRONG><FONT color=#000000>Största seger hemma </FONT></STRONG></TD></TR>
<TR>
<TD class=name bgColor=#f5f5f5>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD class=head5 width="5%" align="right"><STRONG>#</STRONG></TD>
<TD class=head5 width="5%"><STRONG> </STRONG></TD>
<TD class=head5 width="70%"><STRONG>vs.</STRONG></TD>
<TD class=head5 width="15%" align="right"><STRONG>Res.</STRONG></TD>
<TD class=head5 width="5%"><STRONG> </STRONG></TD>
</TR>
<% For i=1 To 5
nummert1 = nummert1 + 1
If nummert1 Mod 2 = 0 then
color = "#F8C570"
Else
color = "#FFFFFF"
End If
%>
<TR>
<td bgcolor="<%=color%>" align="right">(<%=nummert1%>)</td>
<td bgcolor="<%=color%>"> </td>
<td bgcolor="<%=color%>"><a href="link_to_game?checkid=<%=RecSet("id")%>"><%If Recset("teamHome") = "mitt lagnamn" Then%><%=left(RecSet("teamAway"),17)%></a><%else%><%=left(RecSet("teamHome"),17)%></a><%end if%></td>
<td bgcolor="<%=color%>" align="right"> <%=RecSet("teamHomeGoals")%> - <%=RecSet("teamAwayGoals")%></td>
<td bgcolor="<%=color%>"> </td>
</tr>
</TBODY>
<%
RecSet.MoveNext
Next
RecSet.close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
%>
,,,och tack för välkomnandet. Vet jag varit medlem förr i detta eminenta forum och glades åt att se att det fanns kvar. Dessvärre har jag förlorat rättigheterna till den mailadressen jag en gång reggade mig med här så jag fick regga mig på nytt :)
PS. La in db-kopplingen också, så är det helt komplett, fast med en del säkerhetsändringar då förstås .... Tänk på att både jag och koden är gammal :D Den funkar trots allt rätt ok ännu, bortsett då från de editeringar jag nu plötsligt ville göra
Enda gången jag fick det att fnka var om jag tog bort din "or nummert....." i början där, men då kom jag ju på att det inte blir ett maxtak på 5 visade matcher som ju var själva grejen, så det ändrade jag tillbaks. Men som sagt. Still the same error
Jag noterade din "felstavning" från start och editerade det direkt, så där i låg inte problemet. Jag sitter och leker runt lite men utan att lyckas speciellt bra.
Tackar dock så länge för din tid och hoppas kunna lösa det själv eller om du eller ngn annan får ngn snilleblixt till :)
1. Byt namn på variablen "Addera" till "SQL" el. likn. Namnet "Addera" kommer från Mikrodatorns webbstudio, och det renderar spöstraff.
2. Be databasen att begränsa utvalet, genom att skriva "SELECT TOP 5 * ....."
3. "do while not RecSet.EOF or nummertl < 5" borde ha varit "do while not RecSet.EOF and nummertl < 5", men nu behövs bara "do while not RecSet.EOF"
Spöstraffet är avskaffat (det dyker gärna upp när webbstudion visar sina spår. De artiklarna har lärt ut så mycket dåligt genom åren, så man blir lite gramse...).
Gött att det löste problemet och välkommen till wF!
264 ms totalt · 3 externa anrop · v20260731065814-full.767b4345