lunes, 21 de septiembre de 2009

VISUALIZAR Y MODIFICAR DATOS DE UNA TABLA

Titulo de la actividad: Visualizar y modificar datos de una tabla Consultas de Acción

Objetivo: Identificar que son y como se aplican las consultas de acción
Actividades: Leer el Texto
Producto: Asignar dos consultas de actualización a la Base de Datos vista en clase
Fecha de entrega: miércoles 23 de septiembre.



Las consultas de acción son consultas que permiten realizar cambios en los datos almacenados en una tabla. Con estas consultas podemos crear una nueva tabla a partir de los registros de otra, modificar los datos almacenados, insertar nuevos registros o eliminar registros. En todos los casos antes de hacer efectiva la modificación sale un cuadro de diálogo para confirmar la operación dándonos así la oportunidad de cancelarla.

Consultas de actualización.
Las consultas de actualización son consultas que permiten modificar los datos almacenados en una tabla, modifican el contenido de los registros de una tabla. Se pueden modificar de golpe todos los registros de la tabla o sólo los que cumplan una determinado condición.
Para crear una consulta de actualización:
        • Abrimos una nueva consulta en vista diseño.
        • Añadimos la tabla que queremos actualizar.
        • Haz clic en el botón Actualizar de la pestaña Diseño:


A partir de ese momento la cuadrícula cambia de aspecto, han desaparecido las filas “Orden:” y “Mostrar:” por carecer de sentido aquí y en su lugar tenemos la fila “Actualizar a:” como se muestra a continuación:


1. El Origen de la consulta puede ser una tabla, una consulta o una combinación de tablas.
2. En la cuadrícula QBE solamente ponemos el campo o campos que intervienen en los criterios de búsqueda y los campos que se quieren actualizar.
3. En la fila “Actualizar a:” escribimos la expresión que calcula el nuevo valor a asignar al campo.
        • La expresión puede ser un valor fijo, un nombre de campo del origen o cualquier expresión basada en campos del origen, también podría ser un parámetro.
        • Esta expresión debe generar un valor del tipo de dato apropiado para la columna indicada.
        • La expresión debe ser calculable a partir de los valores de la fila que se está actualizando.
4. Si para el cálculo de la expresión se utiliza una columna que también se modifica, el valor que se utiliza es el antes de la modificación, lo mismo para la condición de búsqueda.
5. Para que la actualización afecte a una parte de los registros de la tabla tendremos que seleccionar los registros a actualizar mediante un criterio de búsqueda. Si la consulta no incluye criterio de búsqueda se actualizarán todos los registros de la tabla. En nuestro ejemplo hemos incluido el criterio de búsqueda [Clave_Curso] = 0, y en la fila Actualizar a: del campo [Clave_Curso] hemos puesto nulo, lo que significa que actualizará el campo código curso al valor nulo en los registros donde código curso sea igual a cero.
6. Si actualizamos una columna definida como parte de una relación, esta columna se podrá actualizar o no siguiendo las reglas de integridad referencial.
7. Para ver los datos que se modificarán antes de realizar la actualización podemos hacer clic sobre el tipo de vista Hoja de datos de la pestaña Inicio.
8. Para ejecutar la consulta hacer clic sobre el icono del mismo nombre. Al ejecutar la consulta se realizará la actualización de la tabla.
9. Cuando el valor a dejar en el campo que actualizamos es un valor fijo, lo ponemos en la fila “Actualizar a:” sin más, Access se encargará de añadir las comillas si el campo es de tipo texto o las # # si el campo es de tipo fecha.
10. Cuando el valor a dejar en el campo que actualizamos está contenido en un campo de esa misma tabla tenemos que poner el nombre del campo entre [ ] para que Access no lo confunda con un valor fijo de tipo texto y le añada las comillas. Por ejemplo, supongamos que hemos añadido a la tabla alumnos un nuevo campo Habita para almacenar en él la localidad donde vive el alumno y como la mayoría de nuestros alumnos viven en su Población queremos crear una consulta para rellenar el campo Habita de todos los alumnos con el nombre de su Población y luego cambiar manualmente los pocos alumnos cuya localidad no coincida con la Población.
        • En la consulta a crear habría de poner en la cuadrícula la columna Habita y en la fila Actualizar a: poner [Población] entre corchetes para que Access entienda que tiene que coger el valor del campo Población.
        • También podemos utilizar en la fila Actualizar a: una expresión basada en el campo que estamos actualizando u otro campo que también actualizamos en esa consulta. En estos casos se utilizará, para calcular la expresión, los valores antes de la actualización. por ejemplo queremos subir un 3% el precio de nuestros artículos, la expresión a escribir en la fila Actualizar a: del campo precio sería [precio] * 1.3 (esta expresión es equivalente a [precio] + ([precio] * 3 /100)).
11. Cuando el valor a utilizar se encuentra en otra tabla tenemos que definir el origen de la consulta de tal forma que cada fila del origen contenga el campo a actualizar y el campo que contiene el valor a utilizar para la actualización. Por ejemplo supongamos que hemos añadido un campo horas restantes a la tabla alumnos para guardar el número de horas que le quedan a los alumnos para acabar el curso. Podríamos crear una consulta para actualizar ese campo con el N_Horas del curso ya que se supone que al principio a todos los alumnos les quedará la totalidad de horas del curso. En este caso el origen de la consulta tiene que contener el campo Horas_Restantes y el campo N_Horas del curso en el que está inscrito el alumno, por eso habría que combinar las tablas Alumnos y Curso. La consulta quedaría así: