Bonjour
Je n'ai pas trouvé de mentions de problèmes quant à l'utilisation de LibreOffice avec Win 7, ni sur le site officiel, ni par une recherche en ligne. L'utilisation de "Writer" et du tableur n'en posent pas (de problèmes), et je n'ai rien noté de spécifique sur Base (bien que je connaisse moins, effectivement). J'ai peut-être raté quelque chose.
Quoiqu'il en soit, merci pour vos remarques enthousiastes et constructives.
Quoiqu'il en soit donc, n'ayant pas avancé sur ce problème de simulation d'onglets, j'ai modifié ma structure de formulaire, en travaillant maintenant sur le
formulaire F01Ant. À présent, le clic sur les "étiquettes d'onglet" renvoie simplement vers la section correspondante du formulaire, sans rien masquer ni afficher. J'ai également ajouté une "barre de navigation", sur la droite.
Les trois macros utilisées dans ce formulaire concernent trois boutons : "Traduction" (ouvre le formulaire F0xTrad), et tout en bas du formulaire "Quitter sans enregistrer" (ferme et rouvre le formulaire F00Entree) et "Sauvegarder et Quitter" (idem) et.
CaptureF01Ant.PNG
Dans ce formulaire F01Ant, donc, je désire implémenter les contrôles qui me permettront d'alimenter mes tables en données.
Je butte sur l'implémentation des deux contrôles de
zone combinée intitulés "Éditeur" et "Adresse".
Le formulaire principal (et unique en l'état actuel du document) est basé sur la
table "livres", qui contient une clef secondaire issue de la
table "editeurs". La
table "editeurs" contient les attributs "nom" (nom de l'éditeur) et "adresse" (son adresse).
Résoudre ce problème devrait me permettre de comprendre comment poser le reste des contrôles dont j'ai besoin dans ces formulaires "d'entrée de données".
Comportement attendu :
a) Cas n°1 : l'éditeur est déjà présent dans la liste de la
zone combinée "Éditeur" :
- je sélectionne le nom de l'éditeur dans la liste ;
> la
zone combinée "Adresse" affiche l'adresse correspondante ;
>
à l'enregistrement, la clef ID_ED de l'éditeur s'inscrit dans la
table "livres", sous-jacente au formulaire principal.
b) Cas n°2 : l'éditeur n'est pas présent dans la liste de la
zone combinée "Éditeur" :
- je renseigne le nom de l'éditeur dans la
zone combinée "Éditeur", puis son adresse dans la
zone combinée "Adresse" ;
-
à l'enregistrement, un nouvel enregistrement est créé dans la
table "editeurs", avec les nouvelles données de "nom" et d'"adresse" ;
-
et la nouvelle clef ID_ED correspondante est inscrite dans la
table "livre".
Comportement observé :
- À l'ouverture du formulaire, les deux
zones combinées se présentent comme attendu.
- Je peux sélectionner un éditeur existant,
mais la
zone combinée "Adresse" ne se met pas à jour.
- Si j'entre de nouvelles données dans chacune des deux
zones combinées ,
à l'enregistrement elles s'inscrivent comme attendu dans la
table "editeurs".
-
MAIS dans les deux cas de figure, la clef secondaire (= ID_ED) inscrite dans la
table "livres" est "0", et lorsque je rouvre mon formulaire F01Ant, ou que je navigue entre les enregistrements au sein du formulaire, quel que soit l'enregistrement, la
zone combinée "Éditeur" affiche "0" au lieu du nom de l'éditeur, et la
zone "Adresse" affiche la première adresse entrée (entrée correspondant à l'ID_ED "0" d'ailleurs ?).
Je précise :
- que j'ai tenté de mettre les deux
zones combinées dans un sous-formulaire lié à la
table "editeurs" ou une requête SQL mais que soit ça ne marche pas du tout (rien dans les listes) soit ça n'inscrit aucune donnée dans "livres" ;
- que la
zone combiné "Adresse" n'est volontairement PAS déroulante : si le comportement attendu fonctionne, soit elle sera vide car l'éditeur est nouveau (ou n'a pas d'adresse) et on pourra la renseigner, soit l'éditeur sera sélectionné dans la liste "Éditeur", et elle sera renseignée automatiquement.
Je joins la base "Test03" ci après,
le formulaire en construction est le F01Ant.
BibliSF_Test03.odb
Un coup de main quelqu'un ? Merci d'avance.
EDIT : Corrections : utilisation de vocabulaire plus spécifique "base de donnée", syntaxe, mise en page.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.