[RESUELTO] Botón para abrir formulario

Discute sobre las herramientas de la base de datos
Responder
Alfons
Mensajes: 17
Registrado: Jue Feb 04, 2010 12:12 pm

[RESUELTO] Botón para abrir formulario

Mensaje por Alfons »

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
Ú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
Cascabel
Mensajes: 283
Registrado: Mié Nov 11, 2009 10:53 am

Re: Botón para abrir formulario

Mensaje por Cascabel »

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:

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
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

'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
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
OOo 3.3.0: OOO330m20 (Build:9567) en WXP+SP3 y en Ubuntu 10.10
Alfons
Mensajes: 17
Registrado: Jue Feb 04, 2010 12:12 pm

Re: Botón para abrir formulario

Mensaje por Alfons »

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
Open Office 3.1 i Windows XP
Alfons
Mensajes: 17
Registrado: Jue Feb 04, 2010 12:12 pm

Re: Botón para abrir formulario

Mensaje por Alfons »

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

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:

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
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

'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
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
Open Office 3.1 i Windows XP
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Botón para abrir formulario

Mensaje por RMG »

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
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)
Alfons
Mensajes: 17
Registrado: Jue Feb 04, 2010 12:12 pm

Re: Botón para abrir formulario

Mensaje por Alfons »

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
Open Office 3.1 i Windows XP
Oke152
Mensajes: 2
Registrado: Mié Nov 24, 2010 11:25 pm

Re: [RESUELTO] Botón para abrir formulario

Mensaje por Oke152 »

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
Openoffice3.2.1 windows y Fedora
Responder