|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Enseignant Inscription : mars 2011 Messages : 10 ![]() |
Bonjour,
Je débute avec access, j'ai réussi à me débrouiller pour obtenir une base assez complète et efficace. Bien sûr je souhaite avoir des automatismes pratiques. Il s'agit d'une bdd de stockage de produits biologiques. Je souhaite, lorsque je choisis "Dna" dans un champs à liste déroulante, qu'un autre champs : "compte Dna" prenne la valeur 4. En fait, le choix Dna engendre, en pratique, l'utilisation de 4 tubes. Nombre que j'utiliserai pour soustraire au nombre total de tubes disponibles en stock. Ceci me permettra de gérer facilement les produits à commander. J'espère que vous m'avez bien compris, merci pour votre aide |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Jacques PetiotIndépendant développeur et formateur Inscription : octobre 2007 Messages : 891 ![]() |
hello
il suffit de renseigner la colonne nombre_à_sortir qui doit être une caractéristique propre au produit et de l'utiliser au bon moment
__________________
-------------------Simplifi----------comme si tout était simple-------- |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Enseignant Inscription : mars 2011 Messages : 10 ![]() |
Merci .....
mais je n'ai pas compris grand chose .... ! |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Enseignant Inscription : mars 2011 Messages : 10 ![]() |
J'ai ajouté dans ma table un champ numérique nommé "Compte Dna"
Dans mon formulaire correspondand, j'indique comme source de données de ce champ : =Si([Nature]="Dna";4;0) où Nature est le champ dans lequel j'entre Dna ou autre type de bio... Par la suite je souhaite additionner ces "4" dans une requête. Mais mon champ "Compte Dna" m'affiche cette erreur : #Nom ? Je suis pourtant dans un champ numérique ... !? Merci |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Jacques PetiotIndépendant développeur et formateur Inscription : octobre 2007 Messages : 891 ![]() |
Hello
il est possible que je n'ai pas bien saisi le fonctionnement de ta base. Dna, c'est quoi? j'avais compris que pour chaque produit, on doit vendre plusieurs tubes en même temps, 4 pour le produit Dna, 2 pour un autre, etc. j'en ai donc conclu que ce nombre est une caractéristique du produit, donc à stocker dans une colonne adéquate Perso, je n'utilise pas les formules telle que celle que tu as cité, en effet, le nombre de si devient vite très important. simplement, quand je renseigne ma table produit, je tape 4 dans la colonne ensuite au moment de vendre le produit, dès qu'on a sélectionné Dna, (ou autre) il faut aller chercher 4 pour le mettre à quantité vendue (à moins que quatité ne soit le multiplicateur de 4, je ne sais pas) dans un cas, on peut utiliser plusieurs méthodes comme dlookup ou comme column(x) de la liste déroulante..... dans l'autre cas, c'est la requête qui préppare l'édition de la commande qui va assembler les données et faire les opérations
__________________
-------------------Simplifi----------comme si tout était simple-------- |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Enseignant Inscription : mars 2011 Messages : 10 ![]() |
En fait, il s'agit d'une bdd de stockage de prélèvement de différentes natures.
Si la nature est Dna, je sais que je vais utiliser 4 tubes Rouges. ainsi de suite pour d'autres natures. Dans ce cas, je voudrai qu'automatiquement le Nombre "4 tubes" soit soustrait à la qté que j'ai en stock : 1000 tubes. Puis lorsqu'il en reste 50 par expl, un message s'affiche pour refaire une commande (qui sera un état dans ma base) Je pourrai ainsi tout suivre : Tant de prélèvement de nature Dna par semaine ont nécessités l'utilisation de tant de tubes ! Voilà pour 1 produit utilisé. C'est dans l'idéal mais je crois que ça risque de dépasser mes compétence ! |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Jacques PetiotIndépendant développeur et formateur Inscription : octobre 2007 Messages : 891 ![]() |
il est difficile de comprendre l'état actuel de ta base, mets la en pièce jointe
__________________
-------------------Simplifi----------comme si tout était simple-------- |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Enseignant Inscription : mars 2011 Messages : 10 ![]() |
Bonjour,
Ok, la voici en pièce jointe. A partir du menu, on va dans "ajouter un nouveau prélèvement, un nouveau patient", Dans ce formulaire on sélectionne la nature du prélèvement. Dans l'idéal, il faudrait compter chaque "nature" dans une table pour pouvoir l'utiliser à des fin statistique et aussi de décompte de matériel nécessairement utilisé pour tel nature de prélèvement. Comme décrit plus haut : 150 Dna reçu = 150x4 tubes utilisés soit 1000-(150x4) tubes encore disponibles ..... Merci pour votre aide |
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Jacques PetiotIndépendant développeur et formateur Inscription : octobre 2007 Messages : 891 ![]() |
Hello
effectivement, j'ai mieux compris tu as donc besoin d'une table qui précise tous les besoins de colonnes de données techniques: nb de tubes par lot, autre texte ou nombre attaché à la caractéristique 'Nature', c'est à dire tous ces concepts que le spécialiste entrevoie immédiatement a seul mot de DNA à partir de la création de cette table, on supprime le test que tu entrevoyais dans ton premier post Au choix, sous un bouton ou à l'évènement sortie d'une zone de texte (ou tout autre évènement de ton choix) tu peux écrire dans la table des variations de stock: quoi, combien, quand (avec test quand > limite) ce qui te permettra de faire des sommes sur quoi, combien pour connaître l'état du stock PS: les boutons de commande sont plus performants que les étiquettes pour faire ...... des boutons de commande je te conseille aussi de nommer correctement tes objets: ajout_prélèv, bien que raccourci est quand même plus parlant que Étiquette13 enfin, tant qu'il en est encore temps, chasse vite tous les caractères spéciaux de tes noms de tables et de champs par ex remplace: Dépôt / Emprunt par Dépôt_Emprunt Si non interprétable : raison par Si_non_interprétable_raison mais tu peux raccourcir, c'estleslibellés d'étiquettes qui font l'ergonomie, pas le noms de colonnes de tables enfin, essaye le VB, ça peut être simple et lisible
__________________
-------------------Simplifi----------comme si tout était simple-------- |
|
|
00
|
|
|
#10 | |
|
Invité de passage
![]() Enseignant Inscription : mars 2011 Messages : 10 ![]() |
Citation:
Tu pourrais me faire un petit exemple ...? Merci |
|
|
|
00
|
|
|
#11 | ||
|
Invité de passage
![]() Enseignant Inscription : mars 2011 Messages : 10 ![]() |
J'ai fais un état à partir de requêtes qui vont me chercher les valeurs Dna et autres, ça fonctionne bien. Mon état fait un tri selon les expressions [Nature du prélêvement], c'est pas mal ...
J'ai introduit en source cette expression : Code :
=VraiFaux([Nature du prélêvement]="Plasma";Compte(*)*8;"") 32 Tubes utilisés Comment entrer "Tubes utilisés dans cette expression ? J'ai testé : Code :
|
||
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() Jacques PetiotIndépendant développeur et formateur Inscription : octobre 2007 Messages : 891 ![]() |
Hello
la bonne formule est Code :
=VraiFaux([Nature du prélêvement]="Plasma";Compte(*)*8 & "Tubes Utilisés";"") Bon qu'est ce que tu ne sais pas faire? ajouer une table et la mettre en relation avec les autres? ou écrire du VB pour récupérer les valeurs et les écrire dans une table de stocks? l'écriture dans la table de stock peut aussi se faire avec une requête d'ajout
__________________
-------------------Simplifi----------comme si tout était simple-------- |
|
|
00
|
|
|
#13 | |
|
Membre Expert
![]() Pierre ANTOINEInscription : février 2008 Messages : 650 ![]() |
Bonjour
Juste une précision aux propos de Simplifi du message n° 9. Citation:
Donc remplacer Dépôt / Emprunt par Depot_Emprunt Bonne fin de journée Pierre |
|
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Enseignant Inscription : mars 2011 Messages : 10 ![]() |
Ok,
merci pour les précisions ! Je dois ajouter une table finalement donc ça perturbe tout mon travaille sur les requêtes et états ... Pour le comptage, je m'en étais pas mal sorti (avec mon niveau) en créant une requête de comptage pour chaque nature de prélèvement et un état qui m'affichait tout ça en effectuant aussi d'autres opérations à partir de ces résultats. Maintenant, je dois recommencer sur cette lancée avec ma nouvelle table ... |
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Enseignant Inscription : mars 2011 Messages : 10 ![]() |
Bonjour,
Je refais ma base et voila que mon formulaire principal, nommé "stockage" liant plusieurs table ne me permets pas d'entrer de nouveaux enregistrements ...!!?? Pouvez-vous m'aider ? Je suis vraiment coincé ... Merci d'avance |
|
|
00
|
|
|
#16 |
|
Membre Expert
![]() Jacques PetiotIndépendant développeur et formateur Inscription : octobre 2007 Messages : 891 ![]() |
Hello
effectivement, la requête source du formulaire ne permet pas d'ajouter des lignes Au passage, je te conseille de l'enregistrer comme requête le problème se situe autour de la présence simultanée des tables stockage, prélêvements et mouvements un lien de 1 à plusieurs entre prélêvements et mouvements un lien de 1 à plusieurs entre stockage et prélêvements mais sans rapport l'un avec l'autre tu dois donc ré-étudier l'obligation de mettre tout ça dans la même requête il est possible de conserver stockage et prélêvements dans la source et de mettre tous les champs informatifs sur le prélèvement dans un sous- formulaire Autre conseil, tu n'as pas besoin de deux champs pour la date et pour l'heure!! un seul champ suffit. tu peux néanmoins garder deux zones avc chacune son format: date pour l'une, heure pour l'autre c'est juste comme si tu voulais sauvegarder la partie entière d'un coté et lapartie décimale de l'autre
__________________
-------------------Simplifi----------comme si tout était simple-------- |
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Enseignant Inscription : mars 2011 Messages : 10 ![]() |
En effet les relations sont comme ça car un prélèvement peut avoir plusieurs mouvements : 1 dépôt, et plusieurs fois emprunté. de même, un prélèvement peut avoir plusieurs numéros de stockage car divisé en plusieurs tubes... D'où les relations d'1 à plusieurs.
Si je le fais en requête, quelle type de requête faut-il ? celle-ci peut ajouter des entrée dans plusieurs tables ? pourquoi est-ce mieux qu'un formulaire ? Merci |
|
|
00
|
|
|
#18 |
|
Membre Expert
![]() Jacques PetiotIndépendant développeur et formateur Inscription : octobre 2007 Messages : 891 ![]() |
Hello
tu n'as pas bien compris ma réponse: j'ai juste dit que la requête sous-jacente de ton formulaire n'ayant pas de ligne 'nouvel enregisrement', il était normal que tu ne puisse pas entrer de nouveaux enregistrements la suite de mon message est l'analyse du pourquoi il ne s'agit pas d'ajouter les enregistrements de stockage par requête mais seulement de modifier le formulaire pour que sa requête sous-jacente ait un ligne 'nouvel enregistrement' NB: ce problème n'est pas lié à Access maissserait le même avec n'importe quel SGBD
__________________
-------------------Simplifi----------comme si tout était simple-------- |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com