Problème de drawpage

Bonjour, je n’arrive pas à accéder aux champs du formulaire qui vient de s’ouvrir.
Ma base de donnée ouvre d’abord une boite de dialogue dans laquelle il faut entrer son identifiant et son mot de passe (l’identifiant 0 à pour mot de passe 1234 par exemple). Si il y a correspondance le menu s’ouvre et doit indiquer l’identifiant et le mot de passe de la personne qui s’est connectée. Cette dernière étape ne fonctionne pas et je bloque malgré mes recherches. Je ne comprends pas pourquoi je n’arrive pas à accéder à la drawpage du formulaire.

Message erreur : Propriété ou méthode non trouvée : DrawPage.

Si vous trouviez la solution je vous en remercie par avance.Base de donnée 1.odb

Bonjour @mdj14

Plusieurs problèmes dans ta procédure personnalisation :

  1. la référence à ActiveConnection n’est pas nécessaire
  2. tu ouvres le formulaire F_menu sans affecter le “résultat” à une variable (du coup tu ne peux manipuler l’objet pour accéder à sa propriété DrawPage)
  3. CreateUnoService("com.sun.star.drawing") est inutile et de toute manière non affecté à une variable donc non utilisable
  4. tu essaies d’accéder à ThisComponent.DrawPage mais à ce moment ThisComponent est la base et non le formulaire (cf. point 2)
  5. ton formulaire n’est associé à aucune table (onglet Données des propriétés) et donc idem pour les contrôles Zoneidentifiant et Zonematricule.
  • Cela pourrait être un choix fonctionnel mais alors il faudrait que tu “fasses quelque chose” pour le matricule et le mot de passe s’affichent. Cela ne peut se faire “tout seul”.
  • L’alternative, qui a ma préférence serait de fonder le formulaire sur la table T_identifiant, d’associer les contrôles aux champs de la table, et d’ouvrir le formulaire filtré sur l’identifiant saisi au lancement.

Voir Base de donnée 1.odb

[Ajout]

Je me permets également de rappeler qu’une telle protection de l’accès à une base restera toute relative puisqu’il suffira de ne pas autoriser l’exécution des macros pour passer outre. Si cela t’intéresse j’avais creusé un peu la question dans ce tutoriel (ancien mais qui sur le principe devrait être toujours d’actualité).

Cordialement

Merci beaucoup, et encore plus pour les explication, c’est très clair et ça fonctionne :). Je vais regarder le tutoriel, la question de la protection m’intéresse beaucoup.