Lista Desplegable en Access-Vip-genial-Practica 7

8
Practica 7 – Listas desplegables en Access Queremos ampliar la información que se guarda en la ficha (o tabla) Datos Personales que realizamos en la práctica anterior. Nos hace falta saber que estado civil tienen las personas que almacenamos, puesto que un simple campo de Casado con valores Si o No se nos queda pequeño. Lo lógico sería habilitar un campo de texto, donde se pudiese escribir el estado civil de la persona, de tal forma que tuviesemos libertado para escribir cualquier cosa que nos hiciera falta. Pero esta solución es problemática sobre todo si son varias las personas que van a introducir los datos, puesto que cada una tiene su criterio y es posible que algunos pongan la palabra Casado a todos y otros hagan distinción entre Casado y Casada. Este caso es facilmente resoluble, simplemente dandoles unas pautas de introducción de los datos y buscando un concenso. Sin embargo puede surgir el error y se pueden introducir palabras como “Casdo” o Csado”, etc. A la hora de hacer búsquedas y localizar a las distintas personas o bien para datos estadísticos, le diremos al ordenador que busque a todas las personas que en el campo Estado Civil, tengan la palabra Casado. Si la palabra no está bien escrita, el ordenador no contará o encontrá a esa persona, lo cual puede ser un error grave dependiendo de los datos que se encuentren en la base de datos y para qué se esté interrogando a la misma. Una posibilidad para que esto no ocurra es que podamos seleccionar los diferentes estados civiles desde una lista desplegable. La práctica que nos ocupa, tratará de que aprendan cómo se hace. Para ello lo primero que vamos a hacer es rectificar la tabla antigua de Datos Personales. Abrimos la base de datos anterior y una vez seleccionada la tabla Datos Personales, hacemos click sobre el icono Diseño para que nos muestre los nombre de los campos con sus tipos.

Transcript of Lista Desplegable en Access-Vip-genial-Practica 7

Page 1: Lista Desplegable en Access-Vip-genial-Practica 7

Practica 7 – Listas desplegables en Access

Queremos ampliar la información que se guarda en la ficha (o tabla) Datos Personales que realizamos en la práctica anterior.

Nos hace falta saber que estado civil tienen las personas que almacenamos, puesto que un simple campo de Casado con valores Si o No se nos queda pequeño.

Lo lógico sería habilitar un campo de texto, donde se pudiese escribir el estado civil de la persona, de tal forma que tuviesemos libertado para escribir cualquier cosa que nos hiciera falta.

Pero esta solución es problemática sobre todo si son varias las personas que van a introducir los datos, puesto que cada una tiene su criterio y es posible que algunos pongan la palabra Casado a todos y otros hagan distinción entre Casado y Casada. Este caso es facilmente resoluble, simplemente dandoles unas pautas de introducción de los datos y buscando un concenso.

Sin embargo puede surgir el error y se pueden introducir palabras como “Casdo” o Csado”, etc.

A la hora de hacer búsquedas y localizar a las distintas personas o bien para datos estadísticos, le diremos al ordenador que busque a todas las personas que en el campo Estado Civil, tengan la palabra Casado.

Si la palabra no está bien escrita, el ordenador no contará o encontrá a esa persona, lo cual puede ser un error grave dependiendo de los datos que se encuentren en la base de datos y para qué se esté interrogando a la misma.

Una posibilidad para que esto no ocurra es que podamos seleccionar los diferentes estados civiles desde una lista desplegable.

La práctica que nos ocupa, tratará de que aprendan cómo se hace.

Para ello lo primero que vamos a hacer es rectificar la tabla antigua de Datos Personales. Abrimos la base de datos anterior y una vez seleccionada la tabla Datos Personales, hacemos click sobre el icono Diseño para que nos muestre los nombre de los campos con sus tipos.

Page 2: Lista Desplegable en Access-Vip-genial-Practica 7

Eliminaremos entonces el campo antiguo de Casado para añadir uno nuevo de Estado Civil.Lo que vamos a introducir dentro de Estado Civil, sera un número, aunque eso pueda parecer un poco extraño al principio.

Introduciremos un numero porque vamos a crear una tabla con la lista de estados civiles que queremos.

Cuando estemos introduciendo datos en nuestra tabla de Datos Personales, lo que vamos a guardar no es el texto “Casado/a”, sino el numero 2, aunque esperamos que esto lo haga el ordenador de manera automática por nosotros.

Bueno hasta aquí la explicación de porque se pone numérico en el tipo de Estado Civil.

Ahora debemos proceder a crear la tabla Estado Civil con los siguientes datos:

Es posible solo poner el Estado Civil (de tipo Texto) y al cerrar la tabla, nos asignará automáticamente el ID como Autonumérico y Clave Primaria (por eso nos pone una llavea la izquierda de la palabra Id).

A continuación debemos abrir la tabla e introducir los valores que vimos en la tabla superior (Soltero/a, Casado/a, etc)

Una vez creada esta tabla con sus datos, debemos decirle a Access que estan relacionadas. Una relación implica que los campos que lo este deben ser del mismo tipo o al menos de tipos compatibles, es decir NUNCA se puede relacionar un tipo numérico con uno de texto.

Para hacer la relación debemos abrir el menú Herramientas y seleccionar Relaciones.

Debemos a continuación debemos sacar las dos tablas a relacionar. Si no estan ya visibles, debemos con el botón derecho del ratón “Mostrar tabla...”

Page 3: Lista Desplegable en Access-Vip-genial-Practica 7

Para establecer una relación, se debe arrastrar uno de los campos sobre el otro. Si el campo no es visible, se debe hacer la tabla mas grande o buscarlo haciendo click sobre las flechas.

Existen varios tipos de relaciones, pero con la que viene definida por defecto, nos sirve perfectamente, así que cuando nos pregunte por el tipo de relación que queremos asignar, simplemente seleccionamos el boton Crear.

Sabemos que la relación esta correctamente ejecutada porque se crea una línea entre los dos campos. En este caso hemos creado una relación entre ECivil (de tipo numérico) e Id (Autonumérico) ya que ambos son de tipo numérico. Esta relación implica que los valores que introduciremos en ECivil, no pueden ser otros valores que no esten en Id.

Page 4: Lista Desplegable en Access-Vip-genial-Practica 7

Ahora vamos a volver al diseño de nuestra tabla Datos Personales para indicarle a Access que queremos hacer una lista desplegable para introducir los valores del Estado Civil.

En la pestaña Búsqueda de ECivil, seleccionamos que muestre un cuadro combinado.A continuación vamos a crear una consulta (una consulta es un listado de los valores que contiene una o varias tablas. Los valores de estan consultas los podemos ordenar, restringir, etc.) .especificar de donde toma los valores este cuadro combinado.

Debemos hacer click entonces sobre “...” de Origen de la fila.

Page 5: Lista Desplegable en Access-Vip-genial-Practica 7

Para crear la consulta que contendrá los datos de la lista desplegable.

En un principio sería tan sencillo como especificar que es la columna Estado Civil de la tabla EstadoCivil, la que queremos que nos muestra al desplegar la lista (porque es el que contiene los datos Casado/a, Soltero/a, etc).

Sin embargo debemos especificar en la búsqueda que valor se va a introducir en la base de datos si seleccionamos un campo. Es decir si seleccionamos “Casado/a”, en realidad en el campo ECivil de Datos Personales deberíamos introducir el número 2.

Entonces rehacemos nuestra consulta, volviendo a pulsar sobre “...” e incluimos la columna Id en la segunda posición.

De tal forma que ahora la lista desplegable tendrá dos columnas, en la primera estará el nombre del Estado Civil y en la segunda el valor de su clave primaria.

Page 6: Lista Desplegable en Access-Vip-genial-Practica 7

Despues de cerrar la consulta, hay que completar los siguientes valores que le indican cuantas columnas hay en la consulta y de donde se recoge el valor que hay que introducir en la base de datos.

La columna dependiente es la numero dos, es decir de la columna numero dos Access tomará el valor numérico que debe introducir en la base de datos. Recordar que el campo ECivil es un campo numeríco y lo que introduciremos en él, no será “Casado/a” sino el número 2.

En número de columnas ponemos un 2 porque hay dos columnas en la consulta.

Cerramos y creamos un Formulario, utilizando el asistente, para obtener uno similar al que mostramos en la siguiente captura de pantalla:

Page 7: Lista Desplegable en Access-Vip-genial-Practica 7

Vemos que podemos asignar ahora un valor desde una lista. El único problema es que queda feo el número al lado del valor de texto.

Lo que haremos será eliminar este formulario y volver a la tabla en la vista diseño.

Le decimos que solo queremos ver una columna, cerramos, volvemos a crear un Formulario y ya lo tenemos.

Page 8: Lista Desplegable en Access-Vip-genial-Practica 7

Ya tenemos el formulario como queríamos.

El resto de la práctica se completa asignando valores al azar de Estado Civil a las 7 personas que introdijimos en la práctica anterior.

Debes darte cuenta de que la consulta se ha hecho poniendo primero la columna que queremos ver, es decir el texto (es decir Casado/a, Viudo/a, etc, en la columna visible) y en la segunda (que es la que haremos invisible) los valores que se van a introducir en la base de datos.