Kom ihåg mig?
Home Menu

Menu


LIMIT-variant i Access (MDB)

Ämnesverktyg Visningsalternativ
Oläst 2009-01-13, 10:48 #1
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
Hej !
Skriver en app som hämtar info från en MDB-databas (med PHP:s COM ODBC)
Funkar bra så här långt. Men nu tänkte jag få in någon form av "pagination" och behöver nåt liknande MYSQLs LIMIT. Hittade TOP 25 men vet inte om den gör samma sak...

HOWTO ?
qson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-13, 10:58 #2
digis avatar
digi digi är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jul 2004
Inlägg: 1 335
digi digi är inte uppkopplad
Har WN som tidsfördriv
digis avatar
 
Reg.datum: Jul 2004
Inlägg: 1 335
SELECT TOP 25 * FROM tbl

Om jag inte minns helt fel =)
digi är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-13, 11:09 #3
Alexs avatar
Alex Alex är inte uppkopplad
Administratör
 
Reg.datum: Sep 2004
Inlägg: 1 621
Alex Alex är inte uppkopplad
Administratör
Alexs avatar
 
Reg.datum: Sep 2004
Inlägg: 1 621
Citat:
Originally posted by digitalUnit@Jan 13 2009, 10:58
SELECT TOP 25 * FROM tbl
Om jag inte minns helt fel =)
Det gör du inte. Det stämmer precis.
__________________
@Zn4rK - Börja blogga - Paintball i Göteborg
Det jag skriver är mina personliga åsikter och återspeglar inte vad WN eller andra företag jag representerar tycker.
Alex är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-13, 12:21 #4
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
Jo, men sen då. Då har jag ju hämtat "Sida 1" (1..25). Om jag sen vill hämta sida 2 (26..50) hur gör jag då?

I MYSQL finns det ju LIMIT 26, 25 men inte i MSSQL (MDB)
qson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-13, 12:57 #5
digis avatar
digi digi är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jul 2004
Inlägg: 1 335
digi digi är inte uppkopplad
Har WN som tidsfördriv
digis avatar
 
Reg.datum: Jul 2004
Inlägg: 1 335
Citat:
Originally posted by qson@Jan 13 2009, 13:21
Jo, men sen då. Då har jag ju hämtat Sida 1 (1..25). Om jag sen vill hämta sida 2 (26..50) hur gör jag då?
I MYSQL finns det ju LIMIT 26, 25 men inte i MSSQL (MDB)
Har för mig att det inte är lika enkelt att fixa paging i Access som i MySQL men det här kan vara en lösning, även om det känns lite "fulhack"

Simple Data Paging

P.S. MSSQL och MDB (MS Access) är inte samma sak
digi är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-13, 13:44 #6
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
Citat:
Originally posted by digitalUnit@Jan 13 2009, 13:57

P.S. MSSQL och MDB (MS Access) är inte samma sak
Ursäkta mig. Läser data ur en MDB-databas med SQL-uttryck.
Skall titta närmare på Simple Data Paging. Verkar intressant. Har tillfälligt gjort en caching-funktion för att råda bot på en del flaskhalsar...
Tack så länge!
qson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-01-13, 15:57 #7
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
Tack digitalUnit !
Det funkar utmärkt. Använde inte PROCEDURES men blev inspirerad av den SQL som stod överst på sidan

När jag vill ha rad 200..300:
Hämta Rad 0..300, vänd på det, och hämta de 100 första raderna vilka du sedan vänder igen:

Kod:
SELECT * FROM (
 * *SELECT TOP 100 * FROM (
 * * * *SELECT TOP 300 * FROM tabell WHERE någonting='något' ORDER BY fält1 ASC, fält2 ASC, fält3 ASC
 * * * *) AS SUBSEL ORDER BY SUBSEL.fält1 DESC, SUBSEL.fält2 DESC, SUBSEL.fält3 DESC
 * * ) AS PAGESEL ORDER BY PAGESEL.fält1 ASC, PAGESEL.fält2 ASC, PAGESEL.fält3 ASC
Funkar utmärkt. Testat med 250 rader med 5 rader per sida. Även testat med 15 per sida. Funkar med alla rader i rätt ordning... !
Fantastiskt...

EDIT: Detta, tillsammans med min cachningsfunktion har gjort det hela märkbart snabbare... :-)
qson är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 21:14.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017