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,
11 svar · 322 visningar · startad av Eclipse
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.
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,
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!
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,
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!?
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
Jag menar att ta reda på vad det står i URL:en på båda sidor om "=" -tecknet.
index.asp?Xxxxxx=123
ok
strQS = Request.Querystring
varQS = split(strQS, "=")
if not ubound(varQS) = -1 then
strFieldName = varQS(0)
strFieldValue = varQS(1)
end if
mvh
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!
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?
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
1. Det var ett bra svar men inte relevant i denna tråden! :-) Relevant i denna tråden!
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.