---
title: "ProblemSUB"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/41352-problemsub"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "timedia"
published: "2002-04-11T08:59:04.000Z"
updated: "2002-04-15T11:54:57.000Z"
replies: 27
views: 576
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/41352-problemsub"
---

# ProblemSUB

_Sida 1 av 2._

## #1 — timedia, 2002-04-11T08:59Z

Den vill inte lista filmer i samma kategori?

Först öppnar jag DB

```
<%

	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("mindb") 

	Set RecSet = Server.CreateObject("ADODB.Recordset")
              Visa = "SELECT * FROM Recension WHERE ID = " & request("Id")
   RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic 
%>
```

Så anroper jag rätt sub:

```
<%
 IF RecSet("Kategori") = "%action%" THEN
filmsistaaction() 
 end if %>
```

Så här ser suben ut:

```
sub filmsistaaction()

SQLlist2 = "SELECT TOP 10 ID, Titel, Kategori FROM Recension WHERE Kategori LIKE '%action%' ORDER BY Id Desc"

Set RS= Connect.Execute(SQLlist2)
RS.Cachesize = 10

if not (RS.eof and RS.bof) THEN
DO UNTIL RS.EOF

  response.write "<a class=""meny"" href=""filmrec.asp?ID=" & RS("ID") & """>" & RS("Titel") & "</a>&nbsp;"
  response.write "<br>" & chr(13)
  RS.MoveNext
Loop
else
  response.write "<br><b>Inga filmer i databasen???</b><br>"
end if

RecSet.Close

End Sub
```

...men den vill inte lista actionfilmerna  :x 
Någon som kan hjälpa?

Permalänk: https://www.webforum.nu/p/41352

## #2 — skyman, 2002-04-11T09:20Z

Kör response.write(visa) och kolla om du har problem med select-satsen.

Permalänk: https://www.webforum.nu/p/641273

## #3 — timedia, 2002-04-11T09:36Z

response.write(visa) skriver ut: SELECT \* FROM Recension WHERE ID = 261...
men när jag skriver response.write(sqllist2) får jag inget svar?
Vad kan vara fel med selecten i subben?

Permalänk: https://www.webforum.nu/p/641284

## #4 — skyman, 2002-04-11T09:59Z

Får du inget svar? Vart skriver du Response.Write(sqllist2) ?
Inne i Suben? Då kommer du inte in i sugen.
Kolla så att if-satsen IF RecSet("Kategori") = "%action%" THEN är korrekt.

Permalänk: https://www.webforum.nu/p/641301

## #5 — LarsG, 2002-04-11T10:37Z

IF RecSet("Kategori") = "%action%" 

Ligger det verkligen %action% i databasen?

Permalänk: https://www.webforum.nu/p/641325

## #6 — timedia, 2002-04-12T08:16Z

action ligger i db. Nu har jag plockad bort procenttecknen i if-satsen, men det hjälpte inte  :o

Jag provade skriva ut Response.Write(sqllist2) i if-satsen:

IF RecSet("Kategori") = "action" THEN
filmsistaaction() 
Response.Write(sqllist2)
 end if

Permalänk: https://www.webforum.nu/p/641760

## #7 — @nders, 2002-04-12T08:21Z

sqllist2 har inget värde utanför subben.

Vad innehåller RecSet("kategori")? Skriv ut och kolla. Kommer du in i if-satsen?

Permalänk: https://www.webforum.nu/p/641765

## #8 — LarsG, 2002-04-12T08:24Z

Eftersom sqllist2 är lokal i din sub så kommer du inte att få ut något av den utskriften.

Om du bara jämför med = så är det skillnad på små och stora bokstäver

```
IF lcase(RecSet("Kategori")) = "action" THEN 
   filmsistaaction() 
end if
```

t.ex.

Permalänk: https://www.webforum.nu/p/641767

## #9 — timedia, 2002-04-12T08:28Z

Hmm, det är ju if-satsen som är tokig  :q 

```
IF RecSet("Kategori") = "Action" THEN
 response.write RecSet("Kategori")

 end if
```

Den skriver inte ut nåt!
När jag lägger response.write RecSet("Kategori") utanför ifsatserna skriver den ut: Action / Drama

Permalänk: https://www.webforum.nu/p/641769

## #10 — timedia, 2002-04-12T08:39Z

Detta funkar inte LarsG:
 IF lcase(RecSet("Kategori")) = "action" THEN 
   response.write RecSet("Kategori")
 end if

Permalänk: https://www.webforum.nu/p/641771

## #11 — skyman, 2002-04-12T09:18Z

men svaret var väl "action / drama"?
Du får väl kolla om svaret från db är just det isf...

Permalänk: https://www.webforum.nu/p/641792

## #12 — timedia, 2002-04-15T07:07Z

Jag fixar inte det här, men ger mig inte än  :( 

If-satsen är fel på nåt sätt?
Om jag skriver \<% =RecSet("Kategori") %\> får jag svaret: Action / Drama
Om jag skriver \<% IF lcase(RecSet("Kategori")) = "Action" THEN 
response.write RecSet("Kategori") 
end if %\> får jag inget resultat. Ologisk???

Permalänk: https://www.webforum.nu/p/646044

## #13 — @nders, 2002-04-15T07:13Z

Nej, det är mycket logiskt. "Action / Drama" är ju inte under några omständigheter samma som "Action".

Det du kan göra är att kontrollera om Action ingår som del i fältvärdet, med InStr.

I övrigt kommer aldrig din if-sats att fungera eftersom du i jämförelsen gör om fältvärdet till lower case, men ändå jämför med Action med versalt A.

```
if InStr(LCase(RecSet("kategori")), "action") > 0 then
```

Mvh,

Permalänk: https://www.webforum.nu/p/646049

## #14 — timedia, 2002-04-15T08:02Z

Tack så mycket @nders, nu funkar det  :birp 

...men om du inte är trött på mig än? varför listar den 20 filmer?

```
if InStr(LCase(RecSet("kategori")), "action") > 0 then
 filmsistaaction()
 end if
```

Subben:

```
Sub filmsistaaction()

SQLlist = "SELECT TOP 10 ID, Titel, Kategori FROM Recension WHERE Kategori LIKE '%action%' ORDER BY Id Desc, titel"

Set RS = Connect.Execute(SQLlist)
RS.Cachesize = 10

if not (RS.eof and RS.bof) THEN
DO UNTIL RS.EOF

  response.write "<a class=""meny"" href=""filmrec.asp?ID=" & RS("ID") & """>" & RS("Titel") & "</a>&nbsp;"
  response.write "<br>" & chr(13)
  RS.MoveNext
Loop
else
  response.write "<br><b>Inga actionfilmer i databasen???</b><br>"
end if

RS.Close
End Sub
```

Permalänk: https://www.webforum.nu/p/646074

## #15 — @nders, 2002-04-15T08:20Z

Kan det vara ett problem som liknar det i denna tråd: <http://www.webforum.nu/showthread.php?s=&threadid=12192> ?

Annars är det två uppsättningar av samma filmer, eller är det 20 olika? Om det är 20 olika verkar det som att det blir så pga Access förmåga att göra enligt tidigare tråd när man använder TOP.

Kontrollera att du inte råkar exekvera subben två gånger också... ;)

Mvh,

Permalänk: https://www.webforum.nu/p/646080

## #16 — timedia, 2002-04-15T09:35Z

Den listar först 10 actionfilmer och sen 10 drama!
...fast jag ville ju bara ha actionfilmerna  :q 

Resultatet av ifsatsen är 'Action / Drama'

Permalänk: https://www.webforum.nu/p/646122

## #17 — @nders, 2002-04-15T10:04Z

Är det så att du kör din sub-exekvering inne i en loop? Ska det vara så? Hur ser den övriga koden ut? 

Förresten,  varför delar Action och Drama kategori? Det är liksom gjort för att det ska bli problem. Hur vet du vad som är vad?

Permalänk: https://www.webforum.nu/p/646127

## #18 — timedia, 2002-04-15T10:47Z

min sub loopar:

```
Sub filmsistaaction()

SQLlist = "SELECT TOP 10 ID, Titel, Betyg, Kategori FROM Recension WHERE Kategori LIKE '%action%' ORDER BY Id Desc, titel"

Set RS = Connect.Execute(SQLlist)
RS.Cachesize = 10

if not (RS.eof and RS.bof) THEN
DO UNTIL RS.EOF

 response.write "<img src='images/tern" & RS("Betyg") & ".gif' width='15'""" 
  response.write "'>&nbsp;"
  response.write "<a href=""filmrec.asp?ID=" & RS("ID") & """>" & RS("Titel") & "</a>&nbsp;"
  response.write "<br>" & chr(13)
  RS.MoveNext
Loop
else
  response.write "<br><b>Inga filmer i databasen???</b><br>"
end if

RS.Close
End Sub
```

I inmatningen till db har jag ett textfält där man med text anger vilken kategori filmen tillhör. Där kan det vara så att en film tillhör olika kategorier som till exempel: Action / Drama

Permalänk: https://www.webforum.nu/p/646146

## #19 — @nders, 2002-04-15T10:49Z

Resten av koden?

Permalänk: https://www.webforum.nu/p/646147

## #20 — timedia, 2002-04-15T11:11Z

Sidan right.asp innehåller if-satser och subbar:

```

 <%
if InStr(LCase(RecSet("kategori")), "action") > 0 then
 filmsistaaction()
 end if
 
if InStr(LCase(RecSet("kategori")), "drama") > 0 then 
 filmsistadrama()
 end if
 
if InStr(LCase(RecSet("kategori")), "barn") > 0 then 
 filmsistabarn() 
end if

if InStr(LCase(RecSet("kategori")), "famil") > 0 then 
 filmsistabarn() 
end if

if InStr(LCase(RecSet("kategori")), "komed") > 0 then 
 filmsistakomedi() 
end if

if InStr(LCase(RecSet("kategori")), "humor") > 0 then 
 filmsistakomedi() 
end if

if InStr(LCase(RecSet("kategori")), "thriller") > 0 then 
 filmsistathrill() 
end if

if InStr(LCase(RecSet("kategori")), "rys") > 0 then 
 filmsistarys() 
end if

if InStr(LCase(RecSet("kategori")), "skräck") > 0 then 
 filmsistarys() 
end if
%>
'#######här kommer subbarna

Sub filmsistaaction()

SQLlist = "SELECT TOP 10 ID, Titel, Betyg, Kategori FROM Recension WHERE Kategori LIKE '%action%' ORDER BY Id Desc, titel"

Set RS = Connect.Execute(SQLlist)
RS.Cachesize = 10

if not (RS.eof and RS.bof) THEN
DO UNTIL RS.EOF

 response.write "<img src='images/tern" & RS("Betyg") & ".gif' width='15'""" 
  response.write "'>&nbsp;"

  response.write "<a href=""filmrec.asp?ID=" & RS("ID") & """>" & RS("Titel") & "</a>&nbsp;"
  response.write "<br>" & chr(13)
  RS.MoveNext
Loop
else
  response.write "<br><b>Inga filmer i databasen???</b><br>"
end if

RS.Close

End Sub

Sub filmsistadrama()

SQLlist = "SELECT TOP 10 ID, Titel, Kategori FROM Recension WHERE Kategori LIKE '%drama%' ORDER BY Id Desc, titel"

Set RS = Connect.Execute(SQLlist)
RS.Cachesize = 10

if not (RS.eof and RS.bof) THEN
DO UNTIL RS.EOF

  response.write "<a class=""meny"" href=""filmrec.asp?ID=" & RS("ID") & """>" & RS("Titel") & "</a>&nbsp;"
  response.write "<br>" & chr(13)
  RS.MoveNext
Loop
else
  response.write "<br><b>Inga filmer i databasen???</b><br>"
end if

RS.Close

End Sub

Sub filmsistabarn()

SQLlist = "SELECT TOP 10 ID, Titel, Kategori FROM Recension WHERE Kategori LIKE '%barn%' OR Kategori LIKE '%famil%' ORDER BY Id Desc, titel"

Set RS = Connect.Execute(SQLlist)
RS.Cachesize = 10

if not (RS.eof and RS.bof) THEN
DO UNTIL RS.EOF

  response.write "<a class=""meny"" href=""filmrec.asp?ID=" & RS("ID") & """>" & RS("Titel") & "</a>&nbsp;"
  response.write "<br>" & chr(13)
  RS.MoveNext
Loop
else
  response.write "<br><b>Inga filmer i databasen???</b><br>"
end if

RS.Close

End Sub

Sub filmsistakomedi()

SQLlist = "SELECT TOP 10 ID, Titel, Kategori FROM Recension WHERE Kategori LIKE '%komedi%' ORDER BY Id Desc, titel"

Set RS = Connect.Execute(SQLlist)
RS.Cachesize = 10

if not (RS.eof and RS.bof) THEN
DO UNTIL RS.EOF

  response.write "<a class=""meny"" href=""filmrec.asp?ID=" & RS("ID") & """>" & RS("Titel") & "</a>&nbsp;"
  response.write "<br>" & chr(13)
  RS.MoveNext
Loop
else
  response.write "<br><b>Inga filmer i databasen???</b><br>"
end if

RS.Close

End Sub

Sub filmsistathrill()

SQLlist = "SELECT TOP 10 ID, Titel, Kategori FROM Recension WHERE Kategori LIKE '%thriller%' ORDER BY Id Desc, titel"

Set RS = Connect.Execute(SQLlist)
RS.Cachesize = 10

if not (RS.eof and RS.bof) THEN
DO UNTIL RS.EOF

  response.write "<a class=""meny"" href=""filmrec.asp?ID=" & RS("ID") & """>" & RS("Titel") & "</a>&nbsp;"
  response.write "<br>" & chr(13)
  RS.MoveNext
Loop
else
  response.write "<br><b>Inga filmer i databasen???</b><br>"
end if

RS.Close
End Sub

Sub filmsistarys()

SQLlist = "SELECT TOP 10 ID, Titel, Kategori FROM Recension WHERE Kategori LIKE '%rys%' OR Kategori LIKE '%skräck%' ORDER BY Id Desc, titel"

Set RS = Connect.Execute(SQLlist)
RS.Cachesize = 10

if not (RS.eof and RS.bof) THEN
DO UNTIL RS.EOF

  response.write "<a class=""meny"" href=""filmrec.asp?ID=" & RS("ID") & """>" & RS("Titel") & "</a>&nbsp;"
  response.write "<br>" & chr(13)
  RS.MoveNext
Loop
else
  response.write "<br><b>Inga filmer i databasen???</b><br>"
end if

RS.Close

End Sub
%>
```

Permalänk: https://www.webforum.nu/p/646166

---

Tråden på webben: https://www.webforum.nu/amne/asp/41352-problemsub  
Nästa sida: https://www.webforum.nu/amne/asp/41352-problemsub/page2.md
