Microsoft VBScript runtime error '800a01a8'
Object required: ''
sort.asp, line 11
Får detta felmeddleande när jag kör följande kod, koden har jag mer eller minder "klippt och klistrat" ihop själv så jag förstår om någon får ett och annat skratt :birp
Den funktionen jag eftersöker är att man ska kunna sortera efter "månad" och "år" (tex. index.asp?page=sort&manad=3&aret=2003) och då om inget finns så ska det stå en text, tex Inget denna månad.
Kan någon vänlig själ fixa till min kod så vore det kanon! :)
<%
strSQL = "SELECT* FROM nyhetartikel WHERE typ = 'nyhet' OR typ = 'artikel' ORDER BY datum DESC"
Set objCon = Server.CreateObject("ADODB.Connection")
objCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db.mdb")
Set objRS = objCon.Execute(strSQL)
%>
<table cellpadding="0" cellspacing="0" width="100%" border="0">
<%If Request.QueryString("manad") <> "" Then %>
<% Set objRS=Conn.Execute("Select * From nyhetartikel WHERE typ = 'nyhet' OR typ = 'aktivitet' OR Month(datum)='" & Request.QueryString("manad") & "' And Year(datum)='" & Request.QueryString("aret") & "'Order By [datum] desc")%>
<%If objRS.EOF Then%>
<tr>
<td colspan="3"><b>Här var det tomt..</b></td>
</tr>
<%Else
Do Until objRS.EOF%>
<tr>
<td width="20%" valign="top"><%=FormatDateTime(objRS("datum"),2)%>
</td>
<td width="80%"><a href="index.asp?avdelning=dok&ID=<%=objRS("ID")%>"><%If Len(objRS("rubrik")) > 60 Then%><%=Left(objRS("rubrik"),60)%>...<%Else%><%=objRS("rubrik")%><%End If%></a>
</td>
</tr>
<%objRS.MoveNext
Loop
End If
End If%>
</table>
Låter som du saknar ett av dina invärden. prova att skriva ut din sql-sats istället för att exekvera den. Då ser du lätt om det är så att en av dina querystrings saknar värde. :)
Response.write "Select * From nyhetartikel WHERE typ = 'nyhet' OR typ = 'aktivitet' OR Month(datum)='" & Request.QueryString("manad") & "' And Year(datum)='" & Request.QueryString("aret") & "'Order By [datum] desc"
response.end
'istället för
Set objRS=Conn.Execute("Select * From nyhetartikel WHERE typ = 'nyhet' OR typ = 'aktivitet' OR Month(datum)='" & Request.QueryString("manad") & "' And Year(datum)='" & Request.QueryString("aret") & "'Order By [datum] desc")
? Jag är helt "lost". (som vanligt)
Som sagt jag har inte en susnig om detta fungerar eller inte :)
Någon får mer än gärna fixa till denna kod så den fungerar.
<table cellpadding="0" cellspacing="0" width="100%" border="0">
<%
If Request.QueryString("manad") <> "" Then
Set objCon = Server.CreateObject("ADODB.Connection")
objCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db.mdb")
Set objRS=objCon.Execute("Select * From nyhetartikel WHERE typ = 'nyhet' OR typ = 'aktivitet' OR Month(datum)='" & Request.QueryString("manad") & "' And Year(datum)='" & Request.QueryString("aret") & "' Order By [datum] desc")
If objRS.EOF Then
%>
<tr>
<td colspan="3"><b>Här var det tomt..</b></td>
</tr>
<%Else
Do Until objRS.EOF%>
<tr>
<td width="20%" valign="top"><%=FormatDateTime(objRS("datum"),2)%>
</td>
<td width="80%"><a href="index.asp?avdelning=dok&ID=<%=objRS("ID")%>"><%If Len(objRS("rubrik")) > 60 Then%><%=Left(objRS("rubrik"),60)%>...<%Else%><%=objRS("rubrik")%><%End If%></a>
</td>
</tr>
<%
objRS.MoveNext
Loop
End If
objRS.Close
objCon.Close
End If
%>
</table>
Iofs osäker på vad du vill plocka fram med den där sql-frågan, ska det vara OR ( = Eller ) där?
Typ: plocka fram poster av typen nyhet Eller typen aktivitet Eller månaden Och året...