Bonjour,
J'ai une base de données Access.
Dans cette base, il y a 2 tables (c'est un exemple , dans la réalité, ma base possède 17 tables ) : la première "Publications" (avec 3 champs : Numéro Auto, NumPublic et Titre); la seconde "Objets" (avec 4 colonnes : Numéro Auto, NumPublic, NumObjet et Nom).
Dans la table "Publications" se trouvent mes différentes publications.
Dans la table Objets se trouvent TOUS les éléments qui composent MES publications (J'utilise cette table ailleurs dans mon programme).
Dans la table "Objets", dans le champs NumPublic, j'y introduis le numéro de la publication à laquelle il est rattaché.
Mais, lorsque je crée un objet, il n'est pas obligatoirement rattaché à une publication (par exemple, je viens d'avoir une idée géniale ... comme d'habitude et je ne veux pas la perdre, alors je l'enregistre dans ma table "Objets". Si cette idée donne lieu à la création d'une publication, alors je modifierai le lien après avoir créé la publication).
Mon problème :
Comment permettre l'ajout du NumPublic en utilisant VBA ?
Je suis arrivé à ce stade :
- J'ai créé un formulaire qui m'affiche le contenu de mes deux tables dans des listbox. Pour la liste des publications, je permets un choix unique alors que pour la liste des objets, je permets un choix multiple. Ces listes sont créées par leur propre requête.
- Je sélectionne une publication dans la liste "Publications" ce qui me permet de sélectionner un ou des objets, dans la liste "Objets" en vue de les relier à la publication choisie.
- Dans un tableau, en mémoire, avec VBA, je récupère toutes les valeurs contenues dans les lignes sélectionnées dans la liste "Objets" ;
Ou bien, je récupère le numéro d'index des choix effectués dans les listes. (S'il n'y a pas de tri lors de l'exécution des requêtes, le numéro d'index de la liste correspond au numéro de ligne dans la table).
- Et là, je coince
Je n'arrive pas à aller ajouter le numéro de la publication choisie (ou remplacer le numéro existant) dans le champs "NumPublic" de la table "Objets" en face des objets qui ont été choisis précédemment.
En d'autres termes, si j'ai sélectionné la publication Pub001, par exemple, et j'ai coché les objets des lignes 1, 7 et 9 de la liste "Objets" (et donc de la table Objets), je veux aller inscrire, dans le champs "NumPublic" de la table "Objets", dans les lignes 1, 7 et 9, la valeur "Pub001".
Je ne parviens pas à atteindre les cellules voulues dans la table "Objets" (Malgré que je ferme le formulaire après avoir collecté les données dans une variable publique et après avoir ouvert la table "Objets").
Je ne parviens pas à écrire dans la liste "Objets" de mon formulaire.
Et je veux réaliser cela via VBA car les noms de mes publications sont souvent plus compliqués que ceux de mon exemple et que cela me permet d'éviter des erreurs de transcription.
Vous pouvez m'aider ?
-----