Avatar billede jakobgt Nybegynder
25. oktober 2001 - 20:30 Der er 22 kommentarer og
1 løsning

Limit??

Hej

Hvordan begrænser man antallet af poster når man bruger select.
F.eks. select * from news
Så kommer der måske 15 nyheder, men hvis man kun vil have de 5 første, hvad skriver man så (noget á la limit i MySQL)?

Mvh Jakob Thomsen
Avatar billede keysersoze Ekspert
25. oktober 2001 - 20:32 #1
select top 5 from
Avatar billede jakobgt Nybegynder
25. oktober 2001 - 20:36 #2
Hvad så hvis jeg vil kun vil vise fra post nr 6 til 10?

Mvh Jakob Thomsen
Avatar billede keysersoze Ekspert
25. oktober 2001 - 20:40 #3
der er flere måder - men eks.

select top 10 from

og så brug

rs.move 5

for at springe de første fem over inden udskrivning
Avatar billede jakobgt Nybegynder
25. oktober 2001 - 20:50 #4
Nu bruger jeg odbc fra PHP, så er der ikke andre måder?

Mvh Jakob Thomsen
25. oktober 2001 - 20:51 #5
select top 5 * from tabel where nr > 5
Avatar billede jakobgt Nybegynder
25. oktober 2001 - 20:57 #6
thomasjepsen >> Det vil den ikke:
Warning: SQL error: [Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 1., SQL state 07001 in SQLExecDirect in ../high.inc.php on line 130

Fejl: Kunne ikke udføre: select top 5 * from billeder where nr > 5

(Jeg har en funktion der skriver fejlmeddelelsen ud, forespørgelsen ikke lykkes).
Mvh Jakob Thomsen
Avatar billede keysersoze Ekspert
25. oktober 2001 - 21:06 #7
ja - php kender jeg dog ikke SÅ meget til - troede det var asp :o/
Avatar billede jakobgt Nybegynder
25. oktober 2001 - 21:13 #8
OK, men er der ikke en eller anden funktion eller sådan noget i access?

Mvh Jakob Thomsen
25. oktober 2001 - 21:35 #9
er nr et felt i tabellen?
Avatar billede jakobgt Nybegynder
25. oktober 2001 - 21:37 #10
Nej

Mvh Jakob Thomsen
25. oktober 2001 - 21:40 #11
så er det klart at select top 5 * from billeder where nr > 5 giver fejl!
Nr skal referere til det felt hvor du har nogle værdier som du vil udvælge fra.
Avatar billede jakobgt Nybegynder
25. oktober 2001 - 21:44 #12
Hvis du mener at nr skal være autonummerering, så er der et problem. Hvad hvis der bliver slettet nogle poster \"i midten\" af db\'en.
F.eks. hvis nr=4 bliver slettet, så er det kun de 4 første poster der bliver hoppet over!

Mvh Jakob Thomsen
Avatar billede codebase Praktikant
25. oktober 2001 - 22:41 #13
Brug limit kommandoen
syntax LIMIT startpost,antalposter

eks. start med nr.5 og hent 7 poster
SELECT * FROM tabel LIMIT 5,7

_codeb@se.dk
25. oktober 2001 - 23:34 #14
Codebase->Limit er vist ikke en gyldig kommando i Access\' SQL.

Jakob-> Er der ikke et felt, som identificerer start-posten?
Hvorfor ønsker du at se post 6-10?

Jeg snakker ikke om autonummerering.
Avatar billede codebase Praktikant
25. oktober 2001 - 23:39 #15
LIMIT er da\' en alm. sql kommando....!!
25. oktober 2001 - 23:41 #16
Muligt, men har du prøvet den i Access?
Avatar billede codebase Praktikant
25. oktober 2001 - 23:45 #17
nej, men har prøvet en  SELECT en gang (for mange år siden :-) og den virkede fint *sss*
Avatar billede codebase Praktikant
25. oktober 2001 - 23:46 #18
så et eller andet, kan det der Accesss :-)
25. oktober 2001 - 23:49 #19
Man kan også bruge WHERE, men det er vist også nogenlunde det! :o)

Nej, det passer ikke. Men det er rigtigt at Access\' SQL lader meget tilbage i forhold til andre dialekter. Især Oracle\'s SQL synes jeg er meget avanceret.
Avatar billede jakobgt Nybegynder
28. oktober 2001 - 13:42 #20
thomasjepsen >> Jeg har et admin-system som skal vise indholdet af db\'en uanset tabellernes navne. Den skal vise 5 ad gangen. Håber det forklarede det lidt bedre.

codebase >> Hvis jeg bruger limit kommandoen, melder den fejl..

Mvh Jakob Thosen
28. oktober 2001 - 13:47 #21
Når du skriver: \"db\'en uanset tabellernes navne\" mener du så det? Eller mener du \"tabellen uanset kolonnernes navne\"? (Eller begge dele?)

Uanset hvad, så tror jeg vi er ude i noget VBA evt kombineret med en eller flere forespørgsler.
I hvert fald hvis du slet ikke har nogen ide om fletindhold eller feltnavn eller lign.
Avatar billede jakobgt Nybegynder
28. oktober 2001 - 19:36 #22
Jeg mente det sidste.. :-)
Man skal kunne \"bladre\" mellem de enkelte poster, og så skal man kunne se en oversigt, der f.eks. viser 10 poster ad gangen.
I MySQL kan man bruge limit, der som codebase skriver kan vise f.eks. fra post nr. 5 og ti poster fremad (limit 5,10). Jeg ville bare høre om der var en lignende kommando i Access, da jeg kun kan se én anden løsning, nemlig at udtrække alle poster, og så i PHP kun vise 10 poster. Men det kan jo godt komme til at køre langsomt, hvis der f.eks. skal være 10.000 poster i tabellen.

Mvh Jakob Thomsen
Avatar billede jakobgt Nybegynder
26. november 2001 - 21:22 #23
Det ser ikke ud til,at der er nogen der har svar, så jeg tager alle pointerne selv.

Mvh Jakob Thomsen
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester