D'accord.
Essaies autrement. Fait une première R dans laquelle tu mets les champs
dont
tu as besoin, en particulier le N° Patient pour sélectionner le bon
patient.
C'est sur celle là que tu fais porter ton critère de sélection du patient.
Fait une seconde R, basée sur la première, dans laquelle tu mets
simplement
:
SELECT Patientspesées.[N° Patient], Sum(Patientspesées.[Kilos perdus]) AS
[SommeDeKilos perdus]
FROM PatientsDonnées INNER JOIN Patientspesées ON PatientsDonnées.[N°
Patient] = Patientspesées.[N° Patient]
GROUP BY Patientspesées.[N° Patient];
En effet, exécutée seule, cette R donne bien le total des Lilos_perdus.
J'ai essayé avec succès.
A +
"Titi" <exfily{NOSPAM}@hotmail.com> a écrit dans le message de news:
bpvha8$cvp$Re !
Merci pour ta réponse et désolé pour la confusion, mais j'avoue que moi
aussi je suis perdu !
Alors en fait le champ kilos_perdus dans la table est utile puisqu'il me
permet, grâce à un formulaire, de mettre à chaque date de pesée un
nombre
dekilos perdus pour un patient donné comme par exemple suit :
- N° Patient / Date de pesée / Kilos perdus
- 2 / 22/11/2003 / 3,6
- 3 / 23/11/2003 / 2.9
- 2 / 24/11/2003 / 3.1
Ce qui est calculé dans la requête c'est le cumul des kilos perdus comme
suit :
- N° Patient / Date de pesée / Kilos perdus / Cumul des kilos perdus
- 2 / 22/11/2003 / 3,6 / 3,6
- 3 / 23/11/2003 / 2.9 / 6,5
- 2 / 24/11/2003 / 3.1 / 9,6
Voici le code sql :
SELECT PatientsPesées.[N° Patient] AS [PatientsPesées_N° Patient],
PatientsDonnées.Nom, PatientsDonnées.Prénom, PatientsDonnées.[Date de
naissance], PatientsPesées.[Date de pesée], PatientsPesées.[Kilos
perdus],
CDbl(DSum("[Kilos perdus]","PatientsPesées","[Date de pesée]<=" &
DateUS([Date de pesée]))) AS [Perte de poids cumulée]
FROM PatientsDonnées INNER JOIN PatientsPesées ON PatientsDonnées.[N°
Patient] = PatientsPesées.[N° Patient];
Et donc mon problème est le suivant : dans la requête, le cumul des
kilos
perdus se fait sur tous les patients (comme tu peux le constater sur
l'exemple si dessus). Or, si je fais un tri sur le patient j'obtiens
ceci
:- N° Patient / Date de pesée / Kilos perdus / Cumul des kilos perdus
- 2 / 22/11/2003 / 3,6 / 3,6
- 2 / 24/11/2003 / 3.1 / 9,6
Le cumul est erroné.
Et je voudrais obtenir cela :
- N° Patient / Date de pesée / Kilos perdus / Cumul des kilos perdus
- 2 / 22/11/2003 / 3,6 / 3,6
- 2 / 24/11/2003 / 3.1 / 6.7
Voilà, j'espère être plus clair ! :-) Dis-moi si c'est le cas !
@+
Thierry
"JMD" a écrit dans le message de news:Oups, je ne suis plus...
Déjà, je ne comprends pas à quoi sert le champ kilos_perdus dans la
tablesic'est un champ calculé dans la requête ?
Ensuite, si tu fais ce calcul pour le patient toto, tu as tout de même
lerésultat pour tous les patiens ?
Peut-tu poster le code SQL de ta requête ?
A +
"Titi" <exfily{NOSPAM}@hotmail.com> a écrit dans le message de news:
bpv90n$gvc$Bonjour et merci encore pour ta réponse !
En ce qui concerne la sélection du patient, c'est ok. Mais j'ai
toujoursceproblème de cumul qui ne s'effectue pas correctement.
Mes 2 tables sont ainsi : Table A (Données nominatives des patients
:
n°patient, nom, prénom, date de naissance) et Table B (Données des
peséesdes patients : n° patient, date de pesée, poids, kilos perdus). B
est
sous-table de A liée par le champ "n° patient" par une relation un à
plusieurs. Ainsi, un patient a plusieurs pesées.
Dans ma requête, j'ai donc extrait les nom, prénom, date de
naissance
delatable A et les pesées correspondantes dans la table B et fait le
cumul
deskilos perdus. Mais comme je l'ai déjà expliqué, mon cumul se fait
sur
tousles patients et non sur un patient. Il faudrait donc que je puisse
sélectionner un patient X et faire en sorte que le cumul s'effectue
uniquement sur ce patient. Comment donc, pourrais-je indiquer à
Access
quece cumul doit s'effectuer uniquement apres sélection du patient et
doncdeses pesées ? Mon cumul s'effectue par CDbl(SomDom("[Kilos
perdus]";"PatientsPesées";"[Date de pesée]<=" & DateUS([Date de
pesée]))).
Merci beaucoup pour ton aide car je suis complètement perdu, là où
alorsjen'y comprends plus rien ! :)
@+
Thierry
"JMD" a écrit dans le message de news:Bonjour,
c'est pareil. Moi, j'ai utilisé le champ nom dans la partie
HAVING,
parceque je suppose que c'est le lien entre la table des patients et la
tabledespoids. C'est un raccourcis commode, ça ne change par le calcul.
Si tu veux pouvoir choisir le patient depuis un formulaire, il
suffitdefaire une requête paramétrée, cad qui sélectionne le patient en
fonctiondela valeur d'un des champs du formulaire (par exemple, N° SS).
Dans la zone Ctritère de la requête, pour ce champ, tu mets
Forms!NomDuFormulaire!NomDuChamp.
Dis moi si c'est OK
Cordialement,
"Titi" <exfily{NOSPAM}@hotmail.com> a écrit dans le message de
news:
bptoif$9ac$Merci pour ta réponse.
Il semblerait que cela soit ça. Cependant, je crois que je me
suis
malexprimé.
En effet, d'après ce que tu viens de me fournir, je sous-entends
quedanslapartie "HAVING (((poids.nom)="toto"))", il faudrait que j'ajoute
danscettesous-requête les noms des patients (ici schématisés sous
l'appellation"toto") ; or, dans ma base, il y a deux tables : une table A,
et une table B (sous-table de A liée par un champ commun à A).
Et
cettebaseest faite de façon à ce que je puisse ajouter des nouveaux
patientsetdefaçon à ce que des pesées puissent être ajoutées à des patients
déjàexistant ; et tout ça grâce à des formulaires.
Ma requête se décompose comme suit :
N° patient (A), Nom (A), Prénom (A), Date de pesée (B), Poids
(B),
Kilosperdus(B) et Cumul_kilos_perdus.
Donc, en gros, ma requête doit pouvoir me permettre de
sélectionnerunnomdeja présent et que cette requête calcule automatiquement le
cumuldepoidspour ce patient (quelque soit le nombre de pesées) tout en
sachant
quejeconnais pas à l'avance le nom du patient.
Merci d'avance pour l'aide ! ;-)
Thierry
"JMD" a écrit dans le message de news:SELECT poids.nom, Sum(poids.poids) AS SommeDepoids
FROM poids
GROUP BY poids.nom
HAVING (((poids.nom)="toto"));
Non ?
"Titi" <exfily{NOSPAM}@hotmail.com> a écrit dans le message de
news:bplk1t$k63$Merci pour ta réponse ! ;-)
En fait, perdus depuis la premiere pesée.
Par exemple, ma requête ce fait dela sorte :
- Nom / Date de pesée / Kilos perdus / Cumul des kilos
perdus
(calculégrâceà la fonction SomDom() )
- Z / 14/02/2000 / 4 / 4
- Y / 01/03/2000 / 2 / 6
- Z / 29/04/2000 / 1 / 7
- Y / 01/05/2000 / 3 / 10
Mon probleme est que si je sélectionne par exemple le
patient
Z,lerésultatest :
- Z / 14/02/2000 / 4 / 4
- Z / 29/04/2000 / 1 / 7
Or là, moi je souhaiterais que la requête puisse faire le
calculdelamaniere suivante:
- Z / 14/02/2000 / 4 / 4
- Z / 29/04/2000 / 1 / 5
Comment pourrais-je faire ?
Merci.
Thierry
"JMD" a écrit dans le message de news:
#Perdus depuis quand ?
Depuis la dernière pesée ou depuis la première ?
A part ça, où est la difficulté ? Il suffit de spécifier
le
nomdupatientdans la requête, non ?
A +
"Titi" <exfily{NOSPAM}@hotmail.com> a écrit dans le
message
denews:bpla64$23c$Bonjour à tous,
Je suis en train de créer une bdd pour gérer l'évolution
dupoidsdeplusieurs personnes.
J ai deux tables : une avec les données nominatives des
patientsetl'autre(sous-table de la première) avec les données des pesées.
Mon but est d'avoir le cumul des kilos perdus a chaque
peséepourchaquepatient, j'ai donc créé une requête dans ce sens.
Cependant,monproblèmeest que dans la requête, le cumul des kilos perdus se
faitsurtouteslespesées et tous les patients.
Comment pourrais-je donc faire pour avoir une requête
qui
mepermettedesélectionner un patient Y et d'avoir le cumul de ses
kilos
perdus,ensachant que de nouveaux patients seront ajoutés
progressivementetquechaque patient déjà présent aura de nouvelles pesées ?
Quelqu'un pourrait-il m'aider ?
Merci à tous d'avance ! ;-)
Thierry
D'accord.
Essaies autrement. Fait une première R dans laquelle tu mets les champs
dont
tu as besoin, en particulier le N° Patient pour sélectionner le bon
patient.
C'est sur celle là que tu fais porter ton critère de sélection du patient.
Fait une seconde R, basée sur la première, dans laquelle tu mets
simplement
:
SELECT Patientspesées.[N° Patient], Sum(Patientspesées.[Kilos perdus]) AS
[SommeDeKilos perdus]
FROM PatientsDonnées INNER JOIN Patientspesées ON PatientsDonnées.[N°
Patient] = Patientspesées.[N° Patient]
GROUP BY Patientspesées.[N° Patient];
En effet, exécutée seule, cette R donne bien le total des Lilos_perdus.
J'ai essayé avec succès.
A +
"Titi" <exfily{NOSPAM}@hotmail.com> a écrit dans le message de news:
bpvha8$cvp$1@news-reader1.wanadoo.fr...
Re !
Merci pour ta réponse et désolé pour la confusion, mais j'avoue que moi
aussi je suis perdu !
Alors en fait le champ kilos_perdus dans la table est utile puisqu'il me
permet, grâce à un formulaire, de mettre à chaque date de pesée un
nombre
de
kilos perdus pour un patient donné comme par exemple suit :
- N° Patient / Date de pesée / Kilos perdus
- 2 / 22/11/2003 / 3,6
- 3 / 23/11/2003 / 2.9
- 2 / 24/11/2003 / 3.1
Ce qui est calculé dans la requête c'est le cumul des kilos perdus comme
suit :
- N° Patient / Date de pesée / Kilos perdus / Cumul des kilos perdus
- 2 / 22/11/2003 / 3,6 / 3,6
- 3 / 23/11/2003 / 2.9 / 6,5
- 2 / 24/11/2003 / 3.1 / 9,6
Voici le code sql :
SELECT PatientsPesées.[N° Patient] AS [PatientsPesées_N° Patient],
PatientsDonnées.Nom, PatientsDonnées.Prénom, PatientsDonnées.[Date de
naissance], PatientsPesées.[Date de pesée], PatientsPesées.[Kilos
perdus],
CDbl(DSum("[Kilos perdus]","PatientsPesées","[Date de pesée]<=" &
DateUS([Date de pesée]))) AS [Perte de poids cumulée]
FROM PatientsDonnées INNER JOIN PatientsPesées ON PatientsDonnées.[N°
Patient] = PatientsPesées.[N° Patient];
Et donc mon problème est le suivant : dans la requête, le cumul des
kilos
perdus se fait sur tous les patients (comme tu peux le constater sur
l'exemple si dessus). Or, si je fais un tri sur le patient j'obtiens
ceci
:
- N° Patient / Date de pesée / Kilos perdus / Cumul des kilos perdus
- 2 / 22/11/2003 / 3,6 / 3,6
- 2 / 24/11/2003 / 3.1 / 9,6
Le cumul est erroné.
Et je voudrais obtenir cela :
- N° Patient / Date de pesée / Kilos perdus / Cumul des kilos perdus
- 2 / 22/11/2003 / 3,6 / 3,6
- 2 / 24/11/2003 / 3.1 / 6.7
Voilà, j'espère être plus clair ! :-) Dis-moi si c'est le cas !
@+
Thierry
"JMD" <vctar@yahoo.fr> a écrit dans le message de news:
uT3i9d0sDHA.2392@TK2MSFTNGP10.phx.gbl...
Oups, je ne suis plus...
Déjà, je ne comprends pas à quoi sert le champ kilos_perdus dans la
table
si
c'est un champ calculé dans la requête ?
Ensuite, si tu fais ce calcul pour le patient toto, tu as tout de même
le
résultat pour tous les patiens ?
Peut-tu poster le code SQL de ta requête ?
A +
"Titi" <exfily{NOSPAM}@hotmail.com> a écrit dans le message de news:
bpv90n$gvc$1@news-reader3.wanadoo.fr...
Bonjour et merci encore pour ta réponse !
En ce qui concerne la sélection du patient, c'est ok. Mais j'ai
toujours
ce
problème de cumul qui ne s'effectue pas correctement.
Mes 2 tables sont ainsi : Table A (Données nominatives des patients
:
n°patient, nom, prénom, date de naissance) et Table B (Données des
pesées
des patients : n° patient, date de pesée, poids, kilos perdus). B
est
sous-table de A liée par le champ "n° patient" par une relation un à
plusieurs. Ainsi, un patient a plusieurs pesées.
Dans ma requête, j'ai donc extrait les nom, prénom, date de
naissance
de
la
table A et les pesées correspondantes dans la table B et fait le
cumul
des
kilos perdus. Mais comme je l'ai déjà expliqué, mon cumul se fait
sur
tous
les patients et non sur un patient. Il faudrait donc que je puisse
sélectionner un patient X et faire en sorte que le cumul s'effectue
uniquement sur ce patient. Comment donc, pourrais-je indiquer à
Access
que
ce cumul doit s'effectuer uniquement apres sélection du patient et
donc
de
ses pesées ? Mon cumul s'effectue par CDbl(SomDom("[Kilos
perdus]";"PatientsPesées";"[Date de pesée]<=" & DateUS([Date de
pesée]))).
Merci beaucoup pour ton aide car je suis complètement perdu, là où
alors
je
n'y comprends plus rien ! :)
@+
Thierry
"JMD" <vctar@yahoo.fr> a écrit dans le message de news:
ev7kpKysDHA.2456@TK2MSFTNGP12.phx.gbl...
Bonjour,
c'est pareil. Moi, j'ai utilisé le champ nom dans la partie
HAVING,
parce
que je suppose que c'est le lien entre la table des patients et la
table
des
poids. C'est un raccourcis commode, ça ne change par le calcul.
Si tu veux pouvoir choisir le patient depuis un formulaire, il
suffit
de
faire une requête paramétrée, cad qui sélectionne le patient en
fonction
de
la valeur d'un des champs du formulaire (par exemple, N° SS).
Dans la zone Ctritère de la requête, pour ce champ, tu mets
Forms!NomDuFormulaire!NomDuChamp.
Dis moi si c'est OK
Cordialement,
"Titi" <exfily{NOSPAM}@hotmail.com> a écrit dans le message de
news:
bptoif$9ac$1@news-reader4.wanadoo.fr...
Merci pour ta réponse.
Il semblerait que cela soit ça. Cependant, je crois que je me
suis
mal
exprimé.
En effet, d'après ce que tu viens de me fournir, je sous-entends
que
dans
la
partie "HAVING (((poids.nom)="toto"))", il faudrait que j'ajoute
dans
cette
sous-requête les noms des patients (ici schématisés sous
l'appellation
"toto") ; or, dans ma base, il y a deux tables : une table A,
et une table B (sous-table de A liée par un champ commun à A).
Et
cette
base
est faite de façon à ce que je puisse ajouter des nouveaux
patients
et
de
façon à ce que des pesées puissent être ajoutées à des patients
déjà
existant ; et tout ça grâce à des formulaires.
Ma requête se décompose comme suit :
N° patient (A), Nom (A), Prénom (A), Date de pesée (B), Poids
(B),
Kilos
perdus(B) et Cumul_kilos_perdus.
Donc, en gros, ma requête doit pouvoir me permettre de
sélectionner
un
nom
deja présent et que cette requête calcule automatiquement le
cumul
de
poids
pour ce patient (quelque soit le nombre de pesées) tout en
sachant
que
je
connais pas à l'avance le nom du patient.
Merci d'avance pour l'aide ! ;-)
Thierry
"JMD" <vctar@yahoo.fr> a écrit dans le message de news:
etzfXmlsDHA.4056@TK2MSFTNGP11.phx.gbl...
SELECT poids.nom, Sum(poids.poids) AS SommeDepoids
FROM poids
GROUP BY poids.nom
HAVING (((poids.nom)="toto"));
Non ?
"Titi" <exfily{NOSPAM}@hotmail.com> a écrit dans le message de
news:
bplk1t$k63$1@news-reader2.wanadoo.fr...
Merci pour ta réponse ! ;-)
En fait, perdus depuis la premiere pesée.
Par exemple, ma requête ce fait dela sorte :
- Nom / Date de pesée / Kilos perdus / Cumul des kilos
perdus
(calculé
grâce
à la fonction SomDom() )
- Z / 14/02/2000 / 4 / 4
- Y / 01/03/2000 / 2 / 6
- Z / 29/04/2000 / 1 / 7
- Y / 01/05/2000 / 3 / 10
Mon probleme est que si je sélectionne par exemple le
patient
Z,
le
résultat
est :
- Z / 14/02/2000 / 4 / 4
- Z / 29/04/2000 / 1 / 7
Or là, moi je souhaiterais que la requête puisse faire le
calcul
de
la
maniere suivante:
- Z / 14/02/2000 / 4 / 4
- Z / 29/04/2000 / 1 / 5
Comment pourrais-je faire ?
Merci.
Thierry
"JMD" <vctar@yahoo.fr> a écrit dans le message de news:
#8OjMoEsDHA.1744@TK2MSFTNGP12.phx.gbl...
Perdus depuis quand ?
Depuis la dernière pesée ou depuis la première ?
A part ça, où est la difficulté ? Il suffit de spécifier
le
nom
du
patient
dans la requête, non ?
A +
"Titi" <exfily{NOSPAM}@hotmail.com> a écrit dans le
message
de
news:
bpla64$23c$1@news-reader2.wanadoo.fr...
Bonjour à tous,
Je suis en train de créer une bdd pour gérer l'évolution
du
poids
de
plusieurs personnes.
J ai deux tables : une avec les données nominatives des
patients
et
l'autre
(sous-table de la première) avec les données des pesées.
Mon but est d'avoir le cumul des kilos perdus a chaque
pesée
pour
chaque
patient, j'ai donc créé une requête dans ce sens.
Cependant,
mon
problème
est que dans la requête, le cumul des kilos perdus se
fait
sur
toutes
les
pesées et tous les patients.
Comment pourrais-je donc faire pour avoir une requête
qui
me
permette
de
sélectionner un patient Y et d'avoir le cumul de ses
kilos
perdus,
en
sachant que de nouveaux patients seront ajoutés
progressivement
et
que
chaque patient déjà présent aura de nouvelles pesées ?
Quelqu'un pourrait-il m'aider ?
Merci à tous d'avance ! ;-)
Thierry
D'accord.
Essaies autrement. Fait une première R dans laquelle tu mets les champs
dont
tu as besoin, en particulier le N° Patient pour sélectionner le bon
patient.
C'est sur celle là que tu fais porter ton critère de sélection du patient.
Fait une seconde R, basée sur la première, dans laquelle tu mets
simplement
:
SELECT Patientspesées.[N° Patient], Sum(Patientspesées.[Kilos perdus]) AS
[SommeDeKilos perdus]
FROM PatientsDonnées INNER JOIN Patientspesées ON PatientsDonnées.[N°
Patient] = Patientspesées.[N° Patient]
GROUP BY Patientspesées.[N° Patient];
En effet, exécutée seule, cette R donne bien le total des Lilos_perdus.
J'ai essayé avec succès.
A +
"Titi" <exfily{NOSPAM}@hotmail.com> a écrit dans le message de news:
bpvha8$cvp$Re !
Merci pour ta réponse et désolé pour la confusion, mais j'avoue que moi
aussi je suis perdu !
Alors en fait le champ kilos_perdus dans la table est utile puisqu'il me
permet, grâce à un formulaire, de mettre à chaque date de pesée un
nombre
dekilos perdus pour un patient donné comme par exemple suit :
- N° Patient / Date de pesée / Kilos perdus
- 2 / 22/11/2003 / 3,6
- 3 / 23/11/2003 / 2.9
- 2 / 24/11/2003 / 3.1
Ce qui est calculé dans la requête c'est le cumul des kilos perdus comme
suit :
- N° Patient / Date de pesée / Kilos perdus / Cumul des kilos perdus
- 2 / 22/11/2003 / 3,6 / 3,6
- 3 / 23/11/2003 / 2.9 / 6,5
- 2 / 24/11/2003 / 3.1 / 9,6
Voici le code sql :
SELECT PatientsPesées.[N° Patient] AS [PatientsPesées_N° Patient],
PatientsDonnées.Nom, PatientsDonnées.Prénom, PatientsDonnées.[Date de
naissance], PatientsPesées.[Date de pesée], PatientsPesées.[Kilos
perdus],
CDbl(DSum("[Kilos perdus]","PatientsPesées","[Date de pesée]<=" &
DateUS([Date de pesée]))) AS [Perte de poids cumulée]
FROM PatientsDonnées INNER JOIN PatientsPesées ON PatientsDonnées.[N°
Patient] = PatientsPesées.[N° Patient];
Et donc mon problème est le suivant : dans la requête, le cumul des
kilos
perdus se fait sur tous les patients (comme tu peux le constater sur
l'exemple si dessus). Or, si je fais un tri sur le patient j'obtiens
ceci
:- N° Patient / Date de pesée / Kilos perdus / Cumul des kilos perdus
- 2 / 22/11/2003 / 3,6 / 3,6
- 2 / 24/11/2003 / 3.1 / 9,6
Le cumul est erroné.
Et je voudrais obtenir cela :
- N° Patient / Date de pesée / Kilos perdus / Cumul des kilos perdus
- 2 / 22/11/2003 / 3,6 / 3,6
- 2 / 24/11/2003 / 3.1 / 6.7
Voilà, j'espère être plus clair ! :-) Dis-moi si c'est le cas !
@+
Thierry
"JMD" a écrit dans le message de news:Oups, je ne suis plus...
Déjà, je ne comprends pas à quoi sert le champ kilos_perdus dans la
tablesic'est un champ calculé dans la requête ?
Ensuite, si tu fais ce calcul pour le patient toto, tu as tout de même
lerésultat pour tous les patiens ?
Peut-tu poster le code SQL de ta requête ?
A +
"Titi" <exfily{NOSPAM}@hotmail.com> a écrit dans le message de news:
bpv90n$gvc$Bonjour et merci encore pour ta réponse !
En ce qui concerne la sélection du patient, c'est ok. Mais j'ai
toujoursceproblème de cumul qui ne s'effectue pas correctement.
Mes 2 tables sont ainsi : Table A (Données nominatives des patients
:
n°patient, nom, prénom, date de naissance) et Table B (Données des
peséesdes patients : n° patient, date de pesée, poids, kilos perdus). B
est
sous-table de A liée par le champ "n° patient" par une relation un à
plusieurs. Ainsi, un patient a plusieurs pesées.
Dans ma requête, j'ai donc extrait les nom, prénom, date de
naissance
delatable A et les pesées correspondantes dans la table B et fait le
cumul
deskilos perdus. Mais comme je l'ai déjà expliqué, mon cumul se fait
sur
tousles patients et non sur un patient. Il faudrait donc que je puisse
sélectionner un patient X et faire en sorte que le cumul s'effectue
uniquement sur ce patient. Comment donc, pourrais-je indiquer à
Access
quece cumul doit s'effectuer uniquement apres sélection du patient et
doncdeses pesées ? Mon cumul s'effectue par CDbl(SomDom("[Kilos
perdus]";"PatientsPesées";"[Date de pesée]<=" & DateUS([Date de
pesée]))).
Merci beaucoup pour ton aide car je suis complètement perdu, là où
alorsjen'y comprends plus rien ! :)
@+
Thierry
"JMD" a écrit dans le message de news:Bonjour,
c'est pareil. Moi, j'ai utilisé le champ nom dans la partie
HAVING,
parceque je suppose que c'est le lien entre la table des patients et la
tabledespoids. C'est un raccourcis commode, ça ne change par le calcul.
Si tu veux pouvoir choisir le patient depuis un formulaire, il
suffitdefaire une requête paramétrée, cad qui sélectionne le patient en
fonctiondela valeur d'un des champs du formulaire (par exemple, N° SS).
Dans la zone Ctritère de la requête, pour ce champ, tu mets
Forms!NomDuFormulaire!NomDuChamp.
Dis moi si c'est OK
Cordialement,
"Titi" <exfily{NOSPAM}@hotmail.com> a écrit dans le message de
news:
bptoif$9ac$Merci pour ta réponse.
Il semblerait que cela soit ça. Cependant, je crois que je me
suis
malexprimé.
En effet, d'après ce que tu viens de me fournir, je sous-entends
quedanslapartie "HAVING (((poids.nom)="toto"))", il faudrait que j'ajoute
danscettesous-requête les noms des patients (ici schématisés sous
l'appellation"toto") ; or, dans ma base, il y a deux tables : une table A,
et une table B (sous-table de A liée par un champ commun à A).
Et
cettebaseest faite de façon à ce que je puisse ajouter des nouveaux
patientsetdefaçon à ce que des pesées puissent être ajoutées à des patients
déjàexistant ; et tout ça grâce à des formulaires.
Ma requête se décompose comme suit :
N° patient (A), Nom (A), Prénom (A), Date de pesée (B), Poids
(B),
Kilosperdus(B) et Cumul_kilos_perdus.
Donc, en gros, ma requête doit pouvoir me permettre de
sélectionnerunnomdeja présent et que cette requête calcule automatiquement le
cumuldepoidspour ce patient (quelque soit le nombre de pesées) tout en
sachant
quejeconnais pas à l'avance le nom du patient.
Merci d'avance pour l'aide ! ;-)
Thierry
"JMD" a écrit dans le message de news:SELECT poids.nom, Sum(poids.poids) AS SommeDepoids
FROM poids
GROUP BY poids.nom
HAVING (((poids.nom)="toto"));
Non ?
"Titi" <exfily{NOSPAM}@hotmail.com> a écrit dans le message de
news:bplk1t$k63$Merci pour ta réponse ! ;-)
En fait, perdus depuis la premiere pesée.
Par exemple, ma requête ce fait dela sorte :
- Nom / Date de pesée / Kilos perdus / Cumul des kilos
perdus
(calculégrâceà la fonction SomDom() )
- Z / 14/02/2000 / 4 / 4
- Y / 01/03/2000 / 2 / 6
- Z / 29/04/2000 / 1 / 7
- Y / 01/05/2000 / 3 / 10
Mon probleme est que si je sélectionne par exemple le
patient
Z,lerésultatest :
- Z / 14/02/2000 / 4 / 4
- Z / 29/04/2000 / 1 / 7
Or là, moi je souhaiterais que la requête puisse faire le
calculdelamaniere suivante:
- Z / 14/02/2000 / 4 / 4
- Z / 29/04/2000 / 1 / 5
Comment pourrais-je faire ?
Merci.
Thierry
"JMD" a écrit dans le message de news:
#Perdus depuis quand ?
Depuis la dernière pesée ou depuis la première ?
A part ça, où est la difficulté ? Il suffit de spécifier
le
nomdupatientdans la requête, non ?
A +
"Titi" <exfily{NOSPAM}@hotmail.com> a écrit dans le
message
denews:bpla64$23c$Bonjour à tous,
Je suis en train de créer une bdd pour gérer l'évolution
dupoidsdeplusieurs personnes.
J ai deux tables : une avec les données nominatives des
patientsetl'autre(sous-table de la première) avec les données des pesées.
Mon but est d'avoir le cumul des kilos perdus a chaque
peséepourchaquepatient, j'ai donc créé une requête dans ce sens.
Cependant,monproblèmeest que dans la requête, le cumul des kilos perdus se
faitsurtouteslespesées et tous les patients.
Comment pourrais-je donc faire pour avoir une requête
qui
mepermettedesélectionner un patient Y et d'avoir le cumul de ses
kilos
perdus,ensachant que de nouveaux patients seront ajoutés
progressivementetquechaque patient déjà présent aura de nouvelles pesées ?
Quelqu'un pourrait-il m'aider ?
Merci à tous d'avance ! ;-)
Thierry