You are on page 1of 47

Cuadro de dilogo (formulario) para

OpenOffice Calc
En este Cmo se hace vamos a mostrar paso a paso como se puede
crear un cuadro de dilogo mediante el editor Basic de OpenOffice
para introducir datos en una hoja de Calc.
Para poder llevar a buen puerto este tutorial, empezaremos por crear
un nuevo documento de Calc, que guardaremos con el
nombre Cuadro de dilogo Calc.
En la primera de sus hojas insertaremos un botn que nos permitir
abrir el cuadro de dilogo. Los datos que introduciremos en l
quedarn almacenados en la Hoja2 del documento.
No se va a crear una aplicacin completa. El objetivo de este tutorial
es introducir al usuario en la creacin y uso de los cuadros de dilogo
en Calc, lo que le permitir construir fcilmente sencillas aplicaciones
para gestionar pequeas o grandes cantidades de datos, ampliando
segn lo aqu aprendido su documento de Calc con ms dilogos, en
funcin de sus necesidades.

Insertar un botn en la hoja


Crear el cuadro de dilogo
Insertar los controles en el dilogo
El cdigo Basic necesario
Enlazar los controles al cdigo
Enlazar el botn de la hoja al dilogo

Insertar un botn en la hoja


Empezaremos insertando un botn en la Hoja1 del documento que
permitir abrir el cuadro de dilogo que, a modo de formulario
flotante, disearemos a continuacin.
Para ello, si no est visible, mostraremos la barra de
herramientas Campos de control de formulario desde el
men Ver > Barras de herramientas.

Haremos un clic en esta barra de herramientas sobre el botn


. El
cursor del ratn se mostrar como una pequea cruz negra con un
pequeo rectngulo en su extremo inferior derecho.
Sobre el lugar deseado de la hoja de clculo, haremos un clic y
arrastrar, definiendo de esta forma las dimensiones del botn.

Las dimensiones del botn podrn modificarse utilizando sus


manejadores de color verde.

Con el botn seleccionado haremos clic sobre el botn


de la barra
de herramientas Campos de control de formulario, o bien,
haremos un clic con el botn secundario del ratn sobre el botn, y
desde el men contextual seleccionamos la opcin Campo de
control.... Se mostrar el cuadro de dilogo Propiedades: Botn.
En ste, modificaremos el Ttulo escribiendo Abrir el dilogo desde
su pestaa General. De esta forma modificamos el texto que
muestra el botn recin insertado. Si lo deseas, puedes modificar
otras propiedades del botn, como por ejemplo, la Fuente utilizada
para el texto mostrado, sus dimensiones mediante las
propiedades Ancho y Altura, la Alineacin horizontal y
la Alineacin vertical del texto mostrado, el Color de fondo del
botn, incluso insertar una pequea imagen (en formato bmp, jpg,
png, etc) a modo de icono en el mismo mediante la
propiedad Imagen.

Si quieres conocer ms acerca de otras de las propiedades que


puedes definir para el botn, pulsa la tecla F1 mientras est activado
el dilogo.
Por el momento, podemos cerrar este dilogo, al que volveremos ms
tarde.

Crear el cuadro de dilogo


Accedemos al editor de macros IDE Basic desde el
men Herramientas > Macros > Organizar macros... >
OpenOffice.org Basic.
Localizamos el contenedor de macros de nuestro documento.
Haciendo clic en el + que antecede a su nombre, se mostrar la
librera Standard, que por el momento est vaca, y que
seleccionamos con un clic sobre su nombre.

Haciendo un clic sobre Nuevo creamos un nuevo mdulo Basic; se


presentar un dilogo sugiriendo el nombre del nuevo mdulo
comoModule1', nombre que aceptamos porque nos es indiferente.

Se mostrar el editor IDE Basic. Justo en la parte inferior del mismo,


se muestra una pestaa con el nombre Module1. Haremos clic con el
botn secundario del ratn sobre la pestaa, y del men contextual
seleccionamos la opcin Insertar > Dilogo BASIC.
El editor IDE Basic presentar una nueva pestaa, de
nombre Dialog1, con un pequeo dilogo dibujado en el centro de la
misma, y se mostrar tambin la barra de herramientas
flotante Cuadro de herramientas. Si no se muestra, puedes utilizar
la opcin que encontrars en el men Ver > Barras de
herramientas

Haremos un clic con el botn secundario sobre la pestaa del dilogo,


y seleccionamos Renombrar para cambiar su nombre a Dialogo.

Insertar los controles en el dilogo


Utilizando los botones disponibles en la barra de
herramientas Cuadro de herramientas y siguiendo el mismo
mtodo que hemos utilizado para insertar el botn en la hoja de Calc
(clic y arrastrar) insertaremos:

Tres etiquetas utilizando el botn

Tres campos de texto utilizando el botn

Dos botones utilizando el botn

Cambiaremos los textos de las etiquetas y de los botones siguiendo el


mismo mtodo que con el botn insertado en la hoja de Calc (si bien,
para acceder al dilogo de propiedades, el botn ahora se
llama Propiedades, al igual que la opcin del men contextual del
control).

Haciendo un clic justo sobre el borde del dilogo podemos editar sus
propiedades; as, asignaremos como Ttulo de nuestro cuadro de
dilogoAgregar contactos; una vez hechos todos estos cambios,
deberemos obtener un resultado similar al mostrado en la siguiente
imagen:

Guarda tu trabajo haciendo clic sobre Guardar .

El cdigo Basic necesario


Haz clic sobre la etiqueta del mdulo Module1. Teclea o mejor, copia
y pega, el siguiente cdigo sustituyendo el cdigo existente en el
mdulo:
' ***** BASIC *****
Option Explicit
Dim oDialogo As Object
' Abre el dilogo de nombre Dialogo
Sub Mostrar_Dialogo()
'-----------------------------------------------------------------DialogLibraries.LoadLibrary("Standard")
oDialogo=CreateUNODialog(DialogLibraries.Standard.Dialogo)
oDialogo.Execute()
End Sub
' Cierra el dilogo
Sub Cerrar_Dialogo()
'-----------------------------------------------------------------oDialogo.EndExecute()

MsgBox "Gracias por la visita. Vuelve pronto !!!", 64,


"Dilogo en Calc"
End Sub
' Almacena los datos en la siguiente lnea disponible de
la Hoja2, y vaca los datos del formulario
Sub Guardar_Datos()
'-----------------------------------------------------------------Dim xDato As Variant, nRow As Long
If MsgBox( "Deseas guardar los cambios realizados?",
33, "Dilogo en Calc" ) = 1 Then
nRow = UltimaFila( 1 )
With oDialogo.Model
xDato = .TextField1.Text
ThisComponent.Sheets(1).GetCellByPosition(0,nRow).SetFormul
a( xDato )
xDato = .TextField2.Text
ThisComponent.Sheets(1).GetCellByPosition(1,nRow).SetFormul
a( xDato )
xDato = .TextField3.Text
ThisComponent.Sheets(1).GetCellByPosition(2,nRow).SetFormul
a( xDato )
.TextField1.Text = ""
.TextField2.Text = ""
.TextField3.Text = ""
End With
End If
End Sub
' Calcula cual es la primera lnea disponible en la hoja
Function UltimaFila( nHoja As Integer ) As Long
'-----------------------------------------------------------------Dim oHoja As Object, n As Long
oHoja = ThisComponent.Sheets(nHoja)
n = 0
Do While True
If oHoja.GetCellByPosition(0,n).GetFormula = "" Then
Exit Do
End If

n=n+1
Loop
UltimaFila = n
End Function
Guarda tu trabajo.
No vamos a explicar que hace cada subrutina; sus nombres son
suficientemente explicativos. Cmo lo hacen, tampoco lo explicamos.
No es el objetivo de este tutorial. Como cualquier cdigo, es
susceptible de ser mejorado. Esperamos tus aportaciones :).

Enlazar los controles al cdigo


Nos queda muy poco trabajo por hacer. Vamos a enlazar los controles
del dilogo al cdigo. Haz clic sobre la pestaa del dilogo Dialogo.
Selecciona el primer botn, y muestra la ventana Propiedades. En la
pestaa Acontecimientos haz clic sobre el botn con tres puntos
mostrado al final de la lnea correspondiente al evento Botn del
ratn pulsado.
Se mostrar el dilogo Accin asignada. Haz clic ahora
sobre Macro
Se mostrar el dilogo Selector de macro. Selecciona el
mdulo Cuadro de dilogo Calc.ods > Standard > Module1 en la
lista Biblioteca. En la lista Nombre de macro selecciona la
macro Guardar_Datos. Haz clic sobre Aceptar .

El dilogo Accin asignada se muestra ahora as. Haz clic


sobre Aceptar

El dilogo Propiedades:CommandButton se muestra como ves en


la imagen.

Selecciona el segundo botn, y realiza los mismos pasos para asignar


la macro Cerrar_Dialogo. Cierra la ventana Propiedades y guarda
tu trabajo.
Cierra el editor IDE Basic. Ya hemos terminado con la parte dura. Nos
queda un ltimo detalle.

Enlazar el botn de la hoja al dilogo


Ahora enlazaremos el botn que situamos en la hoja de clculo a la
macro que abre el dilogo. Desde la barra de herramientas Campos
de control de formulario activa el Modo diseo si no est
activado, y selecciona con un clic el botn.
Abre el dilogo Propiedades:Botn desde el botn
de la misma
barra de herramientas. Activa la pestaa Acontecimientos.
Asignaremos por el mismo procedimiento que vimos antes la
macro Mostrar_Dialogo al evento Botn del ratn pulsado.
Guarda tu trabajo.

Desde la barra de herramientas Campos de control de


formulario desactiva el Modo diseo.
Haz un clic sobre el botn. Si has seguido fielmente los pasos, y
nosotros lo hemos explicado correctamente, debers ver el cuadro de
dilogo sobre la hoja de clculo.

Prueba a completar los datos y pulsar sobre los botones para


comprobar que funciona. Recuerda que los datos se almacenan en
la Hoja2.
Por si hemos cometido algn error (nosotros o t, quien sabe ;) ) aqu
tienes un enlace para descargar el documento que hemos creado
para este tutorial.
Si te ha gustado, puedes firmar en nuestro Libro de Visitas, o
recomendarnos en Facebook, Twitter, Google+ o en tu red
social favorita.

Creacin de formularios con


mltiples tipos de campos de
control en OpenOffice Base
En la unidad anterior creamos el formulario Form_Interpretes que slo
contena campos de texto, pero vimos que existan muchos ms
campos de control disponibles. En este apartado vamos a crear un
formulario llamado Form_Peliculas en el que vamos a incluir ms
variedad de campos.

El formulario Form_Peliculas va a contener cuatro campos de texto


para las columnas Id_pelicula, Titulo, Ao y Director. Para insertar
estos campos, repetimos todos los pasos que realizamos en la unidad
anterior hasta llegar a obtener un formulario que contenga los
campos de texto mencionados tal y como se muestran en la figura
8.1.

Figura 8.1 Form_Peliculas con cuatro campos de texto


A partir de aqu vamos a empezar a aadir campos que hasta ahora
no hemos utilizado. El primero que vamos a incluir es del tipo Casilla
de verificacin para indicar si hemos visto o no la pelcula. Para ello,
seleccionamos este tipo de campo y, dentro de la opcin Campo de
datos de la ficha Datos de las propiedades, lo asociamos a la
columna Visionada de Peliculas. Una vez que lo hayamos aadido y
modificado usando las propiedades de la ficha General de
propiedades, como se muestra en la figura 8.2, deberamos tener
nuestro formulario como el de la figura 8.3.

Figura 8.2. Propiedades de casilla de verificacin

Figura 8.3. Form_Peliculas con casilla de verificacin


Para el campo Formato vamos a utilizar un Cuadro de Grupo para
establecer por anticipado las diferentes opciones y para que el
usuario no tenga que escribir tantas veces lo mismo. Elegimos
entonces dicho campo y al incluirlo en el formulario nos debe
aparecer un asistente (ver Figura 8.4) que nos va a guiar para
indicarnos cmo asignar el valor seleccionado en el campo Formato.

Figura 8.4. Asistente Cuadro de Grupo


En primer lugar debemos incluir los nombres de las posibles opciones
que queremos que aparezcan para el campo Formato, en nuestro
caso, DVD, VHS y CD. En la siguiente ventana (ver Figura 8.5)
del asistente podemos elegir si alguna de las tres opciones debe
aparecer por defecto

Figura 8.5. Opcin por defecto en Cuadro de Grupo


Dejamos por defecto DVD y en la siguiente ventana (ver Figura 8.6)
tenemos que asociar a cada uno de los nombres de opcin fijados en
la primera ventana del asistente el valor real que se almacenar en
dicho campo. En nuestro caso, el valor a almacenar es el mismo que
el nombre de opcin y as debemos indicarlo para cada uno de los
tres campos.

Figura 8.6. Valor asociado a cada nombre de opcin.

La siguiente ventana del asistente (ver Figura 8.7) sirve para asociar
el Cuadro de Grupo a un campo de la tabla. En nuestro caso al
campo Formato.

Figura 8.7.Campo asociado al cuadro de grupo


Para finalizar, la ltima ventana del asistente (ver Figura 8.8) permite
ponerle un nombre al cuadro.

Figura 8.8. Nombre del cuadro de grupo

Si hemos realizado todos los pasos correctamente, nuestro formulario


debe tener un aspecto similar al de la Figura 8.9.

Figura 8.9. Form_Peliculas con cuadro de grupo


Para el campo Genero vamos a aprovecharnos de las ventajas de
haber utilizado relaciones entre tablas de forma que slo se puedan
incluir los gneros que estn en la tabla Generos. Para ello vamos a
utilizar la opcin Campo de lista que, nada ms elegirla, nos abre un
asistente como el que se muestra en la Figura 8.10.

Figura 8.10. Seleccin de la tabla para el contenido del cuadro de lista.


En dicho asistente se nos va a permitir elegir el contenido del cuadro
de lista a partir del contenido de alguna tabla, en nuestro caso
Generos, y, dentro de la tabla elegida, debemos seleccionar el campo
que queremos que se muestre, en este caso el campo Nombre (ver
Figura 8.11).

Figura 8.11. Seleccin del campo a mostrar en cuadro de lista.


Por ltimo, debemos indicar qu campo tienen en comn la tabla
principal del formulario Peliculas con la tabla del cuadro de lista
Generos; es decir, debemos especificar el campo a partir del cul
hemos construido la relacin entre ambas tablas. Dicho campo era
Genero en Peliculas e Id_genero en Generos (ver unidad 4 del curso) y
as hay que indicarlo en la ltima ventana del asistente (ver Figura
8.12).

Figura 8.12. Seleccin del campo comn entre tabla del formulario y tabla del cuadro de
lista
Para finalizar este formulario le aadimos una etiqueta descriptiva
delante del cuadro de lista creado para el gnero. Nuestro formulario
en ejecucin debe verse como el de la figura 8.13.

Figura 8.13. Vista de Form_Peliculas en ejecucin

Creacin de formulario con


subformularios en OpenOffice Base
En este apartado vamos a crear un formulario que permita relacionar
los intrpretes con las pelculas en las que ha participado y al que
llamaremos Form_Protagonistas.

Figura 8.14. Creacin de Form_Protagonistas asociado a tabla Protagonistas


Para comenzar, seguimos los pasos iniciales que vimos en la unidad
anterior. As, primero seleccionamos Crear un nuevo formulario en
vista Diseo, luego abrir el Navegador de formularios y, por
ltimo, crear un nuevo formulario llamado Form_Protagonistas
asociado a la tabla Protagonistas (ver Figura 8.14).
Como sabemos, la tabla Protagonistas slo contiene los
identificadores de los intrpretes y los identificadores de las pelculas
que estn relacionadas. Por tanto, sera un poco complicado, al
utilizar este formulario, tener que recordar el identificador de cada
uno en el momento de ver los protagonistas o insertar nuevas
interpretaciones.
Para solucionar esto nos vamos a valer de nuevo de los cuadros de
lista para poder ver el ttulo de las pelculas y los apellidos y el
nombre de cada interpretacin en lugar de simplemente los
identificadores.
Vamos a empezar introduciendo en nuestro formulario el ttulo de las
pelculas; para ello, seleccionamos un nuevo cuadro de lista, donde
debemos indicar que el contenido es el de la tabla Peliculas, que el
campo que queremos que se muestre es el ttulo y que las tablas
Peliculas e Interpretes tienen en comn el campo Id_pelicula y

Pelicula, respectivamente. Junto con este cuadro debemos incluir una


etiqueta delante llamada Ttulo.
Debajo del ttulo vamos a incluir el nombre y apellidos de los
intrpretes. Debido a que son dos campos diferentes, necesitamos
dos cuadros de lista distintos, uno para el campo Nombre y otro para
el campo Apellidos, y en ambos casos se utilizarn los campos
Id_Interprete de Interpretes e Interprete de Protagonistas como
enlace entre ambas tablas. Si adems activamos el Navegador de
formulario, Form_Protagonistas debe verse como en la Figura 8.15.

Figura 8.15. Form_Protagonistas con ttulo, apellidos y nombre


En ejecucin, podemos ver que este formulario (ver Figura 8.16) nos
muestra y nos permite insertar las distintas interpretaciones de una
forma mucho ms amigable que a travs de la tabla Protagonistas
directamente.

Figura 8.16. Form_Protagonistas en ejecucin


Vamos a hacer an ms intuitivo este formulario haciendo que, cada
vez que nos movemos entre los distintos registros, nos muestre todos
los intrpretes asociados a esa pelcula y todas las pelculas del
intrprete seleccionado. Para ello, vamos a necesitar utilizar
subformularios, que no son ms que formularios construidos sobre
otras tablas o consultas distintas a la asociada al formulario principal.
Vamos a empezar creando un subformulario que nos muestre todos
los intrpretes de la pelcula seleccionada. Para empezar, abrimos el
navegador de formulario y teniendo seleccionado Form_Protagonistas

le indicamos que queremos crear un nuevo formulario llamado


Subform_Interpretes (ver Figura 8.17).

Figura 8.17. Subformulario Subform_Interpretes creado


A continuacin, en las pestaa Datos de las propiedades del
subformulario debemos indicar varias opciones. Primero, en Tipo de
contenido vamos a poner Consulta y en Contenido indicaremos la
consulta ConsultaTotal (ver Figura 8.18) que creamos en la unidad 6.
Por qu utilizamos esta consulta en lugar de la tabla Interpretes?
Porque dada la pelcula seleccionada en Form_Protagonistas se quiere
ver todos sus intrpretes; es decir, se necesita algo que contenga
tanto la informacin de las pelculas como la de los intrpretes de una
sola vez y dicha informacin slo la tiene la consulta ConsultaTotal.

Figura 8.18. Subfomulario con el contenido de ConsultaTotal


Con esto no hemos terminado, sino que tenemos que indicar el
vnculo que existe entre el formulario principal y el subfomulario
creado. Para ello, sin salir de la pestaa Datos, nos vamos a
cualquiera de los iconos en forma de puntos suspensivos que aparece
a la derecha de las opciones Vinculacin de o Vinculacin con
y hacemos clic con el ratn. Se nos despliega una ventana como
la de la Figura 8.19 donde debemos indicar por qu campos vamos a
relacionar ambos formularios.

Nosotros queremos conseguir que, dada una pelcula seleccionada en


el formulario principal, se muestren sus intrpretes en un
subformulario. Es decir, si, por ejemplo, tenemos seleccionada la
pelcula La Comunidad del Anillo, cuyo identificador es el valor 5,
entonces, slo nos interesarn aquellos intrpretes de ConsultaTotal
cuyo valor para Id_pelicula sea 5 (Viggo Mortensen y Liv Tyler),
lo que podemos obtener vinculando ambos formularios utilizando el
campo Pelicula de Protagonistas junto con el campo Id_pelicula de
ConsultaTotal. De esta manera, en el subformulario slo aparecern
aquellas filas de ConsultaTotal cuyo valor para Id_pelicula sea el
mismo que el valor Pelicula en Protagonistas.

Figura 8.19. Vinculacin entre el formulario y el subformulario


Ahora slo nos falta elegir un campo de control que permita mostrar
en el subformulario los datos que queramos de los intrpretes. El ms
adecuado para mostrar toda la informacin de una vez es el campo
Control de tablas. Lo seleccionamos y lo incluimos en nuestro
formulario, de forma que nos aparece un asistente (ver Figura 8.20)
donde podemos elegir los campos de ConsultaTotal que queremos
que se muestren, en este caso, Apellidos, Nombre y Nacionalidad.

Figura 8.20. Seleccin de campos a mostrar en la tabla


Si aadimos una etiqueta descriptiva al subformulario y lanzamos el
formulario deberamos ver algo parecido a lo que muestra la Figura
8.21.

Figura 8.21. Form_Protagonitas con todos los intrpretes de una pelcula


Para finalizar, vamos a aadir un segundo subformulario que permita
que se muestren las pelculas en las que aparece el intrprete que
figura en el formulario principal.
Como para el primer subformulario, de nuevo abrimos el navegador
de formulario y teniendo seleccionado Form_Protagonistas le
indicamos que queremos crear un nuevo formulario llamado
Subform_Peliculas.
Ahora, en las pestaa Datos de las propiedades del subformulario,
volvemos a indicar en el tipo de contenido la opcin Consulta y en
contenido indicaremos la consulta ConsultaTotal, pero ahora el vnculo
entre ambos formulario lo vamos a establecer entre el campo
Interprete de Protagonistas junto con el campo Id_interprete de

ConsultaTotal (ver Figura 8.22). Es decir, en este subformulario slo


queremos que aparezcan aquellas filas de ConsultaTotal cuyo valor
para Id_interprete sea el mismo que el valor Interprete en
Protagonistas.

Figura 8.22. Propiedades del subformulario Subform_Peliculas


Tambin esta vez, para mostrar las pelculas del intrprete
seleccionado, vamos a incluir un campo Control de Tabla en el
nuevo subformulario con los campos Titulo, Director, Ao, Formato,
Visionada y NombreGenero (ver Figura 8.23).

Figura 8.23. Campos a incluir en tabla de subformulario Subform_Peliculas


Para terminar, aadimos la etiqueta que describe el subformulario y
una vez lanzado el formulario que acabamos de construir debera ser
parecido al de la Figura.8.24.

Figura 8.24. Form_Protagonistas en funcionamiento.

Crear un formulario de base de datos


Las bases de datos se usan para almacenar datos. Pero, cmo se aaden los datos a la base
de datos? Para eso se usan los formularios. En el lenguaje de bases de datos, un formulario es
una interfaz para introducir y editar datos.

Figura : Campos de un formulario simple

Figura : Formulario simple con aadidos

Un formulario simple consiste en una serie de campos de una tabla (ver imagen). Otros
formularios ms complejos pueden contener muchas ms cosas, incluyendo texto adicional,
grficos, cajas de seleccin y muchos otros elementos. La est hecha a partir de la misma tabla
con una etiqueta (Gastos de combustible), una lista de seleccin colocada en la forma de pago
y un grfico de fondo.

Usar el asistente para crear un formulario


Usaremos el Asistente para formularios para crear un formulario Vacaciones, el cul contendr
un formulario y un subformulario.
En la ventana principal de la base de datos (ver imagen), pulse el icono Formularios en la
columna de la izquierda. En la lista de tareas, haga doble clic en Usar el asistente para crear
formulario para abrir el Asistente para formularios (ver imagen). Los formularios simples
necesitan solo algunos de estos pasos, mientras que los formularios ms complejos puede que
usen todos.

Paso 1: seleccione campos


1.- En Tabla o consulta seleccione Tabla: Vacaciones. La seccin Campos
disponibles muestra una lista de los campos de la tabla Vacaciones.
2.- Pulse la doble flecha de la derecha para mover todos los campos hacia la
lista Campos del formulario. Haga clic en Siguiente

Figura : pasos del Asistente para formularios

Paso 2: configurar un subformulario


Dado que ya hemos creado una relacin entre las tablas Combustible y Vacaciones,
usaremos esa relacin. Si no se hubieran definido relaciones se podra hacer en el
paso 4.
1.- Haga clic en la caja etiquetada Agregar subformulario.
2.- Pulse en Subformulario basado en relacin existente.
3.- El campo Combustible aparece en la lista de relaciones para agregar, as que pulse
en el nombre para resaltarlo, como en la . Haga clic en Siguiente.

Figura : aadir un subformulario

Paso 3: aadir campos a un subformulario


Este paso es exactamente igual que el paso 1. La nica diferencia es que
en el subformulario no se usan todos los campos.
1.- Combustible aparece preseleccionado en Tabla o consulta.
2.- Utilice el botn >> para mover todos los campos a la derecha.
3.- Pulse en el campo IdCombustible para resaltarlo.
4.- Utilice el botn < para mover el campo IdCombustible hacia la izquierda (ver
imagen).
5.- Pulse Siguiente.

Figura : seleccionar campos de un subformulario

Paso 4: obtener campos


combinados
Este paso es para tablas o consultas en las que no
se ha definido una relacin. Como nosotros ya
habamos definido la relacin, el asistente ignora
este paso.

Es posible crear una relacin entre dos tablas basad


de campos. En la Gua de Base.Cmo se explica cm
hace

Cuando se seleccionan un par de campos de dos ta


una relacin, stos tienen que ser del mismo tipo. P
campo Fecha de ambas tablas: ambos son del tipo F

Independientemente de que se seleccione uno, dos o ms pares d


para la relacin, es necesario que cumplan algunos requisitos par
funcione.

Ningn campo del subformulario debe se

de su tabla (no se puede usar IDCombus

Cada par de campos combinado debe se

Uno de los campos del formulario princip


primaria (se debe usar Fecha).

Paso 5: organizar los campos de


control
Cada control en un formulario consiste en dos
partes: etiqueta y campo. En este paso de la
creacin del formulario se determina dnde se
colocan las etiquetas en relacin con los campos.
Las cuatro posibilidades, de izquierda a derecha
son En columnasEtiquetas a la izquierda, En
columnasEtiquetas arriba, Como hoja de
datos y En bloques-Etiquetas arriba.
1.- Disposicin del formulario principal: pulse el segundo icono (En columnas
Etiquetas arriba). Las etiquetas se colocarn encima de sus campos

2.- Disposicin del subformulario. Pulse el tercer icono Como hoja de datos (las
etiquetas son las cabeceras de columna y los datos de los campos estn en formato de
hoja de clculo). Pulse Siguiente.

Paso 6: control de los datos


introducidos
A menos que necesite activar alguna de
estas opciones, acepte los ajustes por
defecto. Haga clic en Siguiente.

Paso 7: aplicar estilos


1.- Seleccione el color que desee en la lista Aplicar estilos (He elegido el beige, que es
Naranja 4 en la Tabla de colores).
2.- Seleccione el borde de campo que prefiera (He elegido 3D. Quiz usted podra
experimentar con los diferentes ajustes posibles).
3.- Pulse Siguiente.

Paso 8: establezca
un nombre
1.- Introduzca el nombre para el formulario. En este caso, es Combustible.
2.- Pulse Modificar el formulario.
3.- Haga clic en Finalizar. El formulario se abre en modo de Edicin.

Modificar
un
formulario
Vamos a mover
los controles a
lugares diferente
en el formulario y
a cambiar el
fondo por una
imagen. Tambin
modificaremos la
etiqueta del
campo
FormaPago y
tambin
cambiaremos el

campo a cuadro
de lista.
Primero tenemos
que decidir qu
es lo que vamos
a cambiar. La
explicacin
seguir este
esquema de los
diez puntos que
planeamos
cambiar.
1.- Proporcionar la funcionalidad de lista desplegable para el campo Fecha del
formulario principal y alargarlo para que muestre el da de la semana, el da, el mes y el
ao.
2.- Acortar la longitud de los campos de pago (todos los campos que contienen la
palabra Pago).
3.- Colocar los controles en grupos: comida, subformulario de combustible y
miscelneos.
4.- Cambiar las palabras de algunas etiquetas. Algunas palabras se convertirn en dos.
Si es posible, use algunas abreviaturas (misc. por miscelneos).
5.- Cambiar la longitud de varios campos y etiquetas. Solamente algunos campos
tienen una longitud aceptable, pero para conseguir mejor aspecto, tambin se la
modificaremos.
6.- Sustituir todos los campos cuya etiqueta termine en Pago por un cuadro de lista que
contenga las entradas de la tabla Tipo pago.
7.- Aumentar verticalmente el tamao del campo Notas, aadirle una barra deslizante y
moverlo.
8.- Hacer cambios en las columnas Fecha y FormaPago del subformulario de modo
similar a los cambios realizados en el formulario principal.
9.- Aadir encabezados a cada grupo del formulario principal.
10.- Cambiar el fondo por una imagen, para luego modificar algunas etiquetas para que
se puedan leer claramente. Cambiar el color del tipo de letra (fuente) de las cabeceras.
Vamos a ver ahora algunos mtodos que usaremos en estos pasos. Los controles en el
formulario principal estn formados por un campo y su etiqueta. Unas veces querremos trabajar
con el control completo, otras slo con la etiqueta o con el campo, y otras, con un grupo de
controles.

Al pulsar un campo o una etiqueta, el control completo queda seleccionado.


Aparece un borde alrededor del control con ocho puntos de control verde (ver
imagen). Ahora puede arrastrarlo a donde quiera.

Figura : un control seleccionado

Al hacer clic sobre una etiqueta manteniendo pulsada la tecla

Ctrl , slo se

selecciona la etiqueta o el campo (ver imagen). Puede pulsar la tecla

Tab

para cambiar la seleccin del campo a la etiqueta o de la etiqueta al campo.

Figura : seleccionar un campo de un control

Mover un grupo de controles es casi tan fcil como mover uno solo.

10.1.- Pulse el punto de control superior izquierdo de los campos que desea mover
para seleccionarlo.
10.2.- Mueva el cursor un poco por encima y a la izquierda del campo seleccionado.
10.3.- Arrastre el cursor hasta la parte inferior derecha del grupo de controles y suelte
el botn del ratn.
A medida que arrastre el cursor, un rectngulo con borde de lneas indicar qu partes estn
incluidas en la seleccin. Asegrese de que es lo suficientemente grande como para incluir
totalmente todos los controles.
Cuando suelte el botn del ratn, aparecer alrededor de los controles seleccionados un borde
con los puntos de control verdes.

Figura : seleccionar mltiples controles

Mueva el cursor por encima de uno de los campos. El puntero cambiar a un icono de arrastrar.
Mueva el grupo de controles a donde quiera.

Al cambiar el tamao o mover un control, debera seleccionar dos propiedades de la barra de


herramientas Diseo de formulario: Usar cuadrcula y Guas al desplazar. Podr alinear los
controles mejor y las lneas gua de lo que est moviendo se movern a medida que mueva el
cursor. Debera tener tambin las dos reglas activas (Ver > Regla)

Paso 1: cambiar el campo Fecha


1.- Haga clic sobre el campo Fecha mientras mantiene pulsada la tecla

Ctrl para

seleccionarlo.
2.- Mueva el cursor sobre el punto de control verde central del lado derecho. El cursor
cambiar a la forma de una doble flecha.
3.- Mantenga pulsado el ratn mientras arrastra el cursor hacia la derecha hasta que la
longitud sea de 6 cm. La lnea vertical de puntos queda alineada con el 6. Suelte el
botn del ratn.
4.- Pulse el icono Control de la barra de herramientas Controles de formulario (ver
imagen). Aparecer la ventana Propiedades: Campo de fecha. Cada lnea contiene una
propiedad del campo.

Figura : barra de herramientas Controles de formulario

Desplcese hasta Formato de fecha. Ver una lista desplegable con el valor
predeterminado Estndar (corto). Pulse para desplegar la lista y
seleccione Estndar (largo).

Desplcese hasta Desplegable y haga clic. Se abrir otra lista desplegable cuyo
valor predeterminado es No. Seleccione S.

Para ver el aspecto del campo Fecha, pulse el icono Modo diseo
On/Of (el segundo icono por la izquierda en la ). Puede hacer esto en
cualquier momento para ver el formulario con los cambios que haya
realizado

Paso 2: reducir el ancho de algunos campos


Todos los campos cuya etiqueta contenga la palabra Pago son demasiado anchos. Hace falta
estrecharlos antes de mover el control.
1.- Pulse y mantenga la tecla Ctrl en el campo APago (ver imagen).

Figura : seleccionar un campo

2.- Mueva el cursor sobre el punto de control central de la derecha. El cursor se


convertir en una flecha doble.
3.- Arrastre el cursor hasta que el campo tenga 2,5 cm de ancho.
Si ha seleccionado los iconos Usar cuadrcula y Guas al desplazar en la barra
de herramientas Diseo de formulario, ver el tamao del campo a medida
que lo acorte

4.- Repita estos pasos para acortar los siguientes campos: TPago, DPago,
CPago,TPago, MPago y MiscPago.

Paso 3: mover los controles para agruparlos por categoras


Queremos que los controles aparezcan como en la imagen.

Figura : posicin de los controles

1.- Pulse en el primer control que quiera mover. Alrededor del control aparece un borde
con ocho puntos de control verdes.
2.- Mueva el cursor sobre la etiqueta o el campo del control. El cursor cambia a la
forma de icono de arrastrar.
3.- Arrastre el control y sultelo donde quiera.

No pulse la tecla

Ctrl mientras mueve un campo, ya que slo mover el

campo o la etiqueta, pero no ambos a la vez. Para mover ambos pulse una
vez y arrstrelos al punto deseado

4.- Utilice el mismo procedimiento para mover el resto de los controles a su sitio.

Paso 4: cambiar el texto de las etiquetas


Los nombres de los campos suelen estar compuestos por una sola palabra. Sin embargo, las
etiquetas de un campo de un formulario pueden tener ms de una palabra, por lo que las
modificaremos editando su texto.

El asistente para tablas en Base sugiere nombres de campos de una sola


palabra formada por la composicin de dos trminos independientes. Los
nombres de las tablas a veces tambin se construyen de ese modo. De
cualquier forma usted puede usar varias palabras en el nombre de un campo,
en una etiqueta o en una tabla. Eso es lo que haremos cuando creemos unos
cuadros de lista para cada control tipo de pago.

1.- Mantenga pulsada la tecla Ctrl y haga clic sobre la etiqueta NmTapas.
Despus, elija una de estas acciones:

Pulse con el botn derecho del ratn y seleccione Campo de control en el men
contextual.

O pulse el icono Control en la barra de herramientas Controles de formulario (ver


imagen).

2.- El dilogo que aparece tiene la etiqueta Propiedades: Campo de etiqueta y contiene
todas las propiedades de la etiqueta seleccionada.

En el campo Ttulo edite el contenido y cmbielo a Nm. Tapas.

Cierre el dilogo de Propiedades.

3.- Utilice el mismo procedimiento para cambiar tambin las siguientes etiquetas:
DPago por Pago, APago por Pago, CPago por Pago, Miscelneos por Misc.,
CosteTapas por Coste Tapas, MPago por Pago, MiscPago por Misc. Pago, MiscNotas
por Misc. Notas.

Puede modificar todos los campos de la lista de la ventana Propiedades.


Por ejemplo, si cambia la alineacin de izquierda a centro, las palabras que
haya se centran en la etiqueta. Cuando tenga tiempo, quiz quiera
experimentar con las diferentes propiedades simplemente para ver los
resultados que obtiene

Paso 5: cambiar el ancho de las etiquetas y de los


campos
Queremos que los siguientes controles tengan 2 cm de ancho: Desayuno,
Almuerzo, Cena, Cuentakilmetros, Nm. Tapas, Peaje, Coste Tapas,
Motel y Misc. En el paso 2 se modificaron todos los campos de pago,
pero necesitamos cambiar el tamao del campo Misc. Pago a 3 cm.
1.- Pulse con el botn derecho en Desayuno y seleccione Posicin y tamao. En la
ventana Posicin y tamao, cambie Ancho a 2 cm.
2.- Repita esto mismo para los otros campos mencionados, usando 3 cm para Misc.
Pago.

Al cambiar la posicin o tamao de un control completo, use el di


Posicin y tamao o el mtodo de arrastrar y soltar.

Cuando trabaje con el campo o con la etiqueta (pero no con los dos al mismo tiem
usar el dilogo Propiedades para hacer estos cambios si necesita precisin. Sin em
tiene que tener cuidado de no seleccionar accidentalmente el control entero si va a
dilogo Propiedades ya que aplicara exactamente los mismos valores para la etiqu
el campo. Por ejemplo, si introduce los valores para una nueva posicin, tanto el c
la etiqueta se movern exactamente a la misma posicin y el campo estar encima
etiqueta. Entonces tendr que mover cada uno de ellos a su posicin correcta

Para abrir la ventana Propiedades, pulse con el botn derecho sob


control y seleccione Control en el men contextual. O puede pulsa
icono Control de la barra de herramientas Controles de formulario
cuidado y use

Control + Z para deshacer los errores que ha

podido cometer. En la Gua de Base tendr instrucciones detallad


cmo utilizar la ventana Propiedades

Paso 6: sustituir campos con otros campos


Queremos sustituir el campo TipoPago por una Lista desplegable. De este modo podemos
escoger el tipo de pago de la tabla Tipo Pago en vez de tener que escribirlo manualmente. En
mi caso cada tipo de pago comienza por una letra diferente. Si yo escribo la primera letra del
tipo de pago, el resto de la palabra aparece automticamente. Entonces puedo cambiar al
campo siguiente.
1.- Mantenga pulsada la tecla Ctrl mientras hace clic sobre el campo Pago de
Desayuno. Los puntos de control verde aparecen alrededor del campo pero no
alrededor de la etiqueta (ver imagen).

Figura : seleccionar un campo de un control

2.- Pulse con el botn derecho dentro de los puntos de control verdes y
seleccione Reemplazar por > Campo combinado
3.- Pulse el icono Control en la barra de herramientas Controles de formulario para
abrir la ventana Propiedades: Campo combinado.
4.- En la pestaa General, desplcese hacia abajo hasta seleccionar Desplegable y
cambie el valor No por S.

Figura : lista desplegada para mostrar las opciones

5.- Pulse sobre la pestaa Datos.

Tipo de contenido de lista es una lista desplegable. Cmbielo a Sql.

Figura : lista desplegable Tipo del contenido de la lista

En Contenido de lista escriba exactamente lo siguiente:


SELECT "Tipo" "Tipo" FROM "Tipo pago"

Figura : contenido de la lista para campos Pago

Lo que acaba de escribir se llama un comando SQL. Las


palabras SELECT y FROM estn escritas en maysculas porque so
comandos. Cuando se usa el comandoSELECT se requiere un nom

campo entre comillas y el alias del campo, tambin entre comillas


este caso el campo y su alias son iguales. El comandoFROM requi
nombre de la tabla que contiene el campo. No es necesario poner
en nombres de tabla de una sola palabra, pero hay que ponerlas
nombre tiene ms de una palabra

Repita estos pasos para los campos pago de Almuerzo, Cena, Motel, Tapas y Misc.
El formulario debera quedar como se ve en la , una vez colocados los controles.
Tambin se ve cmo queda el control Nota con los cambios que explicaremos en el
paso siguiente.

Cierre la ventana Propiedades.

<center>Figura : posicin de los controles en el formulario


principal
</center>

Paso 7: cambiar el campo Misc. Notas


Queremos que el control Misc. Notas, que es un campo de
tipo memo, tenga una barra de desplazamiento vertical, para
tener espacio adicional para el texto si lo deseamos.
1.- Mantenga pulsada la tecla Ctrl y haga clic sobre el campo Misc. Notas . Los
puntos de control verdes rodearn el campo pero no su etiqueta.

2.- Pulse sobre el icono Control para abrir la ventana Propiedades (ver imagen).
3.- Desplcese hasta la configuracin de Barras de desplazamiento. Cambie el valor
de Ninguna a Vertical en el cuadro combinado. El valor Tipo de texto debera esta
enMltiples lneas.

Figura : seleccin de la barra de


desplazamiento en la ventana Propiedades

4.- Cierre la ventana Propiedades.


5.- Agrande el campo Misc. Notas moviendo el cursor sobre el punto de control central
en la parte inferior del campo y arrastrndolo hacia abajo hasta que su tamao sea de
4 cm.

Paso 8: cambiar las etiquetas y los campos en el subformulario


El subformulario est situado en la parte inferior del formulario. Queremos ensanchar la
columna Fecha, cambiar el campo en la columna FormaPago a un Campo combinado y
cambiar la etiqueta de la columna FormaPago a dos palabras.
Mueva el cursor sobre la lnea divisoria entre las columnas Fecha y CosteCombustible para
ensanchar la columna Fecha. Cuando el cursor cambie, pulse y arrstrelo para mover la lnea
divisoria a la derecha.
Para cambiar la columna FormaPago:

1.- Haga clic con el botn secundario en la etiqueta FormaPago y en el men


seleccione Reemplazar por > Campo combinado.
2.- Vuelva a hacer clic con el botn secundario sobre la etiqueta FormaPago para abrir
el men y seleccione Columna para abrir la ventana Propiedades (ver imagen)
3.- En la caja Ttulo, cambie FormaPago a Forma Pago.
4.- Pulse la pestaa Datos.
5.- En el campo Tipo del contenido de lista, seleccione Sql.
6.- Escriba exactamente lo siguiente:

SELECT "Tipo", "Tipo" FROM "Tipo pago"


7.- Cierre la ventana Propiedades.

Figura : ventana Propiedades de un control en un subformulario

Paso 9: aadir encabezados a los grupos


Este paso es ms fcil de hacer si tiene visibles los marcadores
de fin de prrafo. Seleccione Ver > Caracteres no
imprimibles para mostrarlos.

1.- Asegrese de que el cursor est en la esquina superior izquierda. Si no, pulse esa
esquina para moverlo.
2.- Pulse la tecla Enter para mover el cursor hacia abajo hasta el espacio entre
los campos Fecha y Desayuno.
3.- En el campo combinado Cambiar estilo cambie Predeterminado por Encabezado 2.

Figura : lista desplegable Cambiar estilo

4.- Utilice la barra espaciadora para mover el cursor a donde desee que comience el
encabezado.
5.- Escriba el encabezado Comidas.
6.- Use la barra espaciadora para mover el cursor al centro del rea tapas.
7.- Escriba el encabezado Tapas.
8.- Utilice la tecla Enter para mover el cursor entre el control Cena y el
subformulario.
9.- Utilice la barra espaciadora para mover el cursor al centro del formulario.
10.- Escriba Datos de combustible.

Si sabe c

y format

botn se
modifica
captulo

Paso 10: cambiar el fondo del formulario


El fondo del formulario puede ser un color o un grfico (imagen). Puede usar cualquier color de
la Tabla de colores en Herramientas > Opciones > OpenOffice.org > Colores. Si sabe cmo
crear colores personalizados, puede usarlos. Tambin puede utilizar una imagen como fondo.
Si elige un fondo oscuro, puede necesitar cambiar muchas de las etiquetas y encabezados
para que puedan verse.
1.- Seleccione las etiquetas de la fila superior de controles.
1.1.- Mantenga pulsada la tecla Ctrl y haga clic en la etiqueta Fecha.

1.2.- Mientras mantiene pulsadas las teclas Shift + Ctrl , haga clic en el resto
de las etiquetas de la fila superior. El borde va aumentando hacia la derecha hasta que
incluye todas las etiquetas.

Figura : seleccionar mltiples etiquetas a la vez

1.3.- Pulse el icono Control en la barra de herramientas Diseo de formulario para abrir
el dilogo Propiedades.
1.4.- Cambie la seleccin Color de fondo de Predeterminado a Turquesa claro. Cierre el
dilogo Propiedades.
2.- Seleccione las otras etiquetas del mismo modo y cambie su color de fondo.
3.- Para cambiar el color del tipo de letra (fuente) de los encabezados:
3.1.- Abra Estilo y formatos usando la tecla F11 . Asegrese de que est
seleccionado el icono Prrafo en el extremo izquierdo de los iconos de la .

Figura : ventana de estilos y formato

3.2.- Pulse con el botn derecho en el estilo Encabezado 2 para abrir el men
contextual y elija Modificar en este men.
4.- En la ventana Estilo de prrafo: Encabezado 2 pulse la pestaa Efectos de fuente.
Cambie Color de la fuente de Automtico a Turquesa claro.
5.- Pulse Aceptar para cerrar la ventana.

A veces puede ser muy til aprender a usar los estilos. Mediante el us
estilos hemos cambiado el color del tipo de letra (fuente) de los tres
encabezados al mismo tiempo. Hay otros mtodos para cambiar el co
pero requieren repetir el mismo paso para cada uno de los encabezad

6.- Para aadir un grfico de fondo:


7.- Pulse en el fondo y seleccione Pgina en el men contextual.
8.- En la ventana Estilo de pgina, pulse la pestaa Fondo, cambie
de Color a Grfico en la lista desplegable Como.
9.- Haga clic en Navegar para buscar y seleccionar el archivo grfico que quiera usar y
pulse Abrir.
10.- En la seccin Tipo de la pestaa Fondo, seleccione rea.
11.- Seleccione Aceptar para cerrar la ventana.
El formulario debera parecerse al de la
imagen.

Figura : el formulario terminado

Paso 11: cambiar el orden de tabulacin


La tecla

Tab mueve el cursor de un campo a otro. Esto es mucho ms fcil que pulsar en

cada campo para introducir los datos. Tambin nos permite agrupar nuestros gastos en reas
antes de comenzar a introducir datos. Por ejemplo, todos nuestros recibos de comidas pueden
agruparse, as como nuestras tapas y nuestros gastos en combustible.
1.- Mantenga pulsada la tecla Ctrl y haga clic en el campo fecha.
2.- Pulse el icono Diseo de formularios en la barra de herramientas Controles de
formulario para abrir la barra de herramientas Diseo de formulario (ver imagen), o
seleccione Ver > Barras de herramientas > Diseo de formulario para abrirla.
3.- Pulse el icono Secuencia de activacin (rodeado en rojo).

Figura : barra de herramientas Diseo de formulario con el icono Secuencia de


activacin marcado

4.- Reorganice los campos en la ventana Orden de tabuladores.


4.1.- Busque fmtMiscelneos y plselo.
4.2.- Pulse el botn Desplazar hacia arriba hasta que est justo debajo de fmtPeaje.
4.3.- Repita los pasos para poner los campos en el mismo orden que se muestra en la
figura . Pulse Aceptar.

Figura : orden de tabuladores del formulario principal

5.- Guarde y cierre el formulario.


6.- Guarde la base de datos.

Vamos a ver ahora


algunos mtodos qu
usaremos en estos
pasos. Los controle
el formulario princip
estn formados por
campo y su etiqueta
Unas veces querrem
trabajar con el contr

completo, otras slo


la etiqueta o con el
campo, y otras, con
grupo de controles.

Al pulsar un campo o una etiqueta, el control completo queda seleccionado.


Aparece un borde alrededor del control con ocho puntos de control verde (ver
imagen). Ahora puede arrastrarlo a donde quiera.

You might also like