TRUCOS ACCESS

TRUCOS SCRIPTS

TRUCOS
 

Trucos Access

3.- Consultas

3.1.- Saber qué tablas, formularios y otros elementos se han modificado recientemente

Cada vez que se abre y se cierra una base de datos, Access modifica siempre la fecha del archivo MDB, lo cual produce una sensación de haberse modificado, aunque en realidad no se haya producido ningún cambio ni en su estructura ni en sus datos. Esto puede llevar a pensar que cierta base de datos está más actualizada que otra que se haya guardado en otro disco, por ejemplo. Para paliar un poco este efecto, es posible crear una consulta de creación de tablas que diga siempre cuáles son los elementos más recientemente creados o modificados con su fecha y hora. Los pasos a seguir son los siguientes:
· Abrir una base de datos y acceder a la ficha Consultas, creando una consulta nueva en vista diseño.
· Cuando aparezca la ventana Mostrar tabla, cerrarla sin elegir ninguna.
· Elegir del menú Ver/Vista SQL y escribir lo siguiente en la ventana que aparece:
SELECT MSysObjects.Name, MSysObjects.DateUpdate INTO tmakModifiedObjects
FROM MSysObjects
WHERE (((MSysObjects.Name) Not Like "_*" And (MSysObjects.Name) Not Like "~*" And (MSysObjects.Name) Not Like "MSys*") AND ((MSysObjects.DateUpdate)>Date()-14) AND ((MSysObjects.Type) In (1,-32764,-32768,5,-32761,-32766)))
ORDER BY MSysObjects.Name, MSysObjects.DateUpdate DESC;

· Cerrar la ventana SQL y responder Sí a la pregunta de guardar los cambios, dando un nombre para la consulta en el cuadro de diálogo que aparecerá a continuación.
Cuando se ejecute la consulta (simplemente haciendo doble clic sobre su nombre), Access solicitará confirmación por 3 veces y creará una nueva tabla llamada tmakModifiedObjects, donde estarán los elementos más recientemente modificados.

3.2.- Consultas de actualización

a) En campos numéricos:
Una consulta de actualización sirve para modificar el valor que tiene un campo en todos los registros de una tabla. Es, por tanto, una operación muy potente a la vez que peligrosa. La forma de llevarla a cabo es la que se expone a continuación.
Se accede a crear una consulta normal, pero una vez en la cuadrícula colocados los campos oportunos, elegir Consulta/Consulta de actualización, lo cual hace aparecer una fila con la denominación Actualizar a en sustitución de las filas denominadas Orden y Criterios, que son las que normalmente aparecen por defecto para las consultas de selección habituales.
Supongamos que hay un campo numérico en la tabla empleada llamado Precio y que se pretende modificar elevándolo un 10 %, con lo cual la operación matemática se reduce a multiplicar el precio existente por 1,10. Para ello, en la nueva fila Actualizar a hay que escribir:
[Precio]*1,10
b) En campos de tipo texto:
Supongamos que hay una tabla que contiene un campo Teléfono al cual hay que agregar un prefijo más (por ejemplo, un 1). En la fila Actualizar a consignar lo siguiente:
"1"&[Teléfono]
Con esto se consigue actualizar todos los registros de la tabla anteponiendo un 1 delante del valor del campo. El símbolo & concatena los caracteres.
Más profesional queda todo si en un formulario se coloca un botón que ejecute la consulta de actualización. En el asistente para botones hay que elegir Otras en el cuadro Categorías y Ejecutar consulta en el cuadro Acciones. Luego sólo hay que seguir el asistente hasta finalizar.
Otra aplicación que tienen las consultas de actualización es cuando se crea un campo adicional en una tabla ya existente cuyo contenido es siempre el mismo. El campo recién creado estará vacío y con una consulta de actualización se rellenará automáticamente.
Para desactivar los mensajes de confirmación, ver el truco nº 3.3.

3.3.- Evitar los mensajes de confirmación en las consultas de actualización

Al ejecutar la consulta aparece por defecto un mensaje para confirmar la actualización de datos, pero se puede obviar eligiendo Herramientas/Opciones, y dentro de la ficha Modificar/Buscar, desmarcar la casilla Consultas de acción que hay dentro del apartado Confirmar.
El resultado es que todos los precios de la tabla original se verán modificados de un plumazo.
Sin embargo, cuando se ejecuta la consulta desde un formulario, queda más profesional si no se muestran esos mensajes. Para ello, se puede añadir la siguiente línea de código justo antes de las que se hayan generado para el botón:
Dcmd.SetWarnings False
De esta forma, la consulta se ejecuta sin pedir confirmaciones. No obstante, es recomendable volver a activar las confirmaciones después de la ejecución de esas consultas mediante esta otra línea de código:
Dcmd.SetWarnings True

3.4.- Nombrar los campos de una consulta de modo distinto a los de la tabla

Al crear una consulta, los nombres de los campos de la tabla o tablas que son origen de los datos son mantenidos. Sin embargo, pueden cambiarse por otra denominación, lo cual puede venir muy bien para ahorrar tiempo al confeccionar formularios e informes que se basen en esa consulta, ya que los nuevos nombres serán los que se tengan en cuenta.
Para llevar a cabo el renombramiento hay que seguir la siguiente nomenclatura en la fila Campo de la cuadrícula de la consulta:
Nombre nuevo: [Nombre en la tabla]
Si, por ejemplo, el nombre en la tabla es Telef y se desea que aparezca Teléfono, habría que escribir:
Teléfono: [Telef]

 

realizado con ayuda de Dynamic Drive (www.dynamicdrive.com)