Moulinette sous Access
Résolu/Fermé
microsoluces
-
8 oct. 2006 à 07:57
microsoluces Messages postés 35 Date d'inscription samedi 23 septembre 2006 Statut Membre Dernière intervention 7 juillet 2014 - 11 oct. 2006 à 13:38
microsoluces Messages postés 35 Date d'inscription samedi 23 septembre 2006 Statut Membre Dernière intervention 7 juillet 2014 - 11 oct. 2006 à 13:38
A voir également:
- Moulinette sous Access
- Access appdata - Guide
- Avis stream access ✓ - Forum Virus
- Bios access - Guide
- Access recovery - Télécharger - Sauvegarde
- You don't have permission to access this resource.server unable to read htaccess file, denying access to be safe ✓ - Forum Debian
14 réponses
blux
Messages postés
26019
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
2 mai 2024
3 289
9 oct. 2006 à 11:13
9 oct. 2006 à 11:13
Salut,
il faut utiliser UPDATE :
Pour une baisse de tarif, c'est la même chose, seule l'opération à faire change : HT=HT*0,95...
il faut utiliser UPDATE :
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...
microsoluces
Messages postés
35
Date d'inscription
samedi 23 septembre 2006
Statut
Membre
Dernière intervention
7 juillet 2014
4
9 oct. 2006 à 11:42
9 oct. 2006 à 11:42
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 !
Je dois comparer les articles d'une table à une autre par l'intermédiaire de leur code article (clé primaire). Quand le code est identique on compare les HT... La mise à jour se fait SI la quantité en stock de "PRODUIT" est =0 (pour éviter de modifier les prix des articles déjà en stock).
Simple à dire, mais à faire sous ACCESS ! ! !
Je me demande si je n'aurai pas intérêt à faire ça avec un langage de programmation (Windev, VisualBasic)
A +
Et merci d'avance à mon sauveur !
Je dois comparer les articles d'une table à une autre par l'intermédiaire de leur code article (clé primaire). Quand le code est identique on compare les HT... La mise à jour se fait SI la quantité en stock de "PRODUIT" est =0 (pour éviter de modifier les prix des articles déjà en stock).
Simple à dire, mais à faire sous ACCESS ! ! !
Je me demande si je n'aurai pas intérêt à faire ça avec un langage de programmation (Windev, VisualBasic)
A +
Et merci d'avance à mon sauveur !
blux
Messages postés
26019
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
2 mai 2024
3 289
9 oct. 2006 à 12:59
9 oct. 2006 à 12:59
UPDATE PRODUITS SET HT = HT.FOURNISSEURS WHERE STOCK = 0 AND CODE = CODE.FOURNISSEURS ;
Ca marcherait pas un truc comme ça ?
microsoluces
Messages postés
35
Date d'inscription
samedi 23 septembre 2006
Statut
Membre
Dernière intervention
7 juillet 2014
4
9 oct. 2006 à 14:43
9 oct. 2006 à 14:43
On avance... La syntaxe me plait bien, ca ressemble à ce que je veux faire, mais ACCESS lui, il n aime pas du tout !
Un pop up me demande de saisir le HT.FOURNISSEUR, puis le HT, puis le CODE et enfin me dit que les champs n a pas pu etre mis à jour.....
Un pop up me demande de saisir le HT.FOURNISSEUR, puis le HT, puis le CODE et enfin me dit que les champs n a pas pu etre mis à jour.....
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
blux
Messages postés
26019
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
2 mai 2024
3 289
9 oct. 2006 à 15:33
9 oct. 2006 à 15:33
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 :
J'ai testé chez moi (ACCESS 2002), ça marche...
UPDATE PRODUITS, FOURNISSEURS SET HT = HT.FOURNISSEURS WHERE STOCK = 0 AND CODE = CODE.FOURNISSEURS ;
J'ai testé chez moi (ACCESS 2002), ça marche...
microsoluces
Messages postés
35
Date d'inscription
samedi 23 septembre 2006
Statut
Membre
Dernière intervention
7 juillet 2014
4
9 oct. 2006 à 17:21
9 oct. 2006 à 17:21
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 :
PRODUITS
CODE__LIBELLE____STOCK_____ HT_________ TYPE
__1___Produit 1_____ 1______ 100,00_____Carte mère
__2___Produit 2_____ 1______ 100,00_____Processeur
__3___Produit 3_____ 1 ______100,00_____Mémoire
FOURNISSEUR
CODE____LIBELLE________ HT
__1___ Pdt 1___________200,00 (hausse)
__3___ Produitsxxx 3____ 50,00 (article 2 disparu)(Baisse pour le 3)
__4___Produit 4________ 700,00 (nouvel article)
RESULTAT ATTENDU =>
PRODUITS
CODE__LIBELLE____STOCK_____ HT_________ TYPE
__1___Produit 1_____ 1______ 200,00_____Carte mère
__3___Produit 3_____ 1_______ 50,00_____Processeur
__4___Produit 4_____ 0 ______700,00_____0
L'interet de la moulinette c'est :
1- On ne touche pas aux libelles de PRODUITS que j'ai modifié 1 par 1.
(Suppression abréviations, libelles plus clairs)
2- Chaque article de "PRODUIT" à un type. Si je balancais la table "FOURNISSEUR" dans ma gestion commerciale, je devrais ré affecter un type à chacun de mes 3800 produits ! ! !
Je demande l'impossible non ?
A +
PRODUITS
CODE__LIBELLE____STOCK_____ HT_________ TYPE
__1___Produit 1_____ 1______ 100,00_____Carte mère
__2___Produit 2_____ 1______ 100,00_____Processeur
__3___Produit 3_____ 1 ______100,00_____Mémoire
FOURNISSEUR
CODE____LIBELLE________ HT
__1___ Pdt 1___________200,00 (hausse)
__3___ Produitsxxx 3____ 50,00 (article 2 disparu)(Baisse pour le 3)
__4___Produit 4________ 700,00 (nouvel article)
RESULTAT ATTENDU =>
PRODUITS
CODE__LIBELLE____STOCK_____ HT_________ TYPE
__1___Produit 1_____ 1______ 200,00_____Carte mère
__3___Produit 3_____ 1_______ 50,00_____Processeur
__4___Produit 4_____ 0 ______700,00_____0
L'interet de la moulinette c'est :
1- On ne touche pas aux libelles de PRODUITS que j'ai modifié 1 par 1.
(Suppression abréviations, libelles plus clairs)
2- Chaque article de "PRODUIT" à un type. Si je balancais la table "FOURNISSEUR" dans ma gestion commerciale, je devrais ré affecter un type à chacun de mes 3800 produits ! ! !
Je demande l'impossible non ?
A +
blux
Messages postés
26019
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
2 mai 2024
3 289
9 oct. 2006 à 17:33
9 oct. 2006 à 17:33
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)...
Je demande l'impossible non ?
Non, c'est facile à faire ,et si en SQL classique ça marche pas, on fera du VBA...
Je demande l'impossible non ?
Non, c'est facile à faire ,et si en SQL classique ça marche pas, on fera du VBA...
microsoluces
Messages postés
35
Date d'inscription
samedi 23 septembre 2006
Statut
Membre
Dernière intervention
7 juillet 2014
4
9 oct. 2006 à 17:40
9 oct. 2006 à 17:40
J'ai recopié ta requete dans access. Il me dit =
"Le champ spécifié 'CODE' peut designer plusieurs tables listées dans la clause FROM de votre instruction SQL"
Késako ?
Au fait :
Je n'ai crée aucun lien entre mes tables. C'est bon ?
"Le champ spécifié 'CODE' peut designer plusieurs tables listées dans la clause FROM de votre instruction SQL"
Késako ?
Au fait :
Je n'ai crée aucun lien entre mes tables. C'est bon ?
blux
Messages postés
26019
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
2 mai 2024
3 289
9 oct. 2006 à 17:53
9 oct. 2006 à 17:53
Je n'ai pas mis de FROM dans ma requête...
Sinon tu modifies :
UPDATE PRODUITS, FOURNISSEURS SET HT = HT.FOURNISSEURS WHERE STOCK = 0 AND CODE = CODE.FOURNISSEURS ;
Sinon tu modifies :
UPDATE PRODUITS, FOURNISSEURS SET HT.PRODUITS = HT.FOURNISSEURS WHERE STOCK.PRODUITS = 0 AND CODE.PRODUITS = CODE.FOURNISSEURS ;
microsoluces
Messages postés
35
Date d'inscription
samedi 23 septembre 2006
Statut
Membre
Dernière intervention
7 juillet 2014
4
9 oct. 2006 à 18:21
9 oct. 2006 à 18:21
Je n ai pas mis FROM, c est ACCESS qui corrige seul la syntaxe à la manière de FRONTPAGE qui corrigeait mes pages html ! ! !
Quand je rentre ton dernier SQL j ai à l'execution de la requete une box qui s ouvre et me demande :
"Entrez la valeur du paramètre"
"HT.FOURNISSEUR"
Je rentre 1 par exemple, une autre fenetre s ouvre
"Entrez la valeur du paramètre"
"HT.PRODUIT"
Idem stock, idem code et tout cela fini par
"L'opération doit utiliser une requete qui peut etre mise à jour"
JE COMMENCE A DOUTER QU ON PUISE LE FAIRE AVEC ACCESS pourtant cela ne semble pas tres compliqué au premier abord !
Quand je rentre ton dernier SQL j ai à l'execution de la requete une box qui s ouvre et me demande :
"Entrez la valeur du paramètre"
"HT.FOURNISSEUR"
Je rentre 1 par exemple, une autre fenetre s ouvre
"Entrez la valeur du paramètre"
"HT.PRODUIT"
Idem stock, idem code et tout cela fini par
"L'opération doit utiliser une requete qui peut etre mise à jour"
JE COMMENCE A DOUTER QU ON PUISE LE FAIRE AVEC ACCESS pourtant cela ne semble pas tres compliqué au premier abord !
blux
Messages postés
26019
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
2 mai 2024
3 289
10 oct. 2006 à 09:16
10 oct. 2006 à 09:16
JE COMMENCE A DOUTER QU ON PUISE LE FAIRE AVEC ACCESS pourtant cela ne semble pas tres compliqué au premier abord !
On peut le faire, je l'ai testé chez moi...
Comment saisis-tu ta requête ? (assistant, mode sql...). Je pense que le problème vient de là...
Sinon, tu peux m'envoyer ta base, je regarderai...
On peut le faire, je l'ai testé chez moi...
Comment saisis-tu ta requête ? (assistant, mode sql...). Je pense que le problème vient de là...
Sinon, tu peux m'envoyer ta base, je regarderai...
microsoluces
Messages postés
35
Date d'inscription
samedi 23 septembre 2006
Statut
Membre
Dernière intervention
7 juillet 2014
4
10 oct. 2006 à 16:27
10 oct. 2006 à 16:27
Salut,
Effectivement je m y prend peut etre mal. Je crée une requete en mode création, je ferme la fenetre qui s ouvre "Afficher la table" puis je clic sur le menu affichage et choisi l option SQL...
Ensuite je fais un copier/coller de ton code puis enregistrer...
Comment puis-je t'envoyer ma base ?
Merci d'avance.
Effectivement je m y prend peut etre mal. Je crée une requete en mode création, je ferme la fenetre qui s ouvre "Afficher la table" puis je clic sur le menu affichage et choisi l option SQL...
Ensuite je fais un copier/coller de ton code puis enregistrer...
Comment puis-je t'envoyer ma base ?
Merci d'avance.
blux
Messages postés
26019
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
2 mai 2024
3 289
10 oct. 2006 à 16:37
10 oct. 2006 à 16:37
Tu la zippes, tu l'envoies à denis point mail point list chez free point fr...
Et c'est tout...
Et c'est tout...
microsoluces
Messages postés
35
Date d'inscription
samedi 23 septembre 2006
Statut
Membre
Dernière intervention
7 juillet 2014
4
10 oct. 2006 à 17:35
10 oct. 2006 à 17:35
Un tel dévouement : j peux rien ajouter. Le must de l'assistance !
Je viens de te l'envoyer.
Bah on dit merci j'crois !
Merci
Je viens de te l'envoyer.
Bah on dit merci j'crois !
Merci
microsoluces
Messages postés
35
Date d'inscription
samedi 23 septembre 2006
Statut
Membre
Dernière intervention
7 juillet 2014
4
11 oct. 2006 à 10:35
11 oct. 2006 à 10:35
Bonjour,
Nous approchons du but Blux...
J'avais fait plein de fautes d'inattention (celles du débutant trop pressé) dans la syntaxe de mon SQL... Ca marche beaucoup mieux effectivement si on respecte le nom des champs.
La requete fonctionne maintenant sans ouvrir de Box pour me demander des valeurs, mais elle ne change aucun élément dans ma table "PRODUIT"
Pour ceux qui nous suivent depuis le début voici comment blux m'a corrigé mon SQL :
UPDATE PRODUIT, FOURNISSEUR SET PRODUIT.HT = FOURNISSEUR.HT
WHERE PRODUIT.STOCK=0 And PRODUIT.CODE=FOURNISSEUR.CODE;
Nous approchons du but Blux...
J'avais fait plein de fautes d'inattention (celles du débutant trop pressé) dans la syntaxe de mon SQL... Ca marche beaucoup mieux effectivement si on respecte le nom des champs.
La requete fonctionne maintenant sans ouvrir de Box pour me demander des valeurs, mais elle ne change aucun élément dans ma table "PRODUIT"
Pour ceux qui nous suivent depuis le début voici comment blux m'a corrigé mon SQL :
UPDATE PRODUIT, FOURNISSEUR SET PRODUIT.HT = FOURNISSEUR.HT
WHERE PRODUIT.STOCK=0 And PRODUIT.CODE=FOURNISSEUR.CODE;
blux
Messages postés
26019
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
2 mai 2024
3 289
11 oct. 2006 à 12:38
11 oct. 2006 à 12:38
Sur la base que tu m'as envoyée, j'arrive à mettre à jour si le stock est à 0...
Donc je ne comprends pas ce qui peut se passer...
Te dit-il combien de ligne il va mettre à jour ou alors te contentes-tu de cliquer sur la requête, provoquant un simple affichage...
Donc je ne comprends pas ce qui peut se passer...
Te dit-il combien de ligne il va mettre à jour ou alors te contentes-tu de cliquer sur la requête, provoquant un simple affichage...
microsoluces
Messages postés
35
Date d'inscription
samedi 23 septembre 2006
Statut
Membre
Dernière intervention
7 juillet 2014
4
11 oct. 2006 à 13:38
11 oct. 2006 à 13:38
Honte à moi... Ca marche bien sur ! ! !
Il faut que les quantités soient à 0.
Je te remercie mille fois pour le boulot ET surtout de ta patience avec un bleu comme moi.... ;-)
Tu n'imagines même pas le temps que va me faire gagner cette chtite moulinette !
A + (dans un prochain post)
Salut.
Il faut que les quantités soient à 0.
Je te remercie mille fois pour le boulot ET surtout de ta patience avec un bleu comme moi.... ;-)
Tu n'imagines même pas le temps que va me faire gagner cette chtite moulinette !
A + (dans un prochain post)
Salut.