Página 1 de 1
[RESUELTO] boton que habra otro formulario
Publicado: Lun Nov 18, 2019 11:14 am
por dipoagus
¿Hay alguna manera rapida y facil de hacer que un boton de un formulario habra otro formulario de la base de datos?
gracias
Re: boton que habra otro formulario
Publicado: Lun Nov 18, 2019 3:39 pm
por mauricio
creo recordar que tu pregunta ya se ha respondido. ¿Ya hiciste una búsqueda?
Re: boton que habra otro formulario
Publicado: Lun Nov 18, 2019 8:27 pm
por dipoagus
Esto encontré:
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 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 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
Inserto la primera macro en la biblioteca pero la otra macro donde va? como le paso el nombre de formulario? Creo q algo no entendi
Re: boton que habra otro formulario
Publicado: Lun Nov 18, 2019 8:48 pm
por RMG
Hola,
En la biblioteca Standard, creas un modulo y copias esta macro.
Código: Seleccionar todo
Sub AbreCualquierFormulario(Evento)
ThisDatabaseDocument.FormDocuments.GetByName(Evento.Source.Model.Tag).Open
End Sub
En las propiedades del botón (al final) existe una propiedad llamada información adicional (tag), ahí es donde debes poner el nombre del formulario que quieres abrir.
La macro se la puedes asignar al acontecimiento (evento) del botón del ratón pulsado.
Saludos
Re: boton que habra otro formulario
Publicado: Lun Nov 18, 2019 9:32 pm
por dipoagus
JOLINES, que facil me lo has puesto, GRAAACIASSSS!!!
Re: boton que habra otro formulario
Publicado: Mar Nov 19, 2019 12:05 pm
por RMG
Hola,
Recuerda marcar como resuelto, nos ayuda a mantener un foro más ordenado.
https://forum.openoffice.org/es/forum/v ... f=3&t=2668
Saludos
Re: [RESUELTO] boton que habra otro formulario
Publicado: Mié Nov 20, 2019 9:52 am
por Longi
Buenas!
Ya sé que está resuelto, pero quería decir que el código de RMG está fantástico cuando usas un botón para una sola acción, pero no tanto si quieres que abra un formulario u otro, en función de lo que hay en un textbox o en un Listbox.
Por ejemplo, 5 posibilidades distintas en el ListBox, daría lugar a 5 formularios distintos, con lo que tendrías que usar 5 botones diferentes.
Con este código en el evento 'Botón de ratón pulsado' te permitiría aplicar claúsulas 'if' según el texto del listBox, abriendo uno u otro con un solo botón:
Código: Seleccionar todo
ocontroller = Thisdatabasedocument.currentController ' Controlador de la base de datos
if not ocontroller.isconnected then ocontroller.connect ' Mantenemos la conexión
oDoc = Thisdatabasedocument.formdocuments.getbyname("MiFormulario").open ' Abrimos el formulario
Un saludo!
