Doorlopend formulier in Access

Status
Niet open voor verdere reacties.

Wiskas

Gebruiker
Lid geworden
23 mrt 2006
Berichten
6
Hallo,
Ik zou graag de uitslagen van een wedstrijd op een monitor bij ons in de kantine laten zien, hiervoor heb ik een doorlopend fomulier gemaakt op basis van een query die de uitslagenlijst aflopend sorteerd. Op het formulier heb ik de timer ingesteld die na 10 sec een ander formulier (b.v. een andere klasse) laat zien, tot zover gaat alles goed.
Als nu de uitslagenlijst te lang wordt (meer dan 15 deelnemers) dan zie ik de laatste niet meer op het scherm, dus ik moet een tweede formulier maken met de rest van de uitslagen.
Hoe kan ik nu het aantal records (in de query) voor het het eerste formulier beperken tot 15 en het tweede vervolg formulier laten beginnen met record 16 in de query met uitslagen.

Ik hoop dat de vraag een beetje duidelijk is en dat iemand mij de juiste richting op kan sturen.

b.v.d. Jan.
 
Zit er in de tabel die je voor de query gebruikt, misschien een (uniek) nummer dat je kan gebruiken. Bvb. een autonumber.
 
Er zit een tabel boven maar, het gaat hier om individule sporters die niet op volgorde ingeboekt worden in het programma, dus de volgorde van de autonummering klopt dan niet, ik moet sorteren op de uitslag (aantal punten) en de laastste deelnemer kan wel eerste staan. Het mooiste zou zijn dat ik de query laat sorteren op de uitslag, en als er dan b.v. 36 deelnemers zijn dan de eerste 15 uit die query laat zien op het eerste formulier, de volgende 15 op het tweede formulier en dan de laatste 6 op het derde formulier, het sorteren en de records tellen en vervolgens de fomulieren laten rouleren lukt me wel maar om nu de eerste 15 uit die query en dan de volgende 15 dat lukt me niet, ik heb daar geen oplossing voor, ik hoop dat u nog een idee hebt dat zou me geweldig helpen in de ontwikkeling van de rest van het programma.

Gr. Jan
 
Ik zou het niet weten. Evt. een eerste query die de 36 resultaten geeft, en daar een Autonumber field bij of zo? Dan een andere query waarbij je als een parameter begin- en eindnummer kan ingeven. Bvb. 1 en 10. Ben ook maar luidop aan het denken :(;)
 
Tja, da's niet zo heel simpel. In Oracle heb je 'n autoveld RowNum, dat zul je in Access moeten simuleren. Als je een tabel Table1 hebt, met twee velden - ID en Tekst, dan moet je een soortgelijke query gebruiken:
Code:
SELECT 
(SELECT Count(ID) FROM table1 AS Temp
WHERE Temp.id<=Table1.ID) as RowNum, Tekst FROM table1

Dit resulteert nu in:
RowNum, Tekst
1, "Tekst 1"
2, "Tekst 2"
3, "Tekst 3"
4, "Tekst 4"
5, "Tekst 5"

In deze query kun je iedere ORDER BY plaatsen die je wilt, RowNum zal altijd oplopen van 1 t/m het aantal records

Je kunt nu dus in je form een query gebruiken waarin een clause staat als:
Code:
WHERE RowNum > (iFormNum*15) and RowNum <= ((iFormNum-1)*15)

Succes!


Aanpassing: Overigens is het wellicht makkelijker om gewoon een stukje VBA te gebruiken en de recordset daarmee op te bouwen...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan