Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fonction Dlookup

5 réponses
Avatar
Jennam
Bonjour,

J'ai un formulaire de saisie nommé "ajoutsalarié" qui compte plusieurs
champs texte dont voici le détail. (Ce formulaire saisie a pour source de
contrôle une table "Affectation") :
Id_salarié datedaffectation coeff

Je souhaite ajouter à ce formulaire "ajoutsalarié" un champ texte dont la
source de contrôle provient de la requête "Controlesal" suivante :

SELECT Affecter.id_sal, Affecter.date_affectation, Sum(Affecter.coeff) AS
SommeDecoeff
FROM Affecter
GROUP BY Affecter.id_sal, Affecter.date_affectation;

qui me donne les éléments suivants :

Id_sal date_affectation SommeDesCoeffs
1 05/01/05 1
2 05/01/05 1.5

Ce que je veux voir apparaitre dans ce champ texte additionnel du formulaire
"ajoutsalarié" c'est la valeur de "SommeDesCoeffs" pour chaque Id_salarié.
Donc au final je veux les données suivantes :
(Id_salarié datedaffectation coeff) (SommeDesCoeffs)

Je me suis orienté vers la fonction DLookup pour alimenter mon champ texte
sur la base de la requête.
Ca donne :
=Dlookup("[SommeDecoeff]";"[ControleSal]";"[id_sal]=" & Listesal & " AND
[date_affectation]=#" & datedaffectation & "#")
ce qui ne marche pas, je ne sais pas pourquoi. (rien ne s'affiche dans ma
zone de texte).

En revanche si je modifie ma requête par :
SELECT Affecter.id_sal, Sum(Affecter.coeff) AS SommeDecoeff
FROM Affecter
GROUP BY Affecter.id_sal;

(en enlevant la date) et que j'utilise la fonction suivante :
=Dlookup("[SommeDecoeff]";"[ControleSal]";"[id_sal]=" & Listesal)

Tout s'affiche correctement. Apparemment dans la première requête et avec la
première fonction, c'est la date qui cloche mais je ne comprends pas
pourquoi.

Est ce que quelqu'un peut m'aiser ? Merci bcp d'avance !!

5 réponses

Avatar
loutox
Bonjour,
ton instruction est
Dlookup("[SommeDecoeff]";"[ControleSal]";"[id_sal]=" & Listesal & " AND
[date_affectation]=#" & datedaffectation & "#")

à mon avis la requete ControlSal ne doit pas etre entre crochets

d'autre part si Listesal est une zone de liste, la variable appelée doit
etre Listesal.column(x) (où x est le N° de colonne dans la source de la
liste)

esperant t'avoir aidé
loutox



"Jennam" a écrit dans le message de news:
41e4fe5f$0$7091$
Bonjour,

J'ai un formulaire de saisie nommé "ajoutsalarié" qui compte plusieurs
champs texte dont voici le détail. (Ce formulaire saisie a pour source de
contrôle une table "Affectation") :
Id_salarié datedaffectation coeff

Je souhaite ajouter à ce formulaire "ajoutsalarié" un champ texte dont la
source de contrôle provient de la requête "Controlesal" suivante :

SELECT Affecter.id_sal, Affecter.date_affectation, Sum(Affecter.coeff) AS
SommeDecoeff
FROM Affecter
GROUP BY Affecter.id_sal, Affecter.date_affectation;

qui me donne les éléments suivants :

Id_sal date_affectation SommeDesCoeffs
1 05/01/05 1
2 05/01/05 1.5

Ce que je veux voir apparaitre dans ce champ texte additionnel du
formulaire
"ajoutsalarié" c'est la valeur de "SommeDesCoeffs" pour chaque Id_salarié.
Donc au final je veux les données suivantes :
(Id_salarié datedaffectation coeff) (SommeDesCoeffs)

Je me suis orienté vers la fonction DLookup pour alimenter mon champ
texte
sur la base de la requête.
Ca donne :
=Dlookup("[SommeDecoeff]";"[ControleSal]";"[id_sal]=" & Listesal & " AND
[date_affectation]=#" & datedaffectation & "#")
ce qui ne marche pas, je ne sais pas pourquoi. (rien ne s'affiche dans ma
zone de texte).

En revanche si je modifie ma requête par :
SELECT Affecter.id_sal, Sum(Affecter.coeff) AS SommeDecoeff
FROM Affecter
GROUP BY Affecter.id_sal;

(en enlevant la date) et que j'utilise la fonction suivante :
=Dlookup("[SommeDecoeff]";"[ControleSal]";"[id_sal]=" & Listesal)

Tout s'affiche correctement. Apparemment dans la première requête et avec
la
première fonction, c'est la date qui cloche mais je ne comprends pas
pourquoi.

Est ce que quelqu'un peut m'aiser ? Merci bcp d'avance !!





Avatar
Jennam
Merci Loutox

Effectivement Listesal est une liste avec ma valeur id_sal en colonne 1. Si
je suis ta syntaxe, le champ me retroune #nom ? cad une erreur. Apparemment
c'est pas ça qui cloche parce qu'avec la requête

SELECT Affecter.id_sal, Sum(Affecter.coeff) AS SommeDecoeff
FROM Affecter
GROUP BY Affecter.id_sal;



et la fonction :

=Dlookup("[SommeDecoeff]";"[ControleSal]";"[id_sal]=" & Listesal)

tout marche bien, mais j'ai également besoin de filtret par la date !

Merci pour ta suggestion.



"loutox" a écrit dans le message de news:
41e504fa$0$398$
Bonjour,
ton instruction est
Dlookup("[SommeDecoeff]";"[ControleSal]";"[id_sal]=" & Listesal & " AND
[date_affectation]=#" & datedaffectation & "#")

à mon avis la requete ControlSal ne doit pas etre entre crochets

d'autre part si Listesal est une zone de liste, la variable appelée doit
etre Listesal.column(x) (où x est le N° de colonne dans la source de la
liste)

esperant t'avoir aidé
loutox



"Jennam" a écrit dans le message de news:
41e4fe5f$0$7091$
Bonjour,

J'ai un formulaire de saisie nommé "ajoutsalarié" qui compte plusieurs
champs texte dont voici le détail. (Ce formulaire saisie a pour source
de


contrôle une table "Affectation") :
Id_salarié datedaffectation coeff

Je souhaite ajouter à ce formulaire "ajoutsalarié" un champ texte dont
la


source de contrôle provient de la requête "Controlesal" suivante :

SELECT Affecter.id_sal, Affecter.date_affectation, Sum(Affecter.coeff)
AS


SommeDecoeff
FROM Affecter
GROUP BY Affecter.id_sal, Affecter.date_affectation;

qui me donne les éléments suivants :

Id_sal date_affectation SommeDesCoeffs
1 05/01/05 1
2 05/01/05 1.5

Ce que je veux voir apparaitre dans ce champ texte additionnel du
formulaire
"ajoutsalarié" c'est la valeur de "SommeDesCoeffs" pour chaque
Id_salarié.


Donc au final je veux les données suivantes :
(Id_salarié datedaffectation coeff) (SommeDesCoeffs)

Je me suis orienté vers la fonction DLookup pour alimenter mon champ
texte
sur la base de la requête.
Ca donne :
=Dlookup("[SommeDecoeff]";"[ControleSal]";"[id_sal]=" & Listesal & " AND
[date_affectation]=#" & datedaffectation & "#")
ce qui ne marche pas, je ne sais pas pourquoi. (rien ne s'affiche dans
ma


zone de texte).

En revanche si je modifie ma requête par :
SELECT Affecter.id_sal, Sum(Affecter.coeff) AS SommeDecoeff
FROM Affecter
GROUP BY Affecter.id_sal;

(en enlevant la date) et que j'utilise la fonction suivante :
=Dlookup("[SommeDecoeff]";"[ControleSal]";"[id_sal]=" & Listesal)

Tout s'affiche correctement. Apparemment dans la première requête et
avec


la
première fonction, c'est la date qui cloche mais je ne comprends pas
pourquoi.

Est ce que quelqu'un peut m'aiser ? Merci bcp d'avance !!









Avatar
Eric
Bonjour Jennam,

Testes avec :
=RechDom("[SommeDecoeff]";"[ControleSal]";"[id_sal]=" & Listesal &
" AND [date_affectation]=" & Format(datedaffectation;"#mm/jj/aaaa#"))

car tu dois convertir la date au format anglo-saxon.
--
A+
Eric
Lien à suivre : http://users.skynet.be/mpfa/


"Jennam" écrivait
news:41e50c3e$0$19587$:

Merci Loutox

Effectivement Listesal est une liste avec ma valeur id_sal en colonne
1. Si je suis ta syntaxe, le champ me retroune #nom ? cad une erreur.
Apparemment c'est pas ça qui cloche parce qu'avec la requête

SELECT Affecter.id_sal, Sum(Affecter.coeff) AS SommeDecoeff
FROM Affecter
GROUP BY Affecter.id_sal;



et la fonction :

=Dlookup("[SommeDecoeff]";"[ControleSal]";"[id_sal]=" & Listesal)

tout marche bien, mais j'ai également besoin de filtret par la date !

Merci pour ta suggestion.



"loutox" a écrit dans le message de news:
41e504fa$0$398$
Bonjour,
ton instruction est
Dlookup("[SommeDecoeff]";"[ControleSal]";"[id_sal]=" & Listesal & "
AND [date_affectation]=#" & datedaffectation & "#")

à mon avis la requete ControlSal ne doit pas etre entre crochets

d'autre part si Listesal est une zone de liste, la variable appelée
doit etre Listesal.column(x) (où x est le N° de colonne dans la
source de la liste)

esperant t'avoir aidé
loutox



"Jennam" a écrit dans le message de news:
41e4fe5f$0$7091$
Bonjour,

J'ai un formulaire de saisie nommé "ajoutsalarié" qui compte
plusieurs champs texte dont voici le détail. (Ce formulaire saisie
a pour source
de


contrôle une table "Affectation") :
Id_salarié datedaffectation coeff

Je souhaite ajouter à ce formulaire "ajoutsalarié" un champ texte
dont
la


source de contrôle provient de la requête "Controlesal" suivante :

SELECT Affecter.id_sal, Affecter.date_affectation,
Sum(Affecter.coeff)
AS


SommeDecoeff
FROM Affecter
GROUP BY Affecter.id_sal, Affecter.date_affectation;

qui me donne les éléments suivants :

Id_sal date_affectation SommeDesCoeffs
1 05/01/05 1
2 05/01/05 1.5

Ce que je veux voir apparaitre dans ce champ texte additionnel du
formulaire
"ajoutsalarié" c'est la valeur de "SommeDesCoeffs" pour chaque
Id_salarié.


Donc au final je veux les données suivantes :
(Id_salarié datedaffectation coeff) (SommeDesCoeffs)

Je me suis orienté vers la fonction DLookup pour alimenter mon
champ texte
sur la base de la requête.
Ca donne :
=Dlookup("[SommeDecoeff]";"[ControleSal]";"[id_sal]=" & Listesal &
" AND [date_affectation]=#" & datedaffectation & "#")
ce qui ne marche pas, je ne sais pas pourquoi. (rien ne s'affiche
dans
ma


zone de texte).

En revanche si je modifie ma requête par :
SELECT Affecter.id_sal, Sum(Affecter.coeff) AS SommeDecoeff
FROM Affecter
GROUP BY Affecter.id_sal;

(en enlevant la date) et que j'utilise la fonction suivante :
=Dlookup("[SommeDecoeff]";"[ControleSal]";"[id_sal]=" & Listesal)

Tout s'affiche correctement. Apparemment dans la première requête
et
avec


la
première fonction, c'est la date qui cloche mais je ne comprends
pas pourquoi.

Est ce que quelqu'un peut m'aiser ? Merci bcp d'avance !!














Avatar
loutox
tout marche bien, mais j'ai également besoin de filtret par la date !

Pour la date il faut surement passer par format (date,"jjmmaa")

(voir la syntaxe exacte dans l'aide)
car un champ date stocke l'heure à la seconde près et donc 2 valeurs de date
du meme jour ne sont pas forcément égales , alors que les veleurs
format(blabla,"bla") le sont.
ça devrait etre ça.

loutox

Avatar
Jennam
Merci ERIC & LOUTOX

Je vais essayer ça ce soir en rentrant et je ne manquerai pas de vous dire
si ça marche !! :)


"loutox" a écrit dans le message de news:
41e51fe9$0$19285$
tout marche bien, mais j'ai également besoin de filtret par la date !

Pour la date il faut surement passer par format (date,"jjmmaa")

(voir la syntaxe exacte dans l'aide)
car un champ date stocke l'heure à la seconde près et donc 2 valeurs de
date

du meme jour ne sont pas forcément égales , alors que les veleurs
format(blabla,"bla") le sont.
ça devrait etre ça.

loutox