Page 1 sur 1

[API] Accès aux contrôles d'un formulaire sous Base

Posté : 14 mars 2009 18:56
par Bidouille
Il faut partir de ThisDatabaseDocument et lancer une connexion pour obtenir les formulaires / rapports

Code : Tout sélectionner

   oDB = thisDatabaseDocument
   oCnx = oDB.currentcontroller
   If Not oCnx.isConnected() Then oCnx.Connect
   oForms = oDB.FormDocuments
   oForm = oForms.getByName("Formulaire") 'ici le nom du document formulaire 
   oPage = oForm.Component.DrawPage.Forms(0) 'ici le contrôle formulaire dans le document
   oCtrl = oPage.getByName("Contrôle") 'ici le nom du contrôle

Interroger le bon contrôle

Posté : 16 déc. 2016 09:40
par Bidouille
Une erreur courante est de passer n'importe quoi dans la méthode getByName.
Cela vient souvent d'un copier/coller de code que vous pensez correct et qui bien sûr, ne fonctionnera pas avec votre formulaire.

Pour vous assurer de chaque nom à donner vous devez lancer votre formulaire en mode Conception.
capture1.jpg
capture1.jpg (31.92 Kio) Vu 6278 fois

Puis vous activez le navigateur de formulaire pour afficher le nom des différents contrôles.
capture2.jpg
capture2.jpg (13.33 Kio) Vu 6278 fois

Ce sont ces noms tels qu'exposés dans la fenêtre que vous devez utiliser :
capture3.jpg
capture3.jpg (25.23 Kio) Vu 6278 fois


Pour des raisons pratiques et de lisibilité de votre code, je vous conseille de ne pas utiliser d'espace ou de caractère spéciaux.

Chaque contrôle est spécifique

Posté : 12 juil. 2017 17:33
par Bidouille
Ca peut paraître bête à écrire mais un contrôle "Zone de texte" n'aura pas les mêmes propriétés qu'une "Zone de liste".
Je vous invite à utiliser XRay pour explorer les propriétés et méthodes de vos contrôles afin de ne pas avoir d'erreur.