Premier champ libre

Trouver le premier numéro libre dans un champ numérique

Dans le cas où il suffit de trouver la première valeur libre dans un champ [ID] de la table [Table1] on peut faire:

SELECT TOP 1 [ID]+1 AS Libre

    FROM Table1

    WHERE (((DLookUp("ID","Table1","ID=" & [ID]+1)) Is Null))

    ORDER BY Table1.ID;

Si le numéro à trouver doit être plus grand qu'une certaine valeur, on fait:

SELECT TOP 1 [ID]+1 AS Libre

    FROM Table1

    WHERE ((([ID]+1)>1000) AND ((DLookUp("ID","Table1","ID=" & [ID]+1)) Is Null))

    ORDER BY Table1.ID;


Dernière modification : 07/02/2010 23:45
Catégorie : Les mémos - Requêtes
Page lue 8584 fois