Bonjour,
J'ai une table essai1 qui contient plusieurs champs (tous texte). Certains n'ont que deux modalités : O/N ; i/r ; 1/0 ...
Je souhaiterai transformer mes O;i;1 en true et mes N;r;0 en false en une seule opération pour que ma table passe de :
id champ1 champ2 champ3 champXi...
1 N i 1 ...
2 O r 1 ...
3 O i 0 ...
...
à
id champ1 champ2 champ3 champXi...
1 False True True ...
2 True False True ...
3 True True False ...
(mes champXi sont des champs auxquels je ne souhaite pas toucher ; ils contiennent d'autres valeurs)
J'ai fait une requête pour un champ et une modalité, cela fonctionne :
Bien sûr quand j'essaie de traiter deux champ à la fois cela ne fonctionne plus, ce qui est logique avec le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 UPDATE essai1 SET essai1.champ1 = "false" WHERE (((essai1.champ1) In ("0","i","Non","n","Faux";"N")));
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 UPDATE essai1 SET essai1.champ1 = "false", essai1.champ2 = "false" WHERE (((essai1.champ1) In ("0","i","Non","n","Faux")) AND ((essai1.champ2) In ("0","i","Non","n","Faux")));
Quelle méthode dois-je adopter :
- Insérer une ligne par champ et modalité, régroupée dans une macro ou une procédure ?
- Faire une boucle (du premier au dernier enregistrement) par champ avec iif, à nouveau regroupé dans une macro ou procédure
Merci de vos conseils.
Xorbane
Partager