Programar evento

Discute sobre las herramientas de la base de datos

Programar evento

Notapor Carlos Aristizábal » Dom Feb 28, 2010 3:00 pm

Estoy utilizando OOo 3.1.0 en Windows XP. He hecho programas en Visual Basic de Access y quiero hacerlo ahora en OOo Basic pero no encuentro la forma de programar un evento como por ejemplo "al cargar un formulario" o culquier otro evento de un control. He leído la ayuda proporcionada con el programa pero no he podido lograrlo. Gracias por su ayuda
OpenOffice 3.1.0 en Windows XP
Carlos Aristizábal
 
Mensajes: 2
Registrado: Dom Feb 28, 2010 2:17 pm

Re: Programar evento

Notapor Cascabel » Dom Feb 28, 2010 7:17 pm

Si ya programaste VB en Access, te bastará una pequeña indicación para encontrar el camino.
Abres el formulario en modo diseño. Click derecho sobre cualquier control, Propiedades. En la pestaña Acontecimientos puedes asignar macros a los distintos eventos.
Click derecho sobre cualquier control, Formulario saca las propiedades del formulario. La misma pestaña Acontecimientos tiene los eventos del formulario.
A diferencia de Access (y choca al principio si vienes de ahí), la macro debe existir antes de asignarla. No puedes elegir un evento, asignarle una macro no existente y escribirla en ese momento.
Para escribir macros en StarBasic ve a Herramientas/Macros/Organizar Macros/OpenOffice.org Basic.
Desde allí, Administrar para crear primero bibliotecas en el documento, luego módulos en las bibliotecas, y finalmente macros (o diálogos) en los módulos.
En tu versión de OOo ya puedes guardar las macros en el mismo documento de Base, cosa que recomiendo. De todos modos, actualiza a 3.2 si tienes la posibilidad (o a 3.1.1 por lo menos).
Una cosa más. No esperes encontrar los mismos eventos que en Base ni que funcionen igual. Ni soñar con un OnClose cancelable para el formulario, por ejemplo.

Ejemplo de macro que va al último registro de una formulario al abrirlo:

Código: Seleccionar todo   Expandir vistaContraer vista
Sub sUltimoRegistro(Event As Object)
   Dim Form As Object
   Form=Event.Source
   If Not(Form.IsNew() Or Form.IsAfterLast()) Then Form.Last()
End Sub

Asociar al evento "Al Cargar" del formulario.

Si tienes más dudas, pregunta de nuevo.
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: Programar evento

Notapor RMG » Mar Mar 02, 2010 6:51 pm

cascabel, ya que Carlos ha abierto el hilo de programar en Base similar a VB con metodos etc. se sabe de algun sitio donde localizar estos, aunque esten en ingles y mientras esperamos el tutorial de Mauricio.

Gracias
Ramon
OpenOffice 4.0.1 en W7, OpenOffice 3.3 en XP y LibreOffice 3.6.2 en Linux Mint 10 "Julia"
RMG
 
Mensajes: 1915
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Programar evento

Notapor Cascabel » Mar Mar 02, 2010 7:44 pm

Casi toda la información que utilizo está en inglés.
En la versión inglesa del foro de la comunidad hay mucho código.
Además, lo que hace diferente a Base del resto de la suite son habas contadas. Básicamente, el acceso a datos.

Este documento de Roberto C. Benítez habla de eso.
http://www.baseprogramming.com/OOBasicDatabaseDev.pdf

El de Mauricio también me fue muy útil. Tiene capítulos sobre formularios, diálogos y eventos.
http://webs.ono.com/valromer/TUTORIALES ... oBasic.pdf

Programación en Star Basic y algo de BBDD en este otro.
http://dlc.sun.com/pdf/817-1826/817-1826.pdf

Guía de programación para StarOffice 8.
http://www.santarosa.k12.fl.us/pdc/down ... _en-US.PDF

El documento de Andrew Pitonyak sobre macros en OpenOffice.org
http://sbrinz.di.unipi.it/MaterialeCors ... wMacro.pdf

OpenOffice.org 3.1 BASIC Guide
http://wiki.services.openoffice.org/w/i ... o3.1.0.pdf

No es de macros, pero sobre HSQL, que es el que utiliza Base en las BBDD incrustadas.
http://hsqldb.org/doc/guide/guide.pdf

Y sobre conversión de código VBA a StarBasic, pero aplicado a Excel y Calc.
http://documentation.openoffice.org/HOW ... icXref.pdf

Nota: Quizás no sean los mejores enlaces para descargar los documentos. Sólo puse en el buscador el nombre del archivo y copié el primer enlace que funcionaba. Es que ya no recuerdo de dónde obtuve cada uno.
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: Programar evento

Notapor Carlos Aristizábal » Mar Mar 02, 2010 9:55 pm

Oye Cascabel. Creo que eres muy bueno en esto. Te agradezco mucho tu ayuda.
Aunque aún no la he puesto en práctica sé que me va a ser muy útil, junto con la respuesta que le das a Ramón. Ya les contaré en el foro cómo me fue.
De nuevo muchas gracias
OpenOffice 3.1.0 en Windows XP
Carlos Aristizábal
 
Mensajes: 2
Registrado: Dom Feb 28, 2010 2:17 pm

Re: Programar evento

Notapor RMG » Mié Mar 03, 2010 3:35 pm

Cascabel de entrada, muchas gracias. Voy a empezar a visitar estos enlaces y procurarme de toda la informacion que pueda entender.

Saludos
Ramon
OpenOffice 4.0.1 en W7, OpenOffice 3.3 en XP y LibreOffice 3.6.2 en Linux Mint 10 "Julia"
RMG
 
Mensajes: 1915
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España


Volver a Base

¿Quién está conectado?

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