Comment mettre a jour des données grace à la requete ajout qui renvoit les donné

Résolu
cs_vanessaV Messages postés 3 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 22 juin 2005 - 22 juin 2005 à 11:37
arovb Messages postés 1 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 16 mars 2007 - 16 mars 2007 à 19:41
Bonjour, je suis en STAGE et je galère grave!!!! En fait j'ai crée une base et l'une de mes table enregistre le dernier mouvement de chaque produits. J'ai crée une table historique avec une requete ajout qui ajoute des lignes de la table Mouvement à chaque fois que l'on clic sur la requete. Mon PB est qu'il arrive que certain produits effectuent des mouvement alors que d'autres non! Je souhaiterai que quand je clic les données de la table mouvement s'enregistre dans la table historique si et seulement si ils ont été modifiés. Si le produit n'a pas effectué de nouveaux mouvements, je souhaiterai que l'enregistrement ne s'ajoute pas§
Voila AIDEZ MOI PLEASE!!

7 réponses

cs_steppenwolf Messages postés 84 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 29 décembre 2006
22 juin 2005 à 13:32
Quand l'utilisateur fait une modif, il sélectionne donc 1 dans la lsite déroulante et ensuite, tu lances la requête d'ajout (INSERT INTO historique SELECT * FROM courante WHERE modif=1;) dans la table Historique. Après, il faut remettre à 0 le champ modif pour tous les enregistrements de la table Courante avec une requête de mise à jour :

UPDATE courante SET modif=0

A la base, le champ modif doit être à 0 pour tous les produits.

Alex

----------------------------
Fête comme moi, be MIAG
3
cs_steppenwolf Messages postés 84 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 29 décembre 2006
22 juin 2005 à 12:13
Salut !

J'propose un truc et tu me diras si ca te plait !

Je rajouterai un champ dans ta table courante (avec un nom à la con du style : MODIF) qui est à 0 si ta ligne n'a pas été changée et à 1 pour le contraire.

Après, dans ta requête d'ajout, t'as plus qu'à rajouter un test sur la valeur du champ MODIF.

A+

Alex

----------------------------
Fête comme moi, be MIAG
0
cs_steppenwolf Messages postés 84 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 29 décembre 2006
22 juin 2005 à 12:29
Ta requête serait du style :
INSERT INTO historique SELECT * FROM courante WHERE modif=1;

A+

Alex

----------------------------
Fête comme moi, be MIAG
0
cs_steppenwolf Messages postés 84 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 29 décembre 2006
22 juin 2005 à 12:31
Par contre, avec la requête que je viens de te donner, tables historique et courante doivent avoir la même structure.

Alex

----------------------------
Fête comme moi, be MIAG
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_vanessaV Messages postés 3 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 22 juin 2005
22 juin 2005 à 12:36
Merci de t'intérésser a mon pb! Une fois que j'ai crée le champ dans ma table mouvement, j'ai mis en place une liste déroulante 1 ou 0 afin que l'utilisateur coshe la bonne case quand il fait une modife mais après je vois pas ce que je dois faire dans la requete ajout "test sur la valeur du champs? En plus, si il y a disons 20 produits, a chaque fois si l'on modifie 2 produits uniquement il faudra remplacer la valeur 1 par 0 pour les produits a ne pas modifier et vis vers ca pour les produits à modifier...?
0
cs_vanessaV Messages postés 3 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 22 juin 2005
22 juin 2005 à 17:17
MERCI MERCI BEAUCOUP!!! tu me sauves la vie !!! je suis trop contente. A bientôt j'espère!!!
Van!
0
arovb Messages postés 1 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 16 mars 2007
16 mars 2007 à 19:41
De arovb
Bonjour
comment recopier une ligne d'une table vers une autre?
merci de m'aider
0
Rejoignez-nous