OVH Cloud OVH Cloud

Requête sous ACCESS

1 réponse
Avatar
CyrilDébutAccess
Bonjour, en tombant sur un forum d'entraide, je suis tombé sur le problème de
cette internaute qui a exactement le même problème que moi, et qui l'a déjà
très bien expliqué, donc je le retranscris tel quel...

Comme vous pourrez le voir, quelqu'un a répondu...mais doué comme je suis je
n'ai pas du tout compris la réponse...quelqu'un pourrait il me faciliter la
tâche?...N'hésitez pas à expliquer comme à un neuneu de l'informatique, car
c'est plutot le cas!!!
Merci beaucoup

"Voici mon blème :
j'ai 1 table demandeur, une table conjoint et une table XX et une table
origine géographique, et bien d'autres mais elles ne nous intéressent pas...
J'ai 1 champ Origine géographique les tables demandeur et conjoint.
Je cherche à faire une requête analyse croisée qui me cumule les origines
géographique du demandeur et du conjoint.
Ex :
Résultat de Analyse_croisee_origine_geographique_demandeur :
-----------x--------y-------z
dép1 ----1 ----------------3
dép2 --------------6 ------1

Résultat de Analyse_croisee_geographique_conjoint :
-----------x--------y-------z
dép1 ----1---------1--------
dép2 --------------4 --------
dép4 ----4 -----------------

Je voudrai une requête ayant pour résultat le cumul de ces 2 requêtes :
-----------x--------y-------z
dép1 -----2------- 1-------3
dép2 -------------10------ 1
dép4 -----4-----------------
Au fait, la requête union : table [analyse_croisee_origine_geographique]
union all table [analyse_croisee_origine_geographique_conjoint] ne cumule pas
les lignes dép mais me donne un résultat du genre
-----------x--------y-------z
dép1 ----1 ----------------3
dép2 --------------6 ------1
dép1 ----1--------1--------
dép2 --------------4 --------
dép4 ----4 -----------------
Qi qq'un peut me filer un coup de main, ce serait cool !
Merci @+ "



Réponse de etienne_athens postée le 01/04/2003 à 16:29

"Bonjour,

ayant eu l'occasion de devoir proceder au meme bidouillage a de nombreuses
reprises, voici une facon de proceder qui permet de contourner le
probleme....c'est un moyen mais il en existe certainement d'autres...

Tu procedes a un append query dans la meme table de tes deux premieres
requetes. Il faut d'abord creer la table temporaire, puis ecrire les deux
query qui cree des record en completant la table, en les executant l'un apres
l'autre....Il est bien entendu necessaire que les noms de rubrique soit les
memes...

Puis tu refais un query de la table generee temporaire une fois
remplie....dans ce cas le sum fonctionnera correctement

Deuxieme solution :

Tu utilises ta requete en Union pour faire un make table query (SELECT
INSERT INTO) et tu refais un query de la table temporaire generee....

Cependant il devrait aussi etre possible d'arriver directement en enchainant
deux query (la source de donnees du deuxieme query est le premier query...qui
est ton query en UNION) d'arriver au meme resultat sans passer par une table
temporaire ecrite dans la base....A la fin du deuxueme query dans ce cas la
table te,mporaire est purement et simplement detruite....

J'ai bien explique ou c'est incomprehensible ??? "

1 réponse

Avatar
Sylvain Lafontaine
Utilisez une requête Group By sur le résultat de l'Union, avec des Sum()
pour additionner les différentes colonnes. Il est possible que vous ayez à
intégrer la fonction Nz() dans votre requête afin d'éviter que la somme d'un
nombre avec une valeur nulle donne une somme nulle.

S. L.

"CyrilDébutAccess" wrote in
message news:
Bonjour, en tombant sur un forum d'entraide, je suis tombé sur le problème
de
cette internaute qui a exactement le même problème que moi, et qui l'a
déjà
très bien expliqué, donc je le retranscris tel quel...

Comme vous pourrez le voir, quelqu'un a répondu...mais doué comme je suis
je
n'ai pas du tout compris la réponse...quelqu'un pourrait il me faciliter
la
tâche?...N'hésitez pas à expliquer comme à un neuneu de l'informatique,
car
c'est plutot le cas!!!
Merci beaucoup

"Voici mon blème :
j'ai 1 table demandeur, une table conjoint et une table XX et une table
origine géographique, et bien d'autres mais elles ne nous intéressent
pas...
J'ai 1 champ Origine géographique les tables demandeur et conjoint.
Je cherche à faire une requête analyse croisée qui me cumule les origines
géographique du demandeur et du conjoint.
Ex :
Résultat de Analyse_croisee_origine_geographique_demandeur :
-----------x--------y-------z
dép1 ----1 ----------------3
dép2 --------------6 ------1

Résultat de Analyse_croisee_geographique_conjoint :
-----------x--------y-------z
dép1 ----1---------1--------
dép2 --------------4 --------
dép4 ----4 -----------------

Je voudrai une requête ayant pour résultat le cumul de ces 2 requêtes :
-----------x--------y-------z
dép1 -----2------- 1-------3
dép2 -------------10------ 1
dép4 -----4-----------------
Au fait, la requête union : table [analyse_croisee_origine_geographique]
union all table [analyse_croisee_origine_geographique_conjoint] ne cumule
pas
les lignes dép mais me donne un résultat du genre
-----------x--------y-------z
dép1 ----1 ----------------3
dép2 --------------6 ------1
dép1 ----1--------1--------
dép2 --------------4 --------
dép4 ----4 -----------------
Qi qq'un peut me filer un coup de main, ce serait cool !
Merci @+ "



Réponse de etienne_athens postée le 01/04/2003 à 16:29

"Bonjour,

ayant eu l'occasion de devoir proceder au meme bidouillage a de nombreuses
reprises, voici une facon de proceder qui permet de contourner le
probleme....c'est un moyen mais il en existe certainement d'autres...

Tu procedes a un append query dans la meme table de tes deux premieres
requetes. Il faut d'abord creer la table temporaire, puis ecrire les deux
query qui cree des record en completant la table, en les executant l'un
apres
l'autre....Il est bien entendu necessaire que les noms de rubrique soit
les
memes...

Puis tu refais un query de la table generee temporaire une fois
remplie....dans ce cas le sum fonctionnera correctement

Deuxieme solution :

Tu utilises ta requete en Union pour faire un make table query (SELECT
INSERT INTO) et tu refais un query de la table temporaire generee....

Cependant il devrait aussi etre possible d'arriver directement en
enchainant
deux query (la source de donnees du deuxieme query est le premier
query...qui
est ton query en UNION) d'arriver au meme resultat sans passer par une
table
temporaire ecrite dans la base....A la fin du deuxueme query dans ce cas
la
table te,mporaire est purement et simplement detruite....

J'ai bien explique ou c'est incomprehensible ??? "