|
|
|
|
Salut à tous...
Je suis tout nouveau sur Access et je viens chercher un peu d'aide ici n'en ayant pas trouvé dans mes bouquins...
Voila j aimerai mettre à jour toutes les semaines une table "PRODUITS"(code[clé primaire], libelle,Q_stock, HT) à partir d'une autre table "FOURNISSEUR"(structurée par mes soins dans le même format).
J ai crée en SQL une requête qui ajoute les nouveaux articles "FOURNISSEUR"(j’ai juste un message d'erreur sur les articles déjà existants dans ma table "PRODUITS"= Doublons, mais ça marche)
INSERT INTO PRODUITS ( CODE, LIBELLE, STOCK, HT )
SELECT CODE, LIBELLE, STOCK, HT
FROM FOURNISSEUR
WHERE HT>0;
J ai crée en SQL également une requête suppression pour ne pas mettre à jour les articles de ma table "PRODUITS" que j avais en stock (>=1) et éviter de vendre à perte...
DELETE STOCK
FROM PRODUITS
WHERE STOCK>=1;
Mais les requêtes qui me posent le plus de problèmes sont celles des mises à jour : J aimerai mettre à jour les articles de "PRODUITS" en cas de hausse du HT "FOURNISSEUR" ou en cas de baisse (donc sur 2 requêtes distinctes pour mieux contrôler mes tarifs).
J'espère avoir été clair. Merci par avance à tous ceux pouvant me donner une piste.
Quant à moi j'y retourne ...
Salut,
UPDATE PRODUITS SET HT = HT*1,05 WHERE LIBELLE LIKE "toto*";Cette requête augmente les prix de 5% de tous les articles dont le libellé commence par "toto"... Pour une baisse de tarif, c'est la même chose, seule l'opération à faire change : HT=HT*0,95... A+ Blux "Les cons, ça ose tout. C'est même à ça qu'on les reconnait" |
Je te remercie pour l'info mais la requète que tu me donnes augmente ou diminue TOUS les HT de ma table "PRODUIT". Or je cherche à mettre à jour uniquement les produits ayant subit soit une hausse, soit une baisse depuis la table que me donne mon fournisseur chaque semaine !
|
Rajoute FOURNISSEURS dans la liste des tables à mettre à jour, même si on ne fait rien dessus, ça lui indique qu'elle fait partie du bin's qu'on essaie de faire : UPDATE PRODUITS, FOURNISSEURS SET HT = HT.FOURNISSEURS WHERE STOCK = 0 AND CODE = CODE.FOURNISSEURS ; J'ai testé chez moi (ACCESS 2002), ça marche... A+ Blux "Les cons, ça ose tout. C'est même à ça qu'on les reconnait" |
Merci pour toute la peine que tu te donnes pour moi, mais hélas cela ne fonctionne pas. J ai également ACCESS 2002. Voila mes tables :
|
Faudrait juste me dire quel est le résultat que tu obtiens, car ça devrait logiquement marcher... à l'exception près qui est qu'on ne crée pas de nouveau produit, c'est une requête de mise à jour de champs dans une ligne existante (UPDATE), pas une requête ajout (INSERT INTO)...
|
Répondre à microsoluces
|
Je n ai pas mis FROM, c est ACCESS qui corrige seul la syntaxe à la manière de FRONTPAGE qui corrigeait mes pages html ! ! !
|
JE COMMENCE A DOUTER QU ON PUISE LE FAIRE AVEC ACCESS pourtant cela ne semble pas tres compliqué au premier abord !
|
Salut,
|
Bonjour,
|