Fungerar inte detta i Access. Jag har testat också Select Top 10-60 men det vill inte fungera heller. Jag får felmeddelandet:
The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.
Det fungerar om man skriver Top 50...hmmm?
------------------
Alltid lär man sig något nytt varje dag...
@ndersMedlem sedan juni 200032 969 inlägg select top 50 * where id between 10 and 60
antar att det inte var det du menade dock. jag antar att du är lite ute efter det som i mysql kallas limit.
alternativt kan du köra en select top 60 och börja med att flytta dig 10 positioner ner i recordsetet innan du använder datan.
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
LarsGMedlem sedan dec. 200012 464 inlägg select top 50 * from ogrish
where id not in (
select top 10 id from ogrish
order by id)
order by id
------------------
essentitia preter non sans multiplicandum
Jag försöker fixa ihop ett paging som inte hämtar hem alla 250 inlägg i array:n utan vid sida ett så hämtar den Top 50 och vid sida två top 51-100...men det verkar inte fungera som sagt.
Jag får väl göra så som du sa att jag hämtar in Top 100 på andra sidan och börjar sedan på 51. Kan man på något sätt skala bort de 50 första posterna i en array så att den 51:a blir på den första positionen i array:n?
------------------
Alltid lär man sig något nytt varje dag...
@ndersMedlem sedan juni 200032 969 inlägg aahhh! bra tänkt där! :)
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
Återigen...riktigt smart lösning av dig LarsG...:)
Men jag får det inte riktigt att fungera. Den skriver ut allt men de första tio posterna är med
strSQL = "SELECT TOP 50 ff.msgId, ff.msgFrom, ff.msgTopic, ff.msgRead, ffup.msgUpdate " & _
" FROM forum AS ff INNER JOIN forumUpdate AS ffup ON ff.msgID = ffup.msgID " & _
"WHERE ff.Thread_ID=0 NOT IN " & _
"(SELECT TOP 10 ff.msgId FROM forum WHERE ff.Thread_ID=0 ORDER BY ffup.msgUpdate DESC) " & _
"ORDER BY ffup.msgUpdate DESC"
Thread_ID = 0 står för huvudinlägg.
------------------
Alltid lär man sig något nytt varje dag...
LarsGMedlem sedan dec. 200012 464 inlägg Din SQL-fråga ser suspekt ut
strSQL = "SELECT TOP 50 ff.msgId, ff.msgFrom, ff.msgTopic, ff.msgRead, ffup.msgUpdate " & _
" FROM forum AS ff INNER JOIN forumUpdate AS ffup ON ff.msgID = ffup.msgID " & _
"WHERE ff.Thread_ID=0 [b] and ff.msgID [/b]NOT IN " & _
"(SELECT TOP 10 ff.msgId FROM forum WHERE ff.Thread_ID=0 ORDER BY ffup.msgUpdate DESC) " & _
"ORDER BY ffup.msgUpdate DESC"
--------------------------------------------------------------------------------
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 24 jul 2001]
@ndersMedlem sedan juni 200032 969 inlägg så här kanske:
strSQL = "SELECT TOP 50 ff.msgId, ff.msgFrom, ff.msgTopic, ff.msgRead, ffup.msgUpdate " & _
" FROM forum AS ff INNER JOIN forumUpdate AS ffup ON ff.msgID = ffup.msgID " & _
"WHERE ff.Thread_ID=0 [b]AND ff.msgID[/b] NOT IN " & _
"(SELECT TOP 10 ff.msgId FROM forum WHERE ff.Thread_ID=0 ORDER BY ffup.msgUpdate DESC) " & _
"ORDER BY ffup.msgUpdate DESC"
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
Så här skrev jag:
strSQL = "SELECT TOP 50 ff.msgId, ff.msgFrom, ff.msgTopic, ff.msgRead, ffup.msgUpdate " & _
" FROM forum AS ff INNER JOIN forumUpdate AS ffup ON ff.msgID = ffup.msgID " & _
"WHERE ff.msgId NOT IN " & _
"(SELECT TOP 10 ff.msgId FROM forum AS ff INNER JOIN forumUpdate AS ffup ON ff.msgID = ffup.msgID WHERE ff.Thread_ID=0 ORDER BY ffup.msgUpdate DESC) " & _
"AND ff.Thread_ID=0 ORDER BY ffup.msgUpdate DESC"
Nu verkar det som det fungerar...med din SQL-frågakonstruktion LarsG så kan man göra väldigt effektivt paging. Tack för att ni hjälpte mig.
------------------
Alltid lär man sig något nytt varje dag...
LarsGMedlem sedan dec. 200012 464 inlägg Att det blir sådär effektivt tror jag inte. Limit-konstruktionen är mycket bättre i detta sammanhang.
------------------
essentitia preter non sans multiplicandum
PatrikBMedlem sedan mars 20002 836 inlägg LarsGs variant kommer att söla ned mer än att hämta hem alla 250 inläggen och lägga dem i en array, om du kör mot Access.
Däremot under MS-SQL skulle den nog funka lite snabbare i en SP ;)
Jag testade den varianten när jag skulle fixa en paging till en sida som körs på chilliASP .... hej o hå så långsamt det gå.
Den varianten som jag har ligger under wF script är en variant som funkar ÄVEN på chilliASP
Men!!!
Den mest optimala pagingen, som jag testat, e gjord med ADODB.Recordset, och detta funkar inte så jäkla bra med chilliASP eftersom det inte har stöd för alla adodb.recordsetets metoder etc.
Om man nöjer sig med att endast ha << Föregående | Nästa >> som länkalternativ så funkar din top x historia mycket bra.
cya,
PatrikB
------------------
*Det tar sig sa han som hade eld i håret*