[RESUELTO] Botón para abrir formulario

Discute sobre las herramientas de la base de datos

[RESUELTO] Botón para abrir formulario

Notapor Alfons » Vie Feb 05, 2010 9:50 am

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

Re: Botón para abrir formulario

Notapor Cascabel » Sab Feb 06, 2010 7:20 pm

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

Re: Botón para abrir formulario

Notapor Alfons » Lun Feb 08, 2010 4:50 pm

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

Notapor Alfons » Mar Feb 09, 2010 10:06 am

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

Re: Botón para abrir formulario

Notapor RMG » Mar Feb 09, 2010 5:35 pm

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.0.1 en W7, OpenOffice 3.3 en XP y LibreOffice 3.6.2 en Linux Mint 10 "Julia"
RMG
 
Mensajes: 1910
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Botón para abrir formulario

Notapor Alfons » Vie Mar 12, 2010 5:04 pm

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

Re: [RESUELTO] Botón para abrir formulario

Notapor Oke152 » Mié Nov 24, 2010 11:58 pm

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
Oke152
 
Mensajes: 2
Registrado: Mié Nov 24, 2010 11:25 pm


Volver a Base

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados