webForumDet fria alternativet

variabler

11 svar · 201 visningar · startad av NyedalDesign

NyedalDesignMedlem sedan apr. 200274 inlägg
#1

fungerar inte variabler likadant i SQL som vanligt??

alltså om jag har ett numeriskt värde ska det vara...

"& iTal &"

och annat värde...

'"& strString &"'

när jag körde in detta: "fldVoteAlt1" som en variabel med namnet
fAlt i min SQL-sats blev det fel.. när jag använde det numeriska
sättet fungerade det fint..

varför?

LarsGMedlem sedan dec. 200012 464 inlägg
#2

varför?

Då har du väl gjort något fel. Det går inte att säga något mer konkret utan mer detaljer, t.ex. felmeddelande, kod etc.

NyedalDesignMedlem sedan apr. 200274 inlägg
#3

jo men frågan är ..

Dim fAlt
fAlt = "fldVoteAlt1"

hur ska man föra in den i en SQL-sats..

SQL = "UPDATE tblTabellen SET '"& fAlt

eller

SQL = "UPDATE tblTabellen SET "& fAlt

varför är det ena rätt och inte det andra?

NyedalDesignMedlem sedan apr. 200274 inlägg
#4

strSQL = "UPDATE tblPolls SET "& fAlt &" = "& fAlt &" + 1 WHERE fldVecka = "& iVecka

NyedalDesignMedlem sedan apr. 200274 inlägg
#5

sorry för dubbelposten i SQL forumet..
men jag kom på att jag borde få posta den här eftersom det
tar upp främst variabler..

hellre en post här där det är mycket rörelse.. ;)

LarsGMedlem sedan dec. 200012 464 inlägg
#6

Det finns absolut ingen anledning att använda variabelnamn för kolumner, tvärtom.

strSQL = "UPDATE tblPolls SET fldVoteAlt1 = fldVoteAlt1 + 1 WHERE fldVecka = "& iVecka

Namn på kolumner är inte strängar.

NyedalDesignMedlem sedan apr. 200274 inlägg
#7

jaja men alltså jag har olika alternativ till denna SQL-satsen..
det kan vara:

fldVoteAlt1, fldVoteAlt2, fldVoteAlt3.....

det enda jag vill veta är varför det ska vara "& variabel &"

jag har fått lära mig att det endast är så för numeriska värden..
är det ingen som förstår hur jag menar?

NyedalDesignMedlem sedan apr. 200274 inlägg
#8

strSQL = "UPDATE tblPolls SET "& fAlt &" = "& fAlt &" + 1 WHERE fldVecka = "& iVecka

den fungerar.. men jag vill ha det att den inte ska fungera utan denna ska göra det, någon som vet bakgrunden och har en teoretiskt förklaring till detta.. annars får jag söka vidare..

strSQL = "UPDATE tblPolls SET '"& fAlt &"' = '"& fAlt &"' + 1 WHERE fldVecka = "& iVecka

så vill jag ha det.. :) troligen helt galet.. ;)

LarsGMedlem sedan dec. 200012 464 inlägg
#9

Då tycker jag att du har en felaktig databasdesign.

NyedalDesignMedlem sedan apr. 200274 inlägg
#10

är öppen för tips.. :birp

det jag har här är en poll.. från radioknappar
väljer man ett alternativ och sen skickas det vidare
med formuläret till sql satsen ovan..

radio knapparna values är följande..

fldVoteAlt1 , fldVoteAlt2 , fldVoteAlt3

sen sätter jag in den i SQL satsen i form av variabeln fAlt
som får värdet som kommer från radio knapparna...

strSQL = "UPDATE tblPolls SET '"& fAlt &"' = '"& fAlt &"' + 1 WHERE fldVecka = "& iVecka

jag kan ju köra en Select Case sats och ha separata för alla men detta är mindre kod..

vad ska jag ändra tycker du då?? :stud

PoffeMedlem sedan apr. 20022 743 inlägg
#11

om det är en sträng ska du använda ' runt variabeln, är det ett tal ska du inte ha det.

NyedalDesignMedlem sedan apr. 200274 inlägg
#12

fldVoteAlt1 .. räknar man det som tal eller inte.. ;)

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)