Autonummering in query toevoegen

Status
Niet open voor verdere reacties.

Exoltes

Gebruiker
Lid geworden
10 sep 2015
Berichten
33
Wat ik zoek is een manier om een auto nummering toe te voegen in mijn query waarbij elke rij die voldoet aan de sorteer voorwaarden van de query een oplopend nummer krijgt.

Dus als ik 10 producten heb en ik geef aan dat ik in mijn query alleen de producten wil zien die eindigen op de letter M dan wil ik deze een oplopend nummer geven zonder dat er rekening gehouden wordt met de producten die ik niet wil zien.
Voorbeeld:

Tabel
-----
ID.......Naam
1..........ABC
2..........RSM
3..........QVM
4..........ARB
5..........SST
6..........RLU
7..........MFM
8..........SSR
9..........RXM
10.........QSR

Gewenste query
------------------
ID........Naam.....Auto_NR
2..........RSM..........1
3..........QVM..........2
7..........MFM..........3
9..........RXM..........4

Alvast bedankt voor enige hulp.

Misschien nog even bij vermelden dat de query nieuwe auto nummers zou moetten genereren wanneer de query op andere eigenschappen gefilterd wordt.
 
Laatst bewerkt:
Dat kan bijvoorbeeld met een subquery:
SELECT ID, Naam, (SELECT Count(Naam) + 1 FROM tblTest AS A WHERE A.ID< B.ID AND Naam LIKE "??M") AS Auto_NR
FROM tblTest AS B WHERE Naam LIKE "??M";
 
Maar dan moet je voor elke nieuwe run van de hoofd query toch een volledig nieuwe sub query schrijven niet?
Als ik dan bv enkel de gene wil zien die beginnen met een S of het nummer 5 bevatten of dergelijke.
 
Er zijn meerdere mogelijkheden om dat te realiseren. Je kunt bijvoorbeeld met VBA dynamisch een query opbouwen, maar je kunt ook gebruik maken van een parameter-query:
SELECT ID, Naam, (SELECT Count(Naam) + 1 FROM tblTest AS A WHERE A.ID< B.ID AND Naam LIKE [Geef filterwaarde in]) AS Auto_NR
FROM tblTest AS B WHERE Naam Like [Geef filterwaarde in];
 
Je kunt zo'n query natuurlijk ook zo maken dat hij standaard voor elke combinatie zelf al de nummers genereert; dan heb je de parameter niet nodig.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan