---
title: "Omröstningscript?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/11559-omröstningscript"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "ReloadMaster"
published: "2001-08-24T18:01:00.000Z"
updated: "2001-09-11T09:10:00.000Z"
replies: 40
views: 349
page: 1
pages: 3
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/11559-omröstningscript"
---

# Omröstningscript?

_Sida 1 av 3._

## #1 — ReloadMaster, 2001-08-24T18:01Z

Tjena!
Jag skulle behöva hjälp med ett omröstningsscript...

Här är koden:
\<html\>
\<head\>
\<title\>Omröstning - \_ \_ \_ \_ \_ \_.nu\</title\>
\</head\>
\<body\>

\<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("votedb.mdb")

SQL = "SELECT top 1 \* From rosta ORDER BY ID DESC" 
Set RecSet = Connect.Execute(SQL)

If RecSet.EOF Then
%\>

Inga Omröstningar för tillfället...

\<%
Else
Do Until RecSet.EOF
fraga = Recset("fraga")
svar1 = Recset("svar1")
svar2 = Recset("svar2")
svar3 = Recset("svar3")
svar4 = Recset("svar4")
svar5 = Recset("svar5")
svar6 = Recset("svar6")
svar7 = Recset("svar7")
svar8 = Recset("svar8")
svar9 = Recset("svar9")
svar10 = Recset("svar10")
%\>
\<hr\>
Fråga: \<% =fraga%\>
Svar:\<br\>
\<a href="omrostning.asp?rosta=1"\>\<% =svar1%\>\</a\>\<br\>
\<a href="omrostning.asp?rosta=2"\>\<% =svar2%\>\</a\>\<br\>
\<a href="omrostning.asp?rosta=3"\>\<% =svar3%\>\</a\>\<br\>
\<a href="omrostning.asp?rosta=4"\>\<% =svar4%\>\</a\>\<br\>
\<a href="omrostning.asp?rosta=5"\>\<% =svar5%\>\</a\>\<br\>
\<a href="omrostning.asp?rosta=6"\>\<% =svar6%\>\</a\>\<br\>
\<a href="omrostning.asp?rosta=7"\>\<% =svar7%\>\</a\>\<br\>
\<a href="omrostning.asp?rosta=8"\>\<% =svar8%\>v\<br\>
\<a href="omrostning.asp?rosta=9"\>\<% =svar9%\>\</a\>\<br\>
\<a href="omrostning.asp?rosta=10"\>\<% =svar10%\>\</a\>\<br\>
\<%
RecSet.MoveNext
Loop
End If
%\>

\<%
RecSet.Close
Set RecSet = Nothing
Connect.Close
Set Connect = Nothing
%\>

\<hr\>
\<a href="omrostning.asp?visa=resultat"\>Visa resultat\</a\>
\<a href="omrostning_admin.asp?admin=login"\>Ändra Omröstning\</a\>
\</body\>
\</html\>

Jag skulle vilja att där koden anropar svar1, svar2, o.s.v.
att den kollar om den är tom och är den tom så skriver den inte ut länken...

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

## #2 — Pace, 2001-08-24T18:10Z

Försök att göra om kodrader som gör samma sak till en "For Next" loop istället, eftersom du då enklare kan hantera dem... byt ut följande:

```
fraga = Recset("fraga")
svar1 = Recset("svar1")
svar2 = Recset("svar2")
svar3 = Recset("svar3")
svar4 = Recset("svar4")
svar5 = Recset("svar5")
svar6 = Recset("svar6")
svar7 = Recset("svar7")
svar8 = Recset("svar8")
svar9 = Recset("svar9")
svar10 = Recset("svar10")
%>
<hr>
Fråga: <% =fraga%>
Svar:<br>
<a href="omrostning.asp?rosta=1"><% =svar1%></a><br>
<a href="omrostning.asp?rosta=2"><% =svar2%></a><br>
<a href="omrostning.asp?rosta=3"><% =svar3%></a><br>
<a href="omrostning.asp?rosta=4"><% =svar4%></a><br>
<a href="omrostning.asp?rosta=5"><% =svar5%></a><br>
<a href="omrostning.asp?rosta=6"><% =svar6%></a><br>
<a href="omrostning.asp?rosta=7"><% =svar7%></a><br>
<a href="omrostning.asp?rosta=8"><% =svar8%>v<br>
<a href="omrostning.asp?rosta=9"><% =svar9%></a><br>
<a href="omrostning.asp?rosta=10"><% =svar10%></a><br>
```

till detta, så ska det nog fungera:

```
Response.Write "<HR>Fråga: " & Recset("fraga") & "<br>Svar:<br>"

For loopCount = 1 To 10
 If recset("svar" & loopCount) = "" Then Exit For
 Response.Write "<a href=""omrostning.asp?rosta=" & loopCount &  """>" & recset("svar" & loopCount) & "</a><br>"
Next
```

\[r\] Det kan ju vara ganska kinkigt att kolla om strängen är tom (dvs sträng = "") så man kan ju ändra det till

```
If IsEmpty(recset("svar" & loopCount)) OR IsNull(recset("svar" & loopCount)) Then
```

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

## #3 — ReloadMaster, 2001-08-25T09:37Z

Flyttar upp...
Den lite

Frågan är fortfarande hur jag kan få den med koden att kolla om datbas fältet är tomt och då inte skriva ut det...

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

## #4 — Pace, 2001-08-25T09:44Z

Jo, det gör den också (kanske var lite otydlig):

```
For loopCount = 1 To 10
If recset("svar" & loopCount) = "" Then Exit For
Response.Write "<a href=""omrostning.asp?rosta=" & loopCount & """>" & recset("svar" & loopCount) & "</a><br>"
Next
```

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

## #5 — ReloadMaster, 2001-08-27T17:10Z

Jag får det inte att funka finns det någon som kan hjälpa mig med ett annat sätt eller hjälpa mig att skriva om hela skiten...

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

## #6 — ekke_t, 2001-08-27T17:40Z

Den enklaste men kanske inte snyggaste metoden är väl att bara skriva:

```
<%if svar1 <> "" then%>
<a href="omrostning.asp?rosta=1"><% =svar1%></a><br>
<%end if%>
```

detta upprepas sen för alla svaren...

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

## #7 — LarsG, 2001-08-27T17:40Z

Hur ser din kod ut nu? Använder du den Pace skrev? 

Vad har du för problem.

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

## #8 — ReloadMaster, 2001-08-27T17:49Z

Jag vet inte hur jag ska använda Pace kod för när jag försökte köra den så klagade den bara på End i If satsen trots att jag hade kvar If och Else...
Och sedan krävde den en loop som loppade i onädnlighet...

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

## #9 — Pace, 2001-08-27T17:52Z

Posta koden!

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

## #10 — ReloadMaster, 2001-08-27T18:21Z

Här:

\<html\>
\<head\>
\<title\>Omröstning - \_ \_ \_ \_ \_ \_.nu\</title\>
\</head\>
\<body\>

\<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("votedb.mdb")

SQL = "SELECT top 1 \* From rosta ORDER BY ID DESC" 
Set RecSet = Connect.Execute(SQL)

If RecSet.EOF Then
%\>

Inga Omröstningar för tillfället...

\<%
Else
Do Until RecSet.EOF
Response.Write "\<HR\>Frågan: " & Recset("fraga") & "\<br\>Svar:\<br\>" 
For loopCount = 1 To 10
If recset("svar" & loopCount) = "" Then Exit For
Response.Write "\<a href=""omrostning.asp?rosta=" & loopCount & """\>" & recset("svar" & loopCount) & "\</a\>\<br\>"
Next

Loop

End If
%\>

\<%
RecSet.Close
Set RecSet = Nothing
Connect.Close
Set Connect = Nothing
%\>

\<hr\>
\<a href="omrostning.asp?visa=resultat"\>Visa resultat\</a\>
\<a href="omrostning_admin.asp?admin=login"\>Ändra Omröstning\</a\>
\</body\>
\</html\>

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

## #11 — Pace, 2001-08-27T18:25Z

Det blåa är omgjort.

```
<html>
<head>
<title>Omröstning - _ _ _ _ _ _.nu</title>
</head>
<body>

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("votedb.mdb")

SQL = "SELECT top 1 * From rosta ORDER BY ID DESC" 
Set RecSet = Connect.Execute(SQL)

If RecSet.EOF Then
   Response.Write "Inga Omröstningar för tillfället..."
Else
   Response.Write "<HR>Frågan: " & Recset("fraga") & "<br>Svar:<br>" 

   For loopCount = 1 To 10
   If recset("svar" & loopCount) = "" Then Exit For
   Response.Write "<a href=""omrostning.asp?rosta=" & loopCount & """>" & recset("svar" & loopCount) & "</a><br>"
   Next
End If

RecSet.Close
Set RecSet = Nothing
Connect.Close
Set Connect = Nothing
%>

<hr>
<a href="omrostning.asp?visa=resultat">Visa resultat</a>
<a href="omrostning_admin.asp?admin=login">Ändra Omröstning</a>
</body>
</html>
```

\[r\] De blåmarkerade raderna gör att du loopar recordsetet utan att gå framåt... då måste du använda recset.MoveNext (men det ska du inte gör nu!). Och eftersom varje poll innefattar en post, vill vi ju inte gå igenom varje poll som ligger i databasen, utan bara den första (TOP 1).

Hoppas du blev klokare, annars får du fråga igen :) 

```
Do Until RecSet.EOF
Response.Write "<HR>Frågan: " & Recset("fraga") & "<br>Svar:<br>" 
For loopCount = 1 To 10
If recset("svar" & loopCount) = "" Then Exit For
Response.Write "<a href=""omrostning.asp?rosta=" & loopCount & """>" & recset("svar" & loopCount) & "</a><br>"
Next
Loop
```

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

## #12 — ReloadMaster, 2001-08-27T18:48Z

Jag använde din text som du skrev överst utan loop och det...

Men nu får jag felet oväntad "Next"

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

## #13 — Pace, 2001-08-27T18:54Z

Ser koden ut exakt likadan som den jag postade ovan? :q

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

## #14 — ReloadMaster, 2001-08-27T18:57Z

Så här:

```
<html>
<head>
<title>Omröstning - _ _ _ _ _ _.nu</title>
</head>
<body>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("votedb.mdb")

SQL = "SELECT top 1 * From rosta ORDER BY ID DESC"
Set RecSet = Connect.Execute(SQL)

If RecSet.EOF Then
%> 

Inga Omröstningar för tillfället... 

<%
Response.Write "<HR>Frågan: " & Recset("fraga") & "<br>Svar:<br>"  
For loopCount = 1 To 10
If recset("svar" & loopCount) = "" Then
Exit For 
Response.Write "<a href=""omrostning.asp?rosta=" & loopCount & """>" & recset("svar" & loopCount) & "</a><br>" 

Next 

End If  

RecSet.Close 
Set RecSet = Nothing 
Connect.Close 
Set Connect = Nothing 
%>  

<hr> 
<a href="omrostning.asp?visa=resultat">Visa resultat</a> 
<a href="omrostning_admin.asp?admin=login">Ändra Omröstning</a> 

</body>
</html>
```

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

## #15 — Pace, 2001-08-27T19:02Z

```
If recset("svar" & loopCount) = "" Then
Exit For
```

skall skrivas på en rad:

```
If recset("svar" & loopCount) = "" Then Exit For
```

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

## #16 — ReloadMaster, 2001-08-27T19:27Z

Så nu funkar allt...

Utom en sak....

Koden blir så här:

```
<html>
<head>
<title>Omröstning - _ _ _ _ _ _.nu</title>
</head>
<body>

Frågan:Testar jag?<br> 
Svar:<br>  
<a href="omrostning.asp?rosta=1">Ja</a><br><a href="omrostning.asp?rosta=2">Nej</a><br><a href="omrostning.asp?rosta=3"></a><br><a href="omrostning.asp?rosta=4"></a><br><a href="omrostning.asp?rosta=5"></a><br><a href="omrostning.asp?rosta=6"></a><br><a href="omrostning.asp?rosta=7"></a><br><a href="omrostning.asp?rosta=8"></a><br><a href="omrostning.asp?rosta=9"></a><br><a href="omrostning.asp?rosta=10"></a><br>  

<hr> 
<a href="omrostning.asp?visa=resultat">Visa resultat</a> 
<a href="omrostning_admin.asp?admin=login">Ändra Omröstning</a> 

</body>
</html>
```

Och som du ser blir det en massa radbrytningar kan jag bli av med dom på något sätt?

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

## #17 — Pace, 2001-08-27T19:33Z

Menar du \<br\>? :q

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

## #18 — ReloadMaster, 2001-08-27T19:35Z

Japp

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

## #19 — Pace, 2001-08-27T19:37Z

Som jag skrev innan, recset kan vara lite kinkigt ibland, testa detta:

```
If IsEmpty(recset("svar" & loopCount)) OR IsNull(recset("svar" & loopCount)) OR recset("svar" & loopCount) = "" Then Exit For
```

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

## #20 — ReloadMaster, 2001-08-27T19:50Z

Tack så himla mycket fungerar asbra nu...

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/11559-omröstningscript  
Nästa sida: https://www.webforum.nu/amne/asp/11559-omröstningscript/page2.md
