---
title: "Samma kod för två saker"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/72288-samma-kod-för-två-saker"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Eclipse"
published: "2003-03-27T08:43:01.000Z"
updated: "2003-03-27T11:01:54.000Z"
replies: 11
views: 343
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/72288-samma-kod-för-två-saker"
---

# Samma kod för två saker

## #1 — Eclipse, 2003-03-27T08:43Z

True = -1
False = 0

Om jag har en checkbox vill jag byta värdet på den...

UPDATE tabell SET checkbox = checkbox **\*-1**

Ja... det fungerar inte med \*-1.

Vad jag vill åstakomma är alltså med samma kod byta värdet på variabeln.

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

## #2 — @nders, 2003-03-27T08:46Z

Gissar:

```
UPDATE tabell SET checkbox = Iif(checkbox = -1, 0, -1)
```

Du borde nog kunna använda True resp. False direkt i SQL-frågan om du är sugen på det.

Mvh,

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

## #3 — Eclipse, 2003-03-27T08:55Z

Givetvis kan jag använda true eller false i frågan!

Poängen är att komma i från det! Det finns ju bara två värden och vet man det ena så ska det bli det andra!

Med det resonemanget skulle man kunna använda samma kod i båda fallen och optimera bort några rader kod!

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

## #4 — @nders, 2003-03-27T08:57Z

Ja, men det jag menar är att vilken som helst av följande frågor bör göra det du frågar efter:

```
UPDATE tabell SET checkbox = Iif(checkbox = -1, 0, -1)
```

```
UPDATE tabell SET checkbox = Iif(checkbox = false, true, false)
```

Mvh,

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

## #5 — Eclipse, 2003-03-27T09:15Z

Ah!

Dumt inlägg av mig, sorry!

Exempel #2 är lite snyggare fakktiskt. Där framgår lite tydligare vad som avsers.

\*\*\*
request("intID")

Vad är det för kod att få ut *intID*? Alltså namnet, inte det skickade värdet! 

Exempel:
request("bolConfirm")

UPDATE news WHERE **bolConfirm** \= " & request("bolConfirm")

Are you with!?

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

## #6 — @nders, 2003-03-27T09:19Z

Njaee... jag är inte riktigt med på vad du menar, så jag slänger fram en kontrollfråga. 

Menar du att du har ett formulär där du inte vet vilka checkboxar som finns? 

mvh

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

## #7 — Eclipse, 2003-03-27T09:34Z

Jag menar att ta reda på vad det står i URL:en på båda sidor om "=" -tecknet.

index.asp?Xxxxxx=123

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

## #8 — @nders, 2003-03-27T09:36Z

ok

```
strQS = Request.Querystring
varQS = split(strQS, "=")
if not ubound(varQS) = -1 then
    strFieldName = varQS(0)
    strFieldValue = varQS(1)
end if
```

mvh

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

## #9 — Eclipse, 2003-03-27T10:12Z

Stabilt...!!

Vi går vidare:

SELECT n.intID, n.bolView From News n;

// gör till myRow till array med mySQL.GetRows()

// gör loop med FOR j = UBound...

response.write myRow(1,j)

Detta skriver ut värdet på bolView, TRUE eller FALSE.

**Frågan:**
Kan jag med Access få ut namnet av myRow(1,j)???

Detta går med SQL Server, det vet jag.

response.write  theNameOf(myRow(1,j))

... och det står bolView där!

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

## #10 — Eclipse, 2003-03-27T10:45Z

En annan luring...
confirm.asp?bolView=3&page=2

I detta läget blir:
strFieldName = bolView
strFieldValue = 3&page

Hur gör jag den snyggaste lösningen här? Köra en split till eller finns det andra alternativ?

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

## #11 — @nders, 2003-03-27T10:51Z

Problem 1: Jag brukar, direkt efter getRows, öka på storleken på arrayen med 1. I denna nya "rad", lägger jag fältnamnen, och kommer sedan åt de med **myArray(x, ubound(myArray,2))**. Jag har demonstrerat den lösning här på wF  vid ett tidigare tillfälle, men har inte möjlighet att söka upp den tråden just nu.

Problem 2: Istället för att använda arrayen för att plocka ur värdet kan du ju alltid plocka direkt från QS. **strFieldValue = Request.Querystring(strFieldName)**. Du kan också loopa igenom Querystring collection om det är fler fält där som du vill komma åt på samma sätt.

Mvh

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

## #12 — Eclipse, 2003-03-27T11:01Z

1\. Det var ett bra svar men inte relevant i denna tråden! :-) [Relevant i denna tråden!](http://www.webforum.nu/showthread.php?s=&postid=590588#post590588)

2\. Jag löste det på detta viset:

```
' ## TRUE/FALSE
FUNCTION funcTrueFalse(myVar)
    DIM strQS, varQS
    DIM strFieldName, strFieldValue

    ' ## COLLECT VALUES
    strQS = Request.Querystring
    varQS = split(strQS, "=")
  if not ubound(varQS) = -1 then
    strFieldName = varQS(0)
    strQS = varQS(1)
    varQS = split(strQS, "&")
  strFieldValue = varQS(0)
  END IF
 
 ' ## UPDATE
  SQL = "UPDATE [" & myTable & "] SET " & strFieldName & " = Iif(" & strFieldName &" = FALSE, TRUE, FALSE) WHERE intID = " & strFieldValue & ";"
  Conn.Execute(SQL)
END FUNCTION
```

Ine världens snyggaste med det fungerar.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/72288-samma-kod-för-två-saker
