Access 2003 - utilisation de IIF dans requête

Fermé
setqcar78 Messages postés 3 Date d'inscription jeudi 22 mars 2007 Statut Membre Dernière intervention 17 décembre 2007 - 17 déc. 2007 à 12:06
 azatw - 19 févr. 2008 à 23:46
Bonjour à tous,

J'ai un soucis avec Access 2003. J'envisage de mettre 3 colonnes dans une requête : "longeur", "longcalc" une troisième qui m'affiche la valeur de "longueur" si celle-ci à une valeur supérieure à "longcalc", sinon la valeur de "longcalc".

J'ai saisi cette ligne dans la valeur "champ" de ma requête :

Long_max: (select iif([e_tronco].[longueur] > ([e_tronco].[longcalc]),[e_tronco].[longueur], [e_tronco].[longcalc]) from [e_tronco])

mais le message suivant s'affiche frénétiquement : "Cette sous-requête peut retourner au plus un enregistrement".

Quelqu'un pourrait-il m'aider ???

Merci d'avance

1 réponse

Tu peux utiliser la fonction IIF directement sans passer par select :
IIF([e_tronco].[longueur] > ([e_tronco].[longcalc]);[e_tronco].[longueur]; [e_tronco].[longcalc])

BONNE CHANCE
je 'ai déjà utilisé cette fonction au niveau de ma base de données et elle marche bien

J'ai une fourchette dans la table comme suit : [Min - Max]
il y a un test qui doit se faire sur la borne inferieure et un autre sur la borne superieure. j'ai utilisé IIF
IIF( [Calc]<[Min]; [Min]-[Calc];IIF([Calc]>[Max];[Calc]-[Max];frais);frais)
0