Bonjour à tous, professionnels et/ou passionnés,
Je suis nouveau inscrit sur le forum. Tout d'abord merci beaucoup au forum et aux contributeurs pour tous ce que vous apportez.
Quelques données concernant mon projet :
Objet: Base de donnée Access pour une plateforme de travail à destination d'un laboratoire d'analyse et recherche en génétique.
Version utilisée: Acces 2013 - Access 2016.
Contexte de la problématique :
Comme précisé ci-dessus nous créons progressivement une plateforme de travail qui offre de nombreuses fonctionnalités de travail, notamment impression de protocole technique, archivage de données etc …
Parmi ces fonctionnalités nous avons une DNAthèque (bibliothèque d'ADN).
Représenter par une table, un formulaire de recherche à multicritères (inspiré d'un tutoriel très bien fait du forum), un second formulaire de saisie/visualisation lié au formulaire de recherche, qui permet de visualiser un certain nombre de données pour tel ou tel ADN enregistré. Différentes macros incorporées et code VBA sont intégré pour facilité la saisie et rentre l'utilisation plus intuitive (bouton verouillage/déverouillage …)
Informations utiles concernant le problème :
- La table possède une clé primaire qui correspond simplement au numéro d'enregistrement saisie de manière hiérarchique (nous en sommes à 230 enregistrements)
- Les ADN figurants dans la DNAthèque sont congelés à -80°C dans des compartiments/Boites de 80 positions.
- Les ADN vont toujours par pairs 1 et 2 puis 3 et 4 .. côte à cote dans la boite jusqu'à 80 , ainsi une nouvelle boite s'ouvre (boite_1 …, boite_2 ….,boite_3....).
- Dans le formulaire il existe un bouton "ajouter", pour les nouveaux enregistrements.
- Au clic certaines données apparaissent par défaut, il existe différents masques de saisie ou valeurs par défaut pour guider l'utilisateur dans la saisie.
- Pour les champs concernant la DNAthèque rien n'est noté ou automatiser il faut que l'utilisateur trouve le dernier enregistrement pour attribuer les positions qui suivent celui ci ….
Ce que nous voulons (et que nous n'arrivons pas à réaliser) :
Nous cherchons à faire dans le formulaire de saisie/visualisation un bouton qui incrémente au clique une position ( Numéro de boite, Pos1 et Pos2) pour les ADN en fonction du dernier enregistrement précédemment saisie. Nous avons essayé différentes choses mais je ne trouve pas la solution, SQL ? macro incorporé ? nous pensons que le VBA est le plus approprié pour une tel requête mais étant débutant, je ne trouve pas la solution.
Pour effectuer une telle action je penses qu'il faut trois champs distincts dans la table . Nommés respectivement Boite ; Pos1 ; Pos2.
- La boite toutes les 80 positions doit prendre +1,
- Les Pos1 et Pos2 doivent fonctionner ensembles, par pair : si Pos1 = 1 alors Pos2 = 2 , autre exemple si Pos 1 =79 alors Pos2 =80
- Enfin si Pos 2=80 Alors la boite est pleine il faut qu'elle prenne +1 pour passer à une nouvelle boite.
Je ne sais pas si j'ai été très clair dans mes explications, mais je remercie par avance tous les gens qui se pencherons sur notre problème et essayerons d'y apporter une solution.
Subsidiairement, si quelqu'un est en mesure d'apporter une solution deux questions sous-jacentes se posent :
- Que se passe t'il si on supprime un enregistrement existant ?
- Est il possible de modifier le contenu d'un des champs incrémentés sans qu'il y'ai une incidence sur les nouveaux enregistrements et sur l'incrémentation automatique ?(dans l'hypothèse ou nous aurions des cas particuliers pour certains ADNs qui ne fonctionneraient pas par PAIR nous aimerions rentrer la mention "vide" en Pos1 ou Pos2 selon les cas).
Je me doute fort que notre demande est complexe, merci à tous, montrez nous votre talent .
Cordialement
Partager