Select TOP 3

Status
Niet open voor verdere reacties.

JeroenMioch

Gebruiker
Lid geworden
1 dec 2007
Berichten
215
Hallo mensen,

Is er een manier om een bepaalde rij van een tabel aan te duiden middels VBA ?
Zoals bij de meeste bekend levert een top 3 query niet alleen de eerste drie uit de lijst, maar ook de records met een gedeelde eerste, tweede en derde plaats.
Het kan dus zomaar voorkomen dat een select top 3 query wel tien of meer records oplevert.

Mijn bedoeling is dus om uitsluitend de eerste drie records uit de select query te laten zien via een Dlookup op mijn formulier. (de top 1 was me al gelukt, maar er is geen gedeelde tweede in dit geval)

Als iemand ideeen heeft, hoor ik het graag :)

Mvg : Jeroen
 
En waarom een DLookup? Wat denk je daar mee te bereiken? Je kunt voor je formulier een DAO Recordset maken; via een SELECT TOP 3 waarna je vervolgens met een loopje door de eerste drie records loopt. Omdat de loop op een teller is gebaseerd, weet je precies hoeveel records je terugleest.
 
Hoi Michel,

met onderstaande code krijg ik gegevens uit de query op mn formulier. Doordat één van die velden (personeelsnummer) gegevens kan halen uit een andere tabel (parkeerbeheer) kan ik dus eigenlijk precies wat ik wil op mn formulier zetten.

Code:
FLDtop1waarschuwingennummer = DLookup("AantalVanID", "QRYtopvijfwaarschuwingen")
FLDtopwaarschuwingenPnummer = DLookup("Pnummer", "QRYtopvijfwaarschuwingen")
FLDtopwaarschuwingenNaam = DLookup("Naam", "Parkeerbeheer", "Pnummer = FLDtopwaarschuwingenPnummer")
FLDtopwaarschuwingenLetters = DLookup("Letters", "Parkeerbeheer", "Pnummer = FLDtopwaarschuwingenPnummer")
FLDtopwaarschuwingenMerk = DLookup("Merk", "Parkeerbeheer", "Pnummer = FLDtopwaarschuwingenPnummer")

Ik weet dat er meerdere wegen naar Rome zijn, en de weg die ik bewandel misschien niet de juiste, of slimste is, maar het werkt. (buiten mn eerdergenoemde probleemje)

Ik ben nu aan het googlen naar DOA recordsets, en aan het kijken hoe dat precies werkt, maar kan je uitleggen wat je met "loop" bedoelt ?

Oh ps : laat je niet misleiden door de veldnamen haha, zat er een beetje mee te klooien (excuse my French)

Alvast dank !
 
Laatst bewerkt:
Met ADO of DAO (DOA moet nog worden uitgevonden...) kun je een recordset maken, om bijvoorbeeld een waarde op te zoeken in een tabel. Wat jij met DLookup doet, doe ik meestal (en een heel stuk sneller) met DAO recordsets.
Een loop is een simpele DO WHILE, FOR EACH, FOR i= 1 TO 3 etc constructiet, waarbij je een aantal keer een handeling laat uitvoeren. In jouw geval dus iets als:
Code:
FOR i = 1 TO 3
     Recordset op formulier zetten
LOOP
Het aantal achter TO geeft aan hoeveel keer de actie moet worden uitgevoerd.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan