Comment je peux calculer ça !!!!

Signaler
Messages postés
19
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
25 décembre 2005
-
Messages postés
19
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
25 décembre 2005
-
Salut à tous,

est ce possible d'effectuer ce calcul , j'ai un programme vb6 et la base sous access, j'ai 2 table commande et Mglobal

La table Mglobal a des champs : NUM,MOIS, produit, Prixdumois, PrixRealisédumois,
La table Commande a : Ncmd, MOIS , produit, Prix

alors qu on passe une commande il faut que:
le PrixRéalisédumois = le PrixRéalisédumois - le prix de la commande

j'ai essayer une requête mais ça marche pas aidez moi svp.

11 réponses

Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
3
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)

Nurgle
Messages postés
19
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
25 décembre 2005

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

Alors tu pense quoi ?
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
3
ç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 !

Nurgle
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
29
comment prouver que 1 = 0

x = x + 1

x - x = 1

1 = 0


Daniel
Messages postés
19
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
25 décembre 2005

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

et merci bcp.
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
3
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 ?

Nurgle
Messages postés
19
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
25 décembre 2005

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.
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
3
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" ?

c'est ça ais-je enfin compris ?

Nurgle
Messages postés
19
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
25 décembre 2005

Ouiiiiiiiii t'as enfin compris mon problème, est ce qu il y a une solution ou non
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
3
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...)

Nurgle
Joyeux Noël
Messages postés
19
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
25 décembre 2005

Salut Nurgle,
J'éspère que tu vas tres bien, merci je vais essayer tes requêtes
merci aussi pour le conseil c'est gentil

happy new year.