---
title: "problem med if sats"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/115885-problem-med-if-sats"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Boorg"
published: "2004-11-14T16:30:25.000Z"
updated: "2004-11-16T05:52:53.000Z"
replies: 24
views: 458
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/115885-problem-med-if-sats"
---

# problem med if sats

_Sida 1 av 2._

## #1 — Boorg, 2004-11-14T16:30Z

Har ett problem... Får fram fel värde i en if sats

```
	If Tot > Request.QueryString("k") Then
	Se = "<A>Det är fullbokat</A>"
	ElseIf Re("eID") = Request.QueryString("eID") And Re("mID") = Session("ED") then
	Se = "<A Href='badmin.asp?b=2emre&eID=" & Re("ID") & "'>Anmäl dig</A>"
	Else
	Se = "<A>Du är redan anmäld</A>"
	End If
```

Så som det ser ut nu får jag fram Värdet ur den sista Else raden. Men jag ska enligt hur värdena är få fram den mittersta...

är det något fel i denna koden eller.

Mvh Jesper

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

## #2 — LarsG, 2004-11-14T16:33Z

```
If clng(Tot) > clng(Request.QueryString("k")) Then
    Se = "<A>Det är fullbokat</A>"
ElseIf Re("eID") = Request.QueryString("eID") And Re("mID") = Session("ED") then
    Se = "<A Href='badmin.asp?b=2emre&eID=" & Re("ID") & "'>Anmäl dig</A>"
Else
    Se = "<A>Du är redan anmäld</A>"
End If
```

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

## #3 — Boorg, 2004-11-15T07:46Z

nej.. det hjälpte inte :/
Det är så här att den lever sitt egete liv.. ifall man bokar sig så är bokningsknappen kvar.. men efter en stund så kanske den försvinner... och ibland såt det inget... 
kan ge hela koden...

```
   Texter = "SELECT * FROM em_regg order by ID DESC"
   Re.Open Texter, Con, 3, 3 

	Dim Se, Tot
	Do Until Re.EOF	
 	If Re.EOF Then
	Exit Do
	End If 

	If Re("eID") = Request.QueryString("eID") then
	Tot = Tot + 1
	End If

	If clng(Tot) > clng(Request.QueryString("k")) Then
	Se = "<A>Det är fullbokat</A>"
	ElseIf Re("eID") = Request.QueryString("eID") And Re("mID") = Session("ED") then
	Se = "<A>Du är redan anmäld</A>"
	Else
	Se = "<A Href='?b=2emre&eID=" & Request.QueryString("eID") & "'>Anmäl dig</A>"
	End If

	Re.MoveNext
	Loop

       <% =se %>
```

Någon som ser något problem

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

## #4 — @nders, 2004-11-15T07:51Z

Du måste se till att du alltid jämför med rätt subtyper. En sträng med innehållet *12* är inte samma sak som talet 12.

```
	ElseIf Clng(Re("eID")) = Clng(Request.QueryString("eID")) And Clng(Re("mID")) = Clng(Session("ED")) then
```

Du får alltså se till att subtypskonvertera i *alla* dina jämförelser.

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

## #5 — Boorg, 2004-11-15T08:10Z

Okej... 
om man inte anger clng så blir det inget värde utan bara en siffra?

Men tror det eller ej.. det funkar inte ändå  x( 

Har testat o skriva ut all data samtidigt.. funkar perfekt.. får att dom värdena som ska vara för dom olika satserna men det funkar inte ändå..

Har bytt ut Se till Response.Write... tänkte det va det som hakade upp sig på något vis.. men icke..

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

## #6 — @nders, 2004-11-15T08:13Z

Hur ser koden ut nu då, när du lagt in dina subtypskonverteringar i alla jämförelser?

> Okej... 
> om man inte anger clng så blir det inget värde utan bara en siffra?

Jag förstår inte riktigt vad du menar. Det är alltid ett värde, men inte ett värde av samma typ, om du inte ser till värdena är av samma typ.

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

## #7 — Boorg, 2004-11-15T08:18Z

Jag förstår vad du menar...

Så ser den ut nu

```
<%	Do Until Re.EOF	
 	If Re.EOF Then
	Exit Do
	End If 

	If clng(Tot) > clng(Ree("Max")) Then
	Response.Write "<A>Det är fullbokat</A>"
	ElseIf Clng(Re("eID")) = clng(Request.QueryString("eID")) And Clng(Re("mID")) = Clng(Session("ED")) Then
	Response.Write "<A>Du är redan anmäld</A>"
	Else
	Response.Write "<A Href='badmin.asp?b=2emre&eID=" & Re("ID") & "'>Anmäl dig</A>"
	End If

	Re.MoveNext
	Loop %>
```

Det märkliga är ett jag får inte en enda av satserna att funkar.. inte ens den sista Else som borde funka i alla väder :/

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

## #8 — @nders, 2004-11-15T08:21Z

Och på vilket sätt fungerar det alltså inte nu? Vilka värden har fälten / variablerna nu när du testar?

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

## #9 — jonne, 2004-11-15T08:26Z

Skriv ut alla värdena först och se vad de innehåller innan du börjar jämföra så du verkligen vet att du har värden och rätt värden i alla variablar

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

## #10 — Boorg, 2004-11-15T08:28Z

Hmmm konsigt...
nu händer det inget!
får inte fram ett enda värde när jag kör denna

```
<%	Do Until Re.EOF	
 	If Re.EOF Then
	Exit Do
	End If 

	Response.Write Tot & " Tot, " & Ree("Max") & " Max, " & Re("eID") & " eID, " & Re("mID") & " mID, "  & Session("Ed") & " ED"

	Re.MoveNext
	Loop %>
```

:/

Bilagor:

- [script2.txt](https://www.webforum.nu/a/4950.txt)

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

## #11 — jonne, 2004-11-15T08:32Z

Säker på att recordsetet innehåller något så du verkligen kommer in i loopen och inte kastas ut?

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

## #12 — @nders, 2004-11-15T08:42Z

```
   Texte = "SELECT * FROM em order by ID = " & Request.QueryString("eID") & " "
```

Det var mig en konstig SQL-fråga. Ska det inte vara **WHERE ID =**... ?

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

## #13 — Boorg, 2004-11-15T08:42Z

Ja dom värdena som jag hämtar finns...

men om dom inte finns.. så ska den juh köra en sista Else satsen? eller hur...

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

## #14 — @nders, 2004-11-15T08:46Z

> **Boorg skrev:**
>
> men om dom inte finns.. så ska den juh köra en sista Else satsen? eller hur...

Nej, det ska den inte. Om du indenterar din kod ordentligt så ser du nog det. Dina if-satser ligger ju bara i loopen. Är recordsetet EOF så är du inte inne i loopen.

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

## #15 — Boorg, 2004-11-15T08:46Z

@nders:
jo det kanske det skall vara...
men problemet finns fortfarande kvar..

funderar på om det finns något som blockar Loopen från att börja.. det är det enda jag kan komma på.. men ser inget ppoblem :/

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

## #16 — Boorg, 2004-11-15T08:49Z

just det ja.. men det finns värden där... har lagt in två värden på två ID... 

så jag tycker att den fortfarande borde skruva ut det i den Write grejjen jag gjorde...

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

## #17 — @nders, 2004-11-15T08:52Z

Du har ju redan gått igenom loopen en gång, vilket innebär att markören står sist, dvs EOF.

Du måste flytta upp den igen.

```
Re.MoveFirst
```

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

## #18 — Boorg, 2004-11-15T08:54Z

Du menar att byta ut den mot movenext?

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

## #19 — @nders, 2004-11-15T08:57Z

Nej, innan du kör igång den andra Re-loopen måste du flytta upp markören med MoveFirst.

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

## #20 — Boorg, 2004-11-15T08:59Z

okej...
men problemet kvarstår... Detta är grymt konstigt.. för det funkade igår från och till igår.. men som sagt den levde sitt eget liv...

nu är koden...

```
<%	Do Until Re.EOF	
 	If Re.EOF And Ree.EOF And Ra.EOF Then
	Exit Do
	End If 

	Response.Write Tot & " Tot, " & Ree("Max") & " Max, " & Re("eID") & " eID, " & Re("mID") & " mID, "  & Ra("ID") & " ED"

	Ra.MoveFirst
	Re.MoveFirst
	Ree.MoveFirst
	Ra.MoveNext
	Re.MoveNext
	Ree.MoveNext
	Loop %>
```

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/115885-problem-med-if-sats  
Nästa sida: https://www.webforum.nu/amne/asp/115885-problem-med-if-sats/page2.md
