Sie sind auf Seite 1von 140

6.

- INTERFAZ DE USUARIO Y CDIGO VBA

INTERFAZ DE USUARIO Y CDIGO VBA

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.

Podemos escribir cdigo VBA y asociarlo a un determinado evento, es decir, siempre


que ocurra dicho evento se ejecutar el cdigo VBA que lleva asociado. De esta forma
podemos definir el comportamiento que tendrn los formularios y sus controles, o sea,
podemos controlar en definitiva cmo se comportar la aplicacin en su interaccin con
los usuarios y con el sistema.

Para crear los formularios y el cdigo VBA de la aplicacin utilizaremos Microsoft


Office Access 2003. Este software posee un interfaz de usuario muy amigable que nos
permite llevar a cabo dichas tareas con mucha comodidad. Adems, usaremos Access
para construir las consultas, los informes y los grficos de la aplicacin. Las consultas
pueden disearse grficamente o haciendo uso del lenguaje de consulta estructurado
(SQL o Structured Query Language). En cuanto a los informes y los grficos, se
generan de forma parecida a como se construyen los formularios.

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

INTERFAZ DE USUARIO Y CDIGO VBA

6.1.- Formulario PanelPrincipal


El aspecto que presenta el formulario PanelPrincipal es el siguiente:

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

INTERFAZ DE USUARIO Y CDIGO VBA

1. Botn de comando BCPfc


Tiene asociada una etiqueta titulada Proyectos Fin de Carrera.
Al hacer clic sobre este botn cerramos el formulario Panel principal y abrimos el
formulario Proyectos Fin de Carrera.

2. Botn de comando BCSesTrib


Tiene asociada una etiqueta titulada Sesiones de Tribunal.
Al hacer clic sobre este botn cerramos el formulario Panel principal y abrimos el
formulario Sesiones de Tribunal.

3. Botn de comando BCProf


Tiene asociada una etiqueta titulada Profesores.
Al hacer clic sobre este botn cerramos el formulario Panel principal y abrimos el
formulario Profesores.

4. Botn de comando BCPanelConfig


Tiene asociada una etiqueta titulada Panel de Configuracin.
Al hacer clic sobre este botn cerramos el formulario Panel principal y abrimos el
formulario Panel de Configuracin.

5. Botn de comando BCAtras


Est situado en la esquina inferior izquierda del formulario y contiene la imagen de
una flecha de color verde.
Al hacer clic sobre este botn cerramos el formulario Panel principal y regresamos
al formulario que tenamos abierto anteriormente.

6. Botn de comando BCSalir


Est situado en la esquina inferior derecha del formulario y contiene la imagen de
una flecha de color azul apuntando hacia una puerta de salida.
Al hacer clic sobre este botn salimos de la aplicacin de base de datos.

Pgina 55 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

6.1.2.- Cdigo VBA


En este apartado citaremos todos los eventos a los cuales hemos asignado cdigo VBA
y explicaremos para qu sirve dicho cdigo.

1. Evento Al bajar una tecla del formulario PanelPrincipal


El cdigo asociado a este evento se utiliza para desactivar los mtodos abreviados de
teclado de Access. Con esto queremos evitar que al pulsar ciertas teclas se tenga acceso
a comandos u operaciones frecuentes en Access (por ejemplo: si pulsamos ALT+F4
salimos de Access, si pulsamos F12 se abre el cuadro de dilogo Guardar como, etc.).
Pretendemos que el usuario maneje la aplicacin utilizando nicamente los controles de
la aplicacin y de esta manera poder garantizar su correcto funcionamiento.

2. Evento Al ocurrir un error del formulario PanelPrincipal


El cdigo asociado a este evento se utiliza para mostrar un mensaje cuando se produce
un error desconocido.

3. Evento Al hacer clic del botn de comando BCPfc


El cdigo asociado a este evento se utiliza para cerrar el formulario Panel principal y
abrir el formulario Proyectos Fin de Carrera.

4. Evento Al hacer clic del botn de comando BCSesTrib


El cdigo asociado a este evento se utiliza para cerrar el formulario Panel principal y
abrir el formulario Sesiones de Tribunal.

5. Evento Al hacer clic del botn de comando BCProf


El cdigo asociado a este evento se utiliza para cerrar el formulario Panel principal y
abrir el formulario Profesores.

6. Evento Al hacer clic del botn de comando BCPanelConfig


El cdigo asociado a este evento se utiliza para cerrar el formulario Panel principal y
abrir el formulario Panel de Configuracin.

Pgina 56 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

7. Evento Al hacer clic del botn de comando BCAtras


El cdigo asociado a este evento se utiliza para cerrar el formulario Panel principal y
regresar al formulario que tenamos abierto anteriormente.

8. Evento Al hacer clic del botn de comando BCSalir


El cdigo asociado a este evento se utiliza para salir de la aplicacin mostrando antes un
mensaje en el que se recuerda al usuario que haga copias de seguridad y compacte la
base de datos peridicamente.

Pgina 57 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

6.2.- Formulario Profesores


El aspecto que presenta el formulario Profesores es el siguiente:

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

INTERFAZ DE USUARIO Y CDIGO VBA

1. Cuadro de texto CTIdentificador


Tiene asociada una etiqueta titulada Identificador del registro.
Muestra el campo ProfesorID de la tabla Profesores de la base de datos. Este campo
tiene las siguientes propiedades:

Tipo de datos: nmero secuencial (incrementado de uno a uno) nico asignado


automticamente por la base de datos cada vez que agregamos un nuevo registro
a una tabla. Este tipo de datos recibe el nombre de autonumrico, denominacin
que utilizaremos a partir de ahora.

Tamao del campo: entero largo, o sea, puede almacenar nmeros entre
-2.147.483.648 y 2.147.483.647 (no admite fracciones).

Contiene, por tanto, un identificador del profesor mostrado en el formulario.


Presenta un color de fondo gris claro (semejante al color del formulario) en vez de
blanco (como suele ser habitual en los cuadros de texto), lo cual nos indica que no
podemos modificar el contenido de este cuadro de texto. Por tanto, este cuadro de
texto se encuentra bloqueado.

2. Cuadro de texto CTAp1Profesor


Tiene asociada una etiqueta titulada Primer apellido.
Muestra el campo Ap1Profesor de la tabla Profesores de la base de datos. Este
campo tiene las siguientes propiedades:

Tipo de datos: texto (es decir, texto o combinaciones de texto y nmeros).

Tamao del campo: el nmero mximo de caracteres es de 50.

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).

Permitir longitud cero: no.

Contiene, por tanto, el primer apellido del profesor.

3. Cuadro de texto CTAp2Profesor


Tiene asociada una etiqueta titulada Segundo apellido.
Muestra el campo Ap2Profesor de la tabla Profesores de la base de datos. Este
campo tiene las siguientes propiedades:

Tipo de datos: texto (es decir, texto o combinaciones de texto y nmeros).

Tamao del campo: el nmero mximo de caracteres es de 50.

Requerido: no (es decir, la entrada de datos no es obligatoria en este campo).


Pgina 59 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Permitir longitud cero: s.

Contiene, por tanto, el segundo apellido del profesor.

4. Cuadro combinado CCTratamiento


Est situado justo a la izquierda del cuadro de texto CTNombProfesor, con el cual
comparte la etiqueta titulada Nombre. Un cuadro combinado no es ms que un
cuadro de texto que incluye una lista desplegable con posibles valores para ese
cuadro de texto.
Muestra el campo Tratamiento de la tabla Profesores de la base de datos. Este
campo tiene las siguientes propiedades:

Tipo de datos: texto (es decir, texto o combinaciones de texto y nmeros).

Tamao del campo: el nmero mximo de caracteres es de 2.

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).

Permitir longitud cero: no.

Tiene como origen una lista formada por dos valores: D. y D


Recoge, por tanto, si el profesor mostrado en el formulario debe ser tratado como
Don o como Doa.
Est limitado a la lista, es decir, no puede contener ningn valor que no se encuentre
en la lista.

5. Cuadro de texto CTNombProfesor


Esta situado justo a la derecha del cuadro combinado CCTratamiento, con el cual
comparte la etiqueta titulada Nombre.
Muestra el campo NombProfesor de la tabla Profesores de la base de datos. Este
campo tiene las siguientes propiedades:

Tipo de datos: texto (es decir, texto o combinaciones de texto y nmeros).

Tamao del campo: el nmero mximo de caracteres es de 50.

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).

Permitir longitud cero: no.

Contiene, por tanto, el nombre del profesor.

6. Cuadro combinado CCCategoria


Tiene asociada una etiqueta titulada Categora.
Pgina 60 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Muestra el campo CategoriaID de la tabla Profesores de la base de datos. Este


campo tiene las siguientes propiedades:

Tipo de datos: nmero.

Tamao del campo: entero largo.

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).

Tiene como origen la siguiente consulta:


SELECT Categorias.CategoriaID, Categorias.Categoria FROM Categorias
ORDER BY Categorias.Categoria;
Esta consulta genera una tabla con dos columnas, que son los campos CategoriaID
y Categoria de la tabla Categorias, y tantas filas como registros contiene la tabla
Categorias. Los valores que aparecen en la lista desplegable del cuadro combinado
son los del campo Categoria mientras que en la tabla Profesores se guardan los
valores del campo CategoriaID debido a que tiene menor tamao.
Contiene, por tanto, la categora del profesor mostrado en el formulario.
Est limitado a la lista, es decir, no puede contener ningn valor que no se encuentre
en la lista.

7. Cuadro combinado CCDedicacion


Tiene asociada una etiqueta titulada Dedicacin (h/sem).
Muestra el campo Dedicacion de la tabla Profesores de la base de datos. Este campo
tiene las siguientes propiedades:

Tipo de datos: nmero.

Tamao del campo: simple, o sea, puede almacenar nmeros entre


-3,402823E38 y -1,401298E-45 para valores negativos, y entre 1,401298E-45 y
3,402823E38 para valores positivos.

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).

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

INTERFAZ DE USUARIO Y CDIGO VBA

8. Cuadro de texto CTAntiguedad


Tiene asociada una etiqueta titulada Antigedad.
Muestra el campo Antiguedad de la tabla Profesores de la base de datos. Este campo
tiene las siguientes propiedades:

Tipo de datos: fecha/hora.

Formato: fecha corta (por ejemplo: 20/05/2005)

Mscara de entrada: 00/00/0000;_


La mscara de entrada sirve para que los usuarios introduzcan en el cuadro de
texto valores que se ajustan a un determinado formato, en este caso el formato de
fecha corta. Usaremos el guin bajo como carcter marcador.

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).

Contiene, por tanto, la fecha a partir de la cual el profesor mostrado en el formulario


pertenece a su categora.

9. Cuadro combinado CCGrInv


Tiene asociada una etiqueta titulada Grupo de Investigacin.
Muestra el campo GrInvID de la tabla Profesores de la base de datos. Este campo
tiene las siguientes propiedades:

Tipo de datos: nmero.

Tamao del campo: entero largo.

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).

Tiene como origen la siguiente consulta:


SELECT GruposInvestigacion.GrInvID, GruposInvestigacion.GrInv
FROM GruposInvestigacion ORDER BY GruposInvestigacion.GrInvID;
Esta consulta genera una tabla con dos columnas, que son los campos GrInvID y
GrInv de la tabla GruposInvestigacion, y tantas filas como registros contiene la tabla
GruposInvestigacion. Los valores que aparecen en la lista desplegable del cuadro
combinado son los del campo GrInv mientras que en la tabla Profesores se guardan
los valores del campo GrInvID debido a que tiene menor tamao.
Contiene, por tanto, el grupo de investigacin al que pertenece el profesor mostrado
en el formulario.
Est limitado a la lista, es decir, no puede contener ningn valor que no se encuentre
en la lista.

Pgina 62 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

10. Botn de comando BCEditar


Tiene asociada una etiqueta titulada Editar registro.
Al hacer clic sobre este botn desbloqueamos la edicin del registro mostrado en el
formulario, es decir, podemos modificar los datos que aparecen en el formulario.

11. Botn de comando BCGuardarReg


Tiene asociada una etiqueta titulada Guardar registro.
Al hacer clic sobre este botn bloqueamos la edicin del registro mostrado en el
formulario y se guardan los cambios realizados en dicho registro.

12. Botn de comando BCNuevoReg


Tiene asociada una etiqueta titulada Nuevo registro.
Al hacer clic sobre este botn cerramos el formulario Profesores y abrimos el
formulario Profesores Nuevo registro.

13. Botn de comando BCEliminar


Tiene asociada una etiqueta titulada Eliminar registro.
Al hacer clic sobre este botn eliminamos el registro mostrado en el formulario.

14. Botn de comando BCBuscar


Tiene asociada una etiqueta titulada Buscar registros.
Al hacer clic sobre este botn abrimos el formulario BuscarProfesores (el ttulo de
este formulario es Buscar registros).

15. Botn de comando BCIrAReg


Tiene asociada una etiqueta titulada Ir a registro.
Al hacer clic sobre este botn abrimos el formulario CuadroProfesores (el ttulo de
este formulario es Ir a registro).

Pgina 63 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

16. Botn de comando BCOrdenar


Tiene asociada una etiqueta titulada Ordenar registros.
Al hacer clic sobre este botn abrimos el formulario OrdenarProfesores (el ttulo de
este formulario es Ordenar registros).

17. Botn de comando BCQuitarFiltro


Tiene asociada una etiqueta titulada Quitar filtro u orden.
Al hacer clic sobre este botn quitamos los filtros y ordenaciones existentes en el
formulario. De esta forma, utilizando los botones de desplazamiento y el cuadro de
nmero de registro, situados en la parte inferior izquierda del formulario, podemos
desplazarnos por todos los registros de la tabla Profesores, los cuales aparecen en el
orden en que han sido introducidos en dicha tabla.

18. Botn de comando BCListProf


Tiene asociada una etiqueta titulada Listado de profesores.
Al hacer clic sobre este botn abrimos el informe Listado de profesores.

19. Botn de comando BCPfcDir


Tiene asociada una etiqueta titulada N de PFCs dirigidos segn profesor.
Al hacer clic sobre este botn abrimos el formulario PfcTutorGraficos (el ttulo de
este formulario es Configurar grfico).

20. Botn de comando BCAsisTrib


Tiene asociada una etiqueta titulada N de asistencias a tribunales de PFCs segn
profesor.
Al hacer clic sobre este botn abrimos el formulario PfcTribunalGraficos (el ttulo
de este formulario es Configurar grfico).

21. Botn de comando BCTutor


Tiene asociada una etiqueta titulada PFCs como tutor.
Al hacer clic sobre este botn abrimos el formulario Proyectos fin de carrera como
tutor.
Pgina 64 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

22. Botn de comando BCTribunal


Tiene asociada una etiqueta titulada PFCs como miembro del tribunal.
Al hacer clic sobre este botn abrimos el formulario Proyectos fin de carrera como
miembro del tribunal.

23. Botn de comando BCMostrarRegistros


Tiene asociada una etiqueta titulada Mostrar todos los registros.
Se encuentra siempre desactivado y su presencia se debe a razones puramente
estticas. Este botn de comando se utiliza en el formulario Profesores Nuevo
registro para cerrar dicho formulario y abrir el formulario Profesores. Esto dos
formularios cuentan con el mismo aspecto para que, al pasar de uno a otro, no se
note que hemos cambiado de formulario y parezcan un mismo formulario. Por este
motivo 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.

24. Botn de comando BCAtras


Est situado en la esquina inferior izquierda del formulario y contiene la imagen de
una flecha de color verde.
Al hacer clic sobre este botn cerramos el formulario Profesores y regresamos al
formulario que tenamos abierto anteriormente.

25. Botn de comando BCCerrar


Est situado en la esquina inferior derecha del formulario y contiene la imagen de
una letra X de color gris oscuro.
Al hacer clic sobre este botn cerramos el formulario Profesores y abrimos el
formulario Panel principal.

Pgina 65 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

6.2.2.- Cdigo VBA


En este apartado citaremos todos los eventos a los cuales hemos asignado cdigo VBA
y explicaremos para qu sirve dicho cdigo.

1. Evento Al activar registro del formulario Profesores


Este evento se produce cuando el enfoque se desplaza a un registro, haciendo que sea el
registro actual, o cuando el formulario se actualiza o se somete a una nueva consulta.

El cdigo asociado a este evento se utiliza para:


Bloquear la edicin del registro mostrado en el formulario, es decir, no podemos
modificar los datos que aparecen en el formulario.
Activar los siguientes botones de comando: BCEditar, BCEliminar, BCBuscar,
BCIrAReg, BCOrdenar, BCQuitarFiltro, BCListProf, BCPfcDir, BCAsisTrib,
BCTutor y BCTribunal.
Desactivar el botn de comando BCGuardarReg.

2. Evento Antes de actualizar del formulario Profesores


Este evento se produce antes de que se actualicen los datos de un registro.

El cdigo asociado a este evento se utiliza para:


Impedir que se actualice un registro si se detecta que existe otro registro con el
mismo profesor (nombre y apellidos).
Impedir que se actualice un registro si los cambios realizados en l son incoherentes
con la secuenciacin de los tribunales: esto sucede cuando modificamos la categora
de un profesor y resulta que el campo NumTribunales correspondiente a esa nueva
categora es menor o igual que el campo ContadorAsistencias perteneciente a dicho
profesor.

3. Evento Despus de actualizar del formulario Profesores


Este evento se produce despus de que se actualicen los datos modificados en un
registro.

Pgina 66 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

El cdigo asociado a este evento se utiliza para:


Mostrar un mensaje indicando que el registro ha sido actualizado.
Bloquear la edicin del registro mostrado en el formulario, es decir, no podemos
modificar los datos que aparecen en el formulario.
Activar los siguientes botones de comando: BCEditar, BCEliminar, BCBuscar,
BCIrAReg, BCOrdenar, BCQuitarFiltro, BCListProf, BCPfcDir, BCAsisTrib,
BCTutor y BCTribunal.
Desactivar el botn de comando BCGuardarReg.
Incorporar el registro a la secuenciacin de los tribunales si fuera necesario: esto
sucede cuando modificamos la categora de un profesor de tal manera que pasa de
no poder ser miembro del tribunal a tener que asistir a los tribunales. El usuario
puede elegir entre situarlo en el primer puesto de la cola o en el ltimo.
Retirar el registro de la secuenciacin de los tribunales si fuera necesario: esto
sucede cuando modificamos la categora de un profesor de tal manera que pasa de
tener que asistir a los tribunales a no poder ser miembro del tribunal.

4. Evento Al Eliminar del formulario Profesores


Este evento se produce cuando el usuario hace clic sobre el botn de comando
BCEliminar para eliminar un registro, pero antes de que el registro se elimine
realmente.

El cdigo asociado a este evento se utiliza para mostrar un mensaje al usuario


preguntndole si est seguro de que desea eliminar el registro que ha seleccionado.

5. Evento Al abrir del formulario Profesores


Este evento se produce cuando se abre el formulario, pero antes de que se muestre el
primer registro.

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

INTERFAZ DE USUARIO Y CDIGO VBA

formulario Profesores y se abre el formulario Profesores Nuevo registro para que


podamos introducir el primer registro.

6. Evento Al bajar una tecla del formulario Profesores


El cdigo asociado a este evento se utiliza para desactivar los mtodos abreviados de
teclado de Access. Con esto queremos evitar que al pulsar ciertas teclas se tenga acceso
a comandos u operaciones frecuentes en Access (por ejemplo: si pulsamos ALT+F4
salimos de Access, si pulsamos F12 se abre el cuadro de dilogo Guardar como, etc.).
Pretendemos que el usuario maneje la aplicacin utilizando nicamente los controles de
la aplicacin y de esta manera poder garantizar su correcto funcionamiento.

7. Evento Al ocurrir un error del formulario Profesores


El cdigo asociado a este evento se utiliza para mostrar un mensaje de error cuando se
produce un error desconocido.

8. Evento Al no estar en la lista del cuadro combinado CCDedicacion


Este evento se produce cuando el usuario introduce en el componente cuadro de texto
del cuadro combinado un valor que no se encuentra en la lista del cuadro combinado.

El cdigo asociado a este evento se utiliza para aadir dicho valor a la lista del cuadro
combinado si el usuario lo desea.

9. Evento Al hacer clic del botn de comando BCEditar


El cdigo asociado a este evento se utiliza para:
Desbloquear la edicin del registro mostrado en el formulario, es decir, podemos
modificar los datos que aparecen en el formulario.
Activar el botn de comando BCGuardarReg.
Desactivar los siguientes botones de comando: BCEditar, BCEliminar, BCBuscar,
BCIrAReg, BCOrdenar, BCQuitarFiltro, BCListProf, BCPfcDir, BCAsisTrib,
BCTutor y BCTribunal.

Pgina 68 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

10. Evento Al hacer clic del botn de comando BCGuardarReg


El cdigo asociado a este evento se utiliza para:
Guardar los cambios realizados en el registro que muestra el formulario.
Bloquear la edicin del registro mostrado en el formulario, es decir, no podemos
modificar los datos que aparecen en el formulario.
Activar los siguientes botones de comando: BCEditar, BCEliminar, BCBuscar,
BCIrAReg, BCOrdenar, BCQuitarFiltro, BCListProf, BCPfcDir, BCAsisTrib,
BCTutor y BCTribunal.
Desactivar el botn de comando BCGuardarReg.

11. Evento Al hacer clic del botn de comando BCNuevoReg


El cdigo asociado a este evento se utiliza para cerrar el formulario Profesores y abrir el
formulario Profesores Nuevo registro.

12. Evento Al hacer clic del botn de comando BCEliminar


El cdigo asociado a este evento se utiliza para eliminar el registro mostrado en el
formulario y mostrar un mensaje confirmando que el registro ha sido eliminado. En el
caso de que dicho registro corresponda a un profesor que se encuentra en la cola de la
secuenciacin de los tribunales, el cdigo se encarga tambin de actualizar las
posiciones de la cola tras la eliminacin de dicho profesor.

13. Evento Al hacer clic del botn de comando BCBuscar


El cdigo asociado a este evento se utiliza para abrir el formulario BuscarProfesores (el
ttulo de este formulario es Buscar registros).

14. Evento Al hacer clic del botn de comando BCIrAReg


El cdigo asociado a este evento se utiliza para abrir el formulario CuadroProfesores (el
ttulo de este formulario es Ir a registro).

Pgina 69 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

15. Evento Al hacer clic del botn de comando BCOrdenar


El cdigo asociado a este evento se utiliza para abrir el formulario OrdenarProfesores
(el ttulo de este formulario es Ordenar registros).

16. Evento Al hacer clic del botn de comando BCQuitarFiltro


El cdigo asociado a este evento se utiliza para quitar los filtros y ordenaciones
existentes en el formulario, sin que cambie el registro mostrado por el formulario.

17. Evento Al hacer clic del botn de comando BCListProf


El cdigo asociado a este evento se utiliza para abrir el informe Listado de profesores.

18. Evento Al hacer clic del botn de comando BCPfcDir


El cdigo asociado a este evento se utiliza para abrir el formulario PfcTutorGraficos (el
ttulo de este formulario es Configurar grfico).

19. Evento Al hacer clic del botn de comando BCAsisTrib


El cdigo asociado a este evento sirve para abrir el formulario PfcTribunalGraficos (el
ttulo de este formulario es Configurar grfico).

20. Evento Al hacer clic del botn de comando BCTutor


El cdigo asociado a este evento se utiliza para abrir el formulario Proyectos fin de
carrera como tutor.

21. Evento Al hacer clic del botn de comando BCTribunal


El cdigo asociado a este evento se utiliza para abrir el formulario Proyectos fin de
carrera como miembro del tribunal.

22. Evento Al hacer clic del botn de comando BCAtras


El cdigo asociado a este evento se utiliza para cerrar el formulario Profesores y
regresar al formulario que tenamos abierto anteriormente.

Pgina 70 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

23. Evento Al hacer clic del botn de comando BCCerrar


El cdigo asociado a este evento se utiliza para cerrar el formulario Profesores y abrir el
formulario Panel principal.

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

INTERFAZ DE USUARIO Y CDIGO VBA

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:

Tipo de grfico: columna agrupada (grfico GrafTutoresColAg) o columna


apilada (grfico GrafTutoresColAp).

Cursos acadmicos: podemos seleccionar todos los cursos acadmicos o


solamente aqullos que nos interesen.

Profesores: podemos seleccionar todos los profesores o solamente aqullos que


nos interesen.

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

INTERFAZ DE USUARIO Y CDIGO VBA

6.3.- Formulario ProfesoresAgregar


El aspecto que presenta el formulario ProfesoresAgregar es el siguiente:

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

INTERFAZ DE USUARIO Y CDIGO VBA

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.

6.3.2.- Cdigo VBA


En este apartado citaremos todos los eventos a los cuales hemos asignado cdigo VBA
y explicaremos para qu sirve dicho cdigo.

1. Evento Antes de insertar del formulario ProfesoresAgregar


Este evento se produce cuando el usuario escribe el primer carcter de un nuevo
registro, pero antes de que el registro se cree realmente.

El cdigo asociado a este evento se utiliza para activar el botn de comando


BCGuardarReg.

2. Evento Antes de actualizar del formulario ProfesoresAgregar


El cdigo asociado a este evento se utiliza para impedir que guardemos un registro si se
detecta que existe otro registro con el mismo profesor (nombre y apellidos).

3. Evento Despus de actualizar del formulario ProfesoresAgregar


El cdigo asociado a este evento se utiliza para:
Mostrar un mensaje indicando que hemos guardado un nuevo registro.
Bloquear la edicin del registro mostrado en el formulario, es decir, no podemos
modificar los datos que aparecen en el formulario.
Activar los siguientes botones de comando: BCEditar, BCNuevoReg y BCEliminar.
Desactivar el botn de comando BCGuardarReg.
Incorporar el nuevo registro a la secuenciacin de los tribunales en el caso de que
dicho registro corresponda a un profesor que puede ser miembro del tribunal. El
usuario puede elegir entre situarlo en el primer puesto de la cola o en el ltimo.

Pgina 74 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Retirar el nuevo registro de la secuenciacin de los tribunales si fuera necesario:


esto sucede cuando modificamos la categora del nuevo profesor despus de haberlo
guardado, de tal manera que pasa de tener que asistir a los tribunales a no poder ser
miembro del tribunal.

4. Evento Al eliminar del formulario ProfesoresAgregar


El cdigo asociado a este evento se utiliza para mostrar un mensaje al usuario
preguntndole si est seguro de que desea eliminar el registro que ha seleccionado.

5. Evento Al bajar una tecla del formulario ProfesoresAgregar


El cdigo asociado a este evento se utiliza para desactivar los mtodos abreviados de
teclado de Access. Con esto queremos evitar que al pulsar ciertas teclas se tenga acceso
a comandos u operaciones frecuentes en Access (por ejemplo: si pulsamos ALT+F4
salimos de Access, si pulsamos F12 se abre el cuadro de dilogo Guardar como, etc.).
Pretendemos que el usuario maneje la aplicacin utilizando nicamente los controles de
la aplicacin y de esta manera poder garantizar su correcto funcionamiento.

6. Evento Al ocurrir un error del formulario ProfesoresAgregar


El cdigo asociado a este evento se utiliza para mostrar un mensaje de error cuando se
produce un error desconocido.

7. Evento Al no estar en la lista del cuadro combinado CCDedicacion


Este evento se produce cuando el usuario introduce en el componente cuadro de texto
del cuadro combinado un valor que no se encuentra en la lista del cuadro combinado.

El cdigo asociado a este evento se utiliza para aadir dicho valor a la lista del cuadro
combinado si el usuario lo desea.

8. Evento Al hacer clic del botn de comando BCEditar


El cdigo asociado a este evento se utiliza para:

Pgina 75 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Desbloquear la edicin del registro mostrado en el formulario, es decir, podemos


modificar los datos que aparecen en el formulario.
Activar el botn de comando BCGuardarReg.
Desactivar los siguientes botones de comando: BCEditar y BCEliminar.

9. Evento Al hacer clic del botn de comando BCGuardarReg


El cdigo asociado a este evento se utiliza para:
Mostrar un mensaje indicando si falta por rellenar algn campo requerido.
Guardar el nuevo registro, o los cambios realizados en l si ya haba sido guardado
previamente.
Bloquear la edicin del registro mostrado en el formulario, es decir, no podemos
modificar los datos que aparecen en el formulario.
Activar los siguientes botones de comando: BCEditar, BCNuevoReg y BCEliminar.
Desactivar el botn de comando BCGuardarReg.

10. Evento Al hacer clic del botn de comando BCNuevoReg


El cdigo asociado a este evento se utiliza para cerrar el formulario Profesores Nuevo
registro y abrirlo de nuevo.

11. Evento Al hacer clic del botn de comando BCEliminar


El cdigo asociado a este evento se utiliza para:
Eliminar el registro mostrado en el formulario y mostrar un mensaje indicando que
dicho registro ha sido eliminado.
Actualizar las posiciones de la cola de la secuenciacin de los tribunales tras la
eliminacin de dicho registro.
Desbloquear la edicin del formulario, es decir, podemos introducir datos en los
cuadros de texto y cuadros combinados del formulario.
Desactivar los siguientes botones de comando: BCEditar, BCGuardarReg,
BCNuevoReg y BCEliminar.

12. Evento Al hacer clic del botn de comando BCMostrarRegistros


El cdigo asociado a este evento se utiliza para:
Pgina 76 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Cerrar el formulario Profesores Nuevo registro y abrir el formulario Profesores.


Mostrar un mensaje cuando no sea posible guardar el nuevo registro antes de cerrar
el formulario Profesores Nuevo registro, debido a que falta por rellenar algn
campo requerido o porque se ha detectado otro registro con el mismo profesor
(nombre y apellidos). Este mensaje pregunta al usuario si desea salir del formulario
Profesores 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.

13. Evento Al hacer clic del botn de comando BCAtras


El cdigo asociado a este evento se utiliza para:
Cerrar el formulario Profesores Nuevo registro y regresar al formulario que
tenamos abierto anteriormente.
Mostrar un mensaje cuando no sea posible guardar el nuevo registro antes de cerrar
el formulario Profesores Nuevo registro, debido a que falta por rellenar algn
campo requerido o porque se ha detectado otro registro con el mismo profesor
(nombre y apellidos). Este mensaje pregunta al usuario si desea salir del formulario
Profesores 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.

14. Evento Al hacer clic del botn de comando BCCerrar


El cdigo asociado a este evento se utiliza para:
Cerrar el formulario Profesores Nuevo registro y abrir el formulario Panel
principal.
Mostrar un mensaje cuando no sea posible guardar el nuevo registro antes de cerrar
el formulario Profesores Nuevo registro, debido a que falta por rellenar algn
campo requerido o porque se ha detectado otro registro con el mismo profesor
(nombre y apellidos). Este mensaje pregunta al usuario si desea salir del formulario
Profesores 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.
Pgina 77 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

6.4.- Formulario Proyectos


El aspecto que presenta el formulario Proyectos es el siguiente:

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

INTERFAZ DE USUARIO Y CDIGO VBA

Figura 6.4.b Ficha Autor

Figura 6.4.c Ficha Tutor

Pgina 79 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Figura 6.4.d Ficha Calificacin

Figura 6.4.e Ficha Tribunal

Pgina 80 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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

INTERFAZ DE USUARIO Y CDIGO VBA

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.

6. Cuadro de texto CTCursoAcad1


Pertenece a la ficha Proyecto fin de carrera. La etiqueta titulada Curso acadmico
est asociada a los cuadros de texto CTCursoAcad1 y CTCursoAcad2.
Muestra el campo CursoAcad1 de la tabla Pfc de la base de datos. Este campo tiene
las siguientes propiedades:

Tipo de datos: texto (es decir, texto o combinaciones de texto y nmeros).

Tamao del campo: el nmero mximo de caracteres es de 4.

Mscara de entrada: 0000;_


La mscara de entrada sirve para que los usuarios introduzcan en el cuadro de
texto valores que se ajustan a un determinado formato, en este caso el formato
de un ao, o sea, un nmero entero positivo con cuatro cifras. Usaremos el guin
bajo como carcter marcador.

Regla de validacin: entre 1964 y 2100 (ambos inclusive).


La regla de validacin sirve para que los datos introducidos en el cuadro de texto
no infrinjan dicha regla.

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).


Pgina 82 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Permitir longitud cero: no.

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).

7. Cuadro de texto CTCursoAcad2


Pertenece a la ficha Proyecto fin de carrera. La etiqueta titulada Curso acadmico
est asociada a los cuadros de texto CTCursoAcad1 y CTCursoAcad2.
Muestra el campo CursoAcad2 de la tabla Pfc de la base de datos. Este campo tiene
las siguientes propiedades:

Tipo de datos: texto (es decir, texto o combinaciones de texto y nmeros).

Tamao del campo: el nmero mximo de caracteres es de 4.

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).

Permitir longitud cero: no.

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.

8. Cuadro de texto CTFEntrSecr


Pertenece a la ficha Proyecto fin de carrera y tiene asociada una etiqueta titulada
Fecha de entrada en Secretara.
Muestra el campo FEntrSecr de la tabla Pfc de la base de datos. Este campo tiene
las siguientes propiedades:

Tipo de datos: fecha/hora.

Formato: fecha corta (por ejemplo: 20/05/2005)

Mscara de entrada: 00/00/0000;_

Pgina 83 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

La mscara de entrada sirve para que los usuarios introduzcan en el cuadro de


texto valores que se ajustan a un determinado formato, en este caso el formato de
fecha corta. Usaremos el guin bajo como carcter marcador.

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).

Contiene, por tanto, la fecha de entrada en Secretara del proyecto fin de carrera.

9. Cuadro de texto CTTitulo


Pertenece a la ficha Proyecto fin de carrera y tiene asociada una etiqueta titulada
Ttulo.
Muestra el campo Titulo de la tabla Pfc de la base de datos. Este campo tiene las
siguientes propiedades:

Tipo de datos: memo (es decir, texto extenso o combinacin extensa de texto y
nmeros: hasta 65.535 caracteres).

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).

Permitir longitud cero: no.

Contiene, por tanto, el ttulo del proyecto fin de carrera.

10. Cuadro de texto CTResumen


Pertenece a la ficha Proyecto fin de carrera y tiene asociada una etiqueta titulada
Resumen.
Muestra el campo Resumen de la tabla Pfc de la base de datos. Este campo tiene las
siguientes propiedades:

Tipo de datos: memo (es decir, texto extenso o combinacin extensa de texto y
nmeros: hasta 65.535 caracteres).

Requerido: no (es decir, la entrada de datos no es obligatoria en este campo).

Permitir longitud cero: s.

Contiene, por tanto, un resumen del proyecto fin de carrera.

11. Cuadro de texto CTAp1Autor


Pertenece a la ficha Autor y tiene asociada una etiqueta titulada Primer apellido.
Muestra el campo Ap1Autor de la tabla Pfc de la base de datos. Este campo tiene las
siguientes propiedades:

Tipo de datos: texto (es decir, texto o combinaciones de texto y nmeros).


Pgina 84 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Tamao del campo: el nmero mximo de caracteres es de 50.

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).

Permitir longitud cero: no.

Contiene, por tanto, el primer apellido del autor del proyecto fin de carrera, es decir,
el primer apellido del alumno.

12. Cuadro de texto CTAp2Autor


Pertenece a la ficha Autor y tiene asociada una etiqueta titulada Segundo apellido.
Muestra el campo Ap2Autor de la tabla Pfc de la base de datos. Este campo tiene las
siguientes propiedades:

Tipo de datos: texto (es decir, texto o combinaciones de texto y nmeros).

Tamao del campo: el nmero mximo de caracteres es de 50.

Requerido: no (es decir, la entrada de datos no es obligatoria en este campo).

Permitir longitud cero: s.

Contiene, por tanto, el segundo apellido del autor del proyecto fin de carrera, es
decir, el segundo apellido del alumno.

13. Cuadro combinado CCTratamiento


Pertenece a la ficha Autor y est situado justo a la izquierda del cuadro de texto
CTNombAutor, con el cual comparte la etiqueta titulada Nombre.
Muestra el campo Tratamiento de la tabla Pfc de la base de datos. Este campo tiene
las siguientes propiedades:

Tipo de datos: texto (es decir, texto o combinaciones de texto y nmeros).

Tamao del campo: el nmero mximo de caracteres es de 2.

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).

Permitir longitud cero: no.

Tiene como origen una lista formada por dos valores: D. y D


Recoge, por tanto, si el autor del proyecto fin de carrera debe ser tratado como Don
o como Doa.
Est limitado a la lista, es decir, no puede contener ningn valor que no se encuentre
en la lista.

Pgina 85 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

14. Cuadro de texto CTNombAutor


Pertenece a la ficha Autor y est situado justo a la derecha del cuadro combinado
CCTratamiento, con el cual comparte la etiqueta titulada Nombre.
Muestra el campo NombAutor de la tabla Pfc de la base de datos. Este campo tiene
las siguientes propiedades:

Tipo de datos: texto (es decir, texto o combinaciones de texto y nmeros).

Tamao del campo: el nmero mximo de caracteres es de 50.

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).

Permitir longitud cero: no.

Contiene, por tanto, el nombre del autor del proyecto fin de carrera, es decir, el
nombre del alumno.

15. Cuadro combinado CCTitulacion


Pertenece a la ficha Autor y tiene asociada una etiqueta titulada Titulacin.
Muestra el campo TitulacionID de la tabla Pfc de la base de datos. Este campo tiene
las siguientes propiedades:

Tipo de datos: nmero.

Tamao del campo: entero largo.

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).

Tiene como origen la siguiente consulta:


SELECT Titulaciones.TitulacionID, Titulaciones.Titulacion FROM Titulaciones
ORDER BY Titulaciones.Titulacion;
Esta consulta genera una tabla con dos columnas, que son los campos TitulacionID
y Titulacion de la tabla Titulaciones, y tantas filas como registros contiene la tabla
Titulaciones. Los valores que aparecen en la lista desplegable del cuadro combinado
son los del campo Titulacion mientras que en la tabla Pfc se guardan los valores del
campo TitulacionID debido a que tiene menor tamao.
Contiene, por tanto, la titulacin a la que pertenece el autor del proyecto fin de
carrera, es decir, la titulacin del alumno.
Est limitado a la lista, es decir, no puede contener ningn valor que no se encuentre
en la lista.

Pgina 86 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

16. Cuadro combinado CCPlanEstudios


Pertenece a la ficha Autor y tiene asociada una etiqueta titulada Plan de estudios.
Muestra el campo PlanEstudiosID de la tabla Pfc de la base de datos. Este campo
tiene las siguientes propiedades:

Tipo de datos: nmero.

Tamao del campo: entero largo.

Requerido: no (es decir, la entrada de datos no es obligatoria en este campo).

Tiene como origen la siguiente consulta:


SELECT PlanesEstudios.PlanEstudiosID, PlanesEstudios.PlanEstudios
FROM PlanesEstudios
WHERE PlanesEstudios.TitulacionID LIKE & CCTitulacion &
ORDER BY PlanesEstudios.PlanEstudios;
Esta consulta genera una tabla con dos columnas, que son los campos
PlanEstudiosID y PlanEstudios de la tabla PlanesEstudios, y tantas filas como
registros hay en la tabla PlanesEstudios en los que el valor del campo TitulacionID
coincide con el valor seleccionado en el cuadro combinado CCTitulacion. Es decir,
en la lista desplegable del cuadro combinado CCPlanEstudios aparecen los planes
de estudios correspondientes a la titulacin seleccionada en el cuadro combinado
CCTitulacion. Adems, los valores que aparecen en la lista desplegable del cuadro
combinado CCPlanEstudios son los del campo PlanEstudios mientras que en la
tabla Pfc se guardan los valores del campo PlanEstudiosID debido a que tiene
menor tamao.
Contiene, por tanto, el plan de estudios al que pertenece el autor del proyecto fin de
carrera, es decir, el plan de estudios del alumno.
Est limitado a la lista, es decir, no puede contener ningn valor que no se encuentre
en la lista.

17. Cuadro combinado CCIntensificacion


Pertenece

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:

Tipo de datos: nmero.

Pgina 87 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Tamao del campo: entero largo.

Requerido: no (es decir, la entrada de datos no es obligatoria en este campo).

Tiene como origen la siguiente consulta:


SELECT Intensificaciones.IntensificacionID, Intensificaciones.Intensificacion
FROM Intensificaciones
WHERE Intensificaciones.PlanEstudiosID LIKE & CCPlanEstudios &
ORDER BY Intensificaciones.Intensificacion;
Esta consulta genera una tabla con dos columnas, que son los campos
IntensificacionID e Intensificacion de la tabla Intensificaciones, y tantas filas como
registros hay en la tabla Intensificaciones en los que el valor del campo
PlanEstudiosID coincide con el valor seleccionado en el cuadro combinado
CCPlanEstudios. Es decir, en la lista desplegable del cuadro combinado
CCIntensificacion aparecen las intensificaciones o especialidades correspondientes
al plan de estudios seleccionado en el cuadro combinado CCPlanEstudios. Adems,
los valores que aparecen en la lista desplegable del cuadro combinado
CCIntensificacion son los del campo Intensificacion mientras que en la tabla Pfc se
guardan los valores del campo IntensificacionID debido a que tiene menor tamao.
Contiene, por tanto, la intensificacin o especialidad a la que pertenece el autor del
proyecto fin de carrera, es decir, la intensificacin o especialidad del alumno.
Est limitado a la lista, es decir, no puede contener ningn valor que no se encuentre
en la lista.

18. Cuadro combinado CCNumTutores


Pertenece a la ficha Tutor y tiene asociada una etiqueta titulada Nmero de tutores.
Muestra el campo NumTutores de la tabla Pfc de la base de datos. Este campo tiene
las siguientes propiedades:

Tipo de datos: nmero.

Tamao del campo: entero, o sea, puede almacenar nmeros entre -32.768 y
32.767 (no admite fracciones).

Valor predeterminado: 1.

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).

Pgina 88 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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.

19. Subformulario SFTutores


Pertenece a la ficha Tutor y no lleva asociada ninguna etiqueta.
Un subformulario no es ms que un formulario que se inserta en otro. El formulario
primario se denomina formulario principal, y el formulario dentro del formulario se
denomina subformulario. En este caso, el formulario principal es el formulario
Proyectos y el subformulario recibe el nombre de SFTutores.
Los registros de este subformulario proceden de la tabla Tutores de la base de datos,
mientras que los del formulario Proyectos provienen de la tabla Pfc como ya
sabemos. La relacin Pfc Tutores es uno a varios, por lo que el formulario
principal muestra la parte uno de la relacin, es decir, el proyecto fin de carrera en
cuestin, mientras que el subformulario muestra la parte varios de la relacin, o
sea, los tutores que dirigen dicho proyecto fin de carrera.
Recoge, por tanto, el tutor o los tutores que dirigen el proyecto fin de carrera.
Contiene tres cuadros de texto que se titulan Primer apellido, Segundo apellido y
Nombre, los cuales recogen el nombre y los dos apellidos de cada tutor.
Est bloqueado, es decir, no podemos modificar el contenido de los cuadros de
texto.

20. Botn de comando BCSelTut


Pertenece a la ficha Tutor y tiene asociada una etiqueta titulada Seleccionar.
Al hacer clic sobre este botn abrimos el formulario Seleccionar tutor.

21. Botn de comando BCElimTut


Pertenece a la ficha Tutor y tiene asociada una etiqueta titulada Eliminar.
Al hacer clic sobre este botn eliminamos el tutor que se encuentra seleccionado en
el subformulario SFTutores.

Pgina 89 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

22. Botn de comando BCProfTut


Pertenece a la ficha Tutor y tiene asociada una etiqueta titulada Ir a Profesores.
Al hacer clic sobre este botn cerramos el formulario Proyectos fin de carrera y
abrimos el formulario Profesores, de tal forma que el registro mostrado en el
formulario Profesores corresponde al profesor-tutor que estaba seleccionado en el
subformulario SFTutores del formulario Proyectos fin de carrera.

23. Cuadro de texto CTCalifNum


Pertenece a la ficha Calificacin y tiene asociada una etiqueta titulada Calificacin
numrica.
Muestra el campo CalifNum de la tabla Pfc de la base de datos. Este campo tiene las
siguientes propiedades:

Tipo de datos: nmero.

Tamao del campo: simple.

Regla de validacin: entre 0 y 10 (ambos inclusive).


La regla de validacin sirve para que los datos introducidos en el cuadro de texto
no infrinjan dicha regla.

Requerido: no (es decir, la entrada de datos no es obligatoria en este campo).

Contiene, por tanto, la calificacin numrica otorgada al proyecto fin de carrera por
el tribunal.

24. Cuadro combinado CCCalifAlfanum


Pertenece a la ficha Calificacin y tiene asociada una etiqueta titulada Calificacin
alfanumrica.
Muestra el campo CalifAlfanumID de la tabla Pfc de la base de datos. Este campo
tiene las siguientes propiedades:

Tipo de datos: nmero.

Tamao del campo: entero largo.

Requerido: no (es decir, la entrada de datos no es obligatoria en este campo).

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

INTERFAZ DE USUARIO Y CDIGO VBA

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.

25. Subformulario SFTribunalPfc


Pertenece a la ficha Tribunal y no lleva asociada ninguna etiqueta.
Sabemos que un subformulario es un formulario que se inserta en otro. El
formulario primario se denomina formulario principal, y el formulario dentro del
formulario se denomina subformulario. En este caso, el formulario principal es el
formulario Proyectos y el subformulario recibe el nombre de SFTribunalPfc.
Los registros de este subformulario proceden de la tabla TribunalPfc de la base de
datos, mientras que los del formulario Proyectos provienen de la tabla Pfc como ya
sabemos. La relacin Pfc TribunalPfc es uno a varios, por lo que el formulario
principal muestra la parte uno de la relacin, es decir, el proyecto fin de carrera en
cuestin, mientras que el subformulario muestra la parte varios de la relacin, o
sea, los profesores del tribunal encargado de evaluar dicho proyecto fin de carrera.
Recoge, por tanto, los profesores del tribunal encargado de evaluar el proyecto fin
de carrera.
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.

Pgina 91 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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.
En la figura 6.4.e podemos ver que debajo del subformulario SFTribunalPfc aparece
una etiqueta con el siguiente mensaje en letras de color rojo: ALERTA:
COINDIDENCIA ENTRE MIEMBROS DEL TRIBUNAL Y TUTOR!. Este
mensaje se muestra en el caso de que algn profesor aparezca tanto en el
subformulario SFTribunalPfc como en el subformulario SFTutores.

26. Botn de comando BCSelProf


Pertenece a la ficha Tribunal y tiene asociada una etiqueta titulada Seleccionar.
Al hacer clic sobre este botn abrimos el formulario Seleccionar profesor.

27. Botn de comando BCElimProf


Pertenece a la ficha Tribunal y tiene asociada una etiqueta titulada Eliminar.
Al hacer clic sobre este botn eliminamos el profesor que se encuentra seleccionado
en el subformulario SFTribunalPfc.

28. Botn de comando BCProfTrib


Pertenece a la ficha Tribunal y tiene asociada una etiqueta titulada Ir a Profesores.
Al hacer clic sobre este botn cerramos el formulario Proyectos fin de carrera y
abrimos el formulario Profesores, de tal forma que el registro mostrado en el
formulario Profesores corresponde al profesor que estaba seleccionado en el
subformulario SFTribunalPfc del formulario Proyectos fin de carrera.

29. Botn de comando BCAsigAutCargos


Pertenece a la ficha Tribunal y tiene asociada una etiqueta titulada Asignacin
automtica de cargos.
Al hacer clic sobre este botn se asignan de forma automtica los cargos que
desempean los miembros del tribunal. Para ello es necesario que el tribunal est
formado por tres miembros. Recordemos que en funcin de la categora, la

Pgina 92 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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.

30. Botn de comando BCAsigManCargos


Pertenece a la ficha Tribunal y tiene asociada una etiqueta titulada Asignacin
manual de cargos.
Al hacer clic sobre este botn desbloqueamos el subformulario SFTribunalPfc, lo
cual nos permite modificar los cargos de los profesores del tribunal.

31. Botn de comando BCEditar


No pertenece a ninguna de las fichas y tiene asociada una etiqueta titulada Editar
registro.
Al hacer clic sobre este botn desbloqueamos la edicin del registro mostrado en el
formulario, es decir, podemos modificar los datos que aparecen en el formulario.

32. Botn de comando BCGuardarReg


No pertenece a ninguna de las fichas y tiene asociada una etiqueta titulada Guardar
registro.
Al hacer clic sobre este botn bloqueamos la edicin del registro mostrado en el
formulario y se guardan los cambios realizados en dicho registro.

33. Botn de comando BCNuevoReg


No pertenece a ninguna de las fichas y tiene asociada una etiqueta titulada Nuevo
registro.
Al hacer clic sobre este botn cerramos el formulario Proyectos fin de carrera y
abrimos el formulario Proyectos fin de carrera Nuevo registro.

34. Botn de comando BCEliminar


No pertenece a ninguna de las fichas y tiene asociada una etiqueta titulada Eliminar
registro.
Al hacer clic sobre este botn eliminamos el registro mostrado en el formulario.

Pgina 93 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

35. Botn de comando BCBuscar


No pertenece a ninguna de las fichas y tiene asociada una etiqueta titulada Buscar
registros.
Al hacer clic sobre este botn abrimos el formulario BuscarProyectos (el ttulo de
este formulario es Buscar registros).

36. Botn de comando BCOrdenar


No pertenece a ninguna de las fichas y tiene asociada una etiqueta titulada Ordenar
registros.
Al hacer clic sobre este botn abrimos el formulario OrdenarProyectos (el ttulo de
este formulario es Ordenar registros).

37. Botn de comando BCQuitarFiltro


No pertenece a ninguna de las fichas y tiene asociada una etiqueta titulada Quitar
filtro u orden.
Al hacer clic sobre este botn quitamos los filtros y ordenaciones existentes en el
formulario. De esta forma, utilizando los botones de desplazamiento y el cuadro de
nmero de registro, situados en la parte inferior izquierda del formulario, podemos
desplazarnos por todos los registros de la tabla Pfc, los cuales aparecen en el orden
en que han sido introducidos en dicha tabla.

38. Botn de comando BCCertifDef


No pertenece a ninguna de las fichas y tiene asociada una etiqueta titulada
Certificado defensa PFC.
Al hacer clic sobre este botn abrimos el informe Certificado de defensa de
proyecto fin de carrera.

39. Botn de comando BCPfcCa


No pertenece a ninguna de las fichas y tiene asociada una etiqueta titulada N de
PFCs segn curso acadmico.

Pgina 94 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Al hacer clic sobre este botn abrimos el formulario ProyectosGraficos (el ttulo de
este formulario es Configurar grfico).

40. Botn de comando BCSesTrib


No pertenece a ninguna de las fichas y tiene asociada una etiqueta titulada Ir a
Sesiones de Tribunal.
Al hacer clic sobre este botn cerramos el formulario Proyectos fin de carrera y
abrimos el formulario Sesiones de tribunal, de tal forma que el registro mostrado en
el formulario Sesiones de tribunal es la sesin de tribunal a la cual est asignado el
proyecto fin de carrera que mostraba el formulario Proyectos fin de carrera cuando
hicimos clic sobre el botn BCSesTrib.

41. Botn de comando BCMostrarRegistros


No pertenece a ninguna de las fichas y tiene asociada una etiqueta titulada Mostrar
todos los registros.
Se encuentra siempre desactivado y su presencia se debe a razones puramente
estticas. Este botn de comando se utiliza en el formulario Proyectos fin de carrera
Nuevo registro para cerrar dicho formulario y abrir el formulario Proyectos fin de
carrera. Esto dos formularios cuentan con el mismo aspecto para que, al pasar de
uno a otro, no se note que hemos cambiado de formulario y parezcan un mismo
formulario. Por este motivo 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.

42. Botn de comando BCAtras


No pertenece a ninguna de las fichas. Est situado en la esquina inferior izquierda
del formulario y contiene la imagen de una flecha de color verde.
Al hacer clic sobre este botn cerramos el formulario Proyectos fin de carrera y
regresamos al formulario que tenamos abierto anteriormente.

Pgina 95 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

43. Botn de comando BCCerrar


No pertenece a ninguna de las fichas. Est situado en la esquina inferior derecha del
formulario y contiene la imagen de una letra X de color gris oscuro.
Al hacer clic sobre este botn cerramos el formulario Proyectos fin de carrera y
abrimos el formulario Panel principal.

6.4.2.- Cdigo VBA


En este apartado citaremos todos los eventos a los cuales hemos asignado cdigo VBA
y explicaremos para qu sirve dicho cdigo.

1. Evento Al activar registro del formulario Proyectos


Este evento se produce cuando el enfoque se desplaza a un registro, haciendo que sea el
registro actual, o cuando el formulario se actualiza o se somete a una nueva consulta.

El cdigo asociado a este evento se utiliza para:


Bloquear la edicin del registro mostrado en el formulario, es decir, no podemos
modificar los datos que aparecen en el formulario.
Activar los siguientes botones de comando: BCEditar, BCEliminar, BCBuscar,
BCOrdenar, BCQuitarFiltro, BCCertifDef y BCPfcCa.
Desactivar los siguientes botones de comando: BCGuardarReg, BCSelTut,
BCElimTut, BCSelProf, BCElimProf, BCAsigAutCargos y 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.
Introducir en el cuadro combinado CCPlanEstudios la consulta que proporciona los
valores que aparecen en la lista desplegable de dicho cuadro combinado.
Introducir en el cuadro combinado CCIntensificacion la consulta que proporciona
los valores que aparecen en la lista desplegable de dicho cuadro combinado.
Comprobar que en el tribunal del proyecto fin de carrera mostrado en el formulario
no se encuentra ninguno de los tutores que dirigen dicho proyecto. Si alguno de los
tutores figura tambin como miembro del tribunal, entonces aparece una etiqueta
situada justo debajo del subformulario SFTribunalPfc con el siguiente mensaje en

Pgina 96 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

letras de color rojo: ALERTA: COINDIDENCIA ENTRE MIEMBROS DEL


TRIBUNAL Y TUTOR!.

2. Evento Antes de actualizar del formulario Proyectos


Este evento se produce antes de que se actualicen los datos de un registro.

El cdigo asociado a este evento se utiliza para:


Impedir que se actualice un registro si se detecta que existe otro registro con el
mismo autor (nombre y apellidos) del proyecto fin de carrera.
En el caso de que se deshagan los cambios realizados en un registro debido a que se
ha encontrado otro registro con el mismo autor, introducir en el cuadro combinado
CCPlanEstudios la consulta que proporciona los valores que aparecen en la lista
desplegable de dicho cuadro combinado.
En el caso de que se deshagan los cambios realizados en un registro debido a que se
ha encontrado otro registro con el mismo autor, introducir en el cuadro combinado
CCIntensificacion la consulta que proporciona los valores que aparecen en la lista
desplegable de dicho cuadro combinado.

3. Evento Al Eliminar del formulario Proyectos


Este evento se produce cuando el usuario hace clic sobre el botn de comando
BCEliminar para eliminar un registro, pero antes de que el registro se elimine
realmente.

El cdigo asociado a este evento se utiliza para mostrar un mensaje al usuario


preguntndole si est seguro de que desea eliminar el registro que ha seleccionado.

4. Evento Al abrir del formulario Proyectos


Este evento se produce cuando se abre el formulario, pero antes de que se muestre el
primer registro.

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

INTERFAZ DE USUARIO Y CDIGO VBA

ningn registro, se muestra un mensaje explicando tal circunstancia y a continuacin se


cierra el formulario Proyectos fin de carrera y se abre el formulario Proyectos fin de
carrera Nuevo registro para que podamos introducir el primer registro.

5. Evento Al cerrar del formulario Proyectos


Este evento se produce cuando el formulario se cierra y desaparece de la pantalla.

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.

6. Evento Al bajar una tecla del formulario Proyectos


El cdigo asociado a este evento se utiliza para desactivar los mtodos abreviados de
teclado de Access. Con esto queremos evitar que al pulsar ciertas teclas se tenga acceso
a comandos u operaciones frecuentes en Access (por ejemplo: si pulsamos ALT+F4
salimos de Access, si pulsamos F12 se abre el cuadro de dilogo Guardar como, etc.).
Pretendemos que el usuario maneje la aplicacin utilizando nicamente los controles de
la aplicacin y de esta manera poder garantizar su correcto funcionamiento.

7. Evento Al ocurrir un error del formulario Proyectos


El cdigo asociado a este evento se utiliza para mostrar un mensaje de error cuando se
produce un error desconocido.

8. Evento Despus de actualizar del cuadro de texto CTCursoAcad1


Este evento se produce despus de que se actualicen los datos modificados en el cuadro
de texto.

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

INTERFAZ DE USUARIO Y CDIGO VBA

9. Evento Despus de actualizar del cuadro combinado CCTitulacion


Este evento se produce despus de que se actualicen los datos modificados en el cuadro
combinado.

El cdigo asociado a este evento se utiliza para:


Dejar en blanco el contenido del cuadro combinado CCPlanEstudios e introducir en
l la consulta que proporciona los valores que aparecen en la lista desplegable de
dicho cuadro combinado.
Dejar en blanco el tanto el contenido como la lista desplegable del cuadro
combinado CCIntensificacion.

10. Evento Despus de actualizar del cuadro combinado CCPlanEstudios


Este evento se produce despus de que se actualicen los datos modificados en el cuadro
combinado.

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.

11. Evento Antes de actualizar del cuadro combinado CCNumTutores


Este evento se produce antes de que se actualicen los datos del 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.

12. Evento Al no estar en la lista del cuadro combinado CCNumTutores


Este evento se produce cuando el usuario introduce en el componente cuadro de texto
del cuadro combinado un valor que no se encuentra en la lista del cuadro combinado.

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

INTERFAZ DE USUARIO Y CDIGO VBA

13. Evento Al hacer clic del botn de comando BCSelTut


El cdigo asociado a este evento se utiliza para abrir el formulario SeleccionarTutor (el
ttulo de este formulario es Seleccionar tutor).

14. Evento Al hacer clic del botn de comando BCElimTut


El cdigo asociado a este evento se utiliza para:
Mostrar un mensaje preguntando al usuario si est seguro de que desea eliminar del
subformulario SFTutores el tutor que ha seleccionado.
En el caso de que no hayamos seleccionado ningn tutor aparece un mensaje
indicando tal circunstancia.
Eliminar del subformulario SFTutores el tutor seleccionado si el usuario as lo
desea.
Comprobar que en el tribunal del proyecto fin de carrera mostrado en el formulario
no figura ninguno de los tutores que dirigen dicho proyecto. Si el tutor eliminado
pertenece al tribunal, entonces desaparecer la etiqueta situada justo debajo del
subformulario SFTribunalPfc con el siguiente mensaje en letras de color rojo:
ALERTA: COINDIDENCIA ENTRE MIEMBROS DEL TRIBUNAL Y
TUTOR!.
Mostrar un mensaje indicando el nmero de tutores que faltan por asignar si es que
falta alguno.

15. Evento Al hacer clic del botn de comando BCProfTut


El cdigo asociado a este evento se utiliza para:
Cerrar el formulario Proyectos fin de carrera y abrir el formulario Profesores, de
tal forma que el registro mostrado en el formulario Profesores corresponde al
profesor-tutor que estaba seleccionado en el subformulario SFTutores del
formulario Proyectos fin de carrera.
En el caso de que no hayamos seleccionado ningn tutor aparece un mensaje
indicando tal circunstancia.

Pgina 100 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Si el profesor seleccionado en el subformulario SFTutores no se encuentra entre los


registros del formulario Profesores, entonces se muestra un mensaje indicando que
dicho profesor fue eliminado desde el formulario Profesores con anterioridad.

16. Evento Despus de actualizar del cuadro de texto CTCalifNum


Este evento se produce despus de que se actualicen los datos modificados en el cuadro
de texto.

El cdigo asociado a este evento se utiliza para introducir en el cuadro combinado


CCCalifAlfanum la calificacin alfanumrica que se corresponde con la calificacin
numrica que acabamos de introducir en el cuadro de texto CTCalifNum.

17. Evento Antes de actualizar del cuadro combinado CCCalifAlfanum


Este evento se produce antes de que se actualicen los datos del cuadro combinado.

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.

18. Evento Al salir del subformulario SFTribunalPfc


Este evento se produce inmediatamente antes de que el subformulario pierda el enfoque
en favor de otro control del mismo formulario.

El cdigo asociado a este evento se utiliza para:


Activar el botn de comando BCAsigManCargos si se encuentran desactivados los
botones de comando BCAsigManCargos y BCEditar.
Bloquear el subformulario SFTribunalPfc si se encuentran desactivados los botones
de comando BCAsigManCargos y BCEditar.

19. Evento Al hacer clic del botn de comando BCSelProf


El cdigo asociado a este evento se utiliza para abrir el formulario Seleccionar profesor.

Pgina 101 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

20. Evento Al hacer clic del botn de comando BCElimProf


El cdigo asociado a este evento se utiliza para:
Mostrar un mensaje preguntando al usuario si est seguro de que desea eliminar del
tribunal al profesor que ha seleccionado.
En el caso de que no hayamos seleccionado ningn miembro del tribunal aparece un
mensaje indicando tal circunstancia.
Eliminar del tribunal al profesor seleccionado si el usuario as lo desea.
Comprobar que en el tribunal del proyecto fin de carrera mostrado en el formulario
no figura ninguno de los tutores que dirigen dicho proyecto. Si el profesor eliminado
del tribunal es el tutor del proyecto fin de carrera, entonces desaparecer la etiqueta
situada justo debajo del subformulario SFTribunalPfc con el siguiente mensaje en
letras de color rojo: ALERTA: COINDIDENCIA ENTRE MIEMBROS DEL
TRIBUNAL Y TUTOR!.
Mostrar un mensaje indicando el nmero de miembros del tribunal que faltan por
asignar si es que falta alguno.

21. Evento Al hacer clic del botn de comando BCProfTrib


El cdigo asociado a este evento se utiliza para:
Cerrar el formulario Proyectos fin de carrera y abrir el formulario Profesores, de tal
forma que el registro mostrado en el formulario Profesores corresponde al profesor
que estaba seleccionado en el subformulario SFTribunalPfc del formulario
Proyectos fin de carrera.
En el caso de que no hayamos seleccionado ningn profesor aparece un mensaje
indicando tal circunstancia.
Si el profesor seleccionado en el subformulario SFTribunalPfc no se encuentra entre
los registros del formulario Profesores, entonces se muestra un mensaje indicando
que dicho profesor fue eliminado desde el formulario Profesores con anterioridad.

22. Evento Al hacer clic del botn de comando BCAsigAutCargos


El cdigo asociado a este evento se utiliza para:
Asignar de forma automtica los cargos que desempean los miembros del tribunal.
Para ello es necesario que el tribunal est formado por tres miembros. Recordemos
Pgina 102 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

que en funcin de la categora, la 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.
Si el nmero de miembros del tribunal no es igual a tres, entonces aparece un
mensaje indicando que no es posible la asignacin automtica de cargos.
Si alguno de los profesores del tribunal no se encuentra entre los registros del
formulario Profesores, entonces se muestra un mensaje indicando que no es posible
asignar automticamente los cargos debido a que alguno de los profesores del
tribunal fue eliminado con anterioridad desde el formulario Profesores.

23. Evento Al hacer clic del botn de comando AsigManCargos


El cdigo asociado a este evento se utiliza para:
Desactivar el botn de comando BCAsigManCargos.
Desbloquear el subformulario SFTribunalPfc, lo cual nos permite modificar los
cargos de los profesores del tribunal.
En el caso de que el tribunal no tenga ningn componente aparece un mensaje
indicando tal circunstancia.

24. Evento Al hacer clic del botn de comando BCEditar


El cdigo asociado a este evento se utiliza para:
Desbloquear la edicin del registro mostrado en el formulario, es decir, podemos
modificar los datos que aparecen en el formulario.
Activar los siguientes botones de comando: BCGuardarReg, BCSelTut, BCElimTut,
BCSelProf, BCElimProf, BCAsigAutCargos y BCAsigManCargos.
Desactivar los siguientes botones de comando: BCEditar, BCEliminar, BCBuscar,
BCOrdenar, BCQuitarFiltro, BCCertifDef y BCPfcCa.

25. Evento Al hacer clic del botn de comando BCGuardarReg


El cdigo asociado a este evento se utiliza para:
Guardar los cambios realizados en el registro que muestra el formulario.
Mostrar un mensaje indicando que el registro ha sido actualizado.

Pgina 103 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Bloquear la edicin del registro mostrado en el formulario, es decir, no podemos


modificar los datos que aparecen en el formulario.
Activar los siguientes botones de comando: BCEditar, BCEliminar, BCBuscar,
BCOrdenar, BCQuitarFiltro, BCCertifDef y BCPfcCa.
Desactivar los siguientes botones de comando: BCGuardarReg, BCSelTut,
BCElimTut, BCSelProf, BCElimProf, BCAsigAutCargos y BCAsigManCargos.

26. Evento Al hacer clic del botn de comando BCNuevoReg


El cdigo asociado a este evento se utiliza para cerrar el formulario Proyectos fin de
carrera y abrir el formulario Proyectos fin de carrera Nuevo registro.

27. Evento Al hacer clic del botn de comando BCEliminar


El cdigo asociado a este evento se utiliza para:
Eliminar el proyecto fin de carrera mostrado en el formulario.
Mostrar un mensaje confirmando que dicho proyecto ha sido eliminado.
Si queremos eliminar un proyecto fin de carrera se encuentra asignado a una sesin
de tribunal cuyo tribunal no est vaco, entonces aparece un mensaje indicando que
no es posible la eliminacin de dicho proyecto fin de carrera.

28. Evento Al hacer clic del botn de comando BCBuscar


El cdigo asociado a este evento se utiliza para abrir el formulario BuscarProyectos (el
ttulo de este formulario es Buscar registros).

29. Evento Al hacer clic del botn de comando BCOrdenar


El cdigo asociado a este evento se utiliza para abrir el formulario OrdenarProyectos
(el ttulo de este formulario es Ordenar registros).

30. Evento Al hacer clic del botn de comando BCQuitarFiltro


El cdigo asociado a este evento se utiliza para quitar los filtros y ordenaciones
existentes en el formulario, sin que cambie el registro mostrado por el formulario.

Pgina 104 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

31. Evento Al hacer clic del botn de comando BCCertifDef


El cdigo asociado a este evento se utiliza para abrir el informe Certificado de defensa
de proyecto fin de carrera.

32. Evento Al hacer clic del botn de comando BCPfcCa


El cdigo asociado a este evento se utiliza para abrir el formulario ProyectosGraficos
(el ttulo de este formulario es Configurar grfico).

33. Evento Al hacer clic del botn de comando BCSesTrib


El cdigo asociado a este evento se utiliza para:
Cerrar el formulario Proyectos fin de carrera y abrir el formulario Sesiones de
tribunal, de tal forma que el registro mostrado en el formulario Sesiones de tribunal
es la sesin de tribunal a la cual est asignado el proyecto fin de carrera que
mostraba el formulario Proyectos fin de carrera cuando hicimos clic sobre el botn
BCSesTrib.
En el caso de que el proyecto fin de carrera seleccionado no se encuentre asignado a
ninguna sesin de tribunal aparece un mensaje indicando tal circunstancia.

34. Evento Al hacer clic del botn de comando BCAtras


El cdigo asociado a este evento se utiliza para cerrar el formulario Proyectos fin de
carrera y regresar al formulario que tenamos abierto anteriormente.

35. Evento Al hacer clic del botn de comando BCCerrar


El cdigo asociado a este evento se utiliza para cerrar el formulario Proyectos fin de
carrera y abrir el formulario Panel principal.

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

Pgina 105 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

informacin asociada al proyecto fin de carrera mostrado en el formulario, es decir:


curso acadmico, ttulo del proyecto, fecha de defensa, nombre y apellidos del autor (o
sea, del alumno) as como su titulacin, plan de estudios e intensificacin/especialidad,
el tutor o los tutores que dirigen el proyecto, los miembros del tribunal y la calificacin
numrica y alfanumrica otorgada al proyecto por el tribunal. Adems, al tratarse de un
certificado, se incluye la fecha actual y existe un espacio reservado para la firma del
Secretario/Subdirector/Director del Departamento.

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:

Tipo de grfico: barra (grfico GrafPfcBarra) o circular (grfico GrafPfcCir).

Cursos acadmicos: podemos seleccionar todos los cursos acadmicos o


solamente aqullos que nos interesen.

Pgina 106 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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.

Pgina 107 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

6.5.- Formulario ProyectosAgregar


El aspecto que presenta el formulario ProyectosAgregar es el siguiente:

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

Pgina 108 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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.

6.5.2.- Cdigo VBA


En este apartado citaremos todos los eventos a los cuales hemos asignado cdigo VBA
y explicaremos para qu sirve dicho cdigo.

1. Evento Antes de insertar del formulario ProyectosAgregar


Este evento se produce cuando el usuario escribe el primer carcter de un nuevo
registro, pero antes de que el registro se cree realmente.

Pgina 109 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

El cdigo asociado a este evento se utiliza para activar el botn de comando


BCGuardarReg.

2. Evento Antes de actualizar del formulario ProyectosAgregar


El cdigo asociado a este evento se utiliza para:
Impedir que guardemos un registro si se detecta que existe otro registro con el
mismo autor (nombre y apellidos) del proyecto fin de carrera.
En el caso de que se deshagan los cambios realizados en un registro debido a que se
ha encontrado otro registro con el mismo autor, introducir en el cuadro combinado
CCPlanEstudios la consulta que proporciona los valores que aparecen en la lista
desplegable de dicho cuadro combinado.
En el caso de que se deshagan los cambios realizados en un registro debido a que se
ha encontrado otro registro con el mismo autor, introducir en el cuadro combinado
CCIntensificacion la consulta que proporciona los valores que aparecen en la lista
desplegable de dicho cuadro combinado.

3. Evento Al eliminar del formulario ProyectosAgregar


El cdigo asociado a este evento se utiliza para mostrar un mensaje al usuario
preguntndole si est seguro de que desea eliminar el registro que ha seleccionado.

4. Evento Al cargar del formulario ProyectosAgregar


Este evento se produce cuando se abre el formulario y se muestran sus registros.

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.

5. Evento Al cerrar del formulario ProyectosAgregar


El cdigo asociado a este evento se utiliza para mostrar un mensaje indicando que el
nuevo registro ha sido guardado si no hemos utilizado anteriormente el botn de
comando BCGuardarReg para guardarlo.

Pgina 110 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

6. Evento Al bajar una tecla del formulario ProyectosAgregar


El cdigo asociado a este evento se utiliza para desactivar los mtodos abreviados de
teclado de Access. Con esto queremos evitar que al pulsar ciertas teclas se tenga acceso
a comandos u operaciones frecuentes en Access (por ejemplo: si pulsamos ALT+F4
salimos de Access, si pulsamos F12 se abre el cuadro de dilogo Guardar como, etc.).
Pretendemos que el usuario maneje la aplicacin utilizando nicamente los controles de
la aplicacin y de esta manera poder garantizar su correcto funcionamiento.

7. Evento Al ocurrir un error del formulario ProyectosAgregar


El cdigo asociado a este evento se utiliza para mostrar un mensaje de error cuando se
produce un error desconocido.

8. Evento Despus de actualizar del cuadro de texto CTCursoAcad1


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.

9. Evento Despus de actualizar del cuadro combinado CCTitulacion


El cdigo asociado a este evento se utiliza para:
Dejar en blanco el contenido del cuadro combinado CCPlanEstudios e introducir en
l la consulta que proporciona los valores que aparecen en la lista desplegable de
dicho cuadro combinado.
Dejar en blanco el tanto el contenido como la lista desplegable del cuadro
combinado CCIntensificacion.

10. Evento Despus de actualizar del cuadro combinado CCPlanEstudios


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.

Pgina 111 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

11. Evento Antes de actualizar del cuadro combinado CCNumTutores


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.

12. Evento Al no estar en la lista del cuadro combinado CCNumTutores


Este evento se produce cuando el usuario introduce en el componente cuadro de texto
del cuadro combinado un valor que no se encuentra en la lista del cuadro combinado.

El cdigo asociado a este evento se utiliza para aadir dicho valor a la lista del cuadro
combinado si el usuario lo desea.

13. Evento Al hacer clic del botn de comando BCSelTut


El cdigo asociado a este evento se utiliza para:
Mostrar un mensaje indicando si falta por rellenar algn campo requerido.
Abrir el formulario SeleccionarTutorAgregar (el ttulo de este formulario es
Seleccionar tutor).

14. Evento Al hacer clic del botn de comando BCElimTut


El cdigo asociado a este evento se utiliza para:
Mostrar un mensaje preguntando al usuario si est seguro de que desea eliminar del
formulario SFTutores el tutor que ha seleccionado.
En el caso de que no hayamos seleccionado ningn tutor aparece un mensaje
indicando tal circunstancia.
Eliminar del subformulario SFTutores el tutor seleccionado si el usuario as lo
desea.
Mostrar un mensaje indicando el nmero de tutores que faltan por asignar si es que
falta alguno.

15. Evento Al hacer clic del botn de comando BCProfTut


El cdigo asociado a este evento se utiliza para:

Pgina 112 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Cerrar el formulario Proyectos fin de carrera Nuevo registro y abrir el formulario


Profesores, de tal forma que el registro mostrado en el formulario Profesores
corresponde al profesor-tutor que estaba seleccionado en el subformulario
SFTutores del formulario Proyectos fin de carrera Nuevo registro.
En el caso de que no hayamos seleccionado ningn tutor aparece un mensaje
indicando tal circunstancia.
Si el profesor seleccionado en el subformulario SFTutores no se encuentra entre los
registros del formulario Profesores, entonces se muestra un mensaje indicando que
dicho profesor fue eliminado desde el formulario Profesores con anterioridad.

16. Evento Al hacer clic del botn de comando BCEditar


El cdigo asociado a este evento se utiliza para:
Desbloquear la edicin del registro mostrado en el formulario, es decir, podemos
modificar los datos que aparecen en el formulario.
Activar los siguientes botones de comando: BCGuardarReg, BCSelTut y
BCElimTut.
Desactivar los siguientes botones de comando: BCEditar y BCEliminar.

17. Evento Al hacer clic del botn de comando BCGuardarReg


El cdigo asociado a este evento se utiliza para:
Mostrar un mensaje indicando si falta por rellenar algn campo requerido.
Guardar el nuevo registro, o los cambios realizados en l si ya haba sido guardado
previamente.
Mostrar un mensaje indicando que el nuevo registro ha sido guardado.
Bloquear la edicin del registro mostrado en el formulario, es decir, no podemos
modificar los datos que aparecen en el formulario.
Activar los siguientes botones de comando: BCEditar, BCNuevoReg y BCEliminar.
Desactivar los siguientes botones de comando: BCGuardarReg, BCSelTut y
BCElimTut.

Pgina 113 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

18. Evento Al hacer clic del botn de comando BCNuevoReg


El cdigo asociado a este evento se utiliza para cerrar el formulario Proyectos fin de
carrera Nuevo registro y abrirlo de nuevo.

19. Evento Al hacer clic del botn de comando BCEliminar


El cdigo asociado a este evento se utiliza para:
Eliminar el proyecto fin de carrera mostrado en el formulario.
Mostrar un mensaje confirmando que dicho proyecto ha sido eliminado.
Desbloquear la edicin del formulario, es decir, podemos introducir datos en los
cuadros de texto y cuadros combinados del formulario.
Activar los siguientes botones de comando: BCSelTut y BCElimTut.
Desactivar los siguientes botones de comando: BCEditar, BCGuardarReg,
BCNuevoReg y BCEliminar.
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.

20. Evento Al hacer clic del botn de comando BCMostrarRegistros


El cdigo asociado a este evento se utiliza para:
Cerrar el formulario Proyectos fin de carrera Nuevo registro y abrir el formulario
Proyectos fin de carrera.
Mostrar un mensaje cuando no sea posible guardar el nuevo registro antes de cerrar
el formulario Proyectos fin de carrera Nuevo registro, debido a que falta por
rellenar algn campo requerido o porque se ha detectado otro registro con el mismo
autor (nombre y apellidos) del proyecto fin de carrera. Este mensaje pregunta al
usuario si desea salir del formulario Proyectos fin de carrera 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.

Pgina 114 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

21. Evento Al hacer clic del botn de comando BCAtras


El cdigo asociado a este evento se utiliza para:
Cerrar el formulario Proyectos fin de carrera Nuevo registro y regresar al
formulario que tenamos abierto anteriormente.
Mostrar un mensaje cuando no sea posible guardar el nuevo registro antes de cerrar
el formulario Proyectos fin de carrera Nuevo registro, debido a que falta por
rellenar algn campo requerido o porque se ha detectado otro registro con el mismo
profesor (nombre y apellidos). Este mensaje pregunta al usuario si desea salir del
formulario Proyectos fin de carrera 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.

22. Evento Al hacer clic del botn de comando BCCerrar


El cdigo asociado a este evento se utiliza para:
Cerrar el formulario Proyectos fin de carrera Nuevo registro y abrir el formulario
Panel principal.
Mostrar un mensaje cuando no sea posible guardar el nuevo registro antes de cerrar
el formulario Proyectos fin de carrera Nuevo registro, debido a que falta por
rellenar algn campo requerido o porque se ha detectado otro registro con el mismo
profesor (nombre y apellidos). Este mensaje pregunta al usuario si desea salir del
formulario Proyectos fin de carrera 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.

Pgina 115 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

6.6.- Formulario SesionesDeTribunal


El aspecto que presenta el formulario SesionesDeTribunal es el siguiente:

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.

Pgina 116 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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:

Figura 6.6.b Ficha Proyectos fin de carrera

Figura 6.6.c Ficha Tribunal


Pgina 117 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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.

Pgina 118 de 197

BCElimTrib,

BCProfesores,

INTERFAZ DE USUARIO Y CDIGO VBA

Contiene a los profesores del tribunal encargado de evaluar los proyectos fin de
carrera incluidos en la sesin de tribunal.

4. Cuadro de texto CTCursoAcad1


Pertenece a la ficha Sesin de tribunal. La etiqueta titulada Curso acadmico est
asociada a los cuadros de texto CTCursoAcad1 y CTCursoAcad2.
Muestra el campo CursoAcad1 de la tabla SesionesDeTribunal de la base de datos.
Este campo tiene las siguientes propiedades:

Tipo de datos: texto (es decir, texto o combinaciones de texto y nmeros).

Tamao del campo: el nmero mximo de caracteres es de 4.

Mscara de entrada: 0000;_


La mscara de entrada sirve para que los usuarios introduzcan en el cuadro de
texto valores que se ajustan a un determinado formato, en este caso el formato
de un ao, o sea, un nmero entero positivo con cuatro cifras. Usaremos el guin
bajo como carcter marcador.

Regla de validacin: entre 1964 y 2100 (ambos inclusive).


La regla de validacin sirve para que los datos introducidos en el cuadro de texto
no infrinjan dicha regla.

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).

Permitir longitud cero: no.

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).

5. Cuadro de texto CTCursoAcad2


Pertenece a la ficha Sesin de tribunal. La etiqueta titulada Curso acadmico est
asociada a los cuadros de texto CTCursoAcad1 y CTCursoAcad2.
Muestra el campo CursoAcad2 de la tabla SesionesDeTribunal de la base de datos.
Este campo tiene las siguientes propiedades:

Tipo de datos: texto (es decir, texto o combinaciones de texto y nmeros).

Tamao del campo: el nmero mximo de caracteres es de 4.

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).

Pgina 119 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Permitir longitud cero: no.

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.

6. Cuadro combinado CCMes


Pertenece a la ficha Sesin de tribunal y tiene asociada una etiqueta titulada Mes.
Muestra el campo MesID de la tabla SesionesDeTribunal de la base de datos. Este
campo tiene las siguientes propiedades:

Tipo de datos: nmero.

Tamao del campo: entero largo.

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).

Tiene como origen la siguiente consulta:


SELECT Meses.MesID, Meses.Mes FROM Meses ORDER BY Meses.MesID;
Esta consulta genera una tabla con dos columnas, que son los campos MesID y Mes
de la tabla Meses, y tantas filas como registros contiene la tabla Meses. Los valores
que aparecen en la lista desplegable del cuadro combinado son los del campo Mes
mientras que en la tabla SesionesDeTribunal se guardan los valores del campo
MesID debido a que tiene menor tamao.
Contiene, por tanto, el mes del ao en el que se celebra la sesin de tribunal.
Est limitado a la lista, es decir, no puede contener ningn valor que no se encuentre
en la lista.

7. Cuadro de texto CTFechaDef


Pertenece a la ficha Sesin de tribunal y tiene asociada una etiqueta titulada Fecha
de defensa.

Pgina 120 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Muestra el campo FechaDefensa de la tabla SesionesDeTribunal de la base de datos.


Este campo tiene las siguientes propiedades:

Tipo de datos: fecha/hora.

Formato: fecha corta (por ejemplo: 20/05/2005)

Mscara de entrada: 00/00/0000;_


La mscara de entrada sirve para que los usuarios introduzcan en el cuadro de
texto valores que se ajustan a un determinado formato, en este caso el formato de
fecha corta. Usaremos el guin bajo como carcter marcador.

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).

Contiene, por tanto, la fecha de defensa de los proyectos fin de carrera incluidos en
la sesin de tribunal.

8. Cuadro de texto CTHoraDef


Pertenece a la ficha Sesin de tribunal y tiene asociada una etiqueta titulada Hora de
defensa.
Muestra el campo HoraDefensa de la tabla SesionesDeTribunal de la base de datos.
Este campo tiene las siguientes propiedades:

Tipo de datos: fecha/hora.

Formato: hora corta (por ejemplo: 17:34)

Mscara de entrada: 00:00;_


La mscara de entrada sirve para que los usuarios introduzcan en el cuadro de
texto valores que se ajustan a un determinado formato, en este caso el formato de
fecha corta. Usaremos el guin bajo como carcter marcador.

Requerido: no (es decir, la entrada de datos no es obligatoria en este campo).

Contiene, por tanto, la hora de celebracin de la sesin de tribunal.

9. Cuadro combinado CCAulaDef


Pertenece a la ficha Sesin de tribunal y tiene asociada una etiqueta titulada Aula de
defensa.
Muestra el campo AulaID de la tabla SesionesDeTribunal de la base de datos. Este
campo tiene las siguientes propiedades:

Tipo de datos: nmero.

Tamao del campo: entero largo.

Pgina 121 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Requerido: no (es decir, la entrada de datos no es obligatoria en este campo).

Tiene como origen la siguiente consulta:


SELECT Aulas.AulaID, Aulas.Aula FROM Aulas ORDER BY Aulas.Aula;
Esta consulta genera una tabla con dos columnas, que son los campos AulaID y Aula
de la tabla Aulas, y tantas filas como registros contiene la tabla Aulas. Los valores
que aparecen en la lista desplegable del cuadro combinado son los del campo Aula
mientras que en la tabla SesionesDeTribunal se guardan los valores del campo
AulaID debido a que tiene menor tamao.
Contiene, por tanto, el aula o saln donde se celebra la sesin de tribunal.
Est limitado a la lista, es decir, no puede contener ningn valor que no se encuentre
en la lista.

10. Cuadro combinado CCNumProyectos


Pertenece a la ficha Proyectos fin de carrera y tiene asociada una etiqueta titulada
Nmero de proyectos fin de carrera.
Muestra el campo NumProyectos de la tabla SesionesDeTribunal de la base de
datos. Este campo tiene las siguientes propiedades:

Tipo de datos: nmero.

Tamao del campo: entero.

Valor predeterminado: 6.

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).

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.

11. Subformulario SFProyectos


Pertenece a la ficha Proyectos fin de carrera y no lleva asociada ninguna etiqueta.
Sabemos que un subformulario es un formulario que se inserta en otro. El
formulario primario se denomina formulario principal, y el formulario dentro del
formulario se denomina subformulario. En este caso, el formulario principal es el

Pgina 122 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

formulario SesionesDeTribunal y el subformulario recibe el nombre de


SFProyectos.
Los registros de este subformulario proceden de la tabla Proyectos de la base de
datos, mientras que los del formulario SesionesDeTribunal provienen de la tabla
SesionesDeTribunal como ya sabemos. La relacin SesionesDeTribunal Proyectos
es uno a varios, por lo que el formulario principal muestra la parte uno de la
relacin, es decir, la sesin de tribunal en cuestin, mientras que el subformulario
muestra la parte varios de la relacin, o sea, los proyectos fin de carrera incluidos
en dicha sesin de tribunal.
Recoge, por tanto, los proyectos fin de carrera incluidos en la sesin de tribunal.
Contiene cinco cuadros de texto que se titulan F/E Secretara, Ttulo, Autor: primer
apellido, Autor: segundo apellido y Autor: nombre. El primero recoge la fecha de
entrada en Secretara, el segundo contiene el ttulo del proyecto fin de carrera y los
tres ltimos muestran el nombre y los dos apellidos del autor de dicho proyecto.
Est bloqueado, es decir, no podemos modificar el contenido de los cuadros de
texto.

12. Botn de comando BCSelProy


Pertenece a la ficha Proyectos fin de carrera y tiene asociada una etiqueta titulada
Seleccionar.
Al hacer clic sobre este botn abrimos el formulario Seleccionar proyectos fin de
carrera.

13. Botn de comando BCElimProy


Pertenece a la ficha Proyectos fin de carrera y tiene asociada una etiqueta titulada
Eliminar.
Al hacer clic sobre este botn eliminamos el proyecto fin de carrera que se
encuentra seleccionado en el subformulario SFProyectos.

14. Botn de comando BCProyectos


Pertenece a la ficha Proyectos fin de carrera y tiene asociada una etiqueta titulada Ir
a Proyectos Fin de Carrera.

Pgina 123 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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..

15. Cuadro combinado CCNumProfesores


Pertenece a la ficha Tribunal y tiene asociada una etiqueta titulada Nmero de
profesores.
Muestra el campo NumProfesores de la tabla SesionesDeTribunal de la base de
datos. Este campo tiene las siguientes propiedades:

Tipo de datos: nmero.

Tamao del campo: entero.

Valor predeterminado: 3.

Requerido: s (es decir, la entrada de datos es obligatoria en este campo).

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.

16. Subformulario SFTribunal


Pertenece a la ficha Tribunal y no lleva asociada ninguna etiqueta.
Sabemos que un subformulario es un formulario que se inserta en otro. El
formulario primario se denomina formulario principal, y el formulario dentro del
formulario se denomina subformulario. En este caso, el formulario principal es el
formulario SesionesDeTribunal y el subformulario recibe el nombre de SFTribunal.
Los registros de este subformulario proceden de la tabla Tribunales de la base de
datos, mientras que los del formulario SesionesDeTribunal provienen de la tabla
SesionesDeTribunal como ya sabemos. La relacin SesionesDeTribunal
Tribunales es uno a varios, por lo que el formulario principal muestra la parte uno
de la relacin, es decir, la sesin de tribunal en cuestin, mientras que el
subformulario muestra la parte varios de la relacin, o sea, los profesores del
tribunal correspondiente a dicha sesin de tribunal.

Pgina 124 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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.

17. Botn de comando BCSelTrib


Pertenece a la ficha Tribunal y tiene asociada una etiqueta titulada Seleccionar.
Al hacer clic sobre este botn abrimos el formulario Seleccionar tribunal.

18. Botn de comando BCElimProf


Pertenece a la ficha Tribunal y tiene asociada una etiqueta titulada Eliminar
profesor del tribunal.
Al hacer clic sobre este botn eliminamos el profesor que se encuentra seleccionado
en el subformulario SFTribunal.

19. Botn de comando BCElimTrib


Pertenece a la ficha Tribunal y tiene asociada una etiqueta titulada Eliminar tribunal
completo.
Al hacer clic sobre este botn eliminamos todos los profesores que aparecen en el
subformulario SFTribunal.

Pgina 125 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

20. Botn de comando BCProfesores


Pertenece a la ficha Tribunal y tiene asociada una etiqueta titulada Ir a Profesores.
Al hacer clic sobre este botn cerramos el formulario Sesiones de tribunal y abrimos
el formulario Profesores, de tal forma que el registro mostrado en el formulario
Profesores corresponde al profesor que estaba seleccionado en el subformulario
SFTribunal del formulario Sesiones de tribunal.

21. Botn de comando BCAsigAutCargos


Pertenece a la ficha Tribunal y tiene asociada una etiqueta titulada Asignacin
automtica de cargos.
Al hacer clic sobre este botn se asignan de forma automtica los cargos que
desempean los miembros del tribunal. Para ello es necesario que el tribunal est
formado por tres miembros. Recordemos que en funcin de la categora, la
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.

22. Botn de comando BCAsigManCargos


Pertenece a la ficha Tribunal y tiene asociada una etiqueta titulada Asignacin
manual de cargos.
Al hacer clic sobre este botn desbloqueamos el subformulario SFTribunal, lo cual
nos permite modificar los cargos de los profesores del tribunal.

23. Botn de comando BCEditar


No pertenece a ninguna de las fichas y tiene asociada una etiqueta titulada Editar
registro.
Al hacer clic sobre este botn desbloqueamos la edicin del registro mostrado en el
formulario, es decir, podemos modificar los datos que aparecen en el formulario.

24. Botn de comando BCGuardarReg


No pertenece a ninguna de las fichas y tiene asociada una etiqueta titulada Guardar
registro.

Pgina 126 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Al hacer clic sobre este botn bloqueamos la edicin del registro mostrado en el
formulario y se guardan los cambios realizados en dicho registro.

25. Botn de comando BCNuevoReg


No pertenece a ninguna de las fichas y tiene asociada una etiqueta titulada Nuevo
registro.
Al hacer clic sobre este botn cerramos el formulario Sesiones de tribunal y abrimos
el formulario Sesiones de tribunal Nuevo registro.

26. Botn de comando BCEliminar


No pertenece a ninguna de las fichas y tiene asociada una etiqueta titulada Eliminar
registro.
Al hacer clic sobre este botn eliminamos el registro mostrado en el formulario.

27. Botn de comando BCBuscar


No pertenece a ninguna de las fichas y tiene asociada una etiqueta titulada Buscar
registros.
Al hacer clic sobre este botn abrimos el formulario BuscarSesiones (el ttulo de
este formulario es Buscar registros).

28. Botn de comando BCOrdenar


No pertenece a ninguna de las fichas y tiene asociada una etiqueta titulada Ordenar
registros.
Al hacer clic sobre este botn abrimos el formulario OrdenarSesiones (el ttulo de
este formulario es Ordenar registros).

29. Botn de comando BCQuitarFiltro


No pertenece a ninguna de las fichas y tiene asociada una etiqueta titulada Quitar
filtro u orden.
Al hacer clic sobre este botn quitamos los filtros y ordenaciones existentes en el
formulario. De esta forma, utilizando los botones de desplazamiento y el cuadro de
nmero de registro, situados en la parte inferior izquierda del formulario, podemos

Pgina 127 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

desplazarnos por todos los registros de la tabla SesionesDeTribunal, los cuales


aparecen en el orden en que han sido introducidos en dicha tabla.

30. Botn de comando BCMostrarRegistros


No pertenece a ninguna de las fichas y tiene asociada una etiqueta titulada Mostrar
todos los registros.
Se encuentra siempre desactivado y su presencia se debe a razones puramente
estticas. Este botn de comando se utiliza en el formulario Sesiones de tribunal
Nuevo registro para cerrar dicho formulario y abrir el formulario Sesiones de
tribunal. Esto dos formularios cuentan con el mismo aspecto para que, al pasar de
uno a otro, no se note que hemos cambiado de formulario y parezcan un mismo
formulario. Por este motivo 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.

31. Botn de comando BCAtras


No pertenece a ninguna de las fichas. Est situado en la esquina inferior izquierda
del formulario y contiene la imagen de una flecha de color verde.
Al hacer clic sobre este botn cerramos el formulario Sesiones de tribunal y
regresamos al formulario que tenamos abierto anteriormente.

32. Botn de comando BCAvisoReloj


No pertenece a ninguna de las fichas. Est situado en la parte inferior central del
formulario y contiene la imagen de un reloj.
Al hacer clic sobre este botn abrimos el formulario AvisoReloj (el ttulo de este
formulario es Importante), en el cual se muestra simplemente un mensaje para
recordar al usuario que mantenga el reloj del sistema operativo ajustado a la fecha y
hora actuales.

33. Botn de comando BCCerrar


No pertenece a ninguna de las fichas. Est situado en la esquina inferior derecha del
formulario y contiene la imagen de una letra X de color gris oscuro.

Pgina 128 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Al hacer clic sobre este botn cerramos el formulario Sesiones de tribunal y abrimos
el formulario Panel principal.

6.6.2.- Cdigo VBA


En este apartado citaremos todos los eventos a los cuales hemos asignado cdigo VBA
y explicaremos para qu sirve dicho cdigo.

1. Evento Al activar registro del formulario SesionesDeTribunal


Este evento se produce cuando el enfoque se desplaza a un registro, haciendo que sea el
registro actual, o cuando el formulario se actualiza o se somete a una nueva consulta.

El cdigo asociado a este evento se utiliza para:


Bloquear la edicin del registro mostrado en el formulario, es decir, no podemos
modificar los datos que aparecen en el formulario.
Activar los siguientes botones de comando: BCEditar, BCEliminar, BCBuscar,
BCOrdenar y BCQuitarFiltro.
Desactivar los siguientes botones de comando: BCGuardarReg, BCSelProy,
BCElimProy,

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.

2. Evento Al Eliminar del formulario SesionesDeTribunal


Este evento se produce cuando el usuario hace clic sobre el botn de comando
BCEliminar para eliminar un registro, pero antes de que el registro se elimine
realmente.

El cdigo asociado a este evento se utiliza para mostrar un mensaje al usuario


preguntndole si est seguro de que desea eliminar el registro que ha seleccionado.

Pgina 129 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

3. Evento Al abrir del formulario SesionesDeTribunal


Este evento se produce cuando se abre el formulario, pero antes de que se muestre el
primer registro.

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.

4. Evento Al cerrar del formulario SesionesDeTribunal


Este evento se produce cuando el formulario se cierra y desaparece de la pantalla.

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.

5. Evento Al bajar una tecla del formulario SesionesDeTribunal


El cdigo asociado a este evento se utiliza para desactivar los mtodos abreviados de
teclado de Access. Con esto queremos evitar que al pulsar ciertas teclas se tenga acceso
a comandos u operaciones frecuentes en Access (por ejemplo: si pulsamos ALT+F4
salimos de Access, si pulsamos F12 se abre el cuadro de dilogo Guardar como, etc.).
Pretendemos que el usuario maneje la aplicacin utilizando nicamente los controles de
la aplicacin y de esta manera poder garantizar su correcto funcionamiento.

6. Evento Al ocurrir un error del formulario SesionesDeTribunal


El cdigo asociado a este evento se utiliza para mostrar un mensaje de error cuando se
produce un error desconocido.

7. Evento Antes de actualizar del cuadro de texto CTCursoAcad1


Este evento se produce antes de que se actualicen los datos del cuadro de texto.

Pgina 130 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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.

8. Evento Despus de actualizar del cuadro de texto CTCursoAcad1


Este evento se produce despus de que se actualicen los datos modificados en el cuadro
de texto.

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.

9. Evento Antes de actualizar del cuadro combinado CCMes


Este evento se produce antes de que se actualicen los datos del cuadro combinado.

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.

10. Evento Antes de actualizar del cuadro combinado CCNumProyectos


Este evento se produce antes de que se actualicen los datos del cuadro combinado.

El cdigo asociado a este evento se utiliza para:


Deshacer los cambios realizados en este cuadro combinado si seleccionamos un
nmero de proyectos menor de los que ya contiene el subformulario SFProyectos.
Deshacer los cambios realizados en este cuadro combinado si el subformulario
SFTribunal contiene algn registro. Es decir, no podemos modificar el nmero de
proyectos fin de carrera que deben incluirse en la sesin de tribunal a menos que el
tribunal est vaco.

Pgina 131 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

11. Evento Al no estar en la lista del cuadro combinado CCNumProyectos


Este evento se produce cuando el usuario introduce en el componente cuadro de texto
del cuadro combinado un valor que no se encuentra en la lista del cuadro combinado.

El cdigo asociado a este evento se utiliza para aadir dicho valor a la lista del cuadro
combinado si el usuario lo desea.

12. Evento Al hacer clic del botn de comando BCSelProy


El cdigo asociado a este evento se utiliza para abrir el formulario SeleccionarPfc (el
ttulo de este formulario es Seleccionar proyectos fin de carrera).

13. Evento Al hacer clic del botn de comando BCElimProy


El cdigo asociado a este evento se utiliza para:
Mostrar un mensaje preguntando al usuario si est seguro de que desea eliminar del
subformulario SFProyectos el proyecto fin de carrera que ha seleccionado.
En el caso de que no hayamos seleccionado ningn proyecto fin de carrera aparece
un mensaje indicando tal circunstancia.
Eliminar del subformulario SFProyectos el proyecto fin de carrera seleccionado si el
usuario as lo desea.
Impedir que se elimine del subformulario SFProyectos el proyecto fin de carrera
seleccionado si el subformulario SFTribunal contiene algn registro. Es decir, no
podemos eliminar ninguno de los proyectos fin de carrera que aparecen en el
subformulario SFProyectos a menos que el tribunal est vaco.

14. Evento Al hacer clic del botn de comando BCProyectos


El cdigo asociado a este evento se utiliza para:
Cerrar el formulario Sesiones de tribunal y abrir 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.
En el caso de que no hayamos seleccionado ningn proyecto fin de carrera aparece
un mensaje indicando tal circunstancia.
Pgina 132 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

15. Evento Antes de actualizar del cuadro combinado CCNumProfesores


Este evento se produce antes de que se actualicen los datos del cuadro combinado.

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.

16. Evento Al no estar en la lista del cuadro combinado CCNumProfesores


Este evento se produce cuando el usuario introduce en el componente cuadro de texto
del cuadro combinado un valor que no se encuentra en la lista del cuadro combinado.

El cdigo asociado a este evento se utiliza para aadir dicho valor a la lista del cuadro
combinado si el usuario lo desea.

17. Evento Al salir del subformulario STTribunal


Este evento se produce inmediatamente antes de que el subformulario pierda el enfoque
en favor de otro control del mismo formulario.

El cdigo asociado a este evento se utiliza para:


Activar el botn de comando BCAsigManCargos si se encuentran desactivados los
botones de comando BCAsigManCargos y BCEditar.
Bloquear el subformulario SFTribunal si se encuentran desactivados los botones de
comando BCAsigManCargos y BCEditar.

18. Evento Al hacer clic del botn de comando BCSelTrib


El cdigo asociado a este evento se utiliza para abrir el formulario SeleccionarTribunal
(el ttulo de este formulario es Seleccionar tribunal), pero solamente si ya hemos
introducido todos los proyectos fin de carrera, es decir, slo en el caso de que el nmero
indicado en CCNumProyectos coincida con el nmero de registros que contiene el
subformulario SFProyectos.

Pgina 133 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

19. Evento Al hacer clic del botn de comando BCElimProf


El cdigo asociado a este evento se utiliza para:
Mostrar un mensaje preguntando al usuario si est seguro de que desea eliminar del
tribunal al profesor que ha seleccionado.
En el caso de que no hayamos seleccionado ningn miembro del tribunal aparece un
mensaje indicando tal circunstancia.
Mostrar un mensaje cuando el curso acadmico o el mes en el que se celebra la
sesin de tribunal se alejan demasiado de la fecha actual proporcionada por el
sistema operativo, pidiendo al usuario que revise las fechas antes de continuar.
Eliminar del tribunal al profesor seleccionado si el usuario as lo desea.
Mostrar un mensaje cuando el curso acadmico o el mes en el que se celebra la
sesin de tribunal se alejan demasiado de la fecha actual proporcionada por el
sistema operativo, preguntando al usuario si desea que los cambios realizados (es
decir, eliminar del tribunal al profesor seleccionado) afecten o no a la secuenciacin
de los tribunales.
Actualizar la secuenciacin de los tribunales tras quitar del tribunal al profesor
seleccionado, si el usuario as lo desea.
Si el profesor eliminado del tribunal no se encuentra entre los registros del
formulario Profesores, entonces se muestra un mensaje indicando que dicho
profesor no forma parte de la secuenciacin actualmente.
Mostrar un mensaje indicando el nmero de miembros del tribunal que faltan por
asignar si es que falta alguno.

20. Evento Al hacer clic del botn de comando BCElimTrib


Igual que el evento anterior pero en vez de quitar del tribunal nicamente al profesor
seleccionado, en este caso eliminamos del tribunal a todos los profesores que figuran en
el subformulario SFTribunal. Adems, los profesores son eliminados del tribunal en
sentido contrario a como fueron asignados, es decir, el profesor que fue asignado en
primer lugar ser el ltimo en ser eliminado y viceversa. De esta forma, si los profesores
vuelven a la cola de la secuenciacin, mantendrn las posiciones relativas que tenan
antes de ser asignados al tribunal.

Pgina 134 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

21. Evento Al hacer clic del botn de comando BCProfesores


El cdigo asociado a este evento se utiliza para:
Cerrar el formulario Sesiones de tribunal y abrir el formulario Profesores, de tal
forma que el registro mostrado en el formulario Profesores corresponde al profesor
que estaba seleccionado en el subformulario SFTribunal del formulario Sesiones de
tribunal.
En el caso de que no hayamos seleccionado ningn profesor aparece un mensaje
indicando tal circunstancia.
Si el profesor seleccionado en el subformulario SFTribunal no se encuentra entre los
registros del formulario Profesores, entonces se muestra un mensaje indicando que
dicho profesor fue eliminado desde el formulario Profesores con anterioridad.

22. Evento Al hacer clic del botn de comando BCAsigAutCargos


El cdigo asociado a este evento se utiliza para:
Asignar de forma automtica los cargos que desempean los miembros del tribunal.
Para ello es necesario que el tribunal est formado por tres miembros. Recordemos
que en funcin de la categora, la 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.
Si el nmero de miembros del tribunal no es igual a tres, entonces aparece un
mensaje indicando que no es posible la asignacin automtica de cargos.
Si alguno de los profesores del tribunal no se encuentra entre los registros del
formulario Profesores, entonces se muestra un mensaje indicando que no es posible
asignar automticamente los cargos debido a que alguno de los profesores del
tribunal fue eliminado con anterioridad desde el formulario Profesores.

23. Evento Al hacer clic del botn de comando BCAsigManCargos


El cdigo asociado a este evento se utiliza para:
Desactivar el botn de comando BCAsigManCargos.
Desbloquear el subformulario SFTribunal, lo cual nos permite modificar los cargos
de los profesores del tribunal.
Pgina 135 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

En el caso de que el tribunal no tenga ningn componente aparece un mensaje


indicando tal circunstancia.

24. Evento Al hacer clic del botn de comando BCEditar


El cdigo asociado a este evento se utiliza para:
Desbloquear la edicin del registro mostrado en el formulario, es decir, podemos
modificar los datos que aparecen en el formulario.
Activar los siguientes botones de comando: BCGuardarReg, BCSelProy,
BCElimProy,

BCSelTrib,

BCElimProf,

BCElimTrib,

BCAsigAutCargos

BCAsigManCargos.
Desactivar los siguientes botones de comando: BCEditar, BCEliminar, BCBuscar,
BCOrdenar y BCQuitarFiltro.

25. Evento Al hacer clic del botn de comando BCGuardarReg


El cdigo asociado a este evento se utiliza para:
Guardar los cambios realizados en el registro que muestra el formulario.
Mostrar un mensaje indicando que el registro ha sido actualizado.
Bloquear la edicin del registro mostrado en el formulario, es decir, no podemos
modificar los datos que aparecen en el formulario.
Activar los siguientes botones de comando: BCEditar, BCEliminar, BCBuscar,
BCOrdenar y BCQuitarFiltro.
Desactivar los siguientes botones de comando: BCGuardarReg, BCSelProy,
BCElimProy,

BCSelTrib,

BCElimProf,

BCElimTrib,

BCAsigAutCargos

BCAsigManCargos.

26. Evento Al hacer clic del botn de comando BCNuevoReg


El cdigo asociado a este evento se utiliza para cerrar el formulario Sesiones de tribunal
y abrir el formulario Sesiones de tribunal Nuevo registro.

Pgina 136 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

27. Evento Al hacer clic del botn de comando BCEliminar


El cdigo asociado a este evento se utiliza para:
Eliminar la sesin de tribunal mostrada en el formulario.
Mostrar un mensaje confirmando que dicho sesin de tribunal ha sido eliminada.
Si queremos eliminar una sesin de tribunal cuyo tribunal no est vaco, entonces
aparece un mensaje indicando que no es posible la eliminacin de dicha sesin de
tribunal. Es decir, no podemos eliminar una sesin de tribunal a menos que el
tribunal correspondiente a dicha sesin se encuentre vaco.

28. Evento Al hacer clic del botn de comando BCBuscar


El cdigo asociado a este evento se utiliza para abrir el formulario BuscarSesiones (el
ttulo de este formulario es Buscar registros).

29. Evento Al hacer clic del botn de comando BCOrdenar


El cdigo asociado a este evento se utiliza para abrir el formulario OrdenarSesiones (el
ttulo de este formulario es Ordenar registros).

30. Evento Al hacer clic del botn de comando BCQuitarFiltro


El cdigo asociado a este evento se utiliza para quitar los filtros y ordenaciones
existentes en el formulario, sin que cambie el registro mostrado por el formulario.

31. Evento Al hacer clic del botn de comando BCAtras


El cdigo asociado a este evento se utiliza para cerrar el formulario Sesiones de tribunal
y regresar al formulario que tenamos abierto anteriormente.

32. Evento Al hacer clic del formulario BCAvisoReloj


El cdigo asociado a este evento se utiliza para abrir el formulario AvisoReloj (el ttulo
de este formulario es Importante).

Pgina 137 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

33. Evento Al hacer clic del formulario BCCerrar


El cdigo asociado a este evento se utiliza para cerrar el formulario Sesiones de tribunal
y abrir el formulario Panel principal.

Pgina 138 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

6.7.- Formulario SesionesDeTribunalAgregar


El aspecto que presenta el formulario SesionesDeTribunalAgregar es el siguiente:

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.

El formulario Sesiones de tribunal Nuevo registro sirve, como su propio nombre


indica, para crear nueva sesiones de tribunal, es decir, a travs de este formulario
podemos agregar nuevos registros a la tabla SesionesDeTribunal de la base de datos.

Pgina 139 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Adems, cada vez que incluimos un proyecto fin de carrera en el subformulario


SFProyectos o un miembro del tribunal en el subformulario SFTribunales, se agrega un
nuevo registro a la tabla Proyectos o a la tabla Tribunales respectivamente.

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.

6.7.2.- Cdigo VBA


En este apartado citaremos todos los eventos a los cuales hemos asignado cdigo VBA
y explicaremos para qu sirve dicho cdigo.

1. Evento Antes de insertar del formulario SesionesDeTribunalAgregar


Este evento se produce cuando el usuario escribe el primer carcter de un nuevo
registro, pero antes de que el registro se cree realmente.

El cdigo asociado a este evento se utiliza para activar el botn de comando


BCGuardarReg.

2. Evento Al eliminar del formulario SesionesDeTribunalAgregar


El cdigo asociado a este evento se utiliza para mostrar un mensaje al usuario
preguntndole si est seguro de que desea eliminar el registro que ha seleccionado.

3. Evento Al cargar del formulario SesionesDeTribunalAgregar


Este evento se produce cuando se abre el formulario y se muestran sus registros.

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.

Pgina 140 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

4. Evento Al cerrar del formulario SesionesDeTribunalAgregar


El cdigo asociado a este evento se utiliza para mostrar un mensaje indicando que el
nuevo registro ha sido guardado si no hemos utilizado anteriormente el botn de
comando BCGuardarReg para guardarlo.

5. Evento Al bajar una tecla del formulario SesionesDeTribunalAgregar


El cdigo asociado a este evento se utiliza para desactivar los mtodos abreviados de
teclado de Access. Con esto queremos evitar que al pulsar ciertas teclas se tenga acceso
a comandos u operaciones frecuentes en Access (por ejemplo: si pulsamos ALT+F4
salimos de Access, si pulsamos F12 se abre el cuadro de dilogo Guardar como, etc.).
Pretendemos que el usuario maneje la aplicacin utilizando nicamente los controles de
la aplicacin y de esta manera poder garantizar su correcto funcionamiento.

6. Evento Al ocurrir un error del formulario SesionesDeTribunalAgregar


El cdigo asociado a este evento se utiliza para mostrar un mensaje de error cuando se
produce un error desconocido.

7. Evento Antes de actualizar del cuadro de texto CTCursoAcad1


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.

8. Evento Despus de actualizar del cuadro de texto CTCursoAcad1


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.

9. Evento Antes de actualizar del cuadro combinado CCMes


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
Pgina 141 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

podemos modificar el mes en el que se celebra la sesin de tribunal a menos que el


tribunal est vaco.

10. Evento Antes de actualizar del cuadro combinado CCNumProyectos


El cdigo asociado a este evento se utiliza para:
Deshacer los cambios realizados en este cuadro combinado si seleccionamos un
nmero de proyectos menor de los que ya contiene el subformulario SFProyectos.
Deshacer los cambios realizados en este cuadro combinado si el subformulario
SFTribunal contiene algn registro. Es decir, no podemos modificar el nmero de
proyectos fin de carrera que deben incluirse en la sesin de tribunal a menos que el
tribunal est vaco.

11. Evento Al no estar en la lista del cuadro combinado CCNumProyectos


Este evento se produce cuando el usuario introduce en el componente cuadro de texto
del cuadro combinado un valor que no se encuentra en la lista del cuadro combinado.

El cdigo asociado a este evento se utiliza para aadir dicho valor a la lista del cuadro
combinado si el usuario lo desea.

12. Evento Al hacer clic del botn de comando BCSelProy


El cdigo asociado a este evento se utiliza para:
Mostrar un mensaje indicando si falta por rellenar algn campo requerido.
Abrir el formulario SeleccionarPfcAgregar (el ttulo de este formulario es
Seleccionar proyectos fin de carrera).

13. Evento Al hacer clic del botn de comando BCElimProy


El cdigo asociado a este evento se utiliza para:
Mostrar un mensaje preguntando al usuario si est seguro de que desea eliminar del
subformulario SFProyectos el proyecto fin de carrera que ha seleccionado.
En el caso de que no hayamos seleccionado ningn proyecto fin de carrera aparece
un mensaje indicando tal circunstancia.

Pgina 142 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Eliminar del subformulario SFProyectos el proyecto fin de carrera seleccionado si el


usuario as lo desea.
Impedir que se elimine del subformulario SFProyectos el proyecto fin de carrera
seleccionado si el subformulario SFTribunal contiene algn registro. Es decir, no
podemos eliminar ninguno de los proyectos fin de carrera que aparecen en el
subformulario SFProyectos a menos que el tribunal est vaco.

14. Evento Al hacer clic del botn de comando BCProyectos


El cdigo asociado a este evento se utiliza para:
Cerrar el formulario Sesiones de tribunal Nuevo registro y abrir 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 Nuevo registro.
En el caso de que no hayamos seleccionado ningn proyecto fin de carrera aparece
un mensaje indicando tal circunstancia.

15. Evento Antes de actualizar del cuadro combinado CCNumProfesores


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.

16. Evento Al no estar en la lista del cuadro combinado CCNumProfesores


Este evento se produce cuando el usuario introduce en el componente cuadro de texto
del cuadro combinado un valor que no se encuentra en la lista del cuadro combinado.

El cdigo asociado a este evento se utiliza para aadir dicho valor a la lista del cuadro
combinado si el usuario lo desea.

17. Evento Al salir del subformulario SFTribunales


El cdigo asociado a este evento se utiliza para:
Activar el botn de comando BCAsigManCargos si se encuentran desactivados los
botones de comando BCAsigManCargos y BCEditar.
Pgina 143 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Bloquear el subformulario SFTribunal si se encuentran desactivados los botones de


comando BCAsigManCargos y BCEditar.

18. Evento Al hacer clic del botn de comando BCSelTrib


El cdigo asociado a este evento se utiliza para:
Mostrar un mensaje indicando si falta por rellenar algn campo requerido.
Abrir el formulario SeleccionarTribunalAgregar (el ttulo de este formulario es
Seleccionar tribunal), pero solamente si ya hemos introducido todos los proyectos
fin de carrera, es decir, slo en el caso de que el nmero indicado en
CCNumProyectos coincida con el nmero de registros que contiene el
subformulario SFProyectos.

19. Evento Al hacer clic del botn de comando BCElimProf


El cdigo asociado a este evento se utiliza para:
Mostrar un mensaje preguntando al usuario si est seguro de que desea eliminar del
tribunal al profesor que ha seleccionado.
En el caso de que no hayamos seleccionado ningn miembro del tribunal aparece un
mensaje indicando tal circunstancia.
Mostrar un mensaje cuando el curso acadmico o el mes en el que se celebra la
sesin de tribunal se alejan demasiado de la fecha actual proporcionada por el
sistema operativo, pidiendo al usuario que revise las fechas antes de continuar.
Eliminar del tribunal al profesor seleccionado si el usuario as lo desea.
Mostrar un mensaje cuando el curso acadmico o el mes en el que se celebra la
sesin de tribunal se alejan demasiado de la fecha actual proporcionada por el
sistema operativo, preguntando al usuario si desea que los cambios realizados (es
decir, eliminar del tribunal al profesor seleccionado) afecten o no a la secuenciacin
de los tribunales.
Actualizar la secuenciacin de los tribunales tras quitar del tribunal al profesor
seleccionado, si el usuario as lo desea.
Si el profesor eliminado del tribunal no se encuentra entre los registros del
formulario Profesores, entonces se muestra un mensaje indicando que dicho
profesor no forma parte de la secuenciacin actualmente.

Pgina 144 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Mostrar un mensaje indicando el nmero de miembros del tribunal que faltan por
asignar si es que falta alguno.

20. Evento Al hacer clic del botn de comando BCElimTrib


Igual que el evento anterior pero en vez de quitar del tribunal nicamente al profesor
seleccionado, en este caso eliminamos del tribunal a todos los profesores que figuran en
el subformulario SFTribunal. Adems, los profesores son eliminados del tribunal en
sentido contrario a como fueron asignados, es decir, el profesor que fue asignado en
primer lugar ser el ltimo en ser eliminado y viceversa. De esta forma, si los profesores
vuelven a la cola de la secuenciacin, mantendrn las posiciones relativas que tenan
antes de ser asignados al tribunal.

21. Evento Al hacer clic del botn de comando BCProfesores


El cdigo asociado a este evento se utiliza para:
Cerrar el formulario Sesiones de tribunal Nuevo registro y abrir el formulario
Profesores, de tal forma que el registro mostrado en el formulario Profesores
corresponde al profesor que estaba seleccionado en el subformulario SFTribunal del
formulario Sesiones de tribunal Nuevo registro.
En el caso de que no hayamos seleccionado ningn profesor aparece un mensaje
indicando tal circunstancia.
Si el profesor seleccionado en el subformulario SFTribunal no se encuentra entre los
registros del formulario Profesores, entonces se muestra un mensaje indicando que
dicho profesor fue eliminado desde el formulario Profesores con anterioridad.

22. Evento Al hacer clic del botn de comando BCAsigAutCargos


El cdigo asociado a este evento se utiliza para:
Asignar de forma automtica los cargos que desempean los miembros del tribunal.
Para ello es necesario que el tribunal est formado por tres miembros. Recordemos
que en funcin de la categora, la 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 145 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Si el nmero de miembros del tribunal no es igual a tres, entonces aparece un


mensaje indicando que no es posible la asignacin automtica de cargos.
Si alguno de los profesores del tribunal no se encuentra entre los registros del
formulario Profesores, entonces se muestra un mensaje indicando que no es posible
asignar automticamente los cargos debido a que alguno de los profesores del
tribunal fue eliminado con anterioridad desde el formulario Profesores.

23. Evento Al hacer clic del botn de comando BCAsigManCargos


El cdigo asociado a este evento se utiliza para:
Desactivar el botn de comando BCAsigManCargos.
Desbloquear el subformulario SFTribunal, lo cual nos permite modificar los cargos
de los profesores del tribunal.
En el caso de que el tribunal no tenga ningn componente aparece un mensaje
indicando tal circunstancia.

24. Evento Al hacer clic del botn de comando BCEditar


El cdigo asociado a este evento se utiliza para:
Desbloquear la edicin del registro mostrado en el formulario, es decir, podemos
modificar los datos que aparecen en el formulario.
Activar los siguientes botones de comando: BCGuardarReg, BCSelProy,
BCElimProy,

BCSelTrib,

BCElimProf,

BCElimTrib,

BCAsigAutCargos

BCAsigManCargos.
Desactivar los siguientes botones de comando: BCEditar y BCEliminar.

25. Evento Al hacer clic del botn de comando BCGuardarReg


El cdigo asociado a este evento se utiliza para:
Mostrar un mensaje indicando si falta por rellenar algn campo requerido.
Guardar el nuevo registro, o los cambios realizados en l si ya haba sido guardado
previamente.
Mostrar un mensaje indicando que el nuevo registro ha sido guardado.
Bloquear la edicin del registro mostrado en el formulario, es decir, no podemos
modificar los datos que aparecen en el formulario.
Pgina 146 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Activar los siguientes botones de comando: BCEditar, BCNuevoReg y BCEliminar.


Desactivar los siguientes botones de comando: BCGuardarReg, BCSelProy y
BCElimProy,

BCSelTrib,

BCElimProf,

BCElimTrib,

BCAsigAutCargos

BCAsigManCargos.

26. Evento Al hacer clic del botn de comando BCNuevoReg


El cdigo asociado a este evento se utiliza para cerrar el formulario Sesiones de tribunal
Nuevo registro y abrirlo de nuevo.

27. Evento Al hacer clic del botn de comando BCEliminar


Eliminar la sesin de tribunal mostrada en el formulario.
Mostrar un mensaje confirmando que dicha sesin de tribunal ha sido eliminada.
Si queremos eliminar una sesin de tribunal cuyo tribunal no est vaco, entonces
aparece un mensaje indicando que no es posible la eliminacin de dicha sesin de
tribunal. Es decir, no podemos eliminar una sesin de tribunal a menos que el
tribunal correspondiente a dicha sesin se encuentre vaco.
Desbloquear la edicin del formulario, es decir, podemos introducir datos en los
cuadros de texto y cuadros combinados del formulario.
Activar los siguientes botones de comando: BCSelProy, BCElimProy, BCSelTrib,
BCElimProf, BCElimTrib, BCAsigAutCargos y BCAsigManCargos.
Desactivar los siguientes botones de comando: BCEditar, BCGuardarReg,
BCNuevoReg y BCEliminar.
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.

28. Evento Al hacer clic del botn de comando BCMostrarRegistros


El cdigo asociado a este evento se utiliza para:
Cerrar el formulario Sesiones de tribunal Nuevo registro y abrir el formulario
Sesiones de tribunal.
Mostrar un mensaje cuando no sea posible guardar el nuevo registro antes de cerrar
el formulario Sesiones de tribunal Nuevo registro, debido a que falta por rellenar

Pgina 147 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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.

29. Evento Al hacer clic del botn de comando BCAtras


El cdigo asociado a este evento se utiliza para:
Cerrar el formulario Sesiones de tribunal Nuevo registro y regresar al formulario
que tenamos abierto anteriormente.
Mostrar un mensaje cuando no sea posible guardar el nuevo registro antes de cerrar
el formulario Sesiones de tribunal Nuevo registro, debido a que falta por rellenar
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.

30. Evento Al hacer clic del botn de comando BCAvisoReloj


El cdigo asociado a este evento se utiliza para abrir el formulario AvisoReloj (el ttulo
de este formulario es Importante).

31. Evento Al hacer clic del botn de comando BCCerrar


El cdigo asociado a este evento se utiliza para:
Cerrar el formulario Sesiones de tribunal Nuevo registro y abrir el formulario
Panel principal.
Mostrar un mensaje cuando no sea posible guardar el nuevo registro antes de cerrar
el formulario Sesiones de tribunal Nuevo registro, debido a que falta por rellenar
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.

Pgina 148 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

6.8.- Formulario SeleccionarTribunal


El aspecto que presenta el formulario SeleccionarTribunal es el siguiente:

Figura 6.8.a Ficha Profesores que pueden ser presidentes de un tribunal

Figura 6.8.b Ficha Profesores que pueden ser miembros de un tribunal


Tanto en la figura 6.8.a como en la 6.8.b podemos ver que en la barra de ttulo aparece
el ttulo del formulario: Seleccionar tribunal. Para referirnos a este formulario
utilizaremos siempre su nombre (SeleccionarTribunal).

Pgina 149 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

El formulario SeleccionarTribunal se abre al hacer clic sobre el botn Seleccionar (es


decir, el botn de comando BCSelTrib) que se encuentra situado en la ficha Tribunal del
formulario Sesiones de tribunal (ver figura 6.6.c).

A travs de este formulario seleccionaremos a los profesores que figuran en el tribunal


de cada sesin. Normalmente son tres los profesores que hay en cada tribunal. Para
seleccionar estos tres profesores tenemos que hacer lo siguiente:

1) En la lista de profesores de la ficha Profesores que pueden ser presidentes de un


tribunal tenemos que seleccionar un profesor. En esta lista, el orden de aparicin
de los profesores coincide con el orden de preferencia en que debe ser asignados.
Por tanto, elegiremos al primer profesor que aparece en la lista.

2) En la lista de profesores de la ficha Profesores que puede ser miembros de un


tribunal tenemos que seleccionar los dos profesores que quedan. En esta lista, el
orden de aparicin de los profesores coincide tambin con el orden de
preferencia en que deben ser asignados. Por tanto, elegiremos el primero y el
segundo de la lista.

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:

Pgina 150 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Private Sub Form_Load()


On Error GoTo Err_Form_Load
DoCmd.Hourglass True
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim

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

Pgina 151 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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

Pgina 152 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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 lista de profesores de la ficha Profesores que pueden ser presidentes de un tribunal


(cuadro de lista CLFuncionarios) tiene como origen la consulta ConsCLFuncionarios.
Por ello, el orden de aparicin de los profesores en esta consulta coincide con el orden
de preferencia en que deben ser asignados al tribunal de la sesin en cuestin. As, el
primer profesor de la lista ser el de mayor ContadorAsistencias, menor PosicionCola y
menor FechaSalidaCola (por este orden de prioridad), considerando que una fecha es
menor que otra cuando es ms antigua. El resto de la lista se genera siguiendo este
mismo criterio.

La consulta ConsCLFuncionarios se genera a partir de otras dos consultas:


ConsPosPres y ConsMesCA. La consulta ConsMesCA acabamos de describirla en el
punto anterior, pero an no sabemos en qu consiste la consulta ConsPosPres.

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:

Pgina 153 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

SELECT Profesores.ProfesorID, Profesores.Ap1Profesor, Profesores.Ap2Profesor,


Profesores.NombProfesor, Profesores.ContadorAsistencias, Profesores.PosicionCola,
Profesores.FechaSalidaCola, Categorias.PosPres
FROM Categorias INNER JOIN Profesores
ON Categorias.CategoriaID = Profesores.CategoriaID
WHERE Categorias.PosPres = Yes;

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 lista de profesores de la ficha Profesores que pueden ser miembros de un tribunal


(cuadro de lista CLProfesores) tiene como origen la consulta ConsCLProfesores. Por
ello, el orden de aparicin de los profesores en esta consulta coincide con el orden de
preferencia en que deben ser asignados al tribunal de la sesin en cuestin. As, el
primer profesor de la lista ser el de mayor ContadorAsistencias, menor PosicionCola y
menor FechaSalidaCola (por este orden de prioridad), considerando que una fecha es
menor que otra cuando es ms antigua. El resto de la lista se genera siguiendo este
mismo criterio.

La consulta ConsCLProfesores se genera a partir de otras dos consultas: ConsPosTrib y


ConsMesCA. La consulta ConsMesCA ha sido descrita anteriormente, pero an no
sabemos en qu consiste la consulta ConsPosTrib.

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:

Pgina 154 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

SELECT Profesores.ProfesorID, Profesores.Ap1Profesor, Profesores.Ap2Profesor,


Profesores.NombProfesor, Profesores.ContadorAsistencias, Profesores.PosicionCola,
Profesores.FechaSalidaCola, Categorias.PosTrib
FROM Categorias INNER JOIN Profesores
ON Categorias.CategoriaID = Profesores.Categoria
WHERE Categorias.PosTrib = Yes;

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:

Pgina 155 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Private Sub BCAsigFunc_Click()


On Error GoTo Err_BCAsigFunc_Click
DoCmd.Hourglass True
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim

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

Pgina 156 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

intNumMiembResta = intNumMiembros - intNumMiembSubf


If intNumMiembSel = 0 Then
DoCmd.Hourglass False
DisplayMessage "No ha seleccionado ningn elemento de la lista."
Exit Sub
End If
If intNumMiembSuma > intNumMiembros Then
DoCmd.Hourglass False
DisplayMessage "El nmero mximo de profesores que puede seleccionar es de: " & intNumMiembResta & " " _
& "(teniendo en cuenta el nmero de profesores que ha elegido)."
Exit Sub
End If
If Month(Date) >= 10 Then
intCursoActual1 = Year(Date)
Else
intCursoActual1 = Year(Date) - 1
End If
intCursoActual2 = intCursoActual1 + 1
If (Forms!SesionesDeProyectos!CTCursoAcad1 <> intCursoActual1) Or _
(Forms!SesionesDeProyectos!CTCursoAcad1 = intCursoActual1 And Forms!SesionesDeProyectos!CCMes < Month(Date)) Or _
(Forms!SesionesDeProyectos!CTCursoAcad1 = intCursoActual1 And Forms!SesionesDeProyectos!CCMes > Month(Date) + 1) Then
strMensaje1 = "El curso acadmico o el mes que ha seleccionado parecen alejarse de la fecha actual " _
& "proporcionada el sistema operativo. Es recomendable que revise las fechas antes de continuar. " _
& "Desea continuar?"
If Not Confirm(strMensaje1) Then
DoCmd.Close acForm, "SeleccionarTribunal"
DoCmd.Hourglass False
Exit Sub
End If
End If
Set cnn = CurrentProject.Connection
rstConsProfesores.Open "ConsProfesores", cnn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
rstTribunales.Open "Tribunales", cnn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
For Each varPosicion1 In CLFuncionarios.ItemsSelected

Pgina 157 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

strCriterio = "ProfesorID = " & CLFuncionarios.ItemData(varPosicion1)


rstConsProfesores.MoveFirst
rstConsProfesores.Find (strCriterio)
rstTribunales.AddNew
cnn.BeginTrans
rstTribunales!SesionID = lngSesionID
rstTribunales!ProfesorID = rstConsProfesores!ProfesorID
rstTribunales!Ap1Miembro = rstConsProfesores!Ap1Profesor
rstTribunales!Ap2Miembro = rstConsProfesores!Ap2Profesor
rstTribunales!NombMiembro = rstConsProfesores!NombProfesor
rstTribunales.Update
If rstConsProfesores!ContadorAsistencias = 0 And rstConsProfesores!NumTribunales > 1 Then
rstConsProfesores!FechaSalidaCola = Now
'Generamos FHSC.
rstConsProfesores.Update
End If
cnn.CommitTrans
Next varPosicion1
Forms!SesionesDeProyectos.Refresh
Forms!SesionesDeProyectos.PRAsigTrib
blnAUSubf = True
If (Forms!SesionesDeProyectos!CTCursoAcad1 <> intCursoActual1) Or _
(Forms!SesionesDeProyectos!CTCursoAcad1 = intCursoActual1 And Forms!SesionesDeProyectos!CCMes < Month(Date)) Or _
(Forms!SesionesDeProyectos!CTCursoAcad1 = intCursoActual1 And Forms!SesionesDeProyectos!CCMes > Month(Date) + 1) Then
strMensaje2 = "Desea que los cambios realizados afecten a la secuenciacin de los profesores?"
If Not Confirm(strMensaje2) Then
rstConsProfesores.Close
rstTribunales.Close
Set cnn = Nothing
DoCmd.Close acForm, "SeleccionarTribunal"
DoCmd.Hourglass False
Exit Sub
End If
End If
For Each varPosicion2 In CLFuncionarios.ItemsSelected
strCriterio = "ProfesorID = " & CLFuncionarios.ItemData(varPosicion2)

Pgina 158 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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

Pgina 159 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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.

Pgina 160 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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

Pgina 161 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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

Pgina 162 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

intNumProfDif = intNumProfSel - intNumProf


If intNumProf < intNumProfSel Then
DisplayMessage "El nmero de profesores que faltan por asignar es de " & intNumProfDif & " (teniendo en " _
& "cuenta el nmero de profesores que ha elegido)."
End If
DoCmd.Hourglass False
Exit_BCAsigFunc_Click:
Exit Sub
Err_BCAsigFunc_Click:
DoCmd.Hourglass False
DisplayMessage "Error desconocido (Identificador: SLTR-5)."
Resume Exit_BCAsigFunc_Click
End Sub

Pgina 163 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Analizando el cdigo observamos que ste recurre simplemente a la tabla Tribunales de


la base de datos y a la consulta ConsProfesores. Esta consulta ha sido creada con
Access y recoge a todos los profesores que pueden ser miembros de un tribunal,
mostrando adems para cada profesor todos los campos procedentes de la tabla
Profesores y de la tabla Categorias que influyen en la secuenciacin de los tribunales.
Expresada en lenguaje SQL, la consulta ConsProfesores queda de la siguiente manera:

SELECT Profesores.ProfesorID, Profesores.Ap1Profesor, Profesores.Ap2Profesor,


Profesores.NombProfesor, Categorias.Prioridad, Profesores.Dedicacion,
Profesores.Antiguedad, Categorias.NumTribunales, Profesores.ContadorAsistencias,
Profesores.PosicionCola, Profesores.PosColaAlAsignar,
Profesores.PosColaAlEliminar, Profesores.PosColaAlAsigUno,
Profesores.PosColaAlElimUno, Profesores.FechaSalidaCola, Categorias.PosTrib
FROM Categorias INNER JOIN Profesores
ON Categorias.CategoriaID = Profesores.CategoriaID
WHERE Categorias.PosTrib = Yes;

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:

o NumTribunales = NS (nmero de sesiones de tribunal)


o ContadorAsistencias = NSC (nmero de sesiones de tribunal cumplidas)
o PosicionCola = PC (posicin en la cola)
o PosColaAlAsignar = PCA (posicin en la cola al asignar)
o PosColaAlEliminar = PCE (posicin en la cola al eliminar)
o PosColaAlAsigUno = PCAU (posicin en la cola al asignar, caso NS = 1)
o PosColaAlElimUno = PCEU (posicin en la cola al eliminar, caso NS = 1)
o FechaSalidaCola = FHSC (fecha y hora de salida de la cola).

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:

Pgina 164 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Si no hemos seleccionado ningn profesor del cuadro de lista CLFuncionarios


aparece un mensaje indicando tal circunstancia.
Si la suma del nmero de profesores que hemos seleccionado en el cuadro de lista
CLFuncionarios y el nmero de profesores que ya figuran en el subformulario
SFTribunales del formulario Sesiones de tribunal resulta ser mayor que el nmero
indicado en el cuadro combinado CCNumProfesores del formulario Sesiones de
tribunal, entonces se muestra un mensaje indicando tal circunstancia y
especificando adems cul es el nmero mximo de tutores que podemos
seleccionar del cuadro de lista CLFuncionarios en ese momento.
Mostrar un mensaje cuando el curso acadmico o el mes en el que se celebra la
sesin de tribunal mostrada en el formulario Sesiones de tribunal se alejan
demasiado de la fecha actual proporcionada por el sistema operativo, pidiendo al
usuario que revise las fechas antes de continuar.
Introducir en la tabla Tribunales de la base de datos al profesor que hemos
seleccionado en el cuadro de lista CLFuncionarios. De esta forma, observaremos
como dicho profesor aparece en el subformulario SFTribunales de la sesin de
tribunal mostrada en el formulario Sesiones de tribunal. Si el profesor en cuestin
abandona la cola de la secuenciacin, quedar registrada la hora y la fecha actual en
el campo FHSC del registro correspondiente a dicho profesor en la tabla Profesores
de la base de datos.
Introducir tambin en la tabla TribunalPfc de la base de datos al profesor que hemos
seleccionado en el cuadro de lista CLFuncionarios. De esta forma, observaremos
como dicho profesor aparece en el subformulario SFTribunalPfc del formulario
Proyectos fin de carrera cuando este formulario muestre cualquiera de los proyectos
que estn incluidos en la sesin de tribunal mostrada en el formulario Sesiones de
tribunal.
Mostrar un mensaje cuando el curso acadmico o el mes en el que se celebra la
sesin de tribunal mostrada en el formulario Sesiones de tribunal se alejan
demasiado de la fecha actual proporcionada por el sistema operativo, preguntando al
usuario si desea que los cambios realizados (es decir, introducir en el tribunal de
dicha sesin al profesor seleccionado en el cuadro de lista CLFuncionarios) afecten
o no a la secuenciacin de los tribunales.
Actualizar la secuenciacin de los tribunales tras introducir en el tribunal al profesor
seleccionado en el cuadro de lista CLFuncionarios.
Pgina 165 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Finalmente, mostrar un mensaje indicando el nmero de miembros del tribunal que


faltan por asignar si es que falta alguno.

Tanto en el cdigo que acabamos de analizar como en el resto del cdigo de la


aplicacin hemos utilizado transacciones a la hora de introducir modificaciones en la
base de datos. Una transaccin es un grupo de cambios que queremos que Access trate
como una operacin nica. Abrir una transaccin indica a Access que recuerde los
cambios que haga, pero que espere hasta que cierre la transaccin para guardarlos en el
disco. Si queremos abrir una transaccin tenemos que utilizar el mtodo BeginTrans del
objeto Connection, y para cerrarla el mtodo CommitTrans.

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

SeleccionarTribunalAgregar se abre desde el formulario SesionesDeTribunalAgregar


mientras que SeleccionarTribunal se abre desde SesionesDeTribunal.

Pgina 166 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

6.9.- Descripcin del resto de formularios


Hemos realizado una descripcin destallada de los formularios ms importantes de la
aplicacin de base de datos: Panel Principal, Proyectos fin de carrera, Sesiones de
tribunal, Profesores, etc. A continuacin citaremos el resto de formularios que posee la
aplicacin de base de datos haciendo una breve descripcin de cada uno de ellos. Por
sencillez, nos referiremos a cada uno de ellos por su ttulo en vez de por su nombre
como hemos venido haciendo hasta ahora.

1. Formulario Panel de configuracin


Presenta el siguiente aspecto:

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.

2. Formulario Secuenciacin de los tribunales


Presenta el siguiente aspecto:

Pgina 167 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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:

Pgina 168 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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.

Veamos a continuacin algunas de las caractersticas ms destacadas que presenta el


formulario Categoras:
No podemos guardar o actualizar un registro si se detecta que existe otro registro
con la mima categora (mismo contenido del cuadro de texto Categora).
No es posible eliminar un registro del formulario Categoras que tiene registros
relacionados en el formulario Profesores. De esta forma evitamos que haya
profesores que se quedan sin pertenecer a ninguna categora.
Si hacemos clic sobre el botn Editar registro para actualizar un registro del
formulario Categoras que tiene registros relacionados en el formulario Profesores,
entonces podremos modificar el contenido del formulario Categoras a excepcin de
la casilla de verificacin Los profesores pertenecientes a esta categora pueden ser
miembros de un tribunal y del cuadro combinado Nmero de sesiones. De esta
forma evitamos que puedan producirse daos en la secuenciacin de los tribunales.

Pgina 169 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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.

Por lo dems, el funcionamiento del formulario Categoras es similar al de otros


formularios de la aplicacin como, por ejemplo, el formulario Profesores. De hecho,
existe un formulario titulado Categoras Nuevo registro que se abre al hacer clic sobre
el botn Nuevo registro del formulario Categoras y sirve para incluir nuevas categoras
en la base de datos.

4. Formulario Modificar prioridades


Presenta el siguiente aspecto:

Figura 6.9.d

Pgina 170 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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.

5. Formulario Grupos de investigacin


Presenta el siguiente aspecto:

Figura 6.9.e

Pgina 171 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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.

Veamos a continuacin algunas de las caractersticas ms destacadas que presenta el


formulario Grupos de investigacin:
No podemos guardar o actualizar un registro si se detecta que existe otro registro
con el mismo grupo de investigacin (mismo contenido del cuadro de texto Grupo
de investigacin).
No es posible eliminar un registro del formulario Grupos de investigacin que tiene
registros relacionados en el formulario Profesores. De esta forma evitamos que haya
profesores que se quedan sin pertenecer a ningn grupo de investigacin.
Podemos sacar un informe que contiene un listado con todos los grupos de
investigacin pertenecientes al Departamento.
Podemos obtener un grfico que muestra el nmero de proyectos fin de carrera
dirigidos segn grupo de investigacin. Haciendo clic sobre el botn N de PFCs
dirigidos segn GI abrimos el formulario GIGraficos, el cual nos permite configurar
el grfico mediante las siguientes opciones de configuracin:

Tipo de grfico: columna agrupada (grfico GrafGIColAg) o columna apilada


(grfico GrafGIColAp).

Cursos acadmicos: podemos seleccionar todos los cursos acadmicos o


solamente aqullos que nos interesen.

Grupos de investigacin: podemos seleccionar todos los grupos de investigacin


o solamente aqullos que nos interesen.

Por lo dems, el funcionamiento del formulario Grupos de investigacin es similar al de


otros formularios de la aplicacin como, por ejemplo, el formulario Profesores. De
hecho, existe un formulario titulado Grupos de investigacin Nuevo registro que se

Pgina 172 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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.

Veamos a continuacin algunas de las caractersticas ms destacadas que presenta el


formulario Titulaciones:
No podemos guardar o actualizar un registro si se detecta que existe otro registro
con la misma titulacin (mismo contenido del cuadro de texto Titulacin).
No es posible eliminar un registro del formulario Titulaciones que tiene registros
relacionados en el formulario Planes de estudios o en el formulario Proyectos fin de
carrera. De esta forma evitamos que haya planes de estudios o alumnos (es decir,
autores de un proyecto fin de carrera) que se quedan sin pertenecer a ninguna
titulacin.

Pgina 173 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Podemos sacar un informe que contiene un listado con todas las titulaciones
universitarias que se imparten en la Escuela Superior de Ingenieros de Sevilla.

Por lo dems, el funcionamiento del formulario Titulaciones es similar al de otros


formularios de la aplicacin como, por ejemplo, el formulario Profesores. De hecho,
existe un formulario titulado Titulaciones Nuevo registro que se abre al hacer clic
sobre el botn Nuevo registro del formulario Titulaciones y sirve para incluir nuevas
titulaciones en la base de datos.

7. Formulario Planes de estudios


Presenta el siguiente aspecto:

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.

Veamos a continuacin algunas de las caractersticas ms destacadas que presenta el


formulario Planes de estudios:

Pgina 174 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

No podemos guardar o actualizar un registro si se detecta que existe otro registro


con el mismo plan de estudios (mismo contenido del cuadro de texto Plan de
estudios y del cuadro combinado Titulacin).
No es posible eliminar un registro del formulario Planes de estudios que tiene
registros relacionados en el formulario Intensificaciones/Especialidades o en el
formulario Proyectos fin de carrera. De esta forma evitamos que haya
intensificaciones/especialidades que se quedan sin pertenecer a ningn plan de
estudios o alumnos (es decir, autores de un proyecto fin de carrera) que pertenecan
a un determinado plan de estudios y dejan de pertenecer a l porque hemos
eliminado dicho plan.
Podemos sacar un informe que contiene un listado con todos los planes de estudios
as como la titulacin a la que pertenece cada uno de ellos.

Por lo dems, el funcionamiento del formulario Planes de estudios es similar al de otros


formularios de la aplicacin como, por ejemplo, el formulario Profesores. De hecho,
existe un formulario titulado Planes de estudios Nuevo registro que se abre al hacer
clic sobre el botn Nuevo registro del formulario Planes de estudios y sirve para incluir
nuevos planes de estudios en la base de datos.

8. Formulario Intensificaciones/Especialidades
Presenta el siguiente aspecto:

Figura 6.9.h

Pgina 175 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Este formulario se abre al hacer clic sobre el botn Intensificaciones/Especialidades del


formulario

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.

Veamos a continuacin algunas de las caractersticas ms destacadas que presenta el


formulario Intensificaciones/Especialidades:
No podemos guardar o actualizar un registro si se detecta que existe otro registro
con la misma intensificacin o especialidad (mismo contenido del cuadro de texto
Intensificacin/Especialidad y del cuadro combinado Plan de estudios).
No es posible eliminar un registro del formulario Intensificaciones/Especialidades
que tiene registros relacionados en el formulario Proyectos fin de carrera. De esta
forma evitamos que haya alumnos (es decir, autores de un proyecto fin de carrera)
que pertenecan a una intensificacin o especialidad y dejan de pertenecer a ella
porque hemos eliminado dicha intensificacin o especialidad.
Podemos sacar un informe que contiene un listado con todas las intensificaciones y
especialidades as como el plan de estudios y la titulacin a la que pertenece cada
una de ellas.

Por lo dems, el funcionamiento del formulario Intensificaciones/Especialidades es


similar al de otros formularios de la aplicacin como, por ejemplo, el formulario
Profesores. De hecho, existe un formulario titulado Intensificaciones/Especialidades
Nuevo registro que se abre al hacer clic sobre el botn Nuevo registro del formulario
Intensificaciones/Especialidades y sirve para incluir nuevas intensificaciones o
especialidades en la base de datos.

Pgina 176 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

9. Formulario Aulas de defensa


Presenta el siguiente aspecto:

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.

Por lo dems, el funcionamiento del formulario Aulas de defensa es similar al de otros


formularios de la aplicacin como, por ejemplo, el formulario Profesores. De hecho,
existe un formulario titulado Aulas de defensa Nuevo registro que se abre al hacer clic
sobre el botn Nuevo registro del formulario Aulas de defensa y sirve para incluir
nuevas aulas en la base de datos.

Pgina 177 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

10. Formulario Proyectos fin de carrera como tutor


Presenta el siguiente aspecto:

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.

Si queremos que solamente aparezcan en la lista los proyectos correspondientes a un


determinado curso acadmico, entonces debemos introducir el curso acadmico deseado
en el cuadro de texto Curso acadmico y hacer clic sobre el botn Filtrar. Para que
vuelvan a mostrarse todos los proyectos, basta con hacer clic sobre el botn Quitar
filtro.

Pgina 178 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Existe la posibilidad de generar un certificado de direccin de proyectos fin de carrera


en el que se recogen todos los proyectos fin de carrera dirigidos por el profesor en
cuestin. Adems, este informe puede recoger solamente los proyectos correspondientes
a un cierto curso acadmico si antes de hacer clic en el botn Certificado direccin
PFCs introducimos en el cuadro de texto Curso acadmico dicho curso.

Finalmente, si seleccionamos cualquiera de los proyectos fin de carrera que aparecen en


la lista y hacemos clic sobre el botn Ir a Proyectos Fin de Carrera, entonces se
cerrarn los formularios que estn abiertos, o sea, Proyectos fin de carrera como tutor y
Profesores, y se abrir el formulario Proyectos fin de carrera, de tal forma que el
proyecto mostrado en este formulario es el que habamos seleccionado previamente en
el formulario Proyectos fin de carrera como tutor.

11. Formulario Proyectos fin de carrera como miembro del tribunal


Presenta el siguiente aspecto:

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

Pgina 179 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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.

Si queremos que solamente aparezcan en la lista los proyectos correspondientes a un


determinado curso acadmico, entonces debemos introducir el curso acadmico deseado
en el cuadro de texto Curso acadmico y hacer clic sobre el botn Filtrar. Para que
vuelvan a mostrarse todos los proyectos, basta con hacer clic sobre el botn Quitar
filtro.

Existe la posibilidad de generar un certificado de asistencia a tribunales de proyectos fin


de carrera en el que se recogen todos los proyectos fin de carrera a los que ha asistido
como miembro del tribunal el profesor en cuestin. Adems, este informe puede recoger
solamente los proyectos correspondientes a un cierto curso acadmico si antes de hacer
clic en el botn Certificado asistencia tribunales PFCs introducimos en el cuadro de
texto Curso acadmico dicho curso.

Finalmente, si seleccionamos cualquiera de los proyectos fin de carrera que aparecen en


la lista y hacemos clic sobre el botn Ir a Proyectos Fin de Carrera, entonces se
cerrarn los formularios que estn abiertos, o sea, Proyectos fin de carrera como
miembro del tribunal y Profesores, y se abrir el formulario Proyectos fin de carrera,
de tal forma que el proyecto mostrado en este formulario es el que habamos
seleccionado previamente en el formulario Proyectos fin de carrera como miembro del
tribunal.

12. Formularios Buscar registros


Existen tres formularios que poseen este ttulo (Buscar registros) y sus nombres son los
siguientes: BuscarProfesores, BuscarProyectos y BuscarSesiones. Para acceder a ellos
tenemos que hacer clic sobre el botn de comando Buscar registros del formulario

Pgina 180 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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.

Veamos a continuacin el aspecto que presentan estos tres formularios:

Figura 6.9.l Formulario BuscarProfesores

Figura 6.9.m Formulario BuscarProyectos

Pgina 181 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Figura 6.9.n Formulario BuscarSesiones


Son formularios de bsqueda de registros, que contienen cuadros de texto y cuadros
combinados en los que introducimos o seleccionamos los criterios de bsqueda. Cada
cuadro de texto va acompaado de un cuadro combinado en el que podemos seleccionar
si hacer coincidir todo el campo, cualquier parte del campo o el comienzo del campo.
Podemos utilizar todos o solamente aquellos cuadros de texto y cuadros combinados
que nos interesen.

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.

13. Formularios Ir a registro


Existen siete formularios que poseen este ttulo (Ir a registro) y sus nombres son los
siguientes:

CuadroProfesores,

CuadroCategorias,

CuadroGruposInvestigacion,

CuadroTitulaciones, CuadroPlanesEstudios, CuadroIntensificaciones y CuadroAulas.


Para acceder a ellos tenemos que hacer clic sobre el botn de comando Ir a registro del
formulario Profesores (ver figura 6.2.a), Categoras (ver figura 6.9.c), Grupos de
investigacin (ver figura 6.9.e), Titulaciones (ver figura 6.9.f), Planes de estudio (ver

Pgina 182 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

figura 6.9.g), Intensificaciones/Especialidades (ver figura 6.9.h) y Aulas de defensa (ver


figura 6.9.i) respectivamente.

Veamos a continuacin el aspecto que presentan cada uno de estos formularios:

Figura 6.9.o Formulario CuadroProfesores

Figura 6.9.p Formulario CuadroCategorias

Figura 6.9.q Formulario CuadroGruposInvestigacion

Pgina 183 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Figura 6.9.r Formulario CuadroTitulaciones

Figura 6.9.s Formulario CuadroPlanesEstudios

Figura 6.9.t Formulario CuadroIntensificaciones

Pgina 184 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Figura 6.9.u Formulario CuadroAulas


Todos estos formularios sirven para localizar y desplazarnos rpidamente hacia un
registro determinado. Por ello cuentan con un cuadro de lista en el que aparecen todos
los registros del formulario desde el cual hemos abierto el formulario Ir a registro. Si
seleccionamos uno de los registros del cuadro de lista y hacemos clic sobre el botn
Seleccionar, entonces se cierra el formulario Ir a registro y aparece el registro
seleccionado en el formulario correspondiente.

14. Formularios Ordenar registros


Existen tres formularios que poseen este ttulo (Ordenar registros) y sus nombres son
los siguientes: OrdenarProfesores, OrdenarProyectos y OrdenarSesiones. Para acceder
a ellos tenemos que hacer clic sobre el botn de comando Buscar registros del
formulario 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.

Los tres formularios presentan el mismo aspecto y es el siguiente:

Pgina 185 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Figura 6.9.v Ejemplo del formulario OrdenarProfesores


Nos apoyaremos en el ejemplo de la figura 6.9.v para comprender el funcionamiento de
los formularios Ordenar registros. En este caso, los registros del formulario Profesores
quedarn de la siguiente manera:
9 Agrupados por categoras, es decir, aparecen juntos todos los profesores
pertenecientes a una misma categora.
9 Dentro de cada categora, los profesores estn ordenados de mayor a menor
dedicacin.
9 Si dentro de una misma categora hay dos o ms profesores con igual
dedicacin, entonces aparecern ordenados de mayor a menor antigedad, es
decir, de menor a mayor fecha a partir de la cual el profesor pertenece a su
categora.
15. Formularios Seleccionar tutor
Existen dos formularios que poseen este ttulo (Seleccionar tutor) y sus nombres son los
siguientes: SeleccionarTutor y SeleccionarTutorAgregar. Para acceder a ellos tenemos
que hacer clic sobre el botn de comando Seleccionar perteneciente a la ficha Tutor del
formulario Proyectos fin de carrera (ver figura 6.4.c) y Proyectos fin de carrera
Nuevo registro respectivamente.

Pgina 186 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

Los dos formularios presentan el mismo aspecto y es el siguiente:

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).

16. Formulario Seleccionar profesores


Presenta el siguiente aspecto:

Figura 6.9.x

Pgina 187 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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.

17. Formularios Seleccionar proyectos fin de carrera


Existen dos formularios que poseen este ttulo (Seleccionar proyectos fin de carrera) y
sus nombres son los siguientes: SeleccionarPfc y SeleccionarPfcAgregar. Para acceder
a ellos tenemos que hacer clic sobre el botn de comando Seleccionar perteneciente a la
ficha Proyectos fin de carrera del formulario Sesiones de tribunal (ver figura 6.4.c) y
Sesiones de tribunal Nuevo registro respectivamente.

Los dos formularios presentan el mismo aspecto y es el siguiente:

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).

Pgina 188 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

18. Formulario Nmeros de tutores


Presenta el siguiente aspecto:

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.

19. Formulario Nmeros de proyectos fin de carrera


El aspecto que presenta este formulario es muy parecido al del formulario Nmeros de
tutores (ver figura 6.9.z). El formulario Nmeros de proyectos fin de carrera se abre al
hacer clic sobre el botn N de proyectos fin de carrera del formulario Panel de
configuracin (ver figura 6.9.a), y contiene todos los valores que aparecen en la lista
desplegable

del

cuadro

combinado

Nmero

de

proyectos

fin

de

carrera

(CCNumProyectos) perteneciente a la ficha Proyectos fin de carrera de los formularios


Sesiones de tribunal (ver figura 6.6.b) y Sesiones de tribunal Nuevo registro. Como ya
sabemos, este cuadro combinado nos permite aadir nuevos valores a su lista
desplegable. Pues bien, el formulario Nmeros de proyectos fin de carrera sirve para

Pgina 189 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

eliminar aquellos valores que deseamos que no aparezcan en dicha lista debido a que,
por ejemplo, han sido aadidos por error.

20. Formulario Nmeros de profesores


El aspecto que presenta este formulario es muy parecido al del formulario Nmeros de
tutores (ver figura 6.9.z). El formulario Nmeros de profesores se abre al hacer clic
sobre el botn N de profesores del formulario Panel de configuracin (ver figura
6.9.a), y contiene todos los valores que aparecen en la lista desplegable del cuadro
combinado Nmero de profesores (CCNumProfesores) perteneciente a la ficha Tribunal
de los formularios Sesiones de tribunal (ver figura 6.6.b) y Sesiones de tribunal Nuevo
registro. Como ya sabemos, este cuadro combinado nos permite aadir nuevos valores a
su lista desplegable. Pues bien, el formulario Nmeros de profesores sirve para eliminar
aquellos valores que deseamos que no aparezcan en dicha lista debido a que, por
ejemplo, han sido aadidos por error.

21. Formulario Nmeros de sesiones


El aspecto que presenta este formulario es muy parecido al del formulario Nmeros de
tutores (ver figura 6.9.z). El formulario Nmeros de sesiones se abre al hacer clic sobre
el botn N de sesiones del formulario Panel de configuracin (ver figura 6.9.a), y
contiene todos los valores que aparecen en la lista desplegable del cuadro combinado
Nmero de sesiones perteneciente a los formularios Categoras (ver figura 6.9.c) y
Categoras Nuevo registro. Como ya sabemos, este cuadro combinado nos permite
aadir nuevos valores a su lista desplegable. Pues bien, el formulario Nmeros de
sesiones sirve para eliminar aquellos valores que deseamos que no aparezcan en dicha
lista debido a que, por ejemplo, han sido aadidos por error.

22. Formulario Prioridades


El aspecto que presenta este formulario es muy parecido al del formulario Nmeros de
tutores (ver figura 6.9.z). El formulario Prioridades se abre al hacer clic sobre el botn
Prioridades del formulario Panel de configuracin (ver figura 6.9.a), y contiene todos
los valores que aparecen en la lista desplegable del cuadro combinado Prioridad
(CCPrioridad) perteneciente a los formularios Categoras (ver figura 6.9.c) y
Categoras Nuevo registro. Como ya sabemos, este cuadro combinado nos permite
Pgina 190 de 197

INTERFAZ DE USUARIO Y CDIGO VBA

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.

23. Formulario Dedicaciones


El aspecto que presenta este formulario es muy parecido al del formulario Nmeros de
tutores (ver figura 6.9.z). El formulario Dedicaciones se abre al hacer clic sobre el botn
Dedicaciones del formulario Panel de configuracin (ver figura 6.9.a), y contiene todos
los valores que aparecen en la lista desplegable del cuadro combinado Dedicacin
(CCDedicacion) perteneciente a los formularios Profesores (ver figura 6.2.a) y
Profesores Nuevo registro (ver figura 6.3.a). Como ya sabemos, este cuadro
combinado nos permite aadir nuevos valores a su lista desplegable. Pues bien, el
formulario Dedicaciones sirve para eliminar aquellos valores que deseamos que no
aparezcan en dicha lista debido a que, por ejemplo, han sido aadidos por error.

Pgina 191 de 197

Das könnte Ihnen auch gefallen