---
title: "OR sats på en rad...??"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/102366-or-sats-på-en-rad"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Eclipse"
published: "2004-04-26T15:44:01.000Z"
updated: "2004-04-27T06:08:38.000Z"
replies: 11
views: 360
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/102366-or-sats-på-en-rad"
---

# OR sats på en rad...??

## #1 — Eclipse, 2004-04-26T15:44Z

Kan jag inte skriva en OR sats på en rad!?

		' ## GET DATABASE PATH
	'	IF Left(myRow(2,j),1) \<\> "#" OR myRow(2,j) \<\> "--" THEN myPath2 = split(myRow(2,j), "/")(uBound( split(myRow(2,j), "/") )-1)
		IF Left(myRow(2,j),1) \<\> "#" THEN myPath2 = split(myRow(2,j), "/")(uBound( split(myRow(2,j), "/") )-1)

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

## #2 — Engine^, 2004-04-26T15:48Z

Det ska väl inte vara några problem.

Felmeddelande?

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

## #3 — Eclipse, 2004-04-26T15:53Z

"Subscript out of range: " vilket betyder att koden körs fast den inte ska köras.

Jag bara undrar om man kan skriva allt på en rad eller om det inte ska fungera.

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

## #4 — Engine^, 2004-04-26T15:55Z

Subscript out of range: det betyder att du försöker titta på en plats i din Array som inte finns. Inget annat.

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

## #5 — Eclipse, 2004-04-26T15:59Z

Jo, det förstår jag! Men om du kollar koden ovanför så ska den inte köras om antingen 1 första tecknet är "#" eller 2. innehåller "--".

Det är det som är själva problemet och anledningen till min fråga!

Koden körs fast den inte borde köras!

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

## #6 — Engine^, 2004-04-26T16:04Z

Men du kör den ju alltid...

```
IF Left([b]myRow(2,j)[/b],1) <> "#" THEN myPath2 = split(myRow(2,j), "/")(uBound( split(myRow(2,j), "/") )-1)
```

Vilket värde har j och hur är myRow dimensionerat?

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

## #7 — Eclipse, 2004-04-26T16:06Z

Frågan är: Kan jag köra en OR sats på en rad!

Resten fungerar, trust me. Jag orkar inte förklara!

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

## #8 — Engine^, 2004-04-26T16:10Z

Hehe... ok.

Det ska inte vara några problem att göra det (om nu inte VBScript har någon skum spärr), men du kan ju testa omsluta hela uttrycket med paranteser.

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

## #9 — Eclipse, 2004-04-26T16:14Z

Tack!

Äh, det fungerar fortfarande inte... jag får ta en dush så kommer nog lösningen!

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

## #10 — @nders, 2004-04-26T16:46Z

Det är inga problem att använda OR på det sättet, under förutsättning att koden i sig inte skapar ett fel.

Det är nämligen så, att VB och alla dess släkten (vba, vbscript etc) evaluerar hela if-statementet trots att första villkoret redan gått åt pipan. Det är alltså ett "fel" (beroende på hur man ser det förstås) i språket, och man har inte mycket till val än att, i det här fallet, skriva koden på flera rader.

I .NET har man operatorerna AndAlso och OrElse, som vid användning slutar evaluera resten av uttrycket på det sätt man (i alla fall jag) skulle vilja att det fungerade i VB.

Så: sålänge inte några villkor i IF-satsen kan skapa ett fel så kan du ha hela klabbet på en rad. Annars måste du skriva på flera rader.

Mvh

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

## #11 — PDahlen, 2004-04-26T16:50Z

Som det redan är sagt innan så betyder felmeddelandet att din array har gått förbi ubound och du försöker kolla om ett värde är lika med något ändå. Du kan inte köra en array i en IF sats om ubound har passerats.
Hur ser din kod ut runt ovanstående kod? Hur håller du koll på att du inte passerar ubound?

> Jo, det förstår jag! Men om du kollar koden ovanför så ska den inte köras om antingen 1 första tecknet är "#" eller 2. innehåller "--".

Om du har passerat ubound på arrayen så får du ett fel här.

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

## #12 — Eclipse, 2004-04-27T06:08Z

```
IF Left(myRow(2,j),1) <> "#" THEN
	IF myRow(2,j) <> "--" THEN
		 myPath2 = split(myRow(2,j), "/")(uBound( split(myRow(2,j), "/") )-1)
	END IF
END IF
```

Tack @nders! Rätt sunkigt, men det fungerar!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/102366-or-sats-på-en-rad
