Bonsoir,
après avoir lu votre fil de discution, recherché des infos sur le net,
fais des tests etc...
Je vous livre le code ci dessous qui je l'espère vous donnera autant de
satisfaction qu'a moi même ;-)
'document definition for Form à ouvrir
Dim oFrmDef2 as object
Sub OpenForm( )
' array of propertyvalues for 'OPEN' of form
Dim stdOpenArgs(0) as new com.sun.star.beans.PropertyValue
if isNull(oFrmDef2)then
oFrmDef2 =
thisComponent.parent.FormDocuments.getByName("ClientsSF")
endif
' set up the property values used to open the available contacts form
stdOpenArgs(0).name = "ActiveConnection"
stdOpenArgs(0).value =
thisComponent.Parent.Datasource.getConnection("","")
thisComponent.parent.FormDocuments.LoadComponentFromURL(
"ClientsSF", "_Blank", 0, stdOpenArgs() )
End Sub
Afin que la fenêtre ne se ferme pas, il suffit de déclaré la variable
qui récupère l'objet par
"thisComponent.parent.FormDocuments.getByName("ClientsSF")" en entête de
module.
Désolé de vous avoir fais attendre ;-) mais je commence juste à
m'interresser aux formulaires de base ;-)
En conclusion, ce n'est pas un Bug ;-)
Je suis sur la version 1.9.130 mais je suppose que sur les précédentes
cela doit être identique.
A + !!!
Christophe Liénard a écrit :
Bon, merci pour vos réponses...
Si je comprends bien, c'est un bug contre lequel on ne peut pas grand-chose,
et il faudra attendre une version ultérieure pour pouvoir naviguer entre les
formulaires d'une appli Base... Patiente, donc !
Christophe
Bonjour Christophe Liénard,
Message du 2005-08-24 18:18:
Bonjour à tous.
J'aimerais relancer un sujet ouvert le 01/05/05 par Tony Galmiche, à
savoir
la navigation au sein des formulaires d'un .odb
Alain Nowak avait proposé le code ci-dessous pour ouvrir un form à partir
d'une macro
sub ouvrirForm
oDesktop = createUnoService ("com.sun.star.frame.Desktop")
Dim loadArgs(0) as new com.sun.star.beans.PropertyValue
loadArgs(0).Name = "Hidden"
loadArgs(0).Value = true
oDocument = oDesktop.LoadComponentFromURL(convertToURL("C:\Documents
and Settings\alain\Mes documents\maBase.odb"), "_blank", 0, loadArgs())
oForms = oDocument.FormDocuments
oForm = oForms.getByName("VIN")
oConnection =oDocument.Datasource.getConnection("","")
Dim formArgs(0) as new com.sun.star.beans.PropertyValue
formArgs(0).Name = "ActiveConnection"
formArgs(0).Value = oConnection
oFormDoc = oForms.LoadComponentFromURL("VIN", "_blank", 0, formArgs())
oDocument.dispose
end sub
En l'essayant sur la 1.9.122, le nouveau form s'ouvre bien à partir d'un
bouton lançant la macro, mais se ferme juste après, même en supprimant la
ligne oDocument.dispose.
Quelqu'un a-t-il une idée du problème ? Ou ce sujet aurait-il avancé
depuis
?
Je ne pratique pas les formulaires de Base. En cherchant j'ai trouvé un
long fil sur ce sujet (en anglais) :
<http://www.mail-archive.com/dev%40dba.openoffice.org/msg00238.html>
Il a produit deux rapports :
52479 : crash when opening a form via Basic script >> OOo 2.0.1
52649 : Opening a form an a Base document closes when the macro finishes
>> OOo Later
Bernard
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]