Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Las cosas más sencillas y las más difíciles siempre tienen una forma de
simplificarse o de optimizarse, ahorrando tiempo y esfuerzo. Incluso es
importante conocer los atajos de teclado, que resultan grandes aliados a
la hora de trabajar.
Métodos abreviados:
Es muy probable que al rellenar formularios o tablas haya que introducir el mismo valor de
campo para varios registros consecutivos, como, por ejemplo, introducir nombres de
fechas, provincias, poblaciones, etc. Con la combinación de teclado CTRL + ‘ esta
operación se realiza de forma automática. Otras combinaciones útiles son:
CTRL + + Añade un registro nuevo
CTRL + : Inserta la fecha actual
CTRL + – Elimina el registro actual
CTRL + ; Inserta la hora actual
CTRL + ALT + ESPACIO Inserta el valor predeterminado de un campo
CTRL + INTRO Inserta una nueva línea en un campo
MAYUS + INTRO Combinación que guarda los cambios realizados en el registro actual
Hay que tener en cuenta que si el control tiene una etiqueta asociada esta propiedad no
tienen efecto y que el espacio entre controles se seguirá mostrando. Así, para conseguir el
mejor efecto lo mejor es no dejar espacios entre los controles y evitar las etiquetas
asociadas a los controles.
Macros personalizadas:
Al igual que el resto de programas de la suite, Access 2000 acepta macros. A modo de
ejemplo vamos a ver una macro para obtener la letra del NIF a partir del documento
nacional de identidad:
Mediante las propiedades de inicio de la base de datos, se puede cambiar tanto el título
como el icono de la aplicación, obteniendo así una cierta similitud con cualquier otro
programa realizado con lenguajes de programación más sofisticados, como sería Visual
Basic, Visual C++ o cualquier otro compilador de Windows que se nos ocurra.
Si queremos que Microsoft Access muestre un dibujo que nosotros hayamos diseñado, con
el logo de nuestra empresa o el nombre de nuestra aplicación, por ejemplo, simplemente
tenemos que crear un BMP con el mismo nombre que el nombre.mdb y ubicarlo en el
mismo directorio.
Por otro lado en el acceso directo al (nombre.mdb), tenemos que especificar como
directorio, el mismo en el que se encuentre nuestra aplicación. Así, cuando se inicie ese
MDB, aparecerá nuestra imagen y, de esta forma, habremos conseguido un resultado
mucho más personal y que, aparentemente, no se diferencia de cualquier programa
comercial.
En el evento Al activar registro del formulario de entrada de datos para esa tabla, insertar el
siguiente código:
Ha sido absolutamente necesario incluir las líneas que hacen referencia al error nº 94 (uso
no válido de Null) debido a que la primera vez que se accede al formulario para introducir
datos, se producirá dicho error al no existir registros.
Con esas líneas de código se evita que aparezca dicho error, ya que la línea On error goto…
envía el flujo de la ejecución a la parte del código donde se detecta y se envía de nuevo el
flujo de ejecución a la línea siguiente, excepto en el caso de producirse un error diferente,
en cuyo caso se mostraría el error producido gracias a las líneas que siguen a Else.
El siguiente ejemplo utiliza una tabla que contiene tres campos: Contador (Campo
Autonumérico), Cantidad (Campo numérico) y Total (Campo Numérico). La tabla se llama
Prueba.
La función Dsum calcula la suma del campo Cantidad en todos los registros que tengan el
contador menor o igual que el registro activo. Esta es la razón por la que se necesita un
campo autonumérico.
Conseguir este propósito requiere resolver dos problemas; por un lado, lograr que el cuadro
combinado muestre también la palabra Todos y, por otro, que la consulte funcione
correctamente. Para el primer problema partimos de que el tipo de origen de fila del cuadro
combinado es Tabla. Consulta, ya que si fuera Lista de valores sólo tendríamos que añadir
dicho valor.
Necesitamos crear una consulta de unión que nos permita asociar a los elementos de la
tabla el texto deseado. Este tipo de consulta sólo se puede crear en la pantalla de SQL y su
sintaxis sería:
Aunque ‘(Todos)’ es una constante, necesita un origen de datos, pero puede usarse sin
problemas la misma tabla.
Veamos ahora cómo solucionar el tema de la consulta. Para que el criterio funcione bien
usaremos la siguiente expresión con la función SiImp:
SiImp(Formularios![NombreFormulario]![NombreCuadroCombinado] = ‘(Todos)';
[NombreCampo];
Formularios![NombreFormulario]![NombreCuadroCombinado])
Con esta sintaxis se consigue que al seleccionar Todos el criterio sea el propio nombre del
campo, lo cual da como resultado todos los registros.
De hecho, Access permite que una tabla pueda tener un máximo de 255 campos, aunque
este tope es más que suficiente, en algunos casos, normalmente al modificar una estructura
de tabla, podemos encontrarnos con el mensaje de error mencionado, aunque no hayamos
llegado al límite descrito.
El motivo es que Access tiene un contador interno del número de campos que llevamos en
la tabla. Al añadir, mover o copiar campos se va incrementando. Sin embargo, cuando
borramos campos el contador no disminuye. Si el contador llega a 255 aparece el error y no
podemos guardar los cambios en la estructura.
Para resolverlo lo único que hay que hacer es compactar la base de datos mediante
Herramientas-Utilidades de la base de datos-Compactar y reparar la base de datos, ya que la
compactación actualiza, entre otros temas, ese contador interno relativo al número de
campos.
Puede crearse un grupo mediante el menú de contexto sobre cualquier objeto y luego crear
accesos directos a los objetos deseados. Basta con seleccionar el objeto y, en el menú de
contexto, seleccionar la opción Agregar al grupo e indicar el grupo apropiado.
Seguidamente crearemos una consulta de datos anexados con la tabla auxiliar y añadiremos
el registro a la tabla que tiene el campo autonumérico. Tras ejecutar la consulta podemos
borrarla, igual que la tabla auxiliar.
Ya sólo queda eliminar el registro auxiliar de la tabla, con lo que los registros siguientes
continuarán la autonumeración a partir del valor anterior.
Formato condicional:
Con Access 2000 el formato condicional ya no es un problema, ya que pueden definirse
reglas de formato para cuadros de texto y otros controles en formularios e informes.
Para ello debe usarse el comando Formato condicional del menú Formato, lo cual permite
definir el color de la fuente, su tamaño, el color de fondo de los controles y otras
propiedades visuales que proporcionan información complementaria a los usuarios.
If Me.NewRecord Then
Me.Undo
Else
Me.RecordsetClone.Bookmark =
Me.Bookmark
Me.RecordsetClone.Delete
End If
Es necesario establecer una condición, ya que el registro a eliminar puede ser uno que se
esté creando en ese momento. La propiedad NewRecord devuelve verdadero si estamos en
esta situación, en cuyo caso es suficiente con aplicar el método Undo (deshacer).
Sin embargo, si se trata de un registro existente es necesario aplicar el método Delete. El
problema es que no se puede aplicar directamente al objeto Me. Por tanto, la solución es
aplicárselo a RecordsetClone, una vez situado el registro activo en el mismo que en el
formulario.
La opción Reparar permite reparar una base de datos dañada, lo que ocurre en la mayoría
de los casos cuando Access se cierra inesperadamente antes de guardar la base de datos. A
veces, una base de datos también se puede dañar sin que Access se dé cuenta. Si la base de
datos se comporta de manera extraña, es posible que sea necesario repararla.
Cuando repare una base de datos, también debe compactarla después. Para reparar la base
de datos actual, seleccione Utilidades de la base de datos/Reparar base de datos en el menú
Herramientas. Access supone que usted desea reparar la base de datos abierta actualmente y
ejecuta el procedimiento de reparación.