OVH Cloud OVH Cloud

Comment décroiser une table?

6 réponses
Avatar
mobimus
Bonjour,

J'ai une table composée des champs suivants:
ID
NUM_FICHE
NOM
PRENOM
LIBELLE
ENTITE1
ENTITE2
ENTITE3
....
ENTITEx

Je voudrais redéfinir la structure de la table pour n'avoir que les
colonnes suivantes:
NUM_FICHE
NOM
PRENOM
LIBELLE
ENTITE
MONTANT

de sorte à renseigner le champ ENTITE par le nom du champ ENTITEx
correspondant

quant'à le nouveau champ MONTANT, il reprend la valeur de
l'intersection de NUM_FICHE, NOM,PRENOM,LIBELLE,ENTITE1
d'une part
et ENTITEx de la première table d'autre part

Merci de m'aider à obtenir cette table par qq moyen que ce soit

6 réponses

Avatar
3stone
Salut,

"mobimus"
| J'ai une table composée des champs suivants:
| ID
| NUM_FICHE
| NOM
| PRENOM
| LIBELLE
| ENTITE1
| ENTITE2
| ENTITE3
| ....
| ENTITEx
|
| Je voudrais redéfinir la structure de la table pour n'avoir que les
| colonnes suivantes:
| NUM_FICHE
| NOM
| PRENOM
| LIBELLE
| ENTITE
| MONTANT
|
| de sorte à renseigner le champ ENTITE par le nom du champ ENTITEx
| correspondant
|
| quant'à le nouveau champ MONTANT, il reprend la valeur de
| l'intersection de NUM_FICHE, NOM,PRENOM,LIBELLE,ENTITE1
| d'une part
| et ENTITEx de la première table d'autre part


En fait, il te manque une table...

Tu as (auras) la table "Clients"
# NumClient
NomClient
PrenomClient

puis la table des "Entités"

*NumClient
Entite
Montant (si montant est lié à entité)

# est la clé primaire
* est la clé externe


Question: quelles sont le type des données contenues dans "entité" ?


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
mobimus
Salut 3Stone,

Merci pour les éclaircissements.

Le type de données du champ ENTITE est texte

Salut,

"mobimus"
J'ai une table composée des champs suivants:
ID
NUM_FICHE
NOM
PRENOM
LIBELLE
ENTITE1
ENTITE2
ENTITE3
....
ENTITEx

Je voudrais redéfinir la structure de la table pour n'avoir que les
colonnes suivantes:
NUM_FICHE
NOM
PRENOM
LIBELLE
ENTITE
MONTANT

de sorte à renseigner le champ ENTITE par le nom du champ ENTITEx
correspondant

quant'à le nouveau champ MONTANT, il reprend la valeur de
l'intersection de NUM_FICHE, NOM,PRENOM,LIBELLE,ENTITE1
d'une part
et ENTITEx de la première table d'autre part



En fait, il te manque une table...

Tu as (auras) la table "Clients"
# NumClient
NomClient
PrenomClient

puis la table des "Entités"

*NumClient
Entite
Montant (si montant est lié à entité)

# est la clé primaire
* est la clé externe


Question: quelles sont le type des données contenues dans "entité" ?



Avatar
3stone
re,

"mobimus"
|
| Le type de données du champ ENTITE est texte



Crée une requete "UNION" de cette façon :

SELECT NumFiche, Entite1
FROM Tclient WHERE ((Not (Entite1) Is Null))
UNION
SELECT NumFiche, Entite2
FROM Tclient WHERE ((Not (Entite2) Is Null))
UNION
SELECT NumFiche, Entite3
FROM Tclient WHERE ((Not (Entite3) Is Null));

que tu sauve sous "req_UnionEntite" par exemple.

Ensuite, crée une requete de création de la table "T_Entites"
avec comme source ta requete req_UnionEntite.

Ensuite, il te reste à créer la relation 1 à plusieurs entre les champs
"NumFiche" de ces deux tables dans la fenêtre de relation...


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
mobimus
Bonjour Stone,

J'ai bcp essayer ta solution mais sans succés.

Je sais pas si tu pourrais m'envoyer une base exemlpe sur mon mail
privé?!


Merci

re,

"mobimus"

Le type de données du champ ENTITE est texte




Crée une requete "UNION" de cette façon :

SELECT NumFiche, Entite1
FROM Tclient WHERE ((Not (Entite1) Is Null))
UNION
SELECT NumFiche, Entite2
FROM Tclient WHERE ((Not (Entite2) Is Null))
UNION
SELECT NumFiche, Entite3
FROM Tclient WHERE ((Not (Entite3) Is Null));

que tu sauve sous "req_UnionEntite" par exemple.

Ensuite, crée une requete de création de la table "T_Entites"
avec comme source ta requete req_UnionEntite.

Ensuite, il te reste à créer la relation 1 à plusieurs entre les champs
"NumFiche" de ces deux tables dans la fenêtre de relation...



Avatar
3stone
Salut,

"mobimus"
| J'ai bcp essayer ta solution mais sans succés.


Hmm... essayé, mais comment ? ;-)

Crée la requête avec le premier Select et exécute-la,
passe en mode d'affichage SQL et complète !

Evidement, il faut adapter les noms...


| Je sais pas si tu pourrais m'envoyer une base exemlpe sur mon mail
| privé?!


Je te propose l'inverse ;-)

Envoies moi la base avec le stricte minimum...


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
mobimus
Bonjour 3stone,

Je t'ai envoyé un fichier exemple à ton adresse mail(j'ai enlevé les
"_")

Encore merci de ta patience

Salut,

"mobimus"
J'ai bcp essayer ta solution mais sans succés.



Hmm... essayé, mais comment ? ;-)

Crée la requête avec le premier Select et exécute-la,
passe en mode d'affichage SQL et complète !

Evidement, il faut adapter les noms...


Je sais pas si tu pourrais m'envoyer une base exemlpe sur mon mail
privé?!



Je te propose l'inverse ;-)

Envoies moi la base avec le stricte minimum...