Jag har en databas där jag plockar ut händelser 60 dagar framåt i tiden. så långt allt ok men när det inte finns några händelser 60 dagar framåt i tiden i databasen så vill jag skriva ut ett meddelande på skärmen. Hur jag än gör så får jag felmeddelandet. <code:asp>Else Det verkar inte fungera får fortfarande samma felmeddelande när det inte finns några poster. Du måste testa EOF _innna_ du försöker hämta några värden ifrån databasen (sqlsvar)meddelande vid ej träff i databasen
ADODB.Field error '800a0bcd'
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record
koden ser för närvarande ut som följer.
Dim Connect
Dim sqlfraga
Dim sqlsvar
Dim datum2
Dim handelse
Dim anmarkning
Dim datum1
Dim tiodagar
Dim manad
tiodagar=Dateadd("d",-9,Date)
manad=Dateadd("d",+60,Date)
rem skriver ut innehållet i databasen
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("hhik.mdb")
sqlfraga="SELECT * FROM aktuellt Where Datum < #"& manad &"# ORDER BY Datum ASC; "
if manad - Date > 60 Then
Response.Write("Det finns inga aktuella händelser inom de närmaste " & manad &" dagarna")
Else
Set sqlsvar=connect.Execute(sqlfraga)
datum2=sqlsvar("Datum")
handelse=sqlsvar("Händelse")
anmarkning=sqlsvar("Anmärkning")
Response.Write("<table>")
Do until sqlsvar.EOF
datum2 = sqlsvar("Datum")
handelse = sqlsvar("Händelse")
anmarkning = sqlsvar("anmärkning")
Response.Write("<tr>")
if datum2 = "" Then
Response.Write("<td width=""200"" title=""tom cell: första cellen i raden"">")
Response.Write(" ")
Response.Write("</td>")
Response.Write("<td width=""100"" title=""tom cell: första cellen i raden"">")
Response.Write(" ")
Response.Write("</td>")
Else
Response.Write("<td width=""200"" title=""tom cell: andra cellen i raden"">")
Response.Write(" ")
Response.Write("</td>")
Response.Write("<td width=""100"" title="""& datum2 & ": andra cellen i raden"&""">")
Response.Write(datum2)
Response.Write("</td>")
End if
if handelse = "" Then
datum2 = ""
handelse = ""
anmarkning =""
Else
Response.Write("<td width=""250"" title="""& handelse & ": tredje cellen i raden"&""">")
Response.Write(handelse)
Response.Write("</td>")
End if
if anmarkning = "" Then
Response.Write("<td title=""tom cell: sista cellen i raden"" >")
Response.Write(" ")
Response.Write("</td>")
Else
Response.Write("<td title="""& anmarkning & ": sista cellen i raden"&""">")
Response.Write(anmarkning)
Response.Write("</td>")
End if
Response.Write("</tr>")
sqlsvar.MoveNext
Loop
end if
Response.Write("<tr>")
Response.Write("<td title=""slut på tabellen"">")
Response.Write(" ")
Response.Write("</td>")
Response.Write("</tr>")
Response.Write("</table>")
Connect.Close
Set Connect = Nothing
%>
Vore tacksam om den som svarar försöker förklara vad som är fel och inte bara ger en kod som är rätt så att jag som fortfarande är ganska färsk på asp förstår vad jag har gjort för fel.
MVH Patrik
Sv: meddelande vid ej träff i databasen
Set sqlsvar=connect.Execute(sqlfraga)
datum2=sqlsvar("Datum")
handelse=sqlsvar("Händelse")
anmarkning=sqlsvar("Anmärkning")
Response.Write("<table>")
if sqlsvar.EOF Then
response.write "Näh du, inga poster hittades..."
else
Do until sqlsvar.EOF
</code>
sedan en "end if" efter loopSv:meddelande vid ej träff i databasen
Set sqlsvar=connect.Execute(sqlfraga)
datum2=sqlsvar("Datum")
handelse=sqlsvar("Händelse")
anmarkning=sqlsvar("Anmärkning")
Response.Write("<table>")
if sqlsvar.EOF Then
Response.Write("Det finns inga aktuella händelser de närmaste " & manad &" dagarna.")
Else
Do until sqlsvar.EOFSv: meddelande vid ej träff i databasen