Bonjour à tous !
Sous Access 2003, je dois modifier une requête qui pour l'instant est du style :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part SELECT TOP 95 PERCENT champ1, champ2 FROM matable WHERE condition
Cette requête renvoi bien le résultat que je souhaite lorsque 95% est supérieur strict à 1. Par exemple, 95% de 47 = 44,65. La requête me renvoi donc 45 lignes. Ce que je souhaite.
Par contre, 95% de 9 = 8,55. La requête me renvoi donc 9 lignes.
Mais dans ce cas, je voudrais une exception, je voudrais que la requête ne me renvoi que 8 lignes et qu'elle laisse une ligne de côté.
J'ai donc essayé plusieurs méthodes.
- faire un SELECT TOP [parametre] champ FROM .... ou [parametre] était calculé du côté VBA
- SELECT TOP SELECT IIf(count(*)*95/100 < 1, si vrai, si faux) mais ceci est impossible
- En passant par une table intermédiaire qui me donne le résultat de 95% et ensuite faire appel à ce résultat dans un SELECT TOP SELECT
Mais aucune de ces solutions ne fonctionne. le SELECT TOP SELECT ne fonctionne pas sous Access à ce que je constate (je ne suis pas du tout un expert Access). Est-ce vraiment le cas ou est-ce moi qui ne sait pas l'utiliser ?
Il est impossible de passer un parametre après le TOP ? On ne peut passer des paramètres que dans la clause WHERE ?
Est-ce que vous avez une autre petite idée de méthode que je pourrais utiliser pour gérer mon exception ?
Je vous remercie d'avance pour l'aide que vous pourrez me fournir.
Partager