Documente Academic
Documente Profesional
Documente Cultură
1 Formulario Personas-Alumnos
Vamos a hacer un primer formulario que nos va a permitir introducir
nuevos alumnos en la base de datos, además de poder consultar, modificar
y borrar los que ya existen. Para ello realizaremos una serie de pasos:
Inicio
Instalació 1. Crear el bloque de datos Persona que muestra una única persona
2. Crear el bloque detalle Alumno asociado a cada persona
n
Forms 1.1 Bloque Maestro Persona
Developer
Ejecutar Form Builder, que es la herramienta para construir formularios
Reports
Developer
Pregunta
Lo primero que nos saldrá será una pantalla de bienvenida con diversas
s opciones, nosotros escogeremos Utilizar el Asistente de Bloques de Datos
Frecuente y le damos al botón Aceptar.
s
Fco.
Javier
García
Castellano
Si nos hemos identificado correctamente nos saldrá una lista con las tablas
y vistas del usuario con el que nos hemos conectado, seleccionamos la
tabla Persona y pulsamos Aceptar. En la columna de la izquierda tenemos
los atributos de la tabla seleccionada y en la de la derecha los atributos que
queremos utiliza. Inicialmente la columna de la derecha está vacía, así que
nos llevamos todos los atributos a la columna de la derecha y le damos al
botón Terminar.
Ya hemos terminado de usar el Asistente de Bloques de Datos y
comenzamos el Asistente de Diseño que nos dará la bienvenida, le damos
al botón Siguiente. Nos preguntará por el Lienzo y tipo de Lienzo, lo
ignoramos y le damos al botón Siguiente. Nos aparecerá una ventana don
dos columnas para seleccionar los atributos que deseamos visualizar. En
principio, los vamos a visualizar todos, así que nos los llevamos todos a la
columna de la derecha.
Ahora nos preguntará el Prompt (que es la cadena que sale en el
formulario), el ancho y el alto para cada atributo. Dejamos los valores de
ancho y alto que nos salen excepto para PID que le ponemos un ancho de
20 y en la parte del Prompt, cambiamos "Lugarnacimiento" por "Lugar de
Nacimiento" y "Fechanacimiento" por "Fecha de Nacimiento" y le damos
al botón Terminar.
Como resultado ya tenemos nuestro primer bloque de datos.
Una vez terminado los asistentes de datos y diseño, nos aparecen dos
subventanas dentro de Forms Builder, el Navegador de Objetos que es
una ventana con estructura de árbol que nos muestra todos los elementos
de nuestro formulario y el Editor de Diseño que nos permite ver el
aspecto de nuestro formulario y lo que es más importante, modificarlo.
2 Formulario Matrícula
Vamos a hacer un formulario maestro-detalle, donde el maestro será la
tabla Matrícula y el detalle la tabla DetalleMatrícula. En este formulario
podremos borrar/añadir asignaturas a una matrícula. Vamos a hacerlo de
forma similiar a como hemos realizado el anterior ejemplo, pero con dos
pequeñas diferencias.
En el asitente de diseño, para el bloque maestro, escogemos un estilo de
diseño Pantalla, pulsamos Siguiente y al marco le damos el título de
Matrícula, después pulsamos Terminar.
La segunda diferencia, es que en el asistente de diseño,para el bloque
detalle (que es la tabla DetalleMatricula), escogemos un estilo de diseño
Tabular, pulsamos Siguiente y al marco le damos el título de
Asignaturas, los registros visualizado serán 10 y marcaramos la casilla de
Visualizar Barra de Desplazamiento, después pulsamos Terminar.
De esta forma y retocando un poco con el editor de diseño debería quedar
algo parecido a:
Este formulario queda bastanta poco intuitivo y dificil de utilizar, para ello
vamos a realizar varios cambios, el primero será realizar una lista estática
para el campo Tipo, de forma que aparezcan las opciones: Ordinaria,
Libre, Personal Universidad y que, en realidad, en la base de datos se
almacene los valores O, L,U (respectivamente). Y el número de plazos,
otra lista, que tome los valores 1 ó 2.
La siguiente mejora será utilizar una lista desplegable como las usadas en
Tipo y en Número de plazos, para las asignaturas, de forma que podamos
ver en la lista el nombre de la asignatura y no haga falta conocer el nombre
de todas las asignaturas. Observa que, con los conocimientos que tenemos,
para cada asignatura que se añada a la base de datos tendríamos que
cambiar el diseño de nuestro formulario, de forma que incluyese la nueva
asignatura como una opción más de la lista. Esto no es realista es un
entorno normal, es decir, no se cambia la aplicación cuando se cambia la
base de datos, no tendría sentido. Para esto vamos a realizar listas
dinámicas a contraposición de las usadas hasta hora que son estáticas. Las
listas dinámicas se construirán cada vez que ejecutemos el formulario a
partir de los valores almacenados en la base de datos.
Construiremos una lista dinámica para la parte de asignaturas a partir de la
tabla Asignaturas. Para ello, lo primero que tenemos que hacer es definir el
campo Nombre de DetalleMatrícula como Elemento de Lista. Usaremos
un valor por defecto conocido y rellenaremos la lista con un sólo valor
(esto es para que forms developer no nos diga que la lista está mal), para
esto podemos usar el valor por defecto Base de Datos (Correspondencia
con otros valores), y en la lista podemos añadir el elemento Base de Datos
y que almacene Base de Datos en la base de datos.
Para crear la consulta que nos permita obtener los datos de las consultas,
en el Navegador de Objetos, seleccionaremos Grupo de Registros (una
consulta, en realidad) y le damos al botón de crear , introduciendo el
siguiente texto:
SELECT nombre, nombre FROM Asignatura order by 1
Con esta consulta, obtendremos el valor que se mostrará en la lista (nombre)
y el valor correspondiente que se alamcenará en la base de datos (nombre)
ordenados de forma alfabética. A la nueva consulta creada, le damos el
nombre de asignaturas (por ejemplo, usando la paleta de propiedades ->
nombre)
Ahora crearemos un procedimiento PL/SQL para rellenar una lista a partir
de los datos de una consulta. Como este proceso es probable que lo
utilicemos más de una vez en nuestros formularios lo vamos a hacer
reutilizable, en forma de biblioteca. Para ello, , en el Navegador de
Objetos, marcaremos Bibliotecas PL/SQL y le damos al botón de crear
, ahí seleccionaremos Unidades de Programa y le volvemos a dar al
botón de crear . Introducimos el nombre de la Unidad de Programa,
que será llena_listas y le damos al botón Aceptar.
4 Ventanas y lienzos
Los Lienzos son elementos del diseño sobre el que se sitúan los otros
elementos de nuestro formulario. Una ventana actúa como un visor sobre
el lienzo permitiendo desplazarse por su contenido. Cuando ejecutamos un
formulario se dispone una ventana principal que no dispone de lienzos,
mediante la cual se visualiza el resto de las ventanas que si contendrán
lienzos. Podemos distinguir distintos tipos de lienzos:
Visualizad todos los campos, en formato Pantalla, que el título del marco
sea Matrícula, se vea un sólo registro y tenga la barra de desplazamiento.
De esta forma colocaremos el lienzo con las pestañas debajo de los datos
de la matrícula. Ten en cuenta en redimensionar el lienzo de la Matrícula
(si no es lo suficientemente grande) para que quepa debajo el lienzo
tabular. Poniendo Bisel a ninguno, lo que hacemos es quitar una línea que
separa los dos lienzos. Ejecutamos, el lienzo, corregimos y guardamos el
formulario.
Si en el navegador de objetos, el bloque de datos Maestro (Matricula) está
después de un bloque de datos detalle, no se visualizará correctamente.
Si se quiere ver en el editor de diseño los dos lienzos en lugar de tener dos
editores de diseño (uno por lienzo), en el editor de diseño del bloque
maestro vete a la opción Ver del menú y de ahí a Vistas Apiladas ...,
seleccionamos el lienzo tabular y le damos al botón Aceptar.
Para cambiar el título de la ventana, en le navegador de objetos, vete a
Ventanas, selecciona la que hay y abre su paleta de propiedades. Cambia
la propiedad Título a, por ejemplo, Matriculación.
4.2 Ventanas de Avisos (Alertas)
Developer tiene un tipo especial de ventanas para enviar avisos al usuario.
Básicamente mostrará un mensaje y puede tener hasta tres botones (por
ejemplo, "Si" "No" y "Cancelar"). Hay tres tipos de estilos de alerta: Parar,
Precaución y Nota.
Vamos a crear una alerta que nos muestre un mensaje de bienvenida
cuando se ejecute el formulario de Matriculación, para ello tendremos que
tenerlo abierto previamente con Forms Builder. En el Navegador de
Objetos, seleccionamos Alertas y pulsamos el botón de crear .
Abrimos la paleta de propiedades de la alerta creada.
Cambiamos las siguiente propiedades:
/*Rellenamos el formulario*/
Execute_Query;
END;
De esta forma, al ejecutar el formulario nos debería salir, algo parecido a
Fíjate que los botones se deben de crear como elementos del bloque de
datos Matricula. Debiendo quedar algo como:
Lo siguiente que vamos a hacer en crear una opción del menú que llame al
formulario de alumnos. Para ello vamos a crear una entrada nueva en la
opción de menú Consulta. Debajo de Sig. Grupo, vamos a crear un
separador, para ello nos vamos a Consulta->Sig.Grupo y pulsamos el
botón de Crear debajo . Al nuevo elemento del menú le cambiamos las
siguiente propiedades: Nombre: SeparadorForms, Etiqueta:
SeparadorForms, Tipo de Elemento de Menú: Separador.
Debajo del separador creado creamos la entrada Formularios pulsando el
botón de Crear debajo . Al nuevo elemento le damos: Nombre:
Formularios, Etiqueta: Formularios, Tipo de Elemento de Menú: Normal.
fjgc@decsai.ugr.
es