Beruflich Dokumente
Kultur Dokumente
Una vez construida la base de datos podemos empezar a disear el interfaz de usuario
de la aplicacin as como el cdigo VBA (Visual Basic para Aplicaciones) asociado a
dicho interfaz. El interfaz de usuario de la aplicacin est constituido por una serie de
formularios, que son las diferentes ventanas que ve el usuario cuando hace uso de la
aplicacin y con las cuales puede interactuar. Esta interaccin se produce a travs de los
distintos controles que contiene cada formulario: fichas, botones, cuadros de texto,
cuadros combinados, cuadros de lista, casillas de verificacin, etc. Tanto los controles
como los formularios disponen de un conjunto de propiedades (tamao, color, etc.) y
comportamientos o acciones llamadas mtodos (por ejemplo, el mtodo close de un
formulario permite cerrarlo), y adems responden a eventos provocados por el usuario
(como por ejemplo, hacer clic sobre un botn) o por el sistema.
A continuacin pasamos a describir uno por uno los formularios que componen la
aplicacin. Veremos el aspecto que presenta cada formulario, qu controles incluye,
analizaremos el cdigo VBA ms relevante y describiremos las consultas, informes y
grficos presentes en cada formulario.
Pgina 53 de 197
Figura 6.1.a
Se trata del formulario principal de la aplicacin, desde el cual podemos acceder al resto
de los formularios y explorar todas las funcionalidades de la aplicacin. Cuando
abrimos la aplicacin aparece este formulario.
En la figura 6.1.a podemos ver que en la barra de ttulo aparece el ttulo del formulario:
Panel principal. Para referirnos a este formulario, podemos hacerlo por su nombre
(PanelPrincipal) o bien por su ttulo (Panel principal).
6.1.1.- Controles
Vamos a realizar una descripcin de cada uno de los controles que posee el formulario
Panel principal, lo cual nos ayudar a comprender el funcionamiento de este
formulario.
Pgina 54 de 197
Pgina 55 de 197
Pgina 56 de 197
Pgina 57 de 197
Figura 6.2.a
Este formulario muestra toda la informacin asociada a los profesores del Departamento
de Organizacin Industrial y Gestin de Empresas de la Universidad de Sevilla. Los
registros de este formulario proceden de la tabla Profesores de la base de datos y se
muestran de uno en uno.
En la figura 6.2.a podemos ver que en la barra de ttulo aparece el ttulo del formulario:
Profesores. En este caso coinciden el nombre y el ttulo del formulario.
6.2.1.- Controles
Vamos a realizar una descripcin de cada uno de los controles que posee el formulario
Profesores, lo cual nos ayudar a comprender el funcionamiento de este formulario.
Pgina 58 de 197
Tamao del campo: entero largo, o sea, puede almacenar nmeros entre
-2.147.483.648 y 2.147.483.647 (no admite fracciones).
Tiene como origen la tabla Dedicaciones de la base de datos. Por tanto, los valores
que aparecen en la lista desplegable del cuadro combinado son los valores del
campo Dedicacion de la tabla Dedicaciones.
Contiene, por tanto, la dedicacin (horas de docencia semanales) del profesor
mostrado en el formulario.
Pgina 61 de 197
Pgina 62 de 197
Pgina 63 de 197
Pgina 65 de 197
Pgina 66 de 197
El cdigo asociado a este evento se utiliza para que el formulario Profesores muestre el
ltimo registro de la tabla Profesores. Adems, si en esta tabla no existiera ningn
registro, se muestra un mensaje explicando tal circunstancia y a continuacin se cierra el
Pgina 67 de 197
El cdigo asociado a este evento se utiliza para aadir dicho valor a la lista del cuadro
combinado si el usuario lo desea.
Pgina 68 de 197
Pgina 69 de 197
Pgina 70 de 197
6.2.3.- Informes
Desde el formulario Profesores podemos abrir el informe ListadoProfesores haciendo
clic sobre el botn de comando BCListProf. Este informe se titula Listado de profesores
y consiste en un listado con todos los profesores del Departamento ordenados segn
categora, dedicacin y antigedad (por este orden de prioridad). De cada profesor se
aporta la siguiente informacin: nombre y apellidos, categora, dedicacin, antigedad y
grupo de investigacin.
Todas las pginas del informe cuentan con encabezado y pi de pgina que recogen la
siguiente informacin: logotipo de la Universidad de Sevilla, nombre del Departamento,
direccin de la Escuela Superior de Ingenieros, nmero de pgina y total de pginas del
informe.
Si queremos imprimir el informe tenemos todas las facilidades para ello: podemos
generar una vista previa del mismo, aplicar el zoom, seleccionar la impresora y las
opciones de impresin, configurar el tamao y la posicin del papel as como los
mrgenes, etc.
6.2.4.- Grficos
Desde el formulario Profesores podemos generar los siguientes grficos:
9 Grfico que muestra nmero de proyectos fin de carrera dirigidos segn
profesor.
9 Grfico que muestra el nmero de asistencias a tribunales de proyectos fin de
carrera segn profesor.
Pgina 71 de 197
Haciendo clic sobre el botn de comando BCPfcDir del formulario Profesores abrimos
el formulario PfcTutorGraficos, el cual nos permite configurar el grfico que mostrar
el nmero de proyectos fin de carrera dirigidos segn profesor. Las opciones de
configuracin son las siguientes:
De igual manera, haciendo clic sobre el botn de comando BCAsisTrib del formulario
Profesores abrimos el formulario PfcTribunalGraficos, el cual nos permite configurar el
grfico que muestra el nmero de asistencias a tribunales de proyectos fin de carrera
segn profesor. Las opciones de configuracin son idnticas a las del grfico anterior. Si
seleccionamos el grfico de columna agrupada se abrir el grfico GrafTribunalesColAg
y si elegimos el grfico de columna apilada abriremos el grfico GrafTribunalesColAp.
Si queremos imprimir alguno de estos grficos tenemos todas las facilidades para ello:
podemos generar una vista previa del grfico, aplicar el zoom, seleccionar la impresora
y las opciones de impresin, configurar el tamao y la posicin del papel as como los
mrgenes, etc.
Pgina 72 de 197
Figura 6.3.a
En la figura 6.3.a podemos ver que en la barra de ttulo aparece el ttulo del formulario:
Profesores Nuevo registro. Para referirnos a este formulario, podemos hacerlo por su
nombre (ProfesoresAgregar) o bien por su ttulo (Profesores Nuevo registro).
Si comparamos las figuras 6.2.a y 6.3.a podemos apreciar que el formulario Profesores
y el formulario Profesores Nuevo registro cuentan con el mismo aspecto. Con esto se
pretende que, al pasar de uno a otro, no se note que hemos cambiado de formulario y
parezcan un mismo formulario. As, se han incluido los mismos controles en ambos
formularios, de tal forma que en cada formulario desactivamos aquellos controles que
slo sirven para el otro formulario.
El formulario Profesores Nuevo registro sirve, como su propio nombre indica, para
agregar nuevos registros a la tabla Profesores de la base de datos, es decir, a travs de
este formulario daremos de alta a los nuevos profesores.
Pgina 73 de 197
6.3.1.- Controles
Son los mismos que los del formulario Profesores como ya hemos comentado. Se
encuentran desactivados los siguientes controles: BCBuscar, BCIrAReg, BCOrdenar,
BCQuitarFiltro, BCListProf, BCPfcDir, BCAsisTrib, BCTutor y BCTribunal.
Pgina 74 de 197
El cdigo asociado a este evento se utiliza para aadir dicho valor a la lista del cuadro
combinado si el usuario lo desea.
Pgina 75 de 197
Figura 6.4.a
Este formulario muestra toda la informacin asociada a los proyectos fin de carrera que
dirige el Departamento de Organizacin Industrial y Gestin de Empresas de la
Universidad de Sevilla. Los registros de este formulario proceden de la tabla Pfc de la
base de datos y se muestran de uno en uno.
En la figura 6.4.a podemos ver que en la barra de ttulo aparece el ttulo del formulario:
Proyectos fin de carrera. Para referirnos a este formulario, podemos hacerlo por su
nombre (Proyectos) o bien por su ttulo (Proyectos fin de carrera).
Tambin podemos apreciar que el formulario cuenta con varias fichas, es decir, varias
pginas dentro del mismo formulario. Ms concretamente, vemos que en la figura 6.4.a
se encuentra seleccionada la ficha titulada Proyecto fin de carrera. Existen adems otras
cuatro fichas cuyo aspecto mostramos a continuacin:
Pgina 78 de 197
Pgina 79 de 197
Pgina 80 de 197
6.4.1.- Controles
Vamos a realizar una descripcin de cada uno de los controles que posee el formulario
Proyectos fin de carrera, lo cual nos ayudar a comprender el funcionamiento de este
formulario.
1. Ficha Proyecto
Es la ficha seleccionada en la figura 6.4.a. Se titula Proyecto fin de carrera aunque
su nombre es simplemente Proyecto. Para referirnos a esta ficha, podemos hacerlo
por su nombre (Proyecto) o bien por su ttulo (Proyecto fin de carrera).
A esta ficha pertenecen los siguientes controles del formulario: CTCursoAcad1,
CTCursoAcad2, CTFEntrSecr, CTTitulo y CTResumen.
Contiene el ttulo del proyecto fin de carrera, un resumen del mismo, el curso
acadmico y la fecha de entrada en Secretara de dicho proyecto fin de carrera.
2. Ficha Autor
Es la ficha seleccionada en la figura 6.4.b. Se titula Autor, por lo que en este caso
coinciden el nombre y el ttulo de la ficha.
A esta ficha pertenecen los siguientes controles del formulario: CTAp1Autor,
CTAp2Autor, CCTratamiento, CTNombAutor, CCTitulacion, CCPlanEstudios y
CCIntensificacion.
Contiene el nombre y apellidos del autor del proyecto fin de carrera (es decir, del
alumno), as como su titulacin, plan de estudios y especialidad o intensificacin.
3. Ficha Tutor
Es la ficha seleccionada en la figura 6.4.c. Se titula Tutor, por lo que en este caso
coinciden el nombre y el ttulo de la ficha.
A esta ficha pertenecen los siguientes controles del formulario: CCNumTutores,
SFTutores, BCSelTut, BCElimTut y BCProfTut.
Contiene al tutor o tutores del proyecto fin de carrera.
Pgina 81 de 197
4. Ficha Calificacion
Es la ficha seleccionada en la figura 6.4.d. Se titula Calificacin aunque su nombre
es Calificacion (sin tilde). Para referirnos a esta ficha, podemos hacerlo por su
nombre (Calificacion) o bien por su ttulo (Calificacin).
A esta ficha pertenecen los siguientes controles del formulario: CTCalifNum y
CCCalifAlfanum.
Contiene la calificacin numrica y alfanumrica otorgada al proyecto fin de carrera
por el tribunal.
5. Ficha Tribunal
Es la ficha seleccionada en la figura 6.4.e. Se titula Tribunal, por lo que en este caso
coinciden el nombre y el ttulo de la ficha.
A esta ficha pertenecen los siguientes controles del formulario: SFTribunalPfc,
BCSelProf, BCElimProf, BCProfTrib, BCAsigAutCargos y BCAsigManCargos.
Contiene a los profesores del tribunal encargado de evaluar el proyecto fin de
carrera.
Cada curso acadmico esta compuesto por dos aos: por ejemplo, el curso
acadmico 2004/2005 est formado por los aos 2004 y 2005. El cuadro de texto
CTCursoAcad1 contiene el primero de los aos del curso acadmico (o sea, en el
ejemplo sera el ao 2004).
Cada curso acadmico esta compuesto por dos aos: por ejemplo, el curso
acadmico 2004/2005 est formado por los aos 2004 y 2005. El cuadro de texto
CTCursoAcad2 contiene el segundo de los aos del curso acadmico (o sea, en el
ejemplo sera el ao 2005).
Est bloqueado, es decir, no podemos modificar el contenido de este cuadro de
texto. El segundo ao del curso acadmico se escribe automticamente en
CTCursoAcad2 cuando introducimos el primer ao de dicho curso en
CTCursoAcad1. Calcular el segundo ao a partir del primero es muy sencillo, basta
con sumarle uno.
Pgina 83 de 197
Contiene, por tanto, la fecha de entrada en Secretara del proyecto fin de carrera.
Tipo de datos: memo (es decir, texto extenso o combinacin extensa de texto y
nmeros: hasta 65.535 caracteres).
Tipo de datos: memo (es decir, texto extenso o combinacin extensa de texto y
nmeros: hasta 65.535 caracteres).
Contiene, por tanto, el primer apellido del autor del proyecto fin de carrera, es decir,
el primer apellido del alumno.
Contiene, por tanto, el segundo apellido del autor del proyecto fin de carrera, es
decir, el segundo apellido del alumno.
Pgina 85 de 197
Contiene, por tanto, el nombre del autor del proyecto fin de carrera, es decir, el
nombre del alumno.
Pgina 86 de 197
la
ficha
Autor
tiene
asociada
una
etiqueta
titulada
Intensificacin/Especialidad.
Muestra el campo IntensificacionID de la tabla Pfc de la base de datos. Este campo
tiene las siguientes propiedades:
Pgina 87 de 197
Tamao del campo: entero, o sea, puede almacenar nmeros entre -32.768 y
32.767 (no admite fracciones).
Valor predeterminado: 1.
Pgina 88 de 197
Tiene como origen la tabla NumeroTutores de la base de datos. Por tanto, los
valores que aparecen en la lista desplegable del cuadro combinado son los valores
del campo NumTutores de la tabla NumeroTutores.
Contiene, por tanto, el nmero de tutores que dirigen el proyecto fin de carrera.
Pgina 89 de 197
Contiene, por tanto, la calificacin numrica otorgada al proyecto fin de carrera por
el tribunal.
Tiene como origen la tabla Calificaciones de la base de datos. Esta tabla posee dos
campos, que son CalifAlfanumID y CalifAlfanum. Los valores que aparecen en la
lista desplegable del cuadro combinado son los del campo CalifAlfanum mientras
Pgina 90 de 197
que en la tabla Pfc se guardan los valores del campo CalifAlfanumID debido a que
tiene menor tamao.
Contiene, por tanto, la calificacin alfanumrica otorgada al proyecto fin de carrera
por el tribunal
Est limitado a la lista, es decir, no puede contener ningn valor que no se encuentre
en la lista.
La calificacin alfanumrica que aparece en el cuadro combinado CCCalifAlfanum
se selecciona automticamente si introducimos una calificacin numrica en el
cuadro de texto CTCalifNum, de modo que nunca se contradicen ambas
calificaciones.
Pgina 91 de 197
Pgina 92 de 197
dedicacin y la antigedad (por este orden de prioridad) que posee cada uno de los
tres miembros del tribunal, ocuparn los cargos de presidente, vocal y secretario de
dicho tribunal.
Pgina 93 de 197
Pgina 94 de 197
Al hacer clic sobre este botn abrimos el formulario ProyectosGraficos (el ttulo de
este formulario es Configurar grfico).
Pgina 95 de 197
Pgina 96 de 197
El cdigo asociado a este evento se utiliza para que el formulario Proyectos fin de
carrera muestre el ltimo registro de la tabla Pfc. Adems, si en esta tabla no existiera
Pgina 97 de 197
El cdigo asociado a este evento se utiliza para mostrar un mensaje indicando que el
ltimo registro mostrado por el formulario ha sido actualizado si es que dicho registro
fue modificado y no fue guardado con anterioridad.
El cdigo asociado a este evento se utiliza para que el segundo ao del curso acadmico
aparezca automticamente en CTCursoAcad2 una vez hemos introducido el primer ao
de dicho curso en CTCursoAcad1. Calcular el segundo ao a partir del primero es muy
sencillo, basta con sumarle uno.
Pgina 98 de 197
El cdigo asociado a este evento se utiliza para dejar en blanco el contenido del cuadro
combinado CCIntensificacion e introducir en l la consulta que proporciona los valores
que aparecen en la lista desplegable de dicho cuadro combinado.
El cdigo asociado a este evento se utiliza para deshacer los cambios realizados en este
cuadro combinado si seleccionamos un nmero de tutores menor de los que ya contiene
el subformulario SFTutores.
El cdigo asociado a este evento se utiliza para aadir dicho valor a la lista del cuadro
combinado si el usuario lo desea.
Pgina 99 de 197
El cdigo asociado a este evento se utiliza para deshacer los cambios realizados en este
cuadro combinado si seleccionamos una calificacin alfanumrica que no se
corresponde con la calificacin numrica introducida en el cuadro de texto CTCalifNum.
6.4.3.- Informes
Desde el formulario Proyectos fin de carrera podemos abrir el informe
CertificadoDefensaPfc haciendo clic sobre el botn de comando BCCertifDef. Este
informe se titula Certificado de defensa de proyecto fin de carrera y recoge toda la
Todas las pginas del informe cuentan con encabezado y pi de pgina que recogen la
siguiente informacin: logotipo de la Universidad de Sevilla, nombre del Departamento,
direccin de la Escuela Superior de Ingenieros, nmero de pgina y total de pginas del
informe.
Si queremos imprimir el informe tenemos todas las facilidades para ello: podemos
generar una vista previa del mismo, aplicar el zoom, seleccionar la impresora y las
opciones de impresin, configurar el tamao y la posicin del papel as como los
mrgenes, etc.
6.4.4.- Grficos
Desde el formulario Proyectos fin de carrera podemos generar un grfico que muestra
el nmero de proyectos fin de carrera dirigidos por el Departamento segn curso
acadmico.
Haciendo clic sobre el botn de comando BCPfcCa del formulario Proyectos fin de
carrera abrimos el formulario ProyectosGraficos, el cual nos permite configurar el
grfico que mostrar el nmero de proyectos fin de carrera dirigidos por el
Departamento segn curso acadmico. Las opciones de configuracin son las
siguientes:
Si queremos imprimir el grfico tenemos todas las facilidades para ello: podemos
generar una vista previa del grfico, aplicar el zoom, seleccionar la impresora y las
opciones de impresin, configurar el tamao y la posicin del papel as como los
mrgenes, etc.
Figura 6.5.a
En la figura 6.5.a podemos ver que en la barra de ttulo aparece el ttulo del formulario:
Proyectos fin de carrera Nuevo registro. Para referirnos a este formulario, podemos
hacerlo por su nombre (ProyectosAgregar) o bien por su ttulo (Proyectos fin de carrera
Nuevo registro).
Si comparamos las figuras 6.4.a y 6.5.a podemos apreciar que el formulario Proyectos
fin de carrera y el formulario Proyectos fin de carrera Nuevo registro cuentan con el
mismo aspecto. Con esto se pretende que, al pasar de uno a otro, no se note que hemos
cambiado de formulario y parezcan un mismo formulario. As, se han incluido los
mismos controles en ambos formularios, de tal forma que en cada formulario
desactivamos aquellos controles que slo sirven para el otro formulario.
El formulario Proyectos fin de carrera Nuevo registro sirve, como su propio nombre
indica, para incluir nuevos proyectos fin de carrera en la base de datos, es decir, a travs
de este formulario podemos agregar nuevos registros a la tabla Pfc de la base de datos.
Adems, cada vez que seleccionamos un profesor como tutor o como miembro del
tribunal, se agrega un nuevo registro a la tabla Tutores o a la tabla TribunalPfc
respectivamente.
Cuando el usuario est introduciendo un nuevo proyecto fin de carrera todava no sabe
quines son los miembros del tribunal ni la calificacin otorgada a dicho proyecto. Por
este motivo, tanto la ficha Calificacin como la ficha Tribunal se encuentran
desactivadas en el formulario Proyectos fin de carrera Nuevo registro. La seleccin
de los miembros del tribunal se realiza desde otro formulario titulado Sesiones de
tribunal o Sesiones de tribunal Nuevo registro. Tambin podemos modificar los
miembros que conforman el tribunal de cada proyecto fin de carrera desde la ficha
Tribunal del formulario Proyectos fin de carrera, por ejemplo cuando observemos que
alguno de los profesores del tribunal figura tambin como profesor-tutor.
6.5.1.- Controles
Son los mismos que los del formulario Proyectos fin de carrera como ya hemos
comentado. Se encuentran desactivados los siguientes controles: BCBuscar,
BCOrdenar, BCQuitarFiltro, BCCertifDef, BCPfcCa y BCSesTrib. Adems, al estar
desactivadas las fichas Calificacin y Tribunal tambin lo estn todos los controles
contenidos en ellas.
El cdigo asociado a este evento se utiliza para introducir el primer ao del curso
acadmico en el cuadro de texto CTCursoAcad1 y el segundo ao del curso acadmico
en el cuadro de texto CTCursoAcad2, de acuerdo con la fecha actual.
El cdigo asociado a este evento se utiliza para aadir dicho valor a la lista del cuadro
combinado si el usuario lo desea.
Figura 6.6.a
Este formulario muestra toda la informacin asociada a las sesiones de tribunal.
Llamamos sesin de tribunal al conjunto formado por el tribunal y los proyectos fin de
carrera que son evaluados por dicho tribunal. Cada tribunal est compuesto por tres
profesores del Departamento. Adems, los tribunales se constituyen con una frecuencia
mensual, y cada tribunal puede evaluar un mximo de seis proyectos fin de carrera. Esto
quiere decir que si, por ejemplo, en el ltimo mes se presentaron 14 proyectos fin de
carrera, habr que generar tres tribunales diferentes, es decir, tres sesiones de tribunal,
dos de cinco proyectos y una de cuatro, si realizamos un reparto lo ms homogneo
posible.
En la figura 6.6.a podemos ver que en la barra de ttulo aparece el ttulo del formulario:
Sesiones de tribunal. Para referirnos a este formulario, podemos hacerlo por su nombre
(SesionesDeTribunal) o bien por su ttulo (Sesiones de tribunal). Los registros de este
formulario proceden de la tabla SesionesDeTribunal de la base de datos y se muestran
de uno en uno.
Tambin podemos apreciar que el formulario cuenta con varias fichas, es decir, varias
pginas dentro del mismo formulario. Ms concretamente, vemos que en la figura 6.6.a
se encuentra seleccionada la ficha titulada Sesin de tribunal. Existen adems otras dos
fichas cuyo aspecto mostramos a continuacin:
6.6.1.- Controles
Vamos a realizar una descripcin de cada uno de los controles que posee el formulario
Sesiones de tribunal, lo cual nos ayudar a comprender el funcionamiento de este
formulario.
1. Ficha Sesion
Es la ficha seleccionada en la figura 6.6.a. Se titula Sesin de tribunal aunque su
nombre es simplemente Sesion. Para referirnos a esta ficha, podemos hacerlo por su
nombre (Sesion) o bien por su ttulo (Sesin de tribunal).
A esta ficha pertenecen los siguientes controles del formulario: CTCursoAcad1,
CTCursoAcad2, CCMes, CTFechaDef, CTHoraDef y CCAulaDef.
Contiene el curso acadmico, el mes del ao en el que se celebra la sesin de
tribunal, la fecha de defensa (da, mes y ao) de los proyectos incluidos en la sesin,
la hora de celebracin de la sesin de tribunal as como el aula o saln donde tiene
lugar dicha celebracin.
2. Ficha Proyectos
Es la ficha seleccionada en la figura 6.6.b. Se titula Proyectos fin de carrera aunque
su nombre es simplemente Proyectos. Para referirnos a esta ficha, podemos hacerlo
por su nombre (Proyectos) o bien por su ttulo (Proyectos fin de carrera).
A esta ficha pertenecen los siguientes controles del formulario: CCNumProyectos,
SFProyectos, BCSelProy, BCElimProy y BCProyectos.
Contiene los proyectos fin de carrera incluidos en la sesin de tribunal.
3. Ficha Tribunal
Es la ficha seleccionada en la figura 6.6.c. Se titula Tribunal, por lo que en este caso
coinciden el nombre y el ttulo de la ficha.
A esta ficha pertenecen los siguientes controles del formulario: CCNumProfesores,
SFTribunal,
BCSelTrib,
BCElimProf,
BCAsigAutCargos y BCAsigManCargos.
BCElimTrib,
BCProfesores,
Contiene a los profesores del tribunal encargado de evaluar los proyectos fin de
carrera incluidos en la sesin de tribunal.
Cada curso acadmico esta compuesto por dos aos: por ejemplo, el curso
acadmico 2004/2005 est formado por los aos 2004 y 2005. El cuadro de texto
CTCursoAcad1 contiene el primero de los aos del curso acadmico (o sea, en el
ejemplo sera el ao 2004).
Cada curso acadmico esta compuesto por dos aos: por ejemplo, el curso
acadmico 2004/2005 est formado por los aos 2004 y 2005. El cuadro de texto
CTCursoAcad2 contiene el segundo de los aos del curso acadmico (o sea, en el
ejemplo sera el ao 2005).
Est bloqueado, es decir, no podemos modificar el contenido de este cuadro de
texto. El segundo ao del curso acadmico se escribe automticamente en
CTCursoAcad2 cuando introducimos el primer ao de dicho curso en
CTCursoAcad1. Calcular el segundo ao a partir del primero es muy sencillo, basta
con sumarle uno.
Contiene, por tanto, la fecha de defensa de los proyectos fin de carrera incluidos en
la sesin de tribunal.
Valor predeterminado: 6.
Tiene como origen la tabla NumeroProyectos de la base de datos. Por tanto, los
valores que aparecen en la lista desplegable del cuadro combinado son los valores
del campo NumProyectos de la tabla NumeroProyectos.
Contiene, por tanto, el nmero de proyectos fin de carrera que han de incluirse en la
sesin de tribunal.
Al hacer clic sobre este botn cerramos el formulario Sesiones de tribunal y abrimos
el formulario Proyectos fin de carrera, de tal forma que el registro mostrado en el
formulario Proyectos fin de carrera corresponde al proyecto que estaba
seleccionado en el subformulario SFProyectos del formulario Sesiones de tribunal..
Valor predeterminado: 3.
Tiene como origen la tabla NumeroProfesores de la base de datos. Por tanto, los
valores que aparecen en la lista desplegable del cuadro combinado son los valores
del campo NumProfesores de la tabla NumeroProfesores.
Contiene, por tanto, el nmero de profesores que ha de tener el tribunal.
Recoge, por tanto, los profesores del tribunal encargado de evaluar los proyectos fin
de carrera incluidos en la sesin de tribunal.
Contiene un cuadro combinado titulado Cargo y tres cuadros de texto que se titulan
Primer apellido, Segundo apellido y Nombre. Los cuadros de texto muestran el
nombre y los dos apellidos de cada profesor del tribunal mientras que el cuadro
combinado recoge el cargo que desempea cada profesor dentro del tribunal. En la
lista desplegable del cuadro combinado aparecen tres posibles cargos, que son los de
Presidente, Vocal y Secretario. Los tres cuadros de texto se encuentran bloqueados,
por lo que resulta imposible modificar su contenido. El cuadro combinado, sin
embargo, no est bloqueado.
Est bloqueado, es decir, no podemos modificar el contenido de los cuadros de texto
ni tampoco el del cuadro combinado. Si el subformulario no estuviese bloqueado,
slo podramos modificar el contenido del cuadro combinado puesto que los cuadros
de texto se encuentran bloqueados ya de por s.
Al hacer clic sobre este botn bloqueamos la edicin del registro mostrado en el
formulario y se guardan los cambios realizados en dicho registro.
Al hacer clic sobre este botn cerramos el formulario Sesiones de tribunal y abrimos
el formulario Panel principal.
BCSelTrib,
BCElimProf,
BCElimTrib,
BCAsigAutCargos
BCAsigManCargos.
Mostrar un mensaje indicando que el registro anterior al actual ha sido actualizado si
es que dicho registro fue modificado y no fue guardado con anterioridad.
El cdigo asociado a este evento se utiliza para que el formulario Sesiones de tribunal
muestre el ltimo registro de la tabla SesionesDeTribunal. Adems, si en esta tabla no
existiera ningn registro, se muestra un mensaje explicando tal circunstancia y a
continuacin se cierra el formulario Sesiones de tribunal y se abre el formulario
Sesiones de tribunal Nuevo registro para que podamos introducir el primer registro.
El cdigo asociado a este evento se utiliza para mostrar un mensaje indicando que el
ltimo registro mostrado por el formulario ha sido actualizado si es que dicho registro
fue modificado y no fue guardado con anterioridad.
El cdigo asociado a este evento se utiliza para deshacer los cambios realizados en este
cuadro de texto si el subformulario SFTribunal contiene algn registro. Es decir, no
podemos modificar el curso acadmico a menos que el tribunal est vaco.
El cdigo asociado a este evento se utiliza para que el segundo ao del curso acadmico
aparezca automticamente en CTCursoAcad2 una vez hemos introducido el primer ao
de dicho curso en CTCursoAcad1. Calcular el segundo ao a partir del primero es muy
sencillo, basta con sumarle uno.
El cdigo asociado a este evento se utiliza para deshacer los cambios realizados en este
cuadro combinado si el subformulario SFTribunal contiene algn registro. Es decir, no
podemos modificar el mes en el que se celebra la sesin de tribunal a menos que el
tribunal est vaco.
El cdigo asociado a este evento se utiliza para aadir dicho valor a la lista del cuadro
combinado si el usuario lo desea.
El cdigo asociado a este evento se utiliza para deshacer los cambios realizados en este
cuadro combinado si seleccionamos un nmero de profesores menor de los que ya
contiene el subformulario SFTribunales.
El cdigo asociado a este evento se utiliza para aadir dicho valor a la lista del cuadro
combinado si el usuario lo desea.
BCSelTrib,
BCElimProf,
BCElimTrib,
BCAsigAutCargos
BCAsigManCargos.
Desactivar los siguientes botones de comando: BCEditar, BCEliminar, BCBuscar,
BCOrdenar y BCQuitarFiltro.
BCSelTrib,
BCElimProf,
BCElimTrib,
BCAsigAutCargos
BCAsigManCargos.
Figura 6.7.a
En la figura 6.7.a podemos ver que en la barra de ttulo aparece el ttulo del formulario:
Sesiones de tribunal Nuevo registro. Para referirnos a este formulario, podemos
hacerlo por su nombre (SesionesDeTribunalAgregar) o bien por su ttulo (Sesiones de
tribunal Nuevo registro).
Si comparamos las figuras 6.6.a y 6.7.a podemos apreciar que el formulario Sesiones de
tribunal y el formulario Sesiones de tribunal Nuevo registro cuentan con el mismo
aspecto. Con esto se pretende que, al pasar de uno a otro, no se note que hemos
cambiado de formulario y parezcan un mismo formulario. As, se han incluido los
mismos controles en ambos formularios, de tal forma que en cada formulario
desactivamos aquellos controles que slo sirven para el otro formulario.
6.7.1.- Controles
Son los mismos que los del formulario Sesiones de tribunal como ya hemos comentado.
Se encuentran desactivados los siguientes controles: BCBuscar, BCOrdenar y
BCQuitarFiltro.
El cdigo asociado a este evento se utiliza para introducir el primer ao del curso
acadmico en el cuadro de texto CTCursoAcad1 y el segundo ao del curso acadmico
en el cuadro de texto CTCursoAcad2, de acuerdo con la fecha actual.
El cdigo asociado a este evento se utiliza para aadir dicho valor a la lista del cuadro
combinado si el usuario lo desea.
El cdigo asociado a este evento se utiliza para aadir dicho valor a la lista del cuadro
combinado si el usuario lo desea.
Mostrar un mensaje indicando el nmero de miembros del tribunal que faltan por
asignar si es que falta alguno.
BCSelTrib,
BCElimProf,
BCElimTrib,
BCAsigAutCargos
BCAsigManCargos.
Desactivar los siguientes botones de comando: BCEditar y BCEliminar.
BCSelTrib,
BCElimProf,
BCElimTrib,
BCAsigAutCargos
BCAsigManCargos.
algn campo requerido. Este mensaje pregunta al usuario si desea salir del
formulario Sesiones de tribunal Nuevo registro sin guardar el nuevo registro o, por
el contrario, prefiere permanecer en dicho formulario para poder introducir las
modificaciones oportunas y guardar dicho registro.
El cdigo VBA que carga las dos listas de profesores se encarga de que la seleccin de
los profesores sea tan fcil como seguir siempre estos dos pasos sin tener que
preocuparnos de nada ms. Veamos a continuacin este cdigo, el cual se encuentra
asociado al evento Al cargar del formulario SeleccionarTribunal:
lngSesionID As Long
intCursoAcad1 As Integer
lngMes As Long
strConsMesCA As String
strConsCLFuncionarios As String
strConsCLProfesores
dbs As Database
qdfConsMesCA As QueryDef
lngSesionID = Forms!SesionesDeTribunal!SesionID
intCursoAcad1 = Forms!SesionesDeTribunal!CursoAcad1
lngMes = Forms!SesionesDeTribunal!Mes
Set dbs = CurrentDb
strConsMesCA = "SELECT Tribunales.ProfesorID FROM SesionesDeTribunal INNER JOIN Tribunales " _
& "ON SesionesDeTribunal.SesionID = Tribunales.SesionID " _
& "WHERE SesionesDeTribunal.CursoAcad1 LIKE '" & intCursoAcad1 & "' " _
& "AND SesionesDeTribunal.Mes LIKE '" & lngMes & "';"
Set qdfConsMesCA = dbs.CreateQueryDef("ConsMesCA", strConsMesCA)
strConsCLFuncionarios = "SELECT ConsPosPres.ProfesorID, ConsPosPres.ContadosAsistencias, ConsPosPres.Ap1Profesor, " _
& "ConsPosPres.Ap2Profesor, ConsPosPres.NombProfesor, ConsPosPres.PosicionCola " _
& "FROM ConsPosPres LEFT JOIN ConsMesCA ON ConsPosPres.ProfesorID = ConsMesCA.ProfesorID " _
& "WHERE ConsMesCA.ProfesorID Is Null " _
& "ORDER BY ConsPosPres.ContadorAsistencias DESC, ConsPosPres.PosicionCola, ConsPosPres.FechaSalidaCola;"
strConsCLProfesores = "SELECT ConsPosTrib.ProfesorID, ConsPosTrib.ContadosAsistencias, ConsPosTrib.Ap1Profesor, " _
& "ConsPosTrib.Ap2Profesor, ConsPosTrib.NombProfesor, ConsPosTrib.PosicionCola " _
& "FROM ConsPosTrib LEFT JOIN ConsMesCA ON ConsPosTrib.ProfesorID = ConsMesCA.ProfesorID " _
& "WHERE ConsMesCA.ProfesorID Is Null " _
& "ORDER BY ConsPosTrib.ContadosAsistencias DESC, ConsPosTrib.PosicionCola, ConsPosTrib.FechaSalidaCola;"
Me.CLFuncionarios.RowSource = strConsCLFuncionarios
Me.CLProfesores.RowSource = strConsCLProfesores
dbs.QueryDefs.Delete "ConsMesCA"
Set qdfConsMesCA = Nothing
Set dbs = Nothing
DoCmd.Hourglass False
Exit_Form_Load:
Exit Sub
Err_Form_Load:
DoCmd.Hourglass False
DisplayMessage "Error desconocido (Identificador: SLTR-14)."
Resume Exit_Form_Load
End Sub
Analizando el cdigo observamos que ste genera tres consultas importantes, que son
las siguientes:
1. Consulta ConsMesCa
Es la consulta que queda guardada en la variable strConsMesCA. La consulta
ConsMesCA sirve para seleccionar todos aquellos profesores que han sido miembros del
tribunal en el curso acadmico y en el mes de la sesin de tribunal mostrada en el
formulario Sesiones de tribunal.
2. Consulta ConsCLFuncionarios
Es la consulta que queda guardada en la variable strConsCLFuncionarios. La consulta
ConsCLFuncionarios sirve para seleccionar todos los profesores que pueden ser
presidentes de un tribunal excepto aqullos que han sido miembros del tribunal en el
curso acadmico y en el mes de la sesin de tribunal mostrada en el formulario Sesiones
de tribunal.
La consulta ConsPosPres ha sido creada con Access y podemos hacer referencia a ella
en el cdigo VBA como si fuera una tabla ms de la base de datos. Esta consulta recoge
a todos los profesores que puede ser presidentes de un tribunal. Si la expresamos en
lenguaje SQL queda de la siguiente manera:
3. Consulta ConsCLProfesores
Es la consulta que queda guardada en la variable strConsCLProfesores. La consulta
ConsCLProfesores sirve para seleccionar todos los profesores que pueden ser miembros
de un tribunal excepto aqullos que han sido miembros del tribunal en el curso
acadmico y en el mes de la sesin de tribunal mostrada en el formulario Sesiones de
tribunal.
La consulta ConsPosTrib ha sido creada con Access y podemos hacer referencia a ella
en el cdigo VBA como si fuera una tabla ms de la base de datos. Esta consulta recoge
a todos los profesores que pueden ser miembros de un tribunal. Si la expresamos en
lenguaje SQL queda de la siguiente manera:
Una vez hemos comprendido cmo se generan las dos listas de profesores que aparecen
en el formulario SeleccionarTribunal, vamos a ocuparnos a continuacin de analizar
qu sucede cuando seleccionamos un profesor en el cuadro de lista CLFuncionarios y lo
asignamos al tribunal de la sesin mostrada en el formulario Sesiones de tribunal.
El cdigo VBA asociado al evento Al hacer clic del botn Asignar (botn de comando
BCAsigFunc) de la ficha Profesores que pueden ser presidentes de un tribunal es el
siguiente:
cnn As Connection
rstTribunales As New ADODB.Recordset
rstConsProfesores As New ADODB.Recordset
varPosicion1 As Variant
varPosicion2 As Variant
strCriterio As String
strMensaje1 As String
strMensaje2 As String
lngSesionID As Long
intNumMiembros As Integer
intNumMiembSubf As Integer
intNumMiembSel As Integer
intNumMiembSuma As Integer
intNumMiembResta As Integer
intNumTribunales As Integer
intContadorAsistencias As Integer
intPosicionCola As Integer
intPosColaAlAsignar As Integer
intPosColaAlEliminar As Integer
intPosColaAlAsigUno As Integer
intPosColaAlElimUno As Integer
intNumEnCola As Integer
intNumEnColaCorreg As Integer
intCursoActual1 As Integer
intCursoActual2 As Integer
intNumProf As Integer
intNumProfSel As Integer
intNumProfDif As Integer
lngSesionID = Forms!SesionesDeProyectos!SesionID
intNumMiembros = Forms!SesionesDeProyectos!NumProfesores
intNumMiembSubf = DCount("[MiembroID]", "Tribunales", "SesionID = " & lngSesionID)
intNumMiembSel = CLFuncionarios.ItemsSelected.Count
intNumMiembSuma = intNumMiembSubf + intNumMiembSel
rstConsProfesores.MoveFirst
rstConsProfesores.Find (strCriterio)
intNumTribunales = rstConsProfesores!NumTribunales
intContadorAsistencias = rstConsProfesores!ContadorAsistencias
intPosicionCola = rstConsProfesores!PosicionCola
intPosColaAlAsignar = rstConsProfesores!PosColaAlAsignar
intPosColaAlEliminar = rstConsProfesores!PosColaAlEliminar
intPosColaAlAsigUno = rstConsProfesores!PosColaAlAsigUno
intPosColaAlElimUno = rstConsProfesores!PosColaAlElimUno
If intContadorAsistencias = 0 And intPosicionCola > 0 Then
'Caso NSC = 0 y PC > 0 -> profesor en cola.
If intNumTribunales = 1 Then
'Caso NS = 1 -> caso particular.
intNumEnCola = DCount("[ProfesorID]", "Profesores", "[ContadorAsistencias] = 0")
If intPosColaAlElimUno = 0 Then
'Caso PCEU = 0 -> caso general: profesor no eliminado previamente; Nota: PCAU
puede ser mayor o igual que cero.
rstConsProfesores.MoveFirst
Do Until rstConsProfesores.EOF
'Tapamos el hueco.
If rstConsProfesores!ContadorAsistencias = 0 And rstConsProfesores!PosicionCola > intPosicionCola Then
cnn.BeginTrans
rstConsProfesores!PosicionCola = rstConsProfesores!PosicionCola - 1
rstConsProfesores.Update
cnn.CommitTrans
End If
rstConsProfesores.MoveNext
Loop
rstConsProfesores.MoveFirst
rstConsProfesores.Find (strCriterio)
cnn.BeginTrans
rstConsProfesores!PosicionCola = intNumEnCola
'Pasa al ltimo de la cola -> PC = ltimo; Nota: el cdigo
funciona ok si es el nico profesor en la cola.
rstConsProfesores!PosColaAlAsigUno = intPosicionCola
'Generamos PCAU.
rstConsProfesores.Update
cnn.CommitTrans
ElseIf intPosColaAlElimUno > 0 And intPosColaAlAsigUno = 0 Then
'Caso PCEU > 0 -> caso particular: profesor
eliminado previamente; Nota: PCAU debe valer cero.
rstConsProfesores.MoveFirst
Do Until rstConsProfesores.EOF
'Tapamos el hueco.
If rstConsProfesores!ContadorAsistencias = 0 And rstConsProfesores!PosicionCola > intPosicionCola Then
cnn.BeginTrans
rstConsProfesores!PosicionCola = rstConsProfesores!PosicionCola - 1
rstConsProfesores.Update
cnn.CommitTrans
End If
rstConsProfesores.MoveNext
Loop
intNumEnColaCorreg = intNumEnCola - 1
If intNumEnColaCorreg >= intPosColaAlElimUno Then
rstConsProfesores.MoveFirst
'Abrimos el hueco.
Do Until rstConsProfesores.EOF
If rstConsProfesores!ContadorAsistencias = 0 And rstConsProfesores!PosicionCola >= intPosColaAlElimUno Then
cnn.BeginTrans
rstConsProfesores!PosicionCola = rstConsProfesores!PosicionCola + 1
rstConsProfesores.Update
cnn.CommitTrans
End If
rstConsProfesores.MoveNext
Loop
rstConsProfesores.MoveFirst
rstConsProfesores.Find (strCriterio)
cnn.BeginTrans
rstConsProfesores!PosicionCola = intPosColaAlElimUno
'Vuelve a PCEU -> PC = PCEU y PCEU = 0.
rstConsProfesores!PosColaAlElimUno = 0
rstConsProfesores.Update
cnn.CommitTrans
Else
rstConsProfesores.MoveFirst
rstConsProfesores.Find (strCriterio)
cnn.BeginTrans
rstConsProfesores!PosicionCola = intNumEnCola
'Nota: el cdigo funciona ok si es el nico profesor en la
cola.
rstConsProfesores!PosColaAlElimUno = 0
rstConsProfesores.Update
cnn.CommitTrans
End If
Else
DisplayMessage "Error desconocido (Identificador: SLTR-1)."
End If
ElseIf intNumTribunales > 1 Then
'Caso NS > 1 -> caso general; Nota: recordemos que NS >= 0, y si NS = 0 entonces
quedan en blanco NSC,PC,PCA,PCE,PCAU y PCEU, por lo que el profesor no forma parte de la secuenciacin.
cnn.BeginTrans
rstConsProfesores!ContadorAsistencias = 1
'Pasa a servicio -> NSC = 1 y PC = 0.
rstConsProfesores!PosicionCola = 0
rstConsProfesores!PosColaAlAsignar = intPosicionCola
'Generamos PCA.
rstConsProfesores.Update
cnn.CommitTrans
rstConsProfesores.MoveFirst
Do Until rstConsProfesores.EOF
'Tapamos el hueco.
If rstConsProfesores!ContadorAsistencias = 0 And rstConsProfesores!PosicionCola > intPosicionCola Then
cnn.BeginTrans
rstConsProfesores!PosicionCola = rstConsProfesores!PosicionCola - 1
rstConsProfesores.Update
cnn.CommitTrans
End If
rstConsProfesores.MoveNext
Loop
Else
DisplayMessage "Error desconocido (Identificador: SLTR-2)."
End If
ElseIf intContadorAsistencias > 0 And intPosicionCola = 0 Then
'Caso NSC > 0 y PC = 0 -> profesor en servicio.
If intContadorAsistencias < intNumTribunales - 1 Then
'Caso NSC < NS - 1 -> profesor sin terminar el servicio.
cnn.BeginTrans
rstConsProfesores!ContadorAsistencias = rstConsProfesores!ContadorAsistencias + 1
'Incrementamos NSC.
rstConsProfesores.Update
cnn.CommitTrans
ElseIf intContadorAsistencias = intNumTribunales - 1 And intPosColaAlAsignar = 0 And intPosColaAlEliminar > 0 Then
'Caso NSC = NS - 1, PCA = 0 y PCE > 0 -> profesor eliminado previamente que ha terminado el servicio.
intNumEnCola = DCount("[ProfesorID]", "Profesores", "[ContadorAsistencias] = 0")
If intNumEnCola >= intPosColaAlEliminar Then
rstConsProfesores.MoveFirst
Do Until rstConsProfesores.EOF
'Abrimos el hueco.
If rstConsProfesores!ContadorAsistencias = 0 And rstConsProfesores!PosicionCola >= intPosColaAlEliminar Then
cnn.BeginTrans
rstConsProfesores!PosicionCola = rstConsProfesores!PosicionCola + 1
rstConsProfesores.Update
cnn.CommitTrans
End If
rstConsProfesores.MoveNext
Loop
rstConsProfesores.MoveFirst
rstConsProfesores.Find (strCriterio)
cnn.BeginTrans
rstConsProfesores!ContadorAsistencias = 0
rstConsProfesores!PosicionCola = intPosColaAlEliminar
'Vuelve a PCE -> NSC = 0, PC = PCE y PCE = 0.
rstConsProfesores!PosColaAlEliminar = 0
rstConsProfesores.Update
cnn.CommitTrans
Else
cnn.BeginTrans
rstConsProfesores!ContadorAsistencias = 0
rstConsProfesores!PosicionCola = intNumEnCola + 1
'Nota: el cdigo funciona ok si no hay profesores en la
cola.
rstConsProfesores!PosColaAlEliminar = 0
rstConsProfesores.Update
cnn.CommitTrans
End If
ElseIf intContadorAsistencias = intNumTribunales - 1 And intPosColaAlAsignar > 0 And intPosColaAlEliminar = 0 Then
'Caso NSC = NS - 1, PCA > 0 y PCE = 0 -> profesor asignado previamente que ha terminado el servicio.
intNumEnCola = DCount("[ProfesorID]", "Profesores", "[ContadorAsistencias] = 0")
cnn.BeginTrans
rstConsProfesores!ContadorAsistencias = 0
rstConsProfesores!PosicionCola = intNumEnCola + 1
'Pasa al ltimo de la cola -> NSC = 0, PC = ltimo y PCA = 0;
Nota: el cdigo funciona ok si no hay profesores en la cola.
rstConsProfesores!PosColaAlAsignar = 0
rstConsProfesores.Update
cnn.CommitTrans
Else
DisplayMessage "Error desconocido (Identificador: SLTR-3)."
End If
Else
DisplayMessage "Error desconocido (Identificador: SLTR-4)."
End If
Next varPosicion2
rstConsProfesores.Close
rstTribunales.Close
Set cnn = Nothing
DoCmd.Close acForm, "SeleccionarTribunal"
intNumProf = DCount("[MiembroID]", "Tribunales", "[SesionID] = " & lngSesionID)
intNumProfSel = Forms!SesionesDeProyectos!CCNumProfesores
Los comentarios sobre el cdigo aparecen en color verde, y se han utilizado las
siguientes abreviaturas para referirnos a los campos de la consulta ConsProfesores:
A continuacin vamos a resumir las tareas que realiza el cdigo VBA asociado al
evento Al hacer clic del botn Asignar (botn de comando BCAsigFunc) de la ficha
Profesores que pueden ser presidentes de un tribunal:
Utilizar transacciones para realizar varios cambios en los datos tiene dos ventajas: puede
acelerar la ejecucin del cdigo, porque accede solamente una vez a la unidad de disco,
en lugar de acceder cada vez que cambie un registro; segundo, nunca dejar registros
parcialmente modificados si se produce un error o un corte del suministro elctrico
antes de que se hayan realizado todos los cambios.
Por ltimo, comentar que el cdigo VBA asociado al evento Al hacer clic del botn
Asignar (botn de comando BCAsigProf) de la ficha Profesores que pueden ser
miembros de un tribunal es anlogo al cdigo VBA asociado al evento Al hace clic del
botn de comando BCAsigFunc que acabamos de analizar. Por otra parte, existe un
formulario llamado SeleccionarTribunalAgregar que es idntico al formulario
SeleccionarTribunal.
La
nica
diferencia
reside
en
que
el
formulario
Figura 6.9.a
Este formulario se abre al hacer clic sobre el botn Panel de configuracin del
formulario Panel principal (ver figura 6.1.a). Desde el formulario Panel de
configuracin podemos acceder a otros formularios que nos permiten configurar la
aplicacin de base de datos para que funcione correctamente.
Figura 6.9.b
Este formulario se abre al hacer clic sobre el botn Secuenciacin de los tribunales del
formulario Panel de configuracin (ver figura 6.9.a). Desde el formulario
Secuenciacin de los tribunales podemos modificar los parmetros que controlan dicha
secuenciacin. En condiciones normales no habr que utilizar este formulario pues la
secuenciacin, una vez configurada, funciona por s sola y no necesita mantenimiento.
Sin embargo, al instalar por primera vez la aplicacin o cuando queramos alterar el
orden de la secuencia, haremos uso de este formulario, el cual debe ser manipulado por
un usuario avanzado que conozca bien el funcionamiento de la secuenciacin. De todos
modos, si realizamos algn cambio que pueda alterar el buen funcionamiento de la
secuenciacin, la aplicacin mostrar un mensaje antes de guardar dicho cambio, en el
cual se explica dnde est la equivocacin que hemos cometido para que podamos
corregirla.
3. Formulario Categoras
Presenta el siguiente aspecto:
Figura 6.9.c
Este formulario se abre al hacer clic sobre el botn Categoras del formulario Panel de
configuracin (ver figura 6.9.a). El formulario Categoras muestra toda la informacin
asociada a las categoras de los profesores. Los registros de este formulario proceden de
la tabla Categorias de la base de datos y se muestran de uno en uno.
Podemos sacar un informe que contiene un listado con todas las categoras y sus
caractersticas, en el que las categoras aparecen ordenadas de mayor a menor
prioridad.
A la hora de modificar las prioridades de las diferentes categoras podemos utilizar
el formulario Modificar prioridades, que ha sido especialmente diseado para
facilitar dicha tarea.
Figura 6.9.d
Este formulario se abre al hacer clic sobre el botn Modificar propiedades del
formulario Categoras (ver figura 6.9.c). El formulario Modificar propiedades sirve
para modificar de una forma rpida y sencilla las prioridades de las diferentes
categoras.
Al hacer clic sobre el botn Editar podemos introducir cambios en las prioridades, y si
hacemos clic sobre el botn Bloquear edicin conseguiremos, por un lado, bloquear la
lista para que no se puedan introducir ms cambios y, por otro, ordenar las categoras de
mayor a menor prioridad.
La prioridad de una categora est representada por un nmero entero mayor o igual que
uno con el siguiente significado: la prioridad es menor conforme aumenta este nmero,
y la prioridad mxima corresponde al nmero uno. La categora que tiene prioridad
sobre el resto es la de Catedrtico de Universidad, y por tanto aparece con prioridad
uno. En la figura 6.9.d vemos tambin que algunas categoras que tienen igual
prioridad: por ejemplo, tanto Catedrtico de Escuela Universitaria como Titular de
Universidad aparecen con prioridad dos.
Figura 6.9.e
Este formulario se abre al hacer clic sobre el botn Grupos de investigacin del
formulario Panel de configuracin (ver figura 6.9.a). El formulario Grupos de
investigacin muestra toda la informacin asociada a los grupos de investigacin
pertenecientes al Departamento de Organizacin Industrial y Gestin de Empresas. Los
registros de este formulario proceden de la tabla GruposInvestigacion de la base de
datos y se muestran de uno en uno.
abre al hacer clic sobre el botn Nuevo registro del formulario Grupos de investigacin
y sirve para incluir nuevas grupos de investigacin en la base de datos.
6. Formulario Titulaciones
Presenta el siguiente aspecto:
Figura 6.9.f
Este formulario se abre al hacer clic sobre el botn Titulaciones del formulario Panel de
configuracin (ver figura 6.9.a). El formulario Titulaciones muestra todas las
titulaciones universitarias existentes en la Escuela Superior de Ingenieros de Sevilla.
Los registros de este formulario proceden de la tabla Titulaciones de la base de datos y
se muestran de uno en uno.
Podemos sacar un informe que contiene un listado con todas las titulaciones
universitarias que se imparten en la Escuela Superior de Ingenieros de Sevilla.
Figura 6.9.g
Este formulario se abre al hacer clic en el botn Planes de estudios del formulario Panel
de configuracin (ver figura 6.9.a). El formulario Planes de estudios muestra los
diferentes planes de estudios que existen as como la titulacin a la que corresponde
cada uno de ellos. Los registros de este formulario proceden de la tabla PlanesEstudios
de la base de datos y se muestran de uno en uno.
8. Formulario Intensificaciones/Especialidades
Presenta el siguiente aspecto:
Figura 6.9.h
Panel
de
configuracin
Intensificaciones/Especialidades
muestra
(ver
las
figura
6.9.a).
diferentes
El
formulario
intensificaciones
especialidades que existen as como el plan de estudios al que corresponde cada una de
ellas. Cada plan de estudios, a su vez, corresponde a una determinada titulacin, como
ya vimos en el formulario Planes de estudios, y por este motivo en la lista desplegable
del cuadro combinado Plan de estudios aparece no slo el nombre de los planes sino
tambin la titulacin a la que corresponde cada uno de ellos. Los registros del
formulario Intensificaciones/Especialidades proceden de la tabla Intensificaciones de la
base de datos y se muestran de uno en uno.
Figura 6.9.i
Este formulario se abre al hacer clic sobre el botn Aulas de defensa del formulario
Panel de configuracin (ver figura 6.9.a). El formulario Aulas de defensa muestra las
distintas aulas o salones de la Escuela Superior de Ingenieros donde puede celebrarse la
defensa de los proyectos fin de carrera. Los registros de este formulario proceden de la
tabla Aulas de la base de datos y se muestran de uno en uno.
No podemos guardar o actualizar un registro si se detecta que existe otro registro con
igual aula (mismo contenido del cuadro de texto Aula de defensa). Tampoco podemos
eliminar un registro del formulario Aulas de defensa que tiene registros relacionados en
el formulario Sesiones de tribunal. De esta forma evitamos que haya sesiones de
tribunal que tenan asignada un aula y se pierde este dato porque hemos eliminado dicha
aula.
Figura 6.9.j
Este formulario se abre al hacer clic sobre el botn PFCs como tutor del formulario
Profesores (ver figura 6.2.a). El formulario Proyectos fin de carrera como tutor muestra
todos los proyectos fin de carrera dirigidos por el profesor cuyo nombre y apellidos
figuran en la parte superior izquierda del formulario. Este profesor no es otro que el
mostrado por el formulario Profesores en el momento de hacer clic sobre el botn PFCs
como tutor. La informacin que se ofrece de cada proyecto fin de carrera es la siguiente:
curso acadmico, ttulo del proyecto, as como el nombre y los apellidos del autor, o
sea, del alumno.
Figura 6.9.k
Este formulario se abre al hacer clic sobre el botn PFCs como miembro del tribunal
del formulario Profesores (ver figura 6.2.a). El formulario Proyectos fin de carrera
como miembro del tribunal muestra todos los proyectos fin de carrera a los que ha
asistido como miembro del tribunal el profesor cuyo nombre y apellidos figuran en la
parte superior izquierda del formulario. Este profesor no es otro que el mostrado por el
formulario Profesores en el momento de hacer clic sobre el botn PFCs como miembro
del tribunal. La informacin que se ofrece de cada proyecto fin de carrera es la
siguiente: curso acadmico, ttulo del proyecto, as como el nombre y los apellidos del
autor, o sea, del alumno.
Profesores (ver figura 6.2.a), Proyectos fin de carrera (ver figura 6.4.a) y Sesiones de
tribunal (ver figura 6.6.a) respectivamente.
Una vez definidos los criterios de bsqueda, tenemos que hacer clic sobre el botn
Buscar y entonces se cerrar el formulario Buscar registros y observaremos que los
registros del formulario Profesores, Proyectos fin de carrera o Sesiones de tribunal han
sido filtrados de acuerdo con los criterios de bsqueda seleccionados en el formulario
BuscarProfesores, BuscarProyectos o BuscarSesiones respectivamente.
CuadroProfesores,
CuadroCategorias,
CuadroGruposInvestigacion,
Figura 6.9.w
En la figura 6.9.w podemos ver que el formulario contiene un cuadro de lista con todos
los profesores del Departamento. Si seleccionamos a uno o varios de los profesores del
cuadro de lista y hacemos clic sobre el botn Asignar, entonces se cierra el formulario
Seleccionar tutor y aparece el profesor o los profesores seleccionados en el
subformulario SFTutores del formulario Proyectos fin de carrera (en el caso del
formulario SeleccionarTutor) o Proyectos fin de carrera Nuevo registro (en el caso
del formulario SelecccionarTutorAgregar).
Figura 6.9.x
Este formulario contiene un cuadro de lista con todos los profesores del Departamento.
Si seleccionamos a uno o varios de los profesores del cuadro de lista y hacemos clic
sobre el botn Asignar, entonces se cierra el formulario Seleccionar profesores y
aparece el profesor o los profesores seleccionados en el subformulario SFTribunalPfc
del formulario Proyectos fin de carrera.
Figura 6.9.y
El formulario Seleccionar proyectos fin de carrera cuenta con un cuadro de lista en el
que figuran todos los proyectos fin de carrera que todava no han sido asignados a
ninguna sesin de tribunal. Si seleccionamos uno o varios de los proyectos del cuadro
de lista y hacemos clic sobre el botn Asignar, entonces se cierra el formulario
Seleccionar proyectos fin de carrera y aparece el proyecto o los proyectos
seleccionados en el subformulario SFProyectos del formulario Sesiones de tribunal (en
el caso del formulario SeleccionarPfc) o Sesiones de tribunal Nuevo registro (en el
caso del formulario SelecccionarPfcAgregar).
Figura 6.9.z
Este formulario se abre al hacer clic sobre el botn N de tutores del formulario Panel
de configuracin (ver figura 6.9.a). El formulario Nmeros de tutores contiene todos los
valores que aparecen en la lista desplegable del cuadro combinado Nmero de tutores
(CCNumTutores) perteneciente a la ficha Tutor de los formularios Proyecto fin de
carrera (ver figura 6.4.c) y Proyectos fin de carrera Nuevo registro. Como ya
sabemos, este cuadro combinado nos permite aadir nuevos valores a su lista
desplegable. Pues bien, el formulario Nmeros de tutores sirve para eliminar aquellos
valores que deseamos que no aparezcan en dicha lista debido a que, por ejemplo, han
sido aadidos por error.
del
cuadro
combinado
Nmero
de
proyectos
fin
de
carrera
eliminar aquellos valores que deseamos que no aparezcan en dicha lista debido a que,
por ejemplo, han sido aadidos por error.
aadir nuevos valores a su lista desplegable. Pues bien, el formulario Prioridades sirve
para eliminar aquellos valores que deseamos que no aparezcan en dicha lista debido a
que, por ejemplo, han sido aadidos por error.