[Résolu][Base] Ouverture de formulaire depuis un autre

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur: Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !

[Résolu][Base] Ouverture de formulaire depuis un autre

Messagepar guglieri » 10 Nov 2019 09:33


La modération a écrit:Aucune question dans la section Suprême de code.
Sujet divisé du fil [Base] Ouverture et fermeture de formulaire


Bonjour tous,
Je suis un peu désespéré!
j'essaye d'ouvrir un formulaire a l'aide d'un bouton depuis un autre formulaire.

Au bouton, j'ai affecté la macro suivante:
Code : Tout sélectionner   AgrandirRéduire
Sub onClickOuvrirFORM_Organisation()
ThisDatabaseDocument.formDocuments.getByName( "FORM_Organisation" ).open
end sub

Et j’obtiens un message "Erreur d'exécution BASIC.
Variable d'objet non définie


Et je ne comprend pas ce qu'il faut faire ?
Quelqu'un pourrait il m'aider ?
Par avance merci
Dernière édition par guglieri le 11 Nov 2019 06:46, édité 8 fois.
LibreOffice 6.3.2.2 (x64) sous Windows 10
guglieri
Fraîchement OOthentifié
 
Message(s) : 6
Inscrit le : 09 Nov 2019 14:12

Re: [Base] Ouverture de formulaire depuis un autre

Messagepar Dude » 10 Nov 2019 11:37

Salut,

OpenOffice 6.3 sous Windows 10

Merci de corriger ta signature avec la version exacte que tu utilises.
On rappelle (encore) que LibO 6.3 est expérimentale et non recommandée :
https://forum.openoffice.org/fr/forum/viewtopic.php?f=2&t=49867

Mais comme toujours, sans fournir un ODB et avec une pauvre ligne de code, comment penses-tu être aidé ?

La boule de cristal permet déjà de t'indiquer :
  1. de décomposer en lignes distinctes chaque propriété ou méthode que tu appelles
  2. de vérifier que le formulaire à ouvrir existe bien
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 21118
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Base] Ouverture de formulaire depuis un autre

Messagepar guglieri » 10 Nov 2019 15:06

Merci de ta réponse DUDE,
En effet je n'ai pas fait attention, lors de la dernière mise à jour j'ai téléchargé ce qui m’était proposé en premier. Je n'ai pas constaté de dysfonctionnement.
J'ai mis à jour la signature.

Propriété et méthode, je ne vois pas de quoi tu parles.

Sinon, je pensais naïvement que les macros ne dépendaient pas de l'ODB, donc ci-joint le document.
Donc depuis le formulaire FORM_Représentants, je souhaite ouvrir le formulaire FORM_Organisation à l'aide d'un bouton auquel j'ai affecté la macro comme indiqué au-dessus.
Pièces jointes
Expertise_2.odb
Mon ODB
(43.59 Kio) Téléchargé 5 fois
LibreOffice 6.3.2.2 (x64) sous Windows 10
guglieri
Fraîchement OOthentifié
 
Message(s) : 6
Inscrit le : 09 Nov 2019 14:12

Re: [Base] Ouverture de formulaire depuis un autre

Messagepar Dude » 10 Nov 2019 18:23

guglieri a écrit:J'ai mis à jour la signature.

Non, tu vois bien que l'information est toujours erronée.

guglieri a écrit:Sinon, je pensais naïvement que les macros ne dépendaient pas de l'ODB, donc ci-joint le document.

Ton ODB ne contient aucune macro.
Elles sont effectivement enregistrées au niveau de l'application.
A corriger si tu veux que ton exemple fonctionne.
Si tu ne comprends pas cette notion, fais une recherche sur le terme "container".

guglieri a écrit:Propriété et méthode, je ne vois pas de quoi tu parles.

Un petit tour par la documentation te ferait le plus grand bien :
https://forum.openoffice.org/fr/forum/viewtopic.php?f=8&t=820

Par exemple, il s'agit de transformer ceci :
Code : Tout sélectionner   AgrandirRéduire
ThisDatabaseDocument.formDocuments.getByName( "FORM_Organisation" ).open

Et de le décomposer :
Code : Tout sélectionner   AgrandirRéduire
oODB = ThisDatabaseDocument
oForms = oODB.formDocuments
oForm = oForms.getByName( "FORM_Organisation" )
oForm.open

Et de voir à quel niveau, le code coince en faisant de l'introspection via XRay.
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 21118
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Base] Ouverture de formulaire depuis un autre

Messagepar luky-luke » 10 Nov 2019 19:45

Bonjour
Je viens de faire l'essai, aucun soucis avec AOo et LibO, le formulaire s'ouvre bien.
La macro est dans le document.

Cordialement
Luke
Pièces jointes
Expertise_3.odb
(43.97 Kio) Téléchargé 5 fois
AOO 4.1.3 et LibO 5.3.7.2 Ubuntu 16.04 LTS et Debian 9
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
Avatar de l’utilisateur
luky-luke
InconditiOOnnel
InconditiOOnnel
 
Message(s) : 914
Inscrit le : 27 Nov 2010 01:17
Localisation : gâtine deux-sèvrienne

Re: [Base] Ouverture de formulaire depuis un autre

Messagepar guglieri » 10 Nov 2019 22:07

Encore merci de ton aide DUDE,

J'ai bien parcouru la documentation, mais j'avoue qu'après la routine "Hello Word", je décroche.

En effet il y a bien une erreur dans ma signature, je ne suis pas sous OpenOffice mais sous LibreOffice, pas être est ce une raison au fait que les macros ne fonctionnent pas.

En fait je crois que ce n'est pas la peine que je m'acharne. Je ne pensais pas que ce serait aussi compliqué d'ouvrir un formulaire depuis un autre avec un bête bouton.
Du coup je le ferais à la main.

Ou alors la méthode n'est pas bonne, il ce n'est pas avec un bouton qu'il faut le faire ?
LibreOffice 6.3.2.2 (x64) sous Windows 10
guglieri
Fraîchement OOthentifié
 
Message(s) : 6
Inscrit le : 09 Nov 2019 14:12

Re: [Base] Ouverture de formulaire depuis un autre

Messagepar luky-luke » 11 Nov 2019 00:16

Bonjour
guglieri a écrit:Ou alors la méthode n'est pas bonne, il ce n'est pas avec un bouton qu'il faut le faire ?

Tu as lu mon message et télécharger le fichier :?:
Ça fonctionne avec Open Office et Libre Office et avec un bouton.
Cordialement
Luke
AOO 4.1.3 et LibO 5.3.7.2 Ubuntu 16.04 LTS et Debian 9
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
Avatar de l’utilisateur
luky-luke
InconditiOOnnel
InconditiOOnnel
 
Message(s) : 914
Inscrit le : 27 Nov 2010 01:17
Localisation : gâtine deux-sèvrienne

Re: [Base] Ouverture de formulaire depuis un autre

Messagepar guglieri » 11 Nov 2019 06:41

Super Cool, Merci luky-luke
Tu me sauves, merci pour l'exemple.
Je vais chercher pourquoi ça ne marchait pas.

J’ai aussi trouvé ça :
https://www.developpez.net/forums/d1582078/logiciels/logiciels-libres-open-source/bureautique/openoffice-libreoffice/macro-virtual-basic-ouvrir-formulaire/

Une variante qui marche aussi avec des tag.

Bonne journée à tous
LibreOffice 6.3.2.2 (x64) sous Windows 10
guglieri
Fraîchement OOthentifié
 
Message(s) : 6
Inscrit le : 09 Nov 2019 14:12

Re: [Résolu][Base] Ouverture de formulaire depuis un autre

Messagepar guglieri » 11 Nov 2019 06:45

Et Pb Résolu
LibreOffice 6.3.2.2 (x64) sous Windows 10
guglieri
Fraîchement OOthentifié
 
Message(s) : 6
Inscrit le : 09 Nov 2019 14:12

Re: [Base] Ouverture de formulaire depuis un autre

Messagepar Dude » 11 Nov 2019 12:12

guglieri a écrit:Je vais chercher pourquoi ça ne marchait pas.

Bis repetitae :
Dude a écrit:Si tu ne comprends pas cette notion, fais une recherche sur le terme "container".


:roll:
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 21118
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Résolu][Base] Ouverture de formulaire depuis un autre

Messagepar luky-luke » 11 Nov 2019 12:19

Bonjour
guglieri a écrit:J’ai aussi trouvé ça :
h---s://www.developpez.net/forums/d1582078/logiciels/logiciels-libres-open-source/bureautique/openoffice-libreoffice/macro-virtual-basic-ouvrir-formulaire/
Une variante qui marche aussi avec des tag.

Une solution qui est présente dans le suprême Principe d'ouverture et fermeture de formulaire
Cordialement
Luke
AOO 4.1.3 et LibO 5.3.7.2 Ubuntu 16.04 LTS et Debian 9
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
Avatar de l’utilisateur
luky-luke
InconditiOOnnel
InconditiOOnnel
 
Message(s) : 914
Inscrit le : 27 Nov 2010 01:17
Localisation : gâtine deux-sèvrienne

Re: [Résolu][Base] Ouverture de formulaire depuis un autre

Messagepar guglieri » 11 Nov 2019 14:28

En effet Luke,

J'avais vu, mais pour un néophyte comme moi, c'est plus simple à comprendre avec la macro et les boutons sous les yeux, comme tu l'as fait.

merci encore
Gug
LibreOffice 6.3.2.2 (x64) sous Windows 10
guglieri
Fraîchement OOthentifié
 
Message(s) : 6
Inscrit le : 09 Nov 2019 14:12


Retour vers Macros et API

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 6 invité(s)