Jag har frågat om det här en gång tidigare, men jag får det inte att fungera, nya problem uppstår bara.
Set RecSet = Server.CreateObject("ADODB.Recordset")
SokRes = "SELECT * FROM links WHERE namn LIKE '%"& Request.Form("sok") &"%' OR beskrivning LIKE '%"& Request.Form("sok") &"%' ORDER BY real_kat"
RecSet.Open SokRes, Connect
If RecSet.EOF Then %>
Hittade inga länkar.
<% Else %>
<B>SÖKRESULTAT</B><BR>
Sökord: <B><%=Request.Form("sok")%></B><P>
<% Do Until RecSet.EOF
Current_kat = RecSet("kategori")
%>
<B><%=RecSet("real_kat")%></B><BR>
<% Do While RecSet("kategori") = Current_kat %>
<%=RecSet("namn")%><BR>
<%=RecSet("url")%><BR>
<I><%=RecSet("beskrivning")%></I><P>
<% RecSet.MoveNext
Loop
Loop
RecSet.Close
End If
ElseIf Request.Form("kat_search") = "true" Then
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * FROM links WHERE kategori = '" & Request.Form("kategorival") & "' ORDER BY kategori"
RecSet.Open Visa, Connect
%>
<b><%=RecSet("real_kat")%></b><BR>
<% Do Until RecSet.EOF %>
url: <%=RecSet("url")%><BR>
<I>"<%=RecSet("beskrivning")%>"</I><P>
<% RecSet.MoveNext
Loop
RecSet.Close
...är en sökmaskin, som fungerar nästan. Den ger de rätta resultaten, men i slutet får jag det irriterande felmeddelandet:
fel '80020009'
Undantag inträffade.
/kdrc/linktest.asp, rad 62
Du kan ha råkat ut för problemet med pm/memo (eller text om du inte använder Access) datatypen.
Om man har en kolumn med en sådan datatyp så kan man inte ha flera referenser till det fältet i recordsetet. Du kan ju testa att skriva så här i stället:
<% Do Until RecSet.EOF
Current_kat = RecSet("kategori")
%>
<B><%=RecSet("real_kat")%></B><BR>
newKat = current_kat
<% Do While newKat = Current_kat %>
<%=RecSet("namn")%><BR>
<%=RecSet("namn")%><BR>
<%=RecSet("url")%><BR>
<I><%=RecSet("beskrivning")%></I><P>
<% RecSet.MoveNext
if RecSet.eof then exit do
newKat = RecSet("kategori")
------------------ essentitia preter non sans multiplicandum
Defaultinställningen för fältet 'text' är 50 tecken. Välj mer om så behövs. Dessutom måste man markera valet 'tillåt noll-längd' om man vill att fältet ska kunna vara tomt.
Till emission och LarsG:
Jag testade koden. Jag måste först komplettera den med lite Loop:ar, som du glömt. Din kod ger tyvärr samma resultat.
Till Koplik:
Jag är inte helt 100 på det, men jag tror nog att jag behöver två loopar. Det skall alltså lista så att först kommer en rubrik och sedan de poster som hör till rubriken.
Den första loopen drar genom rubrikerna, den andra de underliggande posterna.
Kära LordJens.
Jag antar att Kategorirubrikerna ligger i samma recordset (efter kollat i koden så såg jag det) och då antar jag att Kategorirubrikerna finns med i varje post... Alltså så räcker det med att köra en loop som jag demonstrerade tidigare.
Jag använder ju en variant som innehåller föregående post's Kategorirubrik... och om den inte matchar mot nästa posts katrub så skriver den ut det, då är det ju en ny.
Och efter varje katrub så skriver den ju ut de underliggande posterna, utan katrub.
Men det är ju kanske inte så nog med att du måste ha 2 nästlade loopar, men jag tycker det är obehagligt när man måste använda sig av det och undviker det helst... men ibland så går det ju inte...
Lycka till med problemet iaf. :)
------------------
Den röda webkodarmasken är lös... Ahhrghhh