1 membre
Connectés : ( personne )
- La Charte du Forum - Forum - Problèmes Access des débutants
Sujet n° 445 |
afficher la valeur conditionnelle d'un champ |
le 21/12/2010 : 15:58 par Gilles
visiteur |
Bonjour,Nous avons créer un petite application de gestion de stock ,le probléme rencontré se trouve au niveau de la saisie des qtées.Car l'orsque l'article est en vrac pas de probléme la qté est de 1,dans les autres cas , dans le code article ,figure la qté par carton qui peut être différente pour chaque carton.le formulaire est composé comme suit : code article , désignation , qtédans excel ceci fonctionne trés bien : SI(A1=8000;20;SI(A1=5000;5;SI(A1=4000;10;1)))comment l'adapter dans access et ou l'écrirecordialement Gilles |
|
|
Réponse n° 1 -------- le 21/12/2010 : 16:58 par 3Stone
Administrateur
|
Bonjour, Citation :dans excel ceci fonctionne trés bien : SI(A1=8000;20;SI(A1=5000;5;SI(A1=4000;10;1)))
Il ne faut surtout pas avoir une approche "Excel" dans Access! Excel n'est pas une base de données et ne possède pas de table pour l'organisations et stockage des données.
Citation :Car l'orsque l'article est en vrac pas de probléme la qté est de 1,dans les autres cas , dans le code article ,figure la qté par carton qui peut être différente pour chaque carton.
C'est là qu'intervient l'analyse préable à la contruction d'une base de données!
L'organisation dépend aussi de la manière ces articles sont retirés du stock. S'il sont toujours retirés à la pièce (par opposition à "par carton"), le plus simple est alors de gérer directement des unités. Citation :SI(A1=8000;20;SI(A1=5000;5;SI(A1=4000;10;1)))
Ce qui ne veut strictement rien dire dans une gestion de stock Qu'est-ce-que A1, 8000, 20, etc. ??
Pour construire une base de données, il y a quelques règles qu'il est nécessaire de respecter, sans quoi rien ne peut fonctionner. A lire absolument.
Lorsque les tables auront été correctement réalisées, tu auras probablement:
- une table T_Articles avec CodeArticle, description, etc.
- une table T_Conditionnement avec CodeConditionnement, CodeArticle, NombreUnite
- ainsi que les tables fournisseurs, etc.
En placant les différents conditionnements dans une table séparée, cela permet de ne faire apparaitre les articles qu'une seule fois dans la table T_Articles. Mais cela permet surtout d'ajouter autant de conditionnements que souhaités pour chaque article.
Dans le formulaire de saisie, une petite liste déroulante permettra alors de faire le choix selon le "carton" à saisir. Tout cela sans le moindre test "à la Excel..."
Cordialement, Pierre(3stone) |
|
|
Réponse n° 2 -------- le 21/12/2010 : 17:35 par Gilles
visiteur |
Bonsoir,
la formule excel était juste pour l'exemple de ce qu'on voudrais faire le A1 serait remplacé par un champ à créer du genre Feet .Sur l'étiquette du carton il y a un code barre qui indique cette longueur,on voudrait par la suite le scanner et le convertir en unité par carton soit :8000=20 , 5000=5 , 4000=10 , on peut aussi le faire manuellement,avec un scanner ça limite les erreurs de saisie au niveau des qtées
Cordialement
Gilles |
|
|
Réponse n° 3 -------- le 21/12/2010 : 18:25 par 3Stone
Administrateur
|
Bonjour,
Le fait de lire avec un scanner code-barres ne change rien à l'organisation des données, mais n'intervient qu'à l'organisation et présentation du formulaire de saisies. D'ailleurs, lors d'une panne du scanner, il faut tout de même pouvoir saisir! Donc, soit on scanne la valeur 5000, soit on sélectionne cette valeur dans la liste, mais dans les deux cas, ce sera 5 qui est sauvé. Citation :Sur l'étiquette du carton il y a un code barre qui indique cette longueur,on voudrait par la suite le scanner
Si une étiquette est destinée spécialement à la "longueur", on est bien dans le cas de saisie séparée. Citation :et le convertir en unité par carton soit :8000=20 , 5000=5 , 4000=10
C'est justement ce qu'il ne faut pas faire par code
Si le conditionnement vient à changer dans le futur, cela demanderai à revoir tout le code de la base. Ces valeurs doivent se retrouver dans une table (que j'avais nommé T_Conditionnement), ce qui permet d'ajouter simplement de futurs conditionnements, quels que soit l'article et leur valeur.
Ainsi, à la lecture du code "8000", il suffit de récupérer la valeur correspondante. Ici, ce sera "20".
Que ferais-tu si tu avais 10.000 articles ayant jusqu'à 10 conditionnements différents ? Je n'oses penser au code nécessaire
L'organisation correcte des données permet de ne jamais plus toucher au code de la base, ni à son organisation, on ne fait que de la saisie est des mises à jour.
Cordialement, Pierre(3stone) |
|
|
sujet actif
sujet clos
Important!
Nouveau message -
Rectifier message
Clôturer sujet
Remonter
|