---
title: "Förenkla If Else-satser?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/13278-förenkla-if-else-satser"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "solbulle"
published: "2001-12-17T00:02:00.000Z"
updated: "2001-12-19T18:54:00.000Z"
replies: 11
views: 223
page: 1
pages: 1
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/13278-förenkla-if-else-satser"
---

# Förenkla If Else-satser?

## #1 — solbulle, 2001-12-17T00:02Z

Jag har en massa liknande satser i min kod:

```
If rs("Pris") <> "" then
strPris = strTd & "<td><b>Inköpspris:</b></td><td>" & RS("Pris") & " Kr</td><td></td></tr>"
Else
strPris = ""
End If

If rs("Kommentar") <> "" then
strKommentar = strTd & "<td  VALIGN=TOP><b>Kommentar:</b></td><td>" & RS("Kommentar") & "</td><td></td></tr>"
Else
strKommentar = ""
End If
```

(strTD innehåller lite \<tr\>/\>\<td\> liknande kod inkl styles)

som jag slutligen skriver ut med:

Response.write strPris & strKommentar 

osv.

Finns det något enklare/smidigare sätt att kolla om jag har någon info i mitt rs och i så fall placera det i en variabel/få det utskrivet  i en liknande tabellrad?

select case???

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

## #2 — LarsG, 2001-12-17T09:50Z

Du skulle kunna göra en funktion som

```
function condAssign(str1,str2)
if str1 <> "" then
  condAssign = str2
else
  condAssign = str1
end if
end function

strPris = condAssign(rs("pris"),strTd & "<td><b>Inköpspris:</b></td><td>" & RS("Pris") & " Kr</td><td></td></tr>")
```

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

## #3 — solbulle, 2001-12-17T14:48Z

Kanon, där kapade jag en massa rader från min kod.
Får iofs inte denna att fungera, men jag kan ju köra de "på det gamla sättet"

```
strLjud = condAssign(rs("Ljud"),strTd & "<td><b>Ljud:</b></td><td><a class=film href=""" & "motor.asp?datafalt=Ljud&datavarde=" & server.urlencode(RS("Ljud")) & """>" & RS("Ljud") & "</td><td></td></tr>")
```

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

## #4 — solbulle, 2001-12-19T07:56Z

Ingen som vet hur jag löser ovanstående? Det blir fel på server.urlencode-biten.

Ett fnuttfel antar jag?

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

## #5 — Lukaspojken, 2001-12-19T08:17Z

Jag har en fråga bara...vad innebär detta kommando i din kod?

server.urlencode(RS("Ljud"))

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

## #6 — solbulle, 2001-12-19T08:28Z

?

Det gör ju så att länken blir "webläsarsäker" (kan man uttrycka sig så?)

typ:

\<a href="motor.asp?datafalt=Ljud&datavarde=Dolby+Digital"\>

Vilket blir i adressfönstret:
motor.asp?datafalt=Ljud&datavarde=Dolby+Digital

Iställer för:

\<a href="motor.asp?datafalt=Ljud&datavarde=Dolby Digital"\>

som blir:
motor.asp?datafalt=Ljud&datavarde=Dolby Digital

eller 
motor.asp?datafalt=Ljud&datavarde=Dolby%20Digital

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

## #7 — PatrikB, 2001-12-19T15:59Z

Server.URLEncode gillar inte att få null-värden.

Du får se till att om det är ett null-värde så ska inte server.URLEncode användas

cya,
PatrikB

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

## #8 — solbulle, 2001-12-19T17:14Z

Hm... men jag kör väl inte server.urlencode överhuvudtaget om RS är tomt? (eller Null?) I och med den funktion jag har som kollar om fältet innehåller något eller inte, så jag tycker inte att det kan vara problemet?

\[red
Fast vid närmare eftertanke kanske den visst körs innei funktionen så att säga...?

Hur som helst, går det att lösa på något smidigt sätt? Iofs inte jätteviktigt, det fungerar ju "oftast" i alla fall.

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

## #9 — LarsG, 2001-12-19T18:02Z

Du kan kontrollera om ett värde är null med hjälp av funktionen isnull t.ex.

```
if not isnull(rs("fld") then
```

eller så kan man göra en kombinerad test av null och tom sträng.

```
if len("" & rs("fld")) > 0 then
```

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

## #10 — solbulle, 2001-12-19T18:13Z

Jo, men jag ser inte riktigt hur det kan hjälpa mig här.
Min "ordinarie" sats fungerar som den är men det är när jag försöker att köra funktionen condAssign på den som jag får felmeddelandet:
Type mismatch: 'Server.urlencode'

Som jag ser det är det i funktionen något går snett. Jag fattar inte hur asptolken ens "hinner" fram till server.urlencode eftersom det första villkoret inte uppfylls? (Det är ju bara när RS är tomt som den klagar.)
Fast jag är väl ute o cyklar som vanligt.

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

## #11 — LarsG, 2001-12-19T18:24Z

Parametrarna till condAssign evalueras innan anropet och då körs server.urlencode

Du kan ju göra ytterligare en funktion

```
strLjud = condAssign(rs("Ljud"),strTd & "<td><b>Ljud:</b></td><td><a class=film href=""" & "motor.asp?datafalt=Ljud&datavarde=" & server.urlencode(nullAssign(RS("Ljud"),"")) & """>" & RS("Ljud") & "</td><td></td></tr>")
```

```
function nullAssign(str1,str2)
if isnull(str1) then
nullAssign = str2
else
nullAssign = str1
end if
end function
```

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

## #12 — solbulle, 2001-12-19T18:54Z

Vad ska man säga... Fungera Klockrent! Tackar!

Börjar få småsår i pannan av allt bugande o bockande. :)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/13278-förenkla-if-else-satser
