[RESUELTO] Botón para abrir formulario
[RESUELTO] Botón para abrir formulario
En general, no entiendo como darle funciones a los botones del base. En particular me interesaría saber como hacer que un botón abra un formulario.
Gràcies
Alfons
Gràcies
Alfons
Última edición por Alfons el Vie Mar 12, 2010 5:04 pm, editado 1 vez en total.
Open Office 3.1 i Windows XP
Re: Botón para abrir formulario
Esta macro en un módulo de la biblioteca Standard te permitirá abrir un formulario para entrar datos, pasando como parámetro el nombre del formulario:
Lo más cómodo es, entonces, asignar esta otra macro a cada botón que abra un formulario y definir el Tag del botón (Propiedades del control, pestaña General: Información adicional) como el nombre del formulario que abre:
Antes de que lo preguntes, para que un botón cierre el formulario, lo más simple es:
Propiedades del control, pestaña General:
Acción: Abrir documento/página web
URL: .uno:CloseDoc
Código: Seleccionar todo
'Apertura de formularios por nombre
Sub sAbreF(NombreF As String)
'NombreF=Nombre del formulario en la base de datos
Dim oControl As Object
'Conecta con la base de datos
oControl=ThisDatabaseDocument.CurrentController()
If Not oControl.IsConnected() Then oControl.Connect()
'Abre el formulario
oControl.LoadComponent(com.sun.star.sdb.application.DatabaseObject.FORM,NombreF,False)
End Sub
'Apertura de formularios por nombre
Código: Seleccionar todo
'Abre un formulario al pulsar el botón
Sub sBotonAbreF(Event As Object)
sAbreF(Event.Source.Model.Tag)
End Sub
'Abre un formulario al pulsar el botón
Propiedades del control, pestaña General:
Acción: Abrir documento/página web
URL: .uno:CloseDoc
OOo 3.3.0: OOO330m20 (Build:9567) en WXP+SP3 y en Ubuntu 10.10
Re: Botón para abrir formulario
Muchas gracias por tu ayuda!
Yo vengo de usar access y para que los botones abran o cierren formularios no requieren de macros. Hay alguna manera más sencilla y directa para asignarles funciones?
Gracias otra vez!
Alfons
Yo vengo de usar access y para que los botones abran o cierren formularios no requieren de macros. Hay alguna manera más sencilla y directa para asignarles funciones?
Gracias otra vez!
Alfons
Open Office 3.1 i Windows XP
Re: Botón para abrir formulario
Cuando compilo la macro me da error en esta linea:
oControl=ThisDatabaseDocument.CurrentController()
la variable no está definida.
Tienes idea de lo que puede pasar?
Alfons
oControl=ThisDatabaseDocument.CurrentController()
la variable no está definida.
Tienes idea de lo que puede pasar?
Alfons
Cascabel escribió:Esta macro en un módulo de la biblioteca Standard te permitirá abrir un formulario para entrar datos, pasando como parámetro el nombre del formulario:
Lo más cómodo es, entonces, asignar esta otra macro a cada botón que abra un formulario y definir el Tag del botón (Propiedades del control, pestaña General: Información adicional) como el nombre del formulario que abre:Código: Seleccionar todo
'Apertura de formularios por nombre Sub sAbreF(NombreF As String) 'NombreF=Nombre del formulario en la base de datos Dim oControl As Object 'Conecta con la base de datos oControl=ThisDatabaseDocument.CurrentController() If Not oControl.IsConnected() Then oControl.Connect() 'Abre el formulario oControl.LoadComponent(com.sun.star.sdb.application.DatabaseObject.FORM,NombreF,False) End Sub 'Apertura de formularios por nombre
Antes de que lo preguntes, para que un botón cierre el formulario, lo más simple es:Código: Seleccionar todo
'Abre un formulario al pulsar el botón Sub sBotonAbreF(Event As Object) sAbreF(Event.Source.Model.Tag) End Sub 'Abre un formulario al pulsar el botón
Propiedades del control, pestaña General:
Acción: Abrir documento/página web
URL: .uno:CloseDoc
Open Office 3.1 i Windows XP
Re: Botón para abrir formulario
Alfons
A mi me daba ese error si llamaba a la macro desde fuera de las macros del archivo de Base, pero si llamas dentro de las macros del archivo de Base, me funciona bien. El por que no lo se.
En cuanto a que en acces el boton no necesita macros, creo que estas en un error, pues si las necesita ó bien con codigo ó bien las creas tu en Macros y despues se las asignas al evento del boton
Saludos
A mi me daba ese error si llamaba a la macro desde fuera de las macros del archivo de Base, pero si llamas dentro de las macros del archivo de Base, me funciona bien. El por que no lo se.
En cuanto a que en acces el boton no necesita macros, creo que estas en un error, pues si las necesita ó bien con codigo ó bien las creas tu en Macros y despues se las asignas al evento del boton
Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Re: Botón para abrir formulario
Perfecto! funciona! el problema es que tenía la seguridad de macros en alta seguridad y me bloqueaba el funcionamiento de los botones.
Muchas gracias
Alfons
Muchas gracias
Alfons
Open Office 3.1 i Windows XP
Re: [RESUELTO] Botón para abrir formulario
Buenas a todos!!.. soy nuevo en el mundo de BASE, y me esta volviendo loco este tema!!.. cuando presiono el boton me sale un error: "error de ejecucion de BASIC. Valor de propiedad incorrecto".
Espero que puedan ayudarme, mientras tanto sigo investigando..
Saludos
Espero que puedan ayudarme, mientras tanto sigo investigando..
Saludos
Openoffice3.2.1 windows y Fedora