cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 18 déc. 2005 à 18:47
Tu as essayé une requête, mais ça ne marche pas ?
Tu pourrais nous mettre la requête, comme ça on pourra essayer de voir pourquoi elle marche pas ?
Et il y a un autre problème :
"PrixRéalisédumois = PrixRéalisédumois - le prix de la commande "
ça c'est pas possible comme équation !
x = x - y
ça voudrait dire que y = 0, donc que pour que ça marche, le prix de ta commande doit être toujours nul (ce qui ne sert pas à grand chose)
fleur7r8
Messages postés19Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention25 décembre 2005 18 déc. 2005 à 20:43
Noooooon désolée je veux dire
PrixRéalisédumois = PrixRéalisédumois + le prix de la commande
et voila ma requête:
V= "SELECT Mglobal.NUM1, Mglobal.produit,Mglobal.Prix from Mglobal INNER JOIN Commande where Mglobal.NUM1= Commande.NUM and Mglobal.produit = Commande.produit and Mglobal.MOIS = Commande.MOIS
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 18 déc. 2005 à 22:39
ça ne change rien :
"PrixRéalisédumois = PrixRéalisédumois + le prix de la commande"
ne sera vrai que si le prix de la commande est égal à 0 !!
x = x + y <=> y = 0
c'est comme si tu disais :
10 = 10 + y
y est donc forcément égal à 0.
(et oui, la programmation, c'est des maths )
Donc ton truc ne tient pas la route, parce que si tu te bases là dessus pour faire la requête...
si le prix de ta commande est égale à 0, il va te renvoyer tous les enregistrements.
si elle est différente de 0, la condition ne sera pas validée et donc il va rien te renvoyer !
fleur7r8
Messages postés19Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention25 décembre 2005 18 déc. 2005 à 23:16
est ce que tu as bien compris mon problème ou pas ? si oui oublie le (x = x-y ou x = x+y)
et essayer de voir les choses bien mieux que moi , voila mon problème :
Chaque début du mois tu donne un budget pour chaque produit d'accord, jqs à mnt on a passer aucune commande
alors le prixrealisé = 0
quant on vas passer une commande à janvier par exp attention elle doit bien avoir un prix, on doit ajouter cet prix dans la colonne PrixRealisé de la table Mglobal.
c'est pourquoi j'ai fé
PrixRéalisédumois = PrixRéalisédumois + le prix de la commande
ça c'est du calcul comme tu as dit bon pour ma requête c'est quoi son problème pourquoi ça ne marche pas
V= "SELECT Mglobal.NUM1, Mglobal.produit,Mglobal.Prix from Mglobal INNER JOIN Commande where Mglobal.NUM1= Commande.NUM and Mglobal.produit = Commande.produit and Mglobal.MOIS = Commande.MOIS
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 19 déc. 2005 à 12:51
Ah bah voilà, là je comprend un peu mieux
Si j'ai bien compris, tu as :
- Le mois où la commande a été passé
- Le prix de la commande
- Le produit correspondant
Et tu veux, ajouter le prix de la commande au Prix réalisé du mois et du produit correspondant ?
Dans ce cas je comprend pas pourquoi tu fais un SELECT et pas un INSERT ? Tu veux sélectionner des données, ou juste mettre à jour le PrixRéaliséDuMois ?
fleur7r8
Messages postés19Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention25 décembre 2005 19 déc. 2005 à 22:53
Bonsoir Nurgle,
je croix mnt qu on parle la même longue
bon j'ai une forme commande qui represente la table commande ds access, ce que je veux lors où je saisie la commande en entrant son produit, mois et les autres champs , je veux que le prixRéaliséduMois qui concerne le meme produit et le meme mois de ma commandede la table Mglobal soit mis à jour.
voir que j'ai plusieurs produits qui ont un budget diffirent pour chaque mois (les 12 mois biensur)
Merci bcp Nurgle pour ton aide et désolée si j'ai pas claircir mon problème dés le début.
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 20 déc. 2005 à 11:37
Une petite question : tu veux faire des requêtes sur des bases de données, mais connais-tu quelque chose au SQL ?
(en tout cas je te conseille de t'acheter un bon gros bouquin là dessus, ça t'aidera peut être...)
Récapitulons encore une fois les choses, histoire que je comprenne bien (et que je me ne lance pas dans des explications inutiles...) :
Tu veux :
1. Ajouter une commande dans la table "commande" de ta base de données
et ensuite :
2 . Ajouter le prix de cette commande au champ prixRéaliséduMois qui correspond au même produit et au même mois de la table "Mglobal" ?
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 24 déc. 2005 à 11:17
Eh bien tu vas devoir faire 3 requêtes SQL !
La 1ère va ajouter une commande à la table commande :
INSERT INTO Commandes (Ncmd, MOIS , produit, Prix) VALUES ([le Ncmd],[leMois],[leProduit],[lePrix])
Ensuite il faut savoir savoir quel est le PrixRéaliséDuMois :SELECT PrixRéaliséDuMois WHERE Mois [leMois] AND produit [leProduit]
qui va te renvoyer une valeur.
Tu lui ajoute [lePrix].
Et en troisième tu va faire une requête pour mettre à jour le PrixRéaliséDuMois :UPDATE MGlobal SET PrixRéaliséDuMois [leNouveauPrixRéaliséDuMois] WHERE Mois [leMois] AND produit = [leProduit]
Et voilà
Je te conseille quand même de te plonger sérieusement dans le SQL parce qu'on dirait que pour toi c'est du chinois...
(tu peux t'acheter un bon bouquin sur SQL pour Noël... encore qu'il est un peu tard c'est aujourd'hui...)