[Résolu][Base] Obtenir la source de données d'un formulaire

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 !
mumblee
NOOuvel adepte
NOOuvel adepte
Messages : 19
Inscription : 17 janv. 2009 11:30

[Résolu][Base] Obtenir la source de données d'un formulaire

Message par mumblee »

Bonjour,

J'ai un document "toto.odb" et lorsque j'édite le formulaire "frmTest" contenu dans ce document, l'affichage des sources de données me montre bien la base "toto". Cependant, je ne trouve pas le moyen d'accéder à cette information depuis une macro Basic. J'ai tenté sans succès :

Code : Tout sélectionner

Sub NomBase
	Dim oForm As Object
	oForm = ThisComponent.drawPage.forms.getByName("frmTest")
	Msgbox("DataSourceName = " + oForm.DataSourceName)
End Sub
le résultat est une chaîne vide :(

Comment procéder svp ? Merci.
Dernière modification par mumblee le 01 mai 2011 16:31, modifié 1 fois.
LibreOffice 3.4.5 officielle, OOO340m1 (Build:502) - Ubuntu 11.10
mumblee
NOOuvel adepte
NOOuvel adepte
Messages : 19
Inscription : 17 janv. 2009 11:30

Re: [Base] Obtenir la source de données d'un formulaire

Message par mumblee »

Argh ! Ça faisait trois jours que je cherchais en vain et je viens de tomber là-dessus : il fallait utiliser ThisDatabaseDocument.Url et non ThisComponent qui pointe vers je-ne-sais-pas-quoi lorsque la macro est appelée à partir du formulaire.

Merci beaucoup à ce forum et à Bernard Marcelly en particulier.

Puisque j'ai réussi à me répondre à moi-même, avant que je ne close ce fil par un "résolu", quelqu'un peut peut-être m'indiquer comment j'aurais pu trouver ce ThisDatabaseDocument en moins de trois jours ? :oops: Je vous serais gré d'éviter les réponses "Il fallait mieux chercher" parce que j'ai vraiment beaucoup cherché ; quelque chose de plus méthodologique serait particulièrement utile :)
LibreOffice 3.4.5 officielle, OOO340m1 (Build:502) - Ubuntu 11.10
Pierre-Yves Samyn
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 11276
Inscription : 02 mai 2006 08:42

Re: [Base] Obtenir la source de données d'un formulaire

Message par Pierre-Yves Samyn »

Bonjour
mumblee a écrit :quelqu'un peut peut-être m'indiquer comment j'aurais pu trouver ce ThisDatabaseDocument en moins de trois jours ? :oops: Je vous serais gré d'éviter les réponses "Il fallait mieux chercher" parce que j'ai vraiment beaucoup cherché ; quelque chose de plus méthodologique serait particulièrement utile :)
C'est vrai que c'est plus facile de trouver... quand on connait ce que l'on cherche... :)

Cette nouvelle "variable" est commentée dans ces pages de la documentation :
http://wiki.services.openoffice.org/wik ... nn.C3.A9es
http://wiki.services.openoffice.org/wik ... _Documents

Par ailleurs... elle est mise en œuvre dans les "suprêmes de code" récents portant sur Base :
http://user.services.openoffice.org/fr/ ... 15&t=23203
http://user.services.openoffice.org/fr/ ... 355#p95871
mumblee
NOOuvel adepte
NOOuvel adepte
Messages : 19
Inscription : 17 janv. 2009 11:30

Re: [Base] Obtenir la source de données d'un formulaire

Message par mumblee »

Bonsoir,
Pierre-Yves Samyn a écrit : Cette nouvelle "variable" est commentée dans ces pages de la documentation :
[...]
Par ailleurs... elle est mise en œuvre dans les "suprêmes de code" récents portant sur Base :
[...]
J'étais allé voir la documentation wiki mais j'ai dû lire trop rapidement sans doute.

C'est vrai que les exemples de code sont aussi bien pratiques. Merci aux contributeurs ! 8)
LibreOffice 3.4.5 officielle, OOO340m1 (Build:502) - Ubuntu 11.10
Pierre-Yves Samyn
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 11276
Inscription : 02 mai 2006 08:42

Re: [Base] Obtenir la source de données d'un formulaire

Message par Pierre-Yves Samyn »

mumblee a écrit :C'est vrai que les exemples de code sont aussi bien pratiques. Merci aux contributeurs ! 8)
Beaucoup apprennent en s'inspirant de code existants...

J'ai oublié l'indispensable ouvrage pour qui veut développer (ses connaissances) : http://user.services.openoffice.org/fr/ ... 820#p94284
A noter la disponibilité de la version pour LibreOffice : http://www.editions-eyrolles.com/Livre/ ... eoffice%3E