webForumDet fria alternativet

Booleanskt värde i Access

Databaser & SQL

6 svar · 266 visningar · startad av Skarre

Medlem sedan apr. 20012 427 inlägg
Frågan#1

Jag försöker stoppa in en nyhetsartikel i en Access-databas med följande SQL-sträng:

INSERT INTO news (adminid, headline, startdate, enddate, limitdate) VALUES (35,'test1','2003-05-05','2001-01-01', Falskt)

Jag får felet "För få parametrar angavs. 1 förväntades.". Tar jag bort det booleanska värdet i slutet av strängen så fungerar det utmärtk så det är definitivt det som spökar. Jag har även kollat att "Falskt" är ett booleanskt värde, men det accepteras tydligen inte av Access. Byter jag ut värdet mot en etta eller nolla så fungerar det, men jag vill helst slippa en if-sats.

Medlem sedan juni 20019 519 inlägg
#2

jag hade samma problem för ett tag sen, @nders hjälpte nog mig med det om jag inte minns fel.. eller LarsG..

Medlem sedan aug. 20012 349 inlägg
#3

Har du testat att stoppa in False?

Annars kan du ju skriva så här tror jag...

INSERT INTO news (adminid, headline, startdate, enddate, limitdate) VALUES (35,'test1','2003-05-05','2001-01-01', cint(Falskt))

Access är jag ingen expert på , men oftast är det bätre att använda 1/0 som true false, det har jag märk sparar många bekymmer. Det allra sämsta brukar vara att använda svenska ord.

Medlem sedan apr. 2001425 inlägg
#4

Prova '0' -istället...

Medlem sedan dec. 200012 464 inlägg
#5

Flyttas från ASP

Medlem sedan apr. 20012 427 inlägg
#6

mrblonde skrev:

Det allra sämsta brukar vara att använda svenska ord.

Strängen jag bifogade skrevs ut av en ASP-sida och är, som sagt, ett booleanskt värde i själva ASP-koden. Att det står "Falskt" kan jag inte göra så mycket åt.

Macce skrev:

Prova '0' -istället...

Som sagt: byter jag ut värdet mot en etta eller nolla så fungerar det, men jag vill helst slippa en if-sats.

Det får bli en if-sats i alla fall. Tack för hjälpen!

Medlem sedan juni 200032 967 inlägg
#7

Du behöver ingen if-sats egentligen. Det räcker med lite ful replacekod. ;-)

Replace(Replace(CStr(strDinVariabel), "Falskt", "False"), "Sant", "True")

Alternativt kan man skriva det med IIF, men då krävs att man definierar den funktionen på sidan. Jag har aldrig förstått varför inte IIF ingår i VBScript.

Mvh,

424 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
290 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)