You are on page 1of 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

1.- INTRODUCCIN.
Un formulario es un tipo de objeto de una base de datos que nos va a permitir visualizar el contenido de una tabla con un diseo personalizado. Por medio de ellos podremos trabajar de una forma ms vistosa y cmoda con los datos de las tablas y las consultas de la base de datos. Al seleccionar el objeto Formularios desde la Ventana de la Base de datos se visualizan las dos formas diferentes de crear un formulario. Ver la figura.

Existen 2 formas de crear formularios: Usar el asistente para crear formulario. Crear formulario en vista Diseo.

1 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

2.- USAR EL ASISTENTE PARA CREAR UN FORMULARIO.


Este es el camino ms sencillo para crear formularios. Se trata de ir respondiendo a las preguntas formuladas en las diferentes pantallas que se irn abriendo. Se crear un formulario basado en las respuestas proporcionadas. Elegimos la opcin: Usar el asistente para crear formulario ... de la pantalla de la Base de datos. Al elegir esta opcin el diseo del formulario seguir los siguientes pasos: Paso 1: desplegamos la lista Tabla/Consultas y elegimos la tabla o consulta sobre la que trabajar el formulario. Una vez elegida la tabla aparecen en el panel de la izquierda los campos de la tabla. Con los botones del centro seleccionamos los campos deseados para el formulario. En el panel de la derecha irn apareciendo dichos campos. Hacemos clic en Siguiente. Ver la figura:

Paso 2: En este segundo paso, nos pregunta si deseamos configurar un subformulario ( es un formulario insertado en otro formulario ) en cuyo caso no vamos a hacerlo y hacemos clic en Siguiente. Ver la figura:

2 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 3: En este paso elegimos la distribucin de los campos en el formulario, es decir como se van a presentar los datos. Puede ser: en Columnas Etiquetas a la izquierda, en Columnas con Etiquetas arriba, en forma de Hoja de datos y en Bloques con Etiquetas arriba. En el ejemplo elegimos en Columnas Etiquetas a la izquierda y hacemos clic en Siguiente. Ver la figura:

3 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. Paso 4: A continuacin elegimos el Modo de Entrada de Datos, donde tenemos 2 opciones principales: Utilizar el formulario para introducir datos nuevos, en este caso, no se mostrarn los datos existentes. El formulario mostrar todos los datos, en cuyo caso, tenemos otra serie de opciones que podemos activar. Seleccionaremos la segunda opcin.

Paso 5: En este paso vamos a aplicar un estilo al formulario. Base proporciona una lista de posibles estilos. Debajo de dicha ventana se ve como queda el estilo seleccionado. Elegimos el estilo Azul brillante, y hacemos clic en Siguiente. Ver la figura:

4 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 6: Por ltimo, debemos de asignar un nombre al formulario. Por defecto coge el nombre de la tabla, dejamos ese nombre. Tambin se puede abrir la ventana de diseo y modificar el formulario eligiendo el segundo botn de opcin Modificar el formulario o dejar marcada la primera opcin Trabajar con el formulario como haremos en este caso. A continuacin, hacemos clic en Finalizar. Ver la figura:

Paso 7: Por ltimo, se ejecuta el formulario para ver o introducir informacin, ( en este caso referente a la

5 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. tabla CLIENTES ). Ver figura:

3- CREAR UN FORMULARIO EN VISTA DISEO.


Si elegimos esta opcin, lo creamos manualmente. Se abre la ventana de diseo y el cuadro de herramientas donde estn los controles que se pueden insertar en el formulario. Ver la figura que se muestra:

6 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Si los Campos del control del formulario no aparecen, hacemos clic en VerBarra de herramientas Campos de control del formulario en donde tenemos los botones ms utilizados para el diseo de un formulario, que son los siguientes: Seleccin: Activa / Desactiva el modo Seleccin, que permite seleccionar cualquiera de los campos que tenemos insertados en el formulario. Modo Diseo: Activa / Desactiva el Modo Diseo, el cual permite activar el formulario para introducir elementos en l o bien desactivarlo, en cuyo caso no se podrn insertar elementos. Check Box ( Casilla de Verificacin ): se utiliza cuando se quiere guardar un Si o un No. Campo de Texto: inserta un cuadro de texto. Campo Formateado: permite insertar un campo formateado. Botn: inserta un botn que ejecutar una accin determinada. Option Button ( Botn de opcin ): se utiliza cuando hay que elegir un valor entre un grupo de valores. Listado: permite listar un conjunto de valores.

7 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. Combo Box ( Cuadro combinado ): para elegir un elemento de una lista de ellos desplegndola. Campo de Etiqueta: inserta una etiqueta en el formulario. Ms Campos de Control: permite ver ms campos de control que pueden ser tiles en la creacin del formulario. Ejemplo de aplicacin: Disear un formulario para trabajar con los datos de la tabla CATEGORIAS. La apariencia del formulario se muestra en la siguiente figura: Paso 1: Abrir la base de datos. Paso 2: Seleccionar Formularios de la barra de Objetos y elegir la opcin Crear un formulario en vista Diseo. Paso 3: Hacer clic en el botn Guardar y dar un nombre al formulario, por ejemplo FormCategorias. Paso 4: Ya en la ventana de diseo hacer clic en el botn Campo de Etiqueta, hacer clic en el formulario y dibujar un recuadro indicando el tamao de la etiqueta.

8 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. Paso 5: Una vez establecida, seleccionar el Campo Etiqueta puesto en el formulario y cambiar el tipo de letra a Bitstream Vera Sans Mono, elegir de tamao 18 y poner negrita. Para cambiar el tipo de letra, tamao y negrita, seleccionamos el Campo Etiqueta y hacemos clic en el botn derecho del ratn, para que nos aparezca un men contextual con una serie de opciones, dentro de las cuales elegimos Campo de Control ... , visualizndose la siguiente pantalla, que hace referencia a las propiedades del Campo Etiqueta y que vamos a modificar posteriormente segn nos pide dicho apartado:

En la pestaa General es donde se encuentran los campos que tenemos que modificar para que el formulario quede como se indica en el Paso 5. Paso 6: A continuacin, vamos a seguir insertando elementos en nuestro formulario. Una vez introducido el ttulo principal, vamos a introducir un nuevo Campo Etiqueta llamado Categoria: y junto a l un Campo de Texto, el cual nos va a permitir ver los nmeros de Categoras que ira asignando el sistema. Si tenemos algn problema a la hora de situar el cuadro de texto en la posicin que necesitamos se puede modificar pulsando con el botn derecho encima del Campo de texto, y en el men contextual que

9 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. aparece seleccionando en la opcin Anclaje la opcin Al carcter. Por el momento no vamos a realizar ningn tipo de modificacin sobre dichos campos, quedando como se muestra en la siguiente figura:

Paso 7: Introducimos cada uno de los restantes elementos que faltan para completar el formulario, quedando como se indica al comienzo de dicho ejercicio. Para ello ser necesario, modificar las diferentes propiedades de los elementos insertados, en este caso, solamente las propiedades de los objetos de tipo Campo Etiqueta con las siguientes propiedades: Fuente: Bitstream Vera Sans Nomo Tamao: 12 Estilo: Negrita Color: Negro Paso 8: Para asignar el color de fondo deseado al formulario, hacemos clic sobre el botn derecho en un lugar libre del formulario e indicamos la opcin Pgina... , a continuacin, nos vamos a la pestaa Fondo y elegimos el color Azul 3.

10 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 9: Para ejecutar el formulario, primeramente debemos de cerrar la ventana de Diseo, y una vez que estamos en la ventana principal de la Base de Datos, seleccionamos el formulario en cuestin, en este caso FormCategorias, hacemos clic sobre el botn derecho del ratn y elegimos la opcin Abrir , la cual nos va a permitir ejecutar el formulario. Como resultado obtendremos la siguiente figura:

Paso 10: Observamos que no ocurre nada, se debe a que los Campos de Texto no tienen asociados los datos de ninguna tabla. Para que el formulario funcione hay que asociar a los elementos de texto los campos de la tabla CATEGORIAS. Paso 11: Para ello debemos volver al diseo, cerrando la ventana que contiene el formulario y regresando a la ventana principal de la Base de Datos, seleccionamos el formulario en cuestin, en este caso FormCategorias, hacemos clic sobre el botn derecho del ratn y elegimos la opcin Editar , la cual nos va a permitir manipular el formulario asociando a los diferentes Campos de Texto los campos correspondientes de la tabla CATEGORIAS.

11 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. Paso 12: En primer lugar, vamos a asociar la tabla CATEGORIAS al formulario. Para ello hay que abrir las propiedades del formulario, marcando algunos de los elementos que componen nuestro formulario y haciendo clic en el botn derecho del ratn. A continuacin se nos muestra un men contextual, del cual elegimos la opcin Formulario... . Se nos mostrar una ventana en la que podemos ver las Propiedades del Formulario, segn indica el ttulo de dicha ventana. A continuacin, como se ven en dicha figura, seleccionamos la pestaa Datos y en el campo Contenido indicamos el nombre de la tabla a la que hace referencia el formulario, en este caso, la tabla CATEGORIAS.

Paso 13: Por ltimo, nos queda asociar a cada uno de los Campos de Texto su correspondiente campo en la tabla CATEGORIAS. Para ello, seleccionamos el primer Campo de Texto haciendo doble clic sobre l, y nos aparecern las propiedades de dicho campo, como se muestra a continuacin:

12 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Como se ve en dicha figura, seleccionamos la pestaa Datos y en el primer campo seleccionamos el campo que se muestra en la figura, que hace referencia al campo Id Categoria. Procedemos de igual forma al restante campo, seleccionando en este caso el nombre respectivamente. De esta forma, ya tendremos los campos de la tabla CATEGORIAS asociados a dicho formulario. Para poder visualizarlos, lo nico que tendremos que hacer es cerrar dicho formulario y abrirlo nuevamente en modo Abrir como se ha indicado en los pasos anteriores, viendo en este caso los diferentes datos que contiene dicha tabla y pudiendo realizar algunas modificaciones, inserciones o borrado de informacin en la tabla desde dicho formulario. Se tiene que conseguir un formulario que se ver de esta forma:

13 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Para movernos entre los diferentes registros y realizar distintas operaciones sobre ellos, usaremos la barra Navegacin de Formularios que nos aparece en la parte inferior ( en la que destacan los siguientes elementos: bsqueda de registros desplazamiento entre registros insercin de nuevo registro guardar cambios registro deshacer entrada de datos eliminacin del registro actual.

14 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

4.- CREACIN DE FORMULARIOS MAESTRO/DETALLE CON EL ASISTENTE.


Este tipo de formularios nos permite visualizar registros de una tabla detalle relacionados con una tabla maestra. Por ejemplo, si tenemos una tabla de equipos de ftbol y una tabla de jugadores, en un formulario maestro/detalle (tambin llamado formulario con subformulario) cada vez que se apunte a un registro de la tabla de equipos sern apuntados automticamente los jugadores relacionados con dicho equipo. Si nos movemos por los registros de la tabla de equipos de ftbol irn apareciendo cada lista de jugadores de cada registro de equipo de ftbol. Vamos a crear un formulario que permita relacionar los pedidos con los detalles de pedidos y al que llamaremos FormDetallesPedido. Paso 1: Abrimos la base de datos y nos vamos al apartado de formularios. Paso 2: Pulsamos la opcin Usar el asistente para crear formulario... Paso 3: Seleccionamos la tabla PEDIDOS y los siguiente campos de dicha tabla (el campo Servido no lo ponemos, por ahora).

Paso 4: Pasamos al paso de Configurar un subformulario donde se nos permitir crear un subformulario

15 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. asociado al formulario de pedidos. Activaremos la opcin de Agregar subformulario. Como tenemos creada la relacin entre la tabla PEDIDOS y la tabla DETALLES DE PEDIDO seleccionamos crear un subformulario basada en una relacin existente, apareciendo la relacin con la tabla DETALLES DE PEDIDO. Seleccionamos la tabla y pulsamos Siguiente para seguir con la creacin de formulario.

Paso 5: A continuacin agregaremos los siguientes campos para el subformulario (no ser necesario el campo Id Pedido, ya que el valor de dicho campo ser el valor del que tenga la tabla PEDIDOS). Una vez seleccionados los campos pulsamos el botn de siguiente para continuar con el asistente.

16 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. Paso 6: Pasamos a definir como deseamos ver el formulario y el subformulario (o sea la tabla PEDIDOS y la tabla de DETALLES DE PEDIDO). La mejor forma de poder visualizar este tipo de formularios es poner el formulario principal en columnas con etiquetas a la izquierda y el subformulario como hojas de datos. Una vez definido como queremos la visualizacin pasamos al paso siguiente.

Paso 7: En esta pantalla podemos seleccionar el modo de entrada de datos. Por defecto el formulario mostrar todos los datos, permitiendo cualquier operacin. Se quedar esta opcin marcada y pasaremos a seleccionar el estilo que deseamos para la pantalla.

17 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. Paso 8: Seleccionamos el estilo Azul brillante y pasamos a dar el nombre FormDetallesPedido al formulario.

Paso 9: A continuacin abrimos el formulario para poder trabajar.

18 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. Como vemos el formulario nos permite insertar datos tanto en el pedido como en los detalles del pedido asociados al pedido, pero nos encontramos con que es poco intuitivo dicho formulario, ya que el cliente debe ser asignado con un cdigo y el producto ha de ser de la misma forma, ademas de que conforme vamos insertando productos la cantidad no se va recalculando el total de los pedidos, y falta por poner el campo servido. En el prximo apartado veremos como arreglar todos estos problemas.

5.- DISEO AVANZADO DE FORMULARIOS I: CUADRO DE LISTADO EN EL FORMULARIO PRINCIPAL.


Nos encontramos con que en el anterior apartado hemos tenido los siguientes problemas: El cliente debe ser asignado como un cdigo: Este problema lo arreglaremos creando un cuadro de listado. El producto debe ser asignado como un cdigo: Este problema lo arreglaremos creando un cuadro de listado. Conforme vamos insertando productos la cantidad no se va recalculando el total de los pedidos: Crearemos una consulta que vaya recalculando. Falta por poner el campo servido: Pondremos una casilla de verificacin .

Creacin de un cuadro de listado para el cliente.


Vamos a aadir un campo de lista al formulario FormDetallesPedido donde podremos seleccionar el cliente desde dicho campo de lista, mostrando los apellidos y nombre del cliente, en vez de escribir el nmero del cliente. Paso 1: Abrimos el formulario FormDetallesPedido en modo de edicin para poder realizar modificaciones.

19 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 2: De la barra de herramientas que se encuentra situada a la izquierda seleccionamos el objeto Listado, que nos permitir insertar un cuadro de texto que nos mostrar la lista de clientes. Dicho cuadro de texto mostrara la lista de clientes mediante un men desplegable, pero cuando el men no se encuentre desplegado solamente mostrar el cliente seleccionado en el pedido. Para insertar el objeto Listado en el formulario simplemente lo seleccionamos y lo arrastramos a la posicin que deseemos, indicando su tamao (es conveniente seleccionar un tamao adecuado al que tenemos con los dems cuadros de texto). Paso 3: Al insertar el objeto Listado aparecer un asistente para configurar el cuadro de lista. Lo primero que tenemos que seleccionar es la tabla de la que mostraremos los datos. En este caso seleccionaremos la tabla CLIENTES. Una vez que seleccionamos la tabla CLIENTES pulsamos el botn Siguiente.

20 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 4: Seleccionaremos el campo que visualizaremos en el nuevo cuadro de lista que hemos puesto en el formulario. Deseamos que se muestre el campo ApellidosNombre de la tabla CLIENTES (que es la que hemos seleccionado con anterioridad). Una vez que lo hayamos seleccionado pulsamos el botn de Siguiente.

21 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 5: En la siguiente pantalla de la configuracin del cuadro de lista configuraremos el vnculo que existe entre la tabla PEDIDOS y la tabla CLIENTES (o sea, configuraremos la relacin existente entre lo que vamos a mostrar en el cuadro de lista, en nuestro ejemplo ser ApellidosNombre de la tabla CLIENTES, que ser el mismo cliente cuyo Id Cliente sea el mismo que el de la tabla PEDIDOS). Tras realizar el vnculo pulsaremos el botn de Finalizar, ya que habremos acabado con el proceso de configuracin del cuadro de listado.

22 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Una vez que hemos acabado con la configuracin obtendremos la siguiente pantalla con nuestro nuevo objeto en ella.

23 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Si cerramos la pantalla de diseo guardando los cambios, y la abrimos en modo de ejecucin podremos ver que nuestro cuadro de lista funciona correctamente. Podremos seleccionar clientes a partir del nuevo cuadro de lista.

24 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Ahora es necesario arreglar la pantalla borrando el campo Id Cliente del formulario, ya que no nos es necesario. Pondremos tambin el mismo color al cuadro de lista como el de los los otros para que queden todos iguales, as como una etiqueta que ponga cliente, cuyo color de fuente ser blanco. La pantalla nos quedar de la siguiente forma:

25 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Existen algunas utilidades a la hora de trabajar con un formulario que nos permitirn hacer un diseo ms eficaz. Estas utilidades se encuentran en la barra de herramientas situada en la parte de abajo de la pantalla de diseo y son las siguientes: Control: este botn se activar cuando tengamos seleccionado un control u objeto del formulario, y nos permitir sacar las propiedades del control u objeto seleccionado. Formulario: este botn nos permite sacar las propiedades del formulario. Navegador del formulario: este botn nos permitir navegar por los distintos objetos incrustados en el formulario. Agregar campo: este botn nos permitir agregar un campo de la tabla con la que estemos trabajando en estos momentos. Secuencia de activacin: este botn nos permite definir el orden por el que podremos

26 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. navegar por los distintos objetos (por ejemplo definiremos que de la fecha pasaremos al cliente, y del cliente al total, y as sucesivamente). A esto se le llama tambin Orden de tabuladores. Estas distintas pantallas las podemos ver todas juntas de la siguiente forma:

6.- DISEO AVANZADO DE FORMULARIOS II: CUADRO DE LISTADO EN LA REJILLA DE DATOS.


Aunque la idea de crear un cuadro de listado para el producto es la misma que para el cliente en el formulario principal, este caso es ms complicado, ya que el cuadro de listado ha de aparecer dentro de la rejilla de datos que tenemos. Para crear dicho cuadro de listado hemos de seguir los siguientes pasos:

27 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. Paso 1: Abrir la base de datos y a continuacin abrir el formulario FormDetallesPedido en modo diseo.

Paso 2: El principal problema que tenemos es que la rejilla se divide en 3 columnas: Id Producto, Cantidad y Precio Actual, y en vez de esta divisin deseamos tener Descripcin de Producto (como un cuadro de listado donde podamos seleccionar cada producto), Cantidad, Precio Actual y SubTotal (que ser la operacin Cantidad*Precio Actual). Para ello lo primero es entrar en la configuracin de las columnas. Pulsamos el botn derecho sobre la columna Id Producto de forma que nos aparece un men contextual que nos indica que operaciones podemos hacer con la columnas en la rejilla. En este caso nos iremos a la opcin Eliminar Columna, ya que esta columna no ser necesaria.

28 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 3: Una vez eliminada la columna necesitamos crear una nueva columna, que ser el cuadro de listado que mostrar los productos. Para ello, sobre la primera columna que ahora es Cantidad volvemos a pulsar el botn derecho y en el men contextual contextual que aparece seleccionamos Insertar columna, y a continuacin Listado.

29 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. Paso 4: Al insertar la nueva columna nos aparecer una columna con nombre Columna1 a la izquierda del todo, que ser la que ahora configuremos para que muestre nuestro listado de productos. Para ello pulsamos el botn derecho sobre la nueva columna y seleccionamos la opcin Columna, que nos permitir configurar dicha columna.

Paso 5: Ahora viene el paso ms complicado que es configurar el origen de datos del listado y a que est ligado. Para ello lo vamos a hacer poco a poco. Cuando aparezca la pantalla denominada Propiedades: Listado (que aparece al haber seleccionado Columna en el men contextual de Columna1) configuraremos en la pestaa de datos las opciones que aparece de la siguiente forma: Campo de datos: Esta opcin indica que dato es el que vamos a almacenar en la tabla del subformulario. En nuestro caso, como la tabla del subformulario es DETALLES DE PEDIDO el dato que deseamos almacenar es Id Producto. Tipo del contenido de lista: En esta opcin se indica que tipo de contenido se va a mostrar en el cuadro de listado. Este tipo de contenido puede provenir de diversas fuentes: Lista valores, tabla, pregunta, SQL (una consulta como las que hemos realizado anteriormente) o un campo de una tabla. En nuestro caso vamos a acudir a una consulta SQL, ya que necesitamos obtener el nombre del producto de la tabla PRODUCTOS, y que su cdigo de producto(el campo Id Producto de la tabla PRODUCTOS) enlace con el de la tabla DETALLES DE PEDIDO. Seleccionaremos la

30 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. opcin Sql. Contenido de lista: Este campo permite indicar cual va a ser el contenido de la lista. Como el tipo ha sido indicado como Sql pulsamos el botn . De esta forma podemos definir cual va a ser el

contenido que queremos que se muestre en la lista. Al pulsar el botn nos aparecer una nueva pantalla para crear consultas (tal y como se comento en el apartado de la construccin de consultas). Para nuestro ejemplo crearemos una consulta sobre la tabla PRODUCTOS que muestre los campos Descripcin y Id Producto. Cuando terminemos de definir la consulta la guardamos y cerramos la pantalla.

Campo ligado: Ser el campo a mostrar en la lista, por lo que ponemos el valor 1. Por defecto se quedar que el segundo campo de la consulta (que es Id Producto de la tabla PRODUCTOS) ser el que se una con el campo de datos (que es Id Producto de la tabla DETALLES DE PEDIDO). La pantalla de configuracin de la Columna1 ha de quedar de la siguiente forma:

31 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 6: Sin cerrar la pantalla pulsamos en la pestaa de General y modificamos las siguientes opciones: Ttulo: Descripcin del producto Ancho: 7.00 cm

32 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. Paso 7: Una vez que hemos realizado dichas modificaciones cerramos la pantalla y guardamos los cambios realizados en el formulario. Si cerramos el formulario y lo abrimos de modo que podamos trabajar podremos ver que hemos creado un cuadro de listado para poder seleccionar los productos dentro de la rejilla de datos.

33 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

7.- DISEO AVANZADO DE FORMULARIOS III: CREACIN DE UN CAMPO CALCULADO.


Un campo calculado es una campo o columna la cual se le realiza una operacin con los datos de una tabla y se muestra en pantalla, pero sin que este campo o columna exista dentro de la base de datos. El caso ms comn es el clculo de subtotales (totales parciales). Por ejemplo, en nuestro ejemplo, cuando realizamos pedidos asociamos a los pedidos varias lneas (cuando en una tienda nos entregan una factura de diversas cosas tenemos en la parte superior lo que se denomina cabecera de la factura, y en la parte central el cuerpo de factura, estando compuesto dicho centro de factura por lneas de detalle de la factura) de pedido, que estn compuestos por el producto que queremos pedir, una cantidad y un precio de cada producto. Un subtotal sera de cada producto pedido sera la multiplicacin entre la cantidad y el precio. En la siguiente tabla podemos ver un ejemplo de un campo calculado (denominado en este caso Subtotal del producto). Producto Tornillo 0,5 mm Martillo mango palo Arandela Destornillador estrella Tijeras Cantidad 5 3 36 5 2 Precio 0,25 2,5 0,14 4 3 Subtotal del producto 1,25 7,5 5,04 20 6

Para crear un campo calculado en nuestra rejilla de datos hemos de realizar los siguientes pasos: Paso 1: Abrir la base de datos y a continuacin abrir el formulario FormDetallesPedido en modo diseo.

34 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 2: Seleccionar el subformulario y con el botn derecho del ratn sacar el men contextual, y en dicho men seleccionar la opcin Formulario... (tambin se puede llegar seleccionando el subformulario y pulsando , que es el botn que nos muestra las propiedades del formulario seleccionado, que en

este caso es el subformulario). Una vez abierto la ventana de propiedades nos movemos a la pestaa de datos, donde podremos ver el origen de los datos del subformulario. La ventana que obtendremos tendr este aspecto.

35 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 3: Como podemos observar en la pantalla anterior el origen de datos del subformulario es la tabla DETALLES DE PEDIDO, que contiene los campos Id Pedido, Id Producto, Cantidad y Precio Actual. Como el origen de datos es una tabla no podemos crear un campo calculado sobre ella, ya que, en ese caso, crearamos un campo fsico sobre dicha tabla (como puede ser el campo Cantidad). La solucin al problema es muy sencilla: convertir el origen de datos de una tabla a una consulta Sql, ya que con una consulta Sql podemos realizar las mismas operaciones que con la tabla, adems de poder crear los campos calculados. La opcin Tipo de contenido nos da 3 posibilidades: Tabla: Para seleccionar una tabla de datos como origen directamente. Consulta: Para seleccionar una consulta Sql creada en el apartado de consultas. Comando SQL: Podemos crear una consulta Sql que no este creada en el apartado consultas. As que modificamos la opcin Tipo de contenido del subformulario indicando que es un Comando SQL, ya que vamos a crear una nueva consulta que no existe, y a continuacin pulsamos el botn de Contenido donde nos aparecer de nuevo la pantalla para construir nuestra nuevo

comando SQL. Nos aparecer la siguiente pantalla:

36 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 4: En este paso hemos de construir la consulta que queremos mostrar en el subformulario. Los datos han de provenir de la tabla DETALLES DE PEDIDO, por lo que seleccionaremos dicha tabla como nica tabla para trabajar. Una vez que la tenemos seleccionada pasaremos a seleccionar los campos que nos interesan, que sern Id Pedido,Id Producto, Cantidad y Precio Actual. Tendremos la siguiente pantalla:

37 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 5: El nuevo campo, que ser el campo calculado que deseamos crear, es la operacin Cantidad*Precio Actual, as que en la cuarta columna (que en estos momentos estar en blanco) ponemos los siguientes valores: Campo: Cantidad * Precio Actual Alias: Subtotal del producto Tabla: Detalles de Pedido Visible: Activado. Lo visualizaremos en la pantalla de la siguiente forma:

38 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 6: Una vez que ya tenemos creado el campo calculado guardamos los datos y cerramos la pantalla de creacin de consultas. Volveremos a la ventana de Propiedades del formulario, y veremos que el origen de los datos ya ha cambiado. La ventana quedara de la siguiente forma:

39 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 7: Cerramos la ventana de Propiedades del formulario, y pasamos a aadir una nueva columna a la rejilla de datos. El tipo de objeto de la nueva columna de datos ser Campo formateado (OJO: no ser esta vez un Campo de texto). La razn de escoger un campo formateado es que nos va a permitir definir como queremos visualizar el campo que hemos creado. Al aadirlo nos quedar la rejilla de la siguiente forma:

40 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. Paso 8: En la nueva columna que ha aparecido (en este caso se llama Columna2) hemos de configurarla para que muestre el nuevo campo que hemos creado. Pulsamos sobre ella el botn derecho del ratn y al aparecer el men contextual seleccionamos la opcin Columna. En la siguiente pantalla aparece el men contextual.

Paso 9: Obtendremos la ventana de Propiedades del campo formateado, y en ella seleccionaremos, en la pestaa de datos, en el apartado Campo de datos... nos aparecer para seleccionar el nuevo campo calculado que hemos creado. La pantalla se mostrar de la siguiente forma:

41 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 10: En la pestaa de General ponemos que el ttulo de la columna sea Subtotal del Producto, y en la opcin de Slo lectura la ponemos a S para que no se pueda escribir sobre dicha columna. Ahora seleccionaremos cual es el formato en que queremos visualizar los datos de la columna Subtotal del Producto, as que para ello acudiremos a la opcin Formato, y pulsaremos el botn . Una vez que lo

hemos pulsado nos aparecer una pantalla para poder seleccionar distintos formatos de como queremos visualizar el contenido. Seleccionaremos la categoria Moneda y el formato -1.234,00. En la ventana se mostrar as:

42 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. Paso 11: Una vez seleccionado el formato pulsamos el botn de aceptar. A continuacin, en el campo Valor predeterminado ponemos el valor de 0. Esto es muy importante, ya que sino, al insertar cualquier dato, nos dar un error de que debemos insertar datos en esta nueva columna (y esta columna simplemente calcula datos). Indicamos tambin que el campo sea de Slo lectura. La ventana de Propiedades del campo formateado a de quedar de la siguiente manera:

Paso 12: Cerramos la ventana de Propiedades del campo formateado y antes de cerrar el formulario vamos a modificar el tamao de la rejilla y de la ventana principal para adaptarlos al tamao adecuado y a continuacin guardamos los cambios. Si abrimos de nuevo el formulario para poder trabajar nos encontraremos con que la columna est recalculando los datos automticamente y con forma de visualizarlo correcta.

43 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

8.- DISEO AVANZADO DE FORMULARIOS IV: CREACIN DE UN CAMPO CALCULADO PARA EL FORMULARIO PRINCIPAL.
En este caso en concreto vamos a crear un campo calculado que se va a encargar de realizar un clculo sobre el total de los registros que contenga el subformulario respecto del registro actual del formulario principal. Veamos los siguientes ejemplos:

44 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. Una tabla de DISCOS y una tabla de CANCIONES DE DISCOS: Siendo la tabla del formulario principal la de DISCOS y la tabla del subformulario la de CANCIONES DE DISCOS, podramos crear un campo calculado que contara el nmero total de canciones que tiene cada disco. Una tabla de PEDIDOS y una tabla de DETALLES DE PEDIDOS: Siento la tabla del formulario principal la de PEDIDOS y la tabla del subformulario la de DETALLES DE PEDIDOS, podramos crear un campo calculado que sumara la cantidad por el precio de cada producto, obteniendo as el total del importe del pedido. Vamos a trabajar con el ejemplo que hemos estado siguiendo anteriormente, y que hemos descrito en el segundo punto de los ejemplos. Paso 1: Abrir la base de datos y a continuacin abrir el formulario FormDetallesPedido en modo diseo.

45 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. Paso 2: No podemos asociar el nuevo campo calculado al formulario principal, ya que este depende de la tabla PEDIDOS, y tampoco podemos asociarlo al subformulario ya que depende de la tabla DETALLES DE PEDIDO pero para mostrar todos los registros de la tabla asociados a la de PEDIDOS, pero no est preparada para calcular el total de cada pedido. Hemos de crear un nuevo formulario que nos calcule el total del pedido. Para ello abrimos el Navegador del formulario pulsando el botn la siguiente pantalla: . Nos aparecer

Paso 3: En el navegador del formulario nos aparecer el formulario principal (con el nombre MainForm) y el subformulario (con el nombre SubForm). Todo lo dems son los diversos objetos que se encuentran

46 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. en los formularios. Lo que hemos de hacer es aadir un nuevo subformulario al formulario principal (que ser donde se realicen los clculos del total del pedido). Para ello pulsamos el botn derecho del ratn sobre el formulario principal, y en el nuevo men contextual que aparece seleccionamos Nuevo y a continuacin Formulario, con lo que insertaremos un nuevo subformulario que depende del formulario principal. El men contextual que aparecer ser el siguiente:

Paso 4: Al insertar el nuevo subformulario, en la ventana del Navegador de formulario, aparecer un nuevo formulario cuyo nombre pondr Standard, pero al que llamaremos subFormCalculoTotal (si no podemos cambiarle el nombre simplemente pulsando el botn derecho del ratn encima nos saldr de nuevo un men contextual que nos permitir cambiar el nombre). El Navegador de formulario nos quedar de la siguiente forma:

47 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 5: Ahora hemos de asignar al nuevo subformulario cuales van a ser los datos que debe mostrar (recordamos que es el clculo del total del pedido del formulario principal). Para ello pulsamos el botn derecho del ratn encima para sacar el men contextual y seleccionamos la opcin Propiedades.

48 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. Paso 6: Al pulsar en dicha opcin nos aparece la pantalla de Propiedades del formulario.

Paso 7: Seleccionamos la pestaa de Datos para indicar cual va a ser el origen de los datos del formulario. Como hemos de crear un campo calculado seleccionaremos en el apartado Tipo de contenido seleccionamos la opcin Comando Sql, con lo que podremos construir la consulta que necesitamos. Pulsamos el botn para construir la consulta y nos aparecer la siguiente pantalla:

49 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. Paso 8: Necesitamos calcular el total de cada pedido, por lo que seleccionaremos la tabla de DETALLES DE PEDIDO. Para cada pedido necesitamos calcular la suma de las cantidades por el precio de cada producto. Para ello seleccionamos en primer lugar el campo Id Pedido (para identificar cada pedido) y a continuacin la operacin Cantidad*Precio Actual. La pantalla que nos encontraremos ser la siguiente:

Paso 9: Ya tenemos los campos que necesitamos, pero como para cada pedido tendremos varios detalles de pedido necesitamos obtener un nico Id Pedido con la suma de todos los totales, as que agruparemos por el Id Pedido sumando todos los clculos de Cantidad*Precio Actual. Pondremos el alias Total a la suma de dicho campo. La pantalla quedar de la siguiente forma:

50 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 10: Una vez que terminamos guardamos el consulta creada y cerramos la ventana. Nos encontraremos la siguiente ventana, pero que en este caso OpenOffice Base ha cometido un error al realizar la consulta. El error consiste en que al crear la consulta el gestor de la base de datos tena que haber puesto la palabra SUM en vez de la palabra SUMA. Realizamos dicha modificacin en el campo Contenido.

51 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 11: Una vez que hemos arreglado el problema la ventana ha de quedar de la siguiente forma:

Paso 12: Cuando ya tenemos definido el origen de los datos cerramos la pantalla y pasamos a colocar un

52 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. objeto campo formateado en el formulario principal (aunque se ver en el formulario principal estar enganchado al nuevo subformulario). Damos las propiedades de color, tamao y dems necesarias para que se quede similar a los dems campos. Como podemos ver en la siguiente pantalla el campo formateado ha de quedar dentro del nuevo subformulario.

Paso 13: Asignamos al nuevo campo formateado el origen de datos, para que muestre el campo calculado que hemos creado. Esto se realiza pulsando el botn derecho sobre el campo formateado, y al aparecer el men contextual seleccionamos la opcin Campo de control y en la pestaa Datos, en el apartado Campo de datos seleccionamos la columna Total.

53 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 14: En la pestaa de General la opcin de Slo lectura la ponemos a S para que no se pueda escribir sobre dicho campo. Ahora seleccionaremos cual es el formato en que queremos visualizar los datos de la columna Total, as que para ello acudiremos a la opcin Formato, y pulsaremos el botn Una vez que lo hemos pulsado nos aparecer una pantalla para poder seleccionar distintos formatos de como queremos visualizar el contenido. Seleccionaremos la categoria Moneda y el formato -1.234,00. En la ventana se mostrar as: .

54 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 15: Cerramos la ventana de propiedades y guardamos los cambios. A continuacin abrimos el formulario de forma que podamos trabajar con el mismo y comprobaremos que se estn calculando los totales de cada pedido.

9.- DISEO AVANZADO DE FORMULARIOS V: INTRODUCCIN DE NUEVOS CONTROLES EN EL FORMULARIO.


En este apartado vamos a comentar los controles existentes en la aplicacin OpenOffice.org Base que podemos hacer servir en los distintos formularios, y como ejemplo a ello haremos uso de uno de ellos (en este caso una casilla de verificacin) para generalizar su uso en los formularios, as como otros elementos de decoracin. Los controles existentes en Base son: Modo Diseo: activa y desactiva el modo Diseo. Nos permite alternar entre el modo de Usuario (introduccin de datos a travs de los campos) y el modo Diseo (edicin de los campos

55 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. de control). Navegador de formulario: muestra todos los formularios y subformularios del documento actual con sus respectivos campos de control. Casilla de verificacin: para valores S/No. Se puede utilizar dentro de un grupo de opciones. Campo de texto: sirve para mostrar o introducir datos. Campo formateado: es un cuadro de texto en el que se define el formato de las entradas y salidas, as como los valores limitadores que las afectan. Botn de comando: inserta un botn que al ser pulsado ejecuta instrucciones. Campo de opcin: permiten al usuario elegir entre diversas opciones. Cuadro de lista: permite seleccionar un elemento de una lista. Cuadro combinado: permite seleccionar un elemento de una lista o escribir el dato directamente. Campo de visualizacin de texto: sirven para mostrar texto predefinido. Tambin se le conoce como campo etiqueta. Asistente: especifica si se debe o no activar el asistente al insertar un campo de control nuevo. Estos asistentes ayudan a introducir las propiedades de los cuadros de listas, los campos de control de tablas y otros campos de control. Cuadro de grupo: sirve para crear marcos donde agrupar campos de control. Control de tablas: se utiliza para crear un campo de control con una tabla de la base de datos. Fuente de datos: enumera las tablas y consultas de la base de datos desde las que estamos creando el fomulario y permite ver su contenido en la barra de herramientas. Es muy til para conocer cules van a ser las tablas en las que se insertarn los datos a travs del formulario que

56 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6. vamos a crear. Si recordamos nos quedo por poner el campo Servido de la tabla PEDIDOS, que indica si el pedido ha sido servido o no. La forma para poner el campo en el formulario es la siguiente: Paso 1: Abrir la base de datos y a continuacin abrir el formulario FormDetallesPedido en modo diseo.

Paso 2: Seleccionamos el control Casilla de verificacin en la barra de controles que tenemos a la izquierda y lo arrastramos al formulario a la posicin deseada.

57 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 3: Pulsamos el botn derecho del ratn sobre la casilla de verificacin puesta en el formulario y en el men contextual que aparece seleccionamos la opcin Campo de control, con lo que aparecer la pantalla de propiedades del control. En dicha pantalla, en la pestaa general realizamos los siguientes cambios: Ttulo: No ponemos ningn ttulo. Lo quitamos todo. Estilo: Seleccionamos el estilo 3D. Color de fondo: Gris al 10%. Una vez realizados dichos cambios cerramos la pantalla y nos quedar de la siguiente manera el formulario.

58 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 4: Modificamos el tamao de la casilla de verificacin para que quede acorde a la casilla real donde se pulsa el ratn.

59 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 5: Seleccionamos de la barra de controles un control Campo de etiqueta y lo ponemos en el formulario. Una vez puesto pulsamos el botn derecho sobre el mismo y en el men contextual que aparece seleccionamos la opcin Campo de control, con lo que aparecer la pantalla de propiedades del control. En dicha pantalla, en la pestaa general realizamos los siguientes cambios: Ttulo: Pedido servido? Fuente: Seleccionamos que el color de la fuente sea el blanco.

60 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 6: Cerramos la ventana de propiedades y ponemos el campo de etiqueta donde corresponde.

61 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 7: Ya tenemos puesto el control, pero nos falta decirle el origen de los datos. Volvemos a pinchar con el botn derecho del ratn sobre la casilla de verificacin y en el men contextual que aparece seleccionamos la opcin Campo de control, con lo que aparecer la pantalla de propiedades del control. Seleccionamos la pestaa Datos y en el apartado Campo de datos seleccionamos la columna Servido.

62 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

Paso 8: Cerramos la ventana de las propiedades de la casilla de verificacin y guardamos los cambios realizados. Una vez guardados cerramos la ventana en modo diseo y la abrimos de forma que se pueda trabajar con ella. Veremos que la casilla de verificacin funciona perfectamente y podemos indicar si el pedido est servido o no.

63 de 64

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 6.

64 de 64

You might also like