webForumDet fria alternativet

datum = manad & Year

ASPur ASP

5 svar · 289 visningar · startad av tank82

Medlem sedan feb. 2003210 inlägg
Frågan#1
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>
Medlem sedan mars 20025 907 inlägg
#2

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")

/r solbulles svar är nog mer korrekt :}

Medlem sedan mars 20015 287 inlägg
#3

Du använder först objektet objCon, sen använder du dig av Conn utan att vad jag kan se skapa det.

Ska det verkligen vara två db-öppningar? Det verkar lite tokigt.

Medlem sedan feb. 2003210 inlägg
#4

? 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.

Medlem sedan mars 20015 287 inlägg
#5

Kanske så här:

<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...

Medlem sedan feb. 2003210 inlägg
#6

solbulle du är en klippa, det var nära nog för att jag skulle klara av det. TACK! :)

127 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)