2009/5/11 francisco f. <[email protected]>
> Saque de la lista la macro para abrir formularios,
> Sub OpenForm(Event As Object)
> Dim Form As Object
> Dim FormDoc As Object
> Dim Forms As Object
> Dim DBDoc As Object
> Dim Args(1) As New com.sun.star.beans.PropertyValue
> Dim FormName As String
> Form=Event.Source.Model.Parent
> Forms=Form.Parent
> FormDoc=Forms.Parent
> DBDoc=FormDoc.Parent
>
> Args(0).Name="ActiveConnection" :
> Args(0).Value=Form.ActiveConnection
>
> Args(1).Name="OpenMode" : Args(1).Value="open"
> FormName="nombre-formulario"
> DBDoc.FormDocuments.loadComponentFromURL(FormName,"_blank",0,Args)
>
> End Sub
>
> Funciona bien, pero hay que repetirla por cada formulario que quieres
> abrir.
> La cuestion es como se le puede pasar por ejemplo el nombre del boton o la
> etiqueta, que presionas y que se llamara igual que el formulario a abrir
> para
> evitarnos el tener la misma macro repetida un monton de veces.
>
> Saludos
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
Hola Francisco. Usando la versión OOo 3.0 usé la macro que mencionas con
excelentes resultados, aunque con la desventaja que mencionas de tener que
repetirla muchas veces. Si usas la nueva versión 3.1 tal vez te sea más
fácil aplicar esto que me acabo de encontrar en la siguiente dirección:
http://wiki.services.openoffice.org/wiki/Base/New_features_in_3_1
Está en inglés, y lo que dice es esencialmente lo siguiente:
-------------------------------------------------------------------------------------------------------------------------------------
Easier programmatic access to form/report documents
Programmatic access to forms/reports contained in database documents is
easier than ever before:
ThisDatabaseDocument.FormDocuments.getByName( "form name" ).open
ThisDatabaseDocument.ReportDocuments.getByName( "report name" ).open
will open the form "form name", or the report "report name", in the very
same way a double-click onto the form in the document UI would do, i.e.
doing all the proper knittings to the document UI.
-------------------------------------------------------------------------------------------------------------------------------------
No he tenido oportunidad de probarlo todavía por falta de tiempo, pero
parece más sencillo. Espero te sirva.
Saludos y suerte.
--
Argel.