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