Bonjour,
Je mets en place une base pour suivre les mouvements de produit
J’ai pour l’heure deux tables dans ma base, une table LOT (pour) les produits et une table TRANSFERT pour les mouvements
Je pars du principe qu’un produit(LOT) peut être transféré plusieurs fois et qu’un transfert concerne 1 et 1 seul produit (LOT)
Mon problème es que je veux qu’on ne puisse saisir un nombre de sacs à transférer supérieur au nombre de sacs de fabrication SI NOUS SOMMES AU PREMIER TRANSFERT
Par contre si nous sommes à un transfert autre que le Premier (deuxième,troisième etc…) on ne puisse transférer un nombre de sacs supérieur au rest des sacs à tranferér
Pour ce faire, j’ai crée un champ restsactrans qui est chargé de stocker le nombre de sacs qui reste à transférer
Donc pour espérer arriver à mes fins, j’ai betonné qui marche partiellement
Pour savoir si nous sommes au premier transfert
Je fais 1 recordset dans la table transfert, si nous sommes à la fin du jeu d’enregistrements( le produit n’existe pas dans la table TRANSFERT) alors je fais les traitements et je créé un nouvel enregistrement
Mais si nous sommes à la fin d’enregistrement(le produit se trouve déjà dans la table transfert) on calcule le rest de sac à transférer et on crée un nouvel enregistrement si le nombre saisi est inférieur ou égale au reste de sac à transférer.
Actuellement avec mon code, lorsque c’est un premier transfert (mouvement) le code fonctionne correctement
Par contre quand c’est un second transfert, il me génère un message d’erreur « aucun enregistrement en cours »
lorsque je selectionne certains produit exemple 5005
En selectionnant l’expression diff=rssactrans !rsac –me.txtsactrans
Ci-joint ma base avec le code
Merci de bien m’aider à solutionner ce bug
Partager