Formularios

Formularios sobre una sóla tabla o consulta

Ejemplo: Formulario "Alumno"

Formulario-Subformulario: Relación 1 a muchos (1-n)

Ejemplo: Formulario-Subformulario "Alumno-Matricula"


Podemos simplificar el concepto de formulario como una pantalla para introducir/visualizar datos sobre una tabla(s)/consulta(s).

Formulario sobre una sóla tabla o consulta

Nosotros siempre intentaremos crear un formulario en "vista diseño" sin utilizar el asistente ya que así podremos luego modificarlo con más facilidad.

Ejemplo: formulario "Alumno"

Imáginémonos el caso de la universidad con la tabla Alumno que se definía como:
ALUMNO(DNI, Nombre, Apellido1, Apellido2, Telefono, Calle, Ciudad, Provincia, FNacimiento, EstadoCivil)
CP: DNI

Dicha tabla, ya introducida en la base de datos tendría en diseño el aspecto siguiente:

Para crear el formulario sobre la tabla alumnos vamos a formularios y seleccionamos "Nuevo", modo diseño y la tabla sobre la que queremos que actúe el formulario (Es decir la tabla Alumno) :


A continuación nos aparece un formulario en blanco como el que se muestra en la figura siguiente:



Y pulsando sobre el menú Ver->Lista de Campos mostramos los campos de la tabla Alumno que se pueden "insertar" en el formulario:

Por último sólo queda 'arrastrar' los campos que deseemos de la lista de campos de Alumno al formulario en blanco anterior:



Por ejemplo, arrastrando el campo DNI al formulario:



Por último, una vez insertados todos los campos de la tabla Alumno el aspecto final podría ser el siguiente:



Y lo grabamos con el nombre de Alumno.

Formulario-Subformulario: Relación 1 a muchos (1-n)

Cuando tenemos una tabla A con una relación de 1-n con una tabla B, podemos hacer un formulario-subformulario (A-B) en la que se muestre para cada registro de A, todos los registros de B con los que está relacionado.

Ejemplo: Formulario-Subformulario Alumno-Matricula

Imaginémonos que, en el caso de la universidad, queremos ver para cada Alumno todas las asignaturas de la que está matriculado, es decir que: Dada la tabla Alumno anterior que tiene una relación 1-n con la tabla Matricula:

MATRICULA(DNI, Codigo_asig, Fecha, Nota)

Deseamos hacer un Formulario-Subformulario (Alumno-Matricula) donde se muestre cada vez un alumno y la asignatura de la que se encuentra matriculado. Para ello utilizaremos el formulario Alumno y crearemos otro formulario Matricula.

La tabla Matricula en vista diseño tiene la estructura siguiente:



Creamos sobre la misma un formulario tabular de forma automática:



Cuyo aspecto es el siguiente:



Lo guardamos con el nombre de Matricula.

Por último sólo queda abrir el formulario Alumno e insertar el formulario Matricula sobre él como subformulario.

Abrimos Alumno y la barra de herramientas para insertar el Control Subformulario/SubInforme.



A continuación lo insertamos en la parte inferior del formulario Alumno y ya lo tenemos, basta con decir que el objeto origen es el formulario Matricula como se indica en la figura siguiente:



Y la vista final del formulario-subformulario Alumno-Matricula sería la siguiente: