Insérer un élément calculé avec requete dans un état.

Signaler
Messages postés
62
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
19 août 2005
-
Messages postés
62
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
19 août 2005
-
Bonjour,
Je travaille actuellement sur une base de données et j'ai besoin d'aide sur l'insertion d'un élément calculé dans un état.

J'ai créé un état qui m'affiche différents champs (dont l'un s'appelle numero (il va chercher dans une de mes tables les valeurs de N° echantillon)) et leurs données. Jusque là tout fonctionne.
Je voudrais à la fin de chaque ligne rajouter un champs calculé dont le résultat dépend du numero.
Pour cela j'ai créé une requete generale (POLLENSnumech):

SELECT SUM([nombre])
FROM POLLENS
WHERE numech=numero;

Ma question est : Comment faire comprendre lorsque je fait appel à ma requete dans le SourceControl de mon champ calculé qu'il faut aller chercher la valeur de l'élément numero au début de la ligne de mon état ?

Quand je fais appel à ma requete dans le SourceControl il m'affiche ça :
=[POLLENSnumech]![Expr1000]
Mais je ne sais pas comment la modifier pour lui faire comprendre.

Si quelqu'un pouvait me dépanner ce sera cool.
Merci.

5 réponses

Messages postés
5
Date d'inscription
mardi 29 janvier 2002
Statut
Membre
Dernière intervention
24 juin 2005

Bonjour,
dans ta requete, il faut que tu crée un alias pour le champs calculé (Sum([nombre]) as SommeNombre et ensuite tu pourra l'utiliser dans ton état sans problème.
Messages postés
62
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
19 août 2005
7
Désolé ça ne marche toujours pas.
Maintenant j'ai ma requete :
SELECT SUM([nombre]) as SommeNombre
FROM POLLENS
WHERE numech=numero;

et ma formule dans le SourceControl:
=[POLLENSnumech]![SommeNombre]

mais l'état ne comprends toujours pas qu'il faut aller chercher la valeur du champs numero en début de ligne.
Messages postés
940
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
3 février 2011
9
Fais-ta requête de somme et appelles la rq_somme par exemple, et avec
un dlookup va chercher le résultat et met le dans ton champ d'état!

=dlookup("SommeNombre","rq_somme")

voir aide access sur le dlookup, tu peux ajouter une condition si tu veux.

Mais dans ton cas, cela semble inutile.

Tu peux aussi, le faire directement sans passer par une requête.

Avec la fonction DCount (voir aide access)

Qui va calculer la somme de ce que tu veux.

Par exemple, si tu veux la somme de tous les pollens qui sont dans la table pollens, il faut mettre dans ton champ état:

=DCount("NumEch","Pollens")

TBBUIM
Messages postés
940
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
3 février 2011
9
Oups DCount, c pour compter le nombre d'élément.

DSum c'est pour faire la somme de nombres.

Si t'as un champ nombre dans ta table pollens, fait un DSum de ce champ.
TBBUIM
Messages postés
62
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
19 août 2005
7
J'étais en train de me replonger dans mon état justement.

Le problème que j'ai c'est que quand je met =dcount (ou dsum)
dans le source control, dès que je ferme l'état ou que je quitte le
mode création le source control redevient vide !

Une idée ?

Seb.