webForumDet fria alternativet

Syntaxfel i Access 2000 men inte i SQL

2 svar · 183 visningar · startad av max

maxMedlem sedan jan. 200090 inlägg
#1

Hej

Har en select sats som fungerar finfint i SQL Server men det vill sig inte riktigt när man kör i Access 2000.

Koden är

SELECT A.AnbudID, P.Projektnamn, AL.Aktivitetnamn,
SUM(CASE A.DagID WHEN 1 THEN Tid ELSE 0 END) AS Man,
SUM(CASE A.DagID WHEN 2 THEN Tid ELSE 0 END) AS Tis,
SUM(CASE A.DagID WHEN 3 THEN Tid ELSE 0 END) AS Ons,
SUM(CASE A.DagID WHEN 4 THEN Tid ELSE 0 END) AS Tors,
SUM(CASE A.DagID WHEN 5 THEN Tid ELSE 0 END) AS Fre,
SUM(CASE A.DagID WHEN 6 THEN Tid ELSE 0 END) AS Lor,
SUM(CASE A.DagID WHEN 7 THEN Tid ELSE 0 END) AS Son
FROM Aktivitet AS A JOIN Projekt AS P ON A.AnbudID=P.AnbudID JOIN Aktivitetslista AS AL ON A.AktivitetID=AL.AktivitetID
WHERE A.AnstID = 4 AND A.VeckoNr = 46 AND A.Ar = 2001
GROUP BY A.AnbudID, P.Projektnamn, AL.Aktivitetnamn

Felmeddelandet blir "Syntaxfel (operator saknas) i frågeutrycket" med början vid den fetmarkerade raden.

Är det någon snäll själ som vet vad detta kan beror på?

Tack på förhand

------------------
ljuv är mödans lön!

LarsGMedlem sedan dec. 200012 465 inlägg
#2

Access har inte stöd för case, däremot finns det en funktion som heter iif

SUM(iif(A.DagID=1,1,0))

om villkoret är sant så blir resultatet 1 annars 0.

------------------
essentitia preter non sans multiplicandum

maxMedlem sedan jan. 200090 inlägg
#3

Tack LarsG.

Fungerade kanonbra.

Om man kunde nominera någon till nobelpriset i databaskunskaper, skulle du vara mitt val.

Lev väl

max

------------------
ljuv är mödans lön!

125 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
123 ms — hämta tråd, inlägg och bilagor (db)