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]

Répondre à