Formularios en Microsoft Access - Departamento de Lenguajes y

Anuncio
Práctica 2:
Sistema de Gestión
de Bases de Datos
Parte III: Diseño de Formularios en Access
Ofimática 2003/2004
Dpto. Lenguajes y Sistemas Informáticos
Práctica 2.3. Microsoft Access. Diseño de Formularios.
2
1. Introducción.
Los formularios son la herramienta que proporciona Access para usar de manera intuitiva y cómoda las BDs que
hemos creado. Un formulario tiene tres modos de presentación distintos:



Vista Diseño. En este modo se construye el formulario.
Vista Formulario. Podemos introducir, modificar y ver datos usando el formulario propiamente dicho.
Vista Hoja de datos. Podemos introducir, modificar y ver datos usando una hoja de datos. Tenemos varios
registros a la vez.
Cuando utilizamos un formulario para introducir o presentar datos de la BD, hay que conectarlo a una tabla o a una
consulta, que será su origen de datos. La forma más rápida para comenzar a entender el funcionamiento de un
formulario es abrirlo en modo Vista Diseño y ver cual es su origen de datos. Para ver y/o cambiar el origen de datos
de un formulario usaremos la propiedad Origen del Registro, en el menú Ver:


Si todos los datos están en una tabla, basaremos el formulario en dicha tabla.
Si tenemos los datos en varias tablas, el formulario se basará en una consulta.
Los formularios se pueden crear con o sin ayuda del Asistente para formularios. El asistente acelera el proceso de
creación del formulario, ya que produce automáticamente un formulario sencillo preformateado solicitando una
información mínima. Una vez creado el formulario básico con el asistente, podremos modificarlo mediante la Vista
Diseño.
Se recuerda que se deberá también aprender a crear formularios sin la ayuda de los asistentes y que estos podrían no
estar instalados.
2. Secciones de un formulario.
Las secciones son elementos fijos del diseño del formulario. En Access tenemos cinco tipos de secciones:





Encabezado del formulario. Presenta un título para el formulario, instrucciones de uso y botones que abren
formularios relacionados o que realizan otras tareas. En el modo de presentación Vista Hoja de datos no se
muestra el encabezado del formulario.
Encabezado de página. Sólo aparece en formularios impresos.
Sección detalle. Presenta los registros. Puede mostrar un registro por pantalla o por página, o bien tantos
registros como quepan en la pantalla o página.
Pie de página. Sólo aparece en formularios impresos.
Pie de formulario. No se muestra en el modo Vista Hoja de datos.
Los encabezados y los pies se agregan o eliminan como parejas de elementos. Podemos ajustar el tamaño de las
secciones, y establecer sus propiedades. Aunque los encabezados y los pies existen por parejas, tienen distintas hojas
de propiedades, permitiendo, por ejemplo, mostrar un encabezado y no mostrar el pie.
3. Propiedades de un formulario.
Los formularios, como los controles y las secciones, tienen un conjunto de propiedades que afectan a su apariencia y
comportamiento general. Para mostrar la hoja de propiedades del formulario haremos doble click en la zona gris
exterior a cualquier sección del formulario o en la esquina donde se juntan las reglas.
Un formulario va a tener un modo de presentación predeterminado que vendrá dado por la propiedad Vista
predeterminada. Esta propiedad tiene tres valores posibles:



Formulario simple. Se presenta un sólo registro a la vez en pantalla.
Formularios continuos. Se presentan varios registros simultáneamente.
Hoja de datos. Formato de filas y columnas. Este modo de presentación es bueno para subformularios.
La opción Vistas permitidas sirve para especificar si van a estar disponibles los modos de presentación Formulario y
Hoja de datos o solamente uno de ellos.
Práctica 2.3. Microsoft Access. Diseño de Formularios.
3
Como ya sabemos, los formularios se usan para: introducir, editar o ver datos. Se puede preparar un formulario de
manera que al abrirlo pueda utilizarse para su objetivo principal. En la categoría de Datos podremos especificar las
propiedades:




Permitir ediciones.
Permitir eliminación.
Permitir agregar.
Entrada de datos. Activamos esta propiedad si sólo vamos a permitir añadir nuevos registros. Al abrir el
formulario se mostrará un nuevo registro el blanco.
4. Controles.
Los formularios constan de dos elementos principales: la ventana en donde se nos presentará el formulario y los
controles. Toda la información del formulario está contenida en controles. Los controles son objetos del formulario
que muestran datos, realizan acciones o decoran el formulario.
Algunos controles dependen de campos existentes en la tabla o consulta subyacente, permitiendo introducir datos en
los campos o ver los datos de dichos campos. Por ejemplo, se pueden introducir y mostrar datos utilizando cuadros
de texto, cuadros de lista, botones de opción, etc. Para mostrar imágenes utilizaremos marcos de objetos.
Otros controles muestran información que sólo está almacenada en el diseño del formulario. Por ejemplo, las
etiquetas se utilizan para mostrar textos descriptivos, y las líneas y rectángulos, para organizar los datos y añadir
atractivo al formulario.
Cuando agregamos un control a un formulario debemos decidir de dónde obtiene dicho control la información que va
a mostrar. Por esto vamos a tener tres tipos de controles:



Dependientes. Su origen de datos es un campo de la tabla o consulta subyacente. Se utilizan para mostrar,
introducir y actualizar los valores de los campos de la base de datos.
Independientes. No tienen ningún origen de datos. Se utilizan para mostrar información, líneas, rectángulos e
imágenes. Por ejemplo, una etiqueta que muestra el título de un formulario o el nombre de un campo es un
control independiente.
Calculados. Su origen de datos es una expresión. Una expresión es una combinación de operadores, nombres de
controles, nombres de campos, funciones y constantes.
4.1. Creación de controles.
Para crear un control de cuadro de texto dependiente de un campo podemos hacerlo de dos maneras:


Arrastrando el campo que se desee desde la lista de campos (en el menú Ver) hasta el formulario. En este caso se
creará un control de cuadro de texto dependiente del campo seleccionado. Un cuadro de texto dependiente tiene
una etiqueta adjunta que toma como título predeterminado el nombre del campo (o el título de éste, en caso de
que haya sido especificado en la definición de la tabla). La etiqueta adjunta a un cuadro de texto es a su vez un
control (en este caso independiente).
Utilizando el Cuadro de herramientas (para visualizarlo accedemos a la opción Barras de herramientas del
menú Ver). En este caso seleccionamos el icono correpondiente en el cuadro de herramientas y hacemos click
sobre la ventana del formulario para indicar dónde ubicaremos el control. El control es creado como un control
independiente. Para convertirlo en un control dependiente basta con escribir el nombre del campo dentro del
control.
La primera opción es preferible a la segunda, ya que la etiqueta adjunta toma como título predeterminado el del
campo subyacente, y lo más importante, el cuadro hereda las propiedades de dicho campo.
Para crear un control de cualquier tipo, haremos click en la herramienta correspondiente del cuadro de herramientas.
Si queremos que el control sea dependiente, arrastraremos el campo subyacente de la lista de campos hasta la ventana
del formulario. Si queremos crear un control independiente o calculado simplemente haremos click sobre el lugar
correspendiente de la ventana del formulario.
Práctica 2.3. Microsoft Access. Diseño de Formularios.
4
Para crear un control calculado escribiremos la expresión que calcula el valor a mostrar dentro del control, precedida
del operador igual (=). Por ejemplo, para crear un cuadro de texto que muestre la fecha actual, escribiremos dentro
del cuadro la expresión =Fecha().
4.2. Propiedades de los controles.
Los controles tienen asociadas unas determinadas propiedades que podemos agrupar en categorías:




Formato. Presentan características de apariencia del control.
Datos. Presentan características de los datos mostrados en el control. La propiedad Origen del control muestra,
en el caso de un control dependiente, el campo de la tabla o consulta subyacente. En el caso de un control
calculado, el origen del control mostrará la expresión que calcula el valor del campo, pudiendo utilizar el
generador de expresiones para construir dicha expresión.
Eventos. Macro o procedimiento de evento que Access ejecuta cuando ocurre un evento como la pulsación de
ciertas teclas, el cambio de los datos del control o al hacer click sobre el control.
Otras. Nombre, descripción del control en barra de estado, orden de tabulación del control en el formulario, etc.
Al crear un control, una serie de propiedades toman valores por defecto. Podemos cambiar las propiedades
predeterminadas para un tipo de control seleccionando la opción Propiedades del menú Ver. Si cambia el valor de
una propiedad del control, la propiedad del campo correspondiente no se ve afectada. Igualmente, si cambia el valor
de una propiedad de un campo en una tabla o consulta subyacente después de haber creado el formulario que utiliza
ese campo, deberemos actualizar el valor de esa propiedad en todos los controles dependientes de dicho campo.
Se pueden cambiar simultáneamente las propiedades de varios controles utilizando la tecla mayúsculas para
seleccionarlos en grupo. En la ventana de la hoja de propiedades aparecerá el texto: Selección múltiple.
Access ofrece una gran variedad de controles que se pueden utilizar para hacer que el uso del formulario más
sencillo. Así, podemos reemplazar cuadros de texto por cuadros de lista o por grupos de opciones para seleccionar un
valor en lugar de tener que escribirlo. También podemos utilizar líneas y rectángulos para agrupar la información
relacionada o para crerar efectos especiales tales como sombreados.
4.3. Cuadros de lista y cuadros combinados.
Un cuadro de lista es una lista de valores entre los que se puede elegir el deseado. Un cuadro combinado es como un
cuadro de texto y un cuadro de lista combinados en un solo control. Las listas que aparecen en estos dos tipos de
cuadros constan de una serie de filas de datos. Cada fila puede tener una o más columnas, y las columnas pueden
aparecer con o sin encabezados. En el caso de los cuadros combinados, se puede controlar si se permite introducir o
no valores nuevos.
Información mostrada por un cuadro de lista o combinado.
Dependiendo de cuál sea el origen de la información a mostrar en las filas de la lista, se pueden crear cinco tipos de
listas para un cuadro de lista o combinado. La propiedad Tipo de origen de la fila se establece de acuerdo con el tipo
de lista a mostrar:





Se pueden presentar las filas directamente desde cualquier tabla o consulta. En este caso elegiremos
Tabla/Consulta como Tipo de origen de la fila, e indicaremos el nombre de la tabla o consulta en la propiedad
Origen de la fila.
Se pueden presentar valores de una instrucción SELECT de SQL, en cuyo caso elegiremos Tabla/Consulta, y
escribiremos la consulta SQL en el Origen de la fila.
Se pueden escribir los valores exactos, generando lo que se denomina una Lista de valores. En el Origen de la
fila escribiremos los valores a mostrar separados por signos de punto y coma.
Se puede crear una Lista de campos que muestra los nombres de los campos pertenecientes a una tabla o
consulta. En el Origen de la fila escribiremos el nombre de la tabla o consulta.
Se pueden mostrar valores obtenidos a partir de una función de Access Basic, para lo cual indicaremos el
nombre de la función en la propiedad Tipo de origen de la fila.
Cuando deseemos mostrar múltiples columnas en una lista, debemos establecer las propiedades Número de columnas
y Ancho de columnas en la categoría Formato. La propiedad Número de columnas especifica el número de columnas
Práctica 2.3. Microsoft Access. Diseño de Formularios.
5
que mostrará la lista. Si el origen de la fila es una tabla o consulta, la lista mostrará el número especificado de campos
de dicha tabla o consulta, empezando por la izquierda. En la propiedad Ancho de columnas se especifican las
anchuras de las columnas a mostrar en la lista, separadas por punto y coma. Si la anchura de una columna se
establece a cero, ésta permanecerá oculta. Si se deja en blanco (escribimos solamente el punto y coma), la anchura de
la columna se establecerá por defecto.
En un cuadro combinado, en la parte superior (el cuadro de texto) se mostrará solamente el valor situado en la
primera columna visible a la izquierda de la lista. Cuando se despliegue la lista, se verán todas las columnas.
Valor asignado al control de cuadro de lista o combinado.
En un cuadro combinado se puede seleccionar un valor de la lista o bien se puede introducir un valor que no figure en
dicha lista. Si queremos asegurar que los únicos valores que se introducirán en el cuadro son los ya incluidos en la
lista, debemos establecer la propiedad Limitar a la lista.
Cuando se seleccione un valor de la lista, el valor del control cambiará al valor de una de las columnas de la lista. La
propiedad Columna dependiente sirve para especificar qué columna se utilizará para los valores del control. Es
importante resaltar que el valor mostrado por el cuadro puede ser diferente del valor que tome el cuadro. Por
ejemplo, podríamos mostrar las columnas Código y Nombre de la tabla de Actividades con anchos de campo 0 cm y
3 cm, respectivamente (lo cual haría que se visualizara solamente la columna Nombre), y especificar como columna
dependiente la columna 1 (es decir, el Código).
Si hacemos que el control sea dependiente de un campo (mediante la propiedad Origen del control), dicho campo
tomará el valor que tome el control (de acuerdo con lo especificado en la propiedad Columna dependiente).
4.4. Casillas de verificación, botones de opción y botones de alternar.
Estos tipos de controles se utilizan para definir valores Sí/No. Cuando están seleccionados, estos controles indican un
valor Sí o Verdadero. Cuando están desactivados, indican un valor No o Falso. Estos controles son especialmente
útiles cuando dependen de campos Si/No, en cuyo caso Access almacenará el valor en la tabla subyacente y lo
mostrará en el formulario. Si los controles dependen de otro tipo de campo, Access almacenará el valor –1 si el
control está seleccionado, y 0 si no lo está.
4.5. Grupos de opciones.
Los grupos de opciones se utilizan para presentar un conjunto limitado de alternativas. Un grupo de opciones consta
de un marco de grupo que contiene un conjunto de casillas de verificación, botones de opción o botones de alternar.
El marco dispone de una etiqueta adjunta.
Un grupo de opciones facilita la selección de un valor, puesto que permite hacer click en una de las alternativas sin
necesidad de escribir en un cuadro de texto ni desplazarse por una lista. Además, se puede establecer como
predeterminada una de las opciones para simplificar la introducción de datos. Solamente se puede seleccionar una
opción de un grupo a la vez.
Si un grupo de opciones es dependiente de un campo, será el marco del grupo quien dependa del campo, no cada
opción individual existente dentro de él. Un marco de grupo también se puede establecer como un objeto
independiente.
Cuando en un grupo de opciones se utilicen casillas de verificación, botones de opción o botones de alternar, las
propiedades de éstos serán diferentes a cuando se utilizan como controles independientes. Cada opción de un grupo
tiene su propia propiedad Valor de la opción, en lugar de la propiedad Origen del control. El grupo de opciones
tomará el valor asignado a la propiedad Valor de la opción de la opción seleccionada. Si el grupo de opciones es
dependiente de un campo, dicho campo tomará el Valor de la opción que haya sido seleccionada. Una opción dentro
de un grupo solamente podrá tomar valores numéricos.
5. Subformularios.
Tenemos dos métodos a la hora de construir formularios que presenten información que proviene de más de una
tabla:
Práctica 2.3. Microsoft Access. Diseño de Formularios.


6
Crear una consulta que combine datos de varias tablas y después basar un formulario en esa consulta.
Usar un subformulario, que es simplemente un método para introducir un formulario dentro de otro formulario.
El formulario que es incluido en el formulario principal recibe el nombre de subformulario.
En este método, el formulario principal y el subformulario deben estar vinculados, de modo que el subformulario
sólo mostrará los registros que estén relacionados con los del formulario principal. El uso de subformularios es muy
aconsejable para mostrar datos almacenados en tablas o en consultas con una relación de 1-N, pero, hay que tener
mucho cuidado a la hora del diseño de las tablas o consultas subyacentes. Hay que fijarse en si:



Las tablas tienen una relación 1-N. El formulario principal presenta la tabla con cardinalidad (1) y el
subformulario la tabla con cardinalidad (N).
¿Tienen las tablas campos que las vinculen? Hay que establecer el campo común sobre el que se puedan
vincular.
¿Están indexados los campos que vinculan las tablas? Si usamos un vínculo que no es clave principal ni externa
puede ser interesante indexarlo.
Para crear un formulario principal y un subformulario, debemos diseñar ambos por separado. Después insertaremos
el subformulario en el formulario principal. Un subformulario es un formulario independiente, es decir, se diseña y se
guarda exactamente de la misma forma que cualquier otro formulario. Después se puede agregar a un formulario
principal. Para ello, seguimos los siguientes pasos:
1.
2.
3.
Abrimos el formulario principal en modo Vista Diseño.
En el Cuadro de herramientas seleccionamos Subformulario/Subinforme y marcamos el área que ocupará el
subformulario dentro del formulario principal.
En las propiedades del subformulario, especificaremos como Origen del objeto el nombre del subformulario.
Las propiedades Vincular campos secundarios y Vincular campos principales se establecerán por defecto si las
tablas o consultas subyacentes están relacionadas adecuadamente.
Práctica.
1.
2.
3.
4.
5.
6.
7.
Diseñar un formulario de entrada de datos para cada una de las tablas de nuestra base de datos.
Crear controles de casillas de verificación, botones de alternar y/o botones de opción para los campos que tomen
valores Si/No.
Crear controles de cuadros de lista y/o combinados para los campos Actividad y Empresa de los formularios
para las tablas de Empresas y Afiliados, respectivamente.
Crear un grupo de opciones para el campo Periodo del formulario de Recibos.
Diseñar un formulario para ver las empresas de cada actividad, no permitiendo modificar ni añadir nuevas
empresas.
Diseñar un formulario para editar y añadir nuevos recibos de afiliados utilizando subformularios. El formulario
deberá mostrar el número y la suma de los importes de los recibos pendientes del afiliado
Diseñar algún otro formulario de introducción/modificación de datos que se considere interesante a la hora de
manejar la información de la base de datos.
Para la realización de la práctica propuesta, modificar las definiciones de las tablas y/o crear las consultas que se
consideren oportunas.
Descargar