Página 1 de 1

[RESUELTO] Botón para abrir formulario

Publicado: Vie Feb 05, 2010 9:50 am
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

Re: Botón para abrir formulario

Publicado: Sab Feb 06, 2010 7:20 pm
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

Re: Botón para abrir formulario

Publicado: Lun Feb 08, 2010 4:50 pm
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

Re: Botón para abrir formulario

Publicado: Mar Feb 09, 2010 10:06 am
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

Re: Botón para abrir formulario

Publicado: Mar Feb 09, 2010 5:35 pm
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

Re: Botón para abrir formulario

Publicado: Vie Mar 12, 2010 5:04 pm
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

Re: [RESUELTO] Botón para abrir formulario

Publicado: Mié Nov 24, 2010 11:58 pm
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