30. november 2008 - 15:10Der er
19 kommentarer og 1 løsning
Access query der ikke virker
Hej
Jeg har et problem med en query til en access db. Jeg kan ikke selv køre queryen fordi jeg har en 2000 db og et 2007 program. Eller kan jeg?
I hvertfald er problemet denne query:
"SELECT * FROM ( SELECT TOP (@NumberOfRows) * FROM (SELECT TOP (@OffSet) * FROM User ORDER BY User.Id Desc) AS a ORDER BY a.Id Asc) AS b ORDER BY b.CreatedDate DESC;"
Jeg får denne fejl:
"SELECT-sætningen indeholder et reserveret ord eller argument, der er stavet forkert eller mangler, eller tegnsætningen er ikke korrekt."
Nogen her der kan køre queryen og fortælle hvad der er galt?
Top ?? Når du selecter en Top, skal du sikkert også vælge hvor mange poster du vil have med. Top 5, Top 10 o.s.v. Jeg forstår heller ikke din sortering. @ kan være et reserveret tegn.
Prøv at indsætte dine argumenter eet for eet og se, hvor den fejler.
Jeg har prøvet lidt af hvert nu, og hvis jeg skriver 10 istedet for f.eks. @NumberOfRows kan den del køre. En anden ting jeg ikke kan få til at virke er delen med at lave en select og kalde den noget: AS a f.eks.
Findes der en anden måde at lave denne type query til Access. Det jeg skal opnå er naturligvis en query der kan klare paging.
If You send an SQL somthing like thsi into Access doesnt it work?
"SELECT * FROM ( SELECT TOP 100 * FROM (SELECT TOP 200 * FROM [User] ORDER BY [User].Id Desc) AS a ORDER BY a.Id Asc) AS b ORDER BY b.CreatedDate DESC;"
Det virker måske.. men jeg skal jo kunne angive tallene 100 og 200 som parametre. Hvordan ville det se ud hvis jeg skulle gøre noget i retning af:
"SELECT * FROM ( SELECT TOP @rowcount * FROM (SELECT TOP offset * FROM [User] ORDER BY [User].Id Desc) AS a ORDER BY a.Id Asc) AS b ORDER BY b.CreatedDate DESC;"
SELECT * FROM ( SELECT TOP " & SomeVariable & " * FROM (SELECT TOP " & SomeOtherVariable & " * FROM User ORDER BY User.Id Desc) AS a ORDER BY a.Id Asc) AS b ORDER BY b.CreatedDate DESC;"
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.