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.
Desplegamos el menú
Consulta y elegimos la opción
Consulta de actualización
o bien desplegamos el
botón
de
la barra de herramientas y elegimos la opción
Consulta de actualización

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 puedes ver en el
ejemplo que te ofrecemos a continuación:

El
Origen de la consulta puede ser una
tabla, una consulta o una combinación de tablas.
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.
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.
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.
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 [Código curso] = 0, y
en la fila Actualizar a: del campo
[código 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.
Si
actualizamos una
columna definida como
parte de una relación,
esta columna se podrá actualizar o no siguiendo las
reglas de integridad referencial. (Ver
unidad 6)
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 barra de herramientes
o
bien desplegar el menú Ver y elegir la
opción Vista hoja de datos.
Para
ejecutar la consulta hacer clic sobre el
icono
o bien desplegar el menú Consulta y
elegir la opción Ejecutar. Al ejecutar
la consulta se realizará la actualización de la tabla.
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.
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 alumnado un nuevo campo Provincia para almacenar en él
la provincia del alumno y como la mayoría de nuestros alumnos viven en
capital de provincia queremos crear una consulta para rellenar el campo
provincia de todos los alumnos con el nombre de su localidad y
luego cambiar manualmente los pocos alumnos cuya localidad no coincida con
la provincia.
En la consulta a crear
habría de poner en la cuadrícula la columna Provincia y en la
fila Actualizar a: poner [Poblacion]
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 5% el precio de nuestros artículos, la expresión a
escribir en la fila Actualizar a: del
campo precio sería [precio] * 1,1 (esta
expresión es equivalente a [precio] + ([precio] * 10 /100)).
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 alumnado para guardar el número
de horas que le quedan al 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á matriculado el alumno, por eso habría que combinar las
tablas Alumnado y Cursos. La consulta quedaría
así:

|