Sunteți pe pagina 1din 124

Edmundo A.

Cáceres
Actualización
María Josefina Castilla
Silvia Storni

Curso de Access

2018
I. Access
Preliminares
El cambio de ubicación de comandos que ha significado la cinta de opciones con res-
pecto al menú de comandos, introducido desde la versión 2007, seguramente producirá
en el lector confusiones, si trabaja con versiones anteriores. Incluso si trabaja con la
versión 2007, puede que no coincidan las posibilidades con Access 2010. Sin embargo,
suponemos que el lector cuenta por lo menos con la versión 2007. Pero, si usa versio-
nes previas, todavía este texto lo puede ayudar.
La base de datos usada en esta obra para los ejemplos, se llama Facturación.accdb.
Incluye las siguientes tablas y campos:

Tabla Campo Título Descripción Clave


Artículos Art Artículo Código de artículo Principal
NomArt Descripción Nombre de artículo
PreAct Precio Precio actual
Modelo Modelo
Clientes Cli Cliente Código de cliente Principal
NomCli Nombre cliente Nombre de cliente
Dom Domicilio Calle, número, etc.
Prov Provincia Código de provincia Externa
Tel Teléfono
Ini Inicio actividad
Detalles Fac Factura Número de factura Externa
Art Artículo Código de artículo Externa
Can Cantidad Cantidad
PreFac Precio Precio facturado
Facturas Fac Factura Número de factura Principal
Fec Fecha Fecha de factura
Cli Cliente Código de cliente Externa
Ven Vendedor Código de vendedor Externa
Provincias Prov Provincia Código de provincia Principal
NomProv Nombre provincia Nombre de provincia
Vendedores Ven Vendedor Código de vendedor Principal
NomVen Nombre vendedor Nombre de vendedor
Prov Provincia Código de Provincia Externa
Ingre Ingreso
Com Comisión Externa
Doc Documento
Comisiones Codcom Código Comisión Principal
Com Comisión

Nota. Las facturas se registran en dos tablas: los datos que aparecen una vez en una factura de papel (fe-
cha, cliente, vendedor), en Facturas; los datos que se repiten (artículo, cantidad, precio), en Detalles.

1
El esquema anterior puede parecer extraño. Es el que usamos en la cátedra Siste-
mas de Información I, y que se consigue en la página Web de la Facultad de Ciencias
Sociales, carreras de Contador Público y Licenciado en Administración. A medida que
el lector avance, irá familiarizándose con él.
Las tablas de ejemplo están relacionadas, como muestra el siguiente gráfico.

Oportunamente veremos qué son las relaciones, sus tipos, formas de trazarlas, etc.
Por ahora basta con la intuición del lector.

Access
Access es un sistema gestor de bases de datos relacionales. Dentro de una base de
datos que crea el programador, los objetos más importantes y que primero se introdu-
cen son tablas, porque contienen datos que se recopilan desde el entorno. Luego, a
partir de ellas, se pueden crear consultas, formularios e informes:consultas para obte-
ner “mezclas” de datos, formularios para ayudar a introducir datos e informes para im-
primirlos. Las tablas se relacionan entre sí o con las consultas, para obtener informa-
ción dispersa, que se puede presentar en formularios o informes. El hecho de que las
relaciones controlan la integridad de los datos, ha dado origen a que estasbases de da-
tos se llamen relacionales.

Iniciar y cerrarAccess
La manera más cómoda de iniciar Access es colocar un acceso directo a él en el escri-
torio de Windows. Para hacerlo, pulse el botón Inicio, en la barra de tareas de Win-
dows. Se despliega un menú. Pulse la opción Todos los programas.Localicela carpeta
Microsoft Office y déle clic. Si pulsa Microsoft Access, lo ejecutará, pero, como estos
pasos son molestos, en vez de ejecutarlo déclic secundario sobre Microsoft Accessy
elija la opción Enviar a – Escritorio (crear acceso directo). De ahora en adelante, basta-

2
rá con dar doble clic a este acceso directo para ejecutarlo.
Para cerrar Access, puede pulsar el botón Cerrar, o pulsar la combinación Alt+F4, o
emitir Archivo –Salir.

Componentes de la ventana principal


Dado que estos componentes se pueden personalizar, la ventana no siempre tiene el
mismo aspecto. Esquemáticamente, los componentes originales son los siguientes.

Barra de acceso rápido Contraer/Expandir cinta de opciones - Ayuda

Barra de título
Cinta de opciones

Panel de navegación Área de vistas

Barra de estado

Barra Acceso rápido. Contiene operaciones habituales, como Guardar o Deshacer.


Se puede personalizar, agregándole y6 quitándole botones.

Barra de título. Contiene el nombre del programa o del archivo con que se trabaja. A la
derecha están los conocidos botones Minimizar, Maximizar/Restaurar y Cerrar.

Cinta de opciones. Contiene los comandos de Access agrupados en fichas: Archivo,


Inicio, Crear, Datos externos, etc. Según el contexto de trabajo, las fichas varían, apa-
recen fichas nuevas y desaparecen otras. Al dar clic en una pestaña, se ve la ficha
completa, con los botones organizados en grupos. Los grupos están separados por ba-
rras verticales y tienen un nombre en la base. Los botones de las opciones no disponi-
bles en el contexto se ven atenuados.
Pulsando Alt izquierda se entra al modo de acceso por teclado. Aparecen pequeños
recuadros junto a las fichas, que indican la tecla (o conjunto de teclas) para acceder a
cada opción. En ocasiones, al pulsar una tecla se despliegan opciones adicionales. En
tal caso, aparecen nuevos caracteres para éstas. Para salir del modo de acceso por te-
clado, vuelva a pulsar Alt izquierda.
Para ocultar y mostrar la cinta de opciones, dé doble clic en cualquier ficha o pulse
los botones ˄ y ˅ que están a la derecha de la cinta, junto al botón Ayuda.
A diferencia de las demás, la ficha Archivo no despliega herramientas para modificar
el documento, sino un menú con acciones relativas al archivo (Guardar, Imprimir, Abrir,
etc.) y a la configuración de Access.

Panel de navegación. Muestra todos los objetos contenidos en la base de datos acti-
va, agrupados en categorías: Tablas, Vistas, Formularios, Informes, Macros. El panel

3
sirve para abrir cualquier objeto, en su vista por defecto, dándole doble clic; o, dándole
clic secundario, elegir una de las vistas permitidas para abrirlo. El objeto se abre en el
área de vistas. El panel se puede ocultar con << y expandir con >>, botones que están
arriba del panel, a la derecha.

Área de vistas. Es la zona donde se abren los objetos para diseñarlos, tener una vista
preliminar de cómo serán impresos, y varias otras modalidades, todas conocidas como
vistas. Puede haber varios objetos abiertos a la vez, cada uno en una vista igual o dife-
rente. Por ejemplo, una tabla en vista Diseño, una consulta en vista Hoja de datos, un
formulario en vista Presentación, etc. Dentro de esta área, cada objeto tendrá una ficha
con su nombre en la pestaña y un botón de cierre. Para cambiar de un objeto a otro, se
da clic en la ficha del que se necesita.

Barra de estado. Contiene indicaciones sobre el estado de la aplicación. Por ejemplo,


NumLock activada, vista actual Hoja de datos, etc., y botones para cambiar la vista del
objeto activo en el área de vistas.

Ayuda. Es documentación que explica las opciones y características del programa. Pa-
ra acceder a ella se da clic en el botón , a la derecha de la cinta de opciones, se pul-
sa F1, o se emite Archivo–Ayuda.

4
II. Base de datos
Una base de datos es un conjunto de datos organizados con un propósito. La base de
datos contiene diversos objetos. Los objetos que nos interesan son los siguientes.

Tablas. Son objetos que almacenan datos sobre un tema particular, como clientes, o
artículos, o facturas. Las tablas son los objetos principales de cualquier base de datos,
ya que los demás objetos se crean a partir de ellas. Tienen duración ilimitada, salvo
que se las elimine expresamente.

Consultas. Son objetos que contienen instrucciones para recuperar datos de las ta-
blas, modificarlos y almacenar el resultado en otra tabla. Producen algo similar a las ta-
blas, por lo que se las llama “tablas lógicas”, no físicas. Pero, a diferencia de éstas, la
existencia de estos resultados es limitada: al cerrar la base de datos, se pierden. La
excepción es que las consultas produzcan tablas físicas. Hay varios tipos de consulta.

Formularios. Son objetos muy prácticos para visualizar y modificar datos de las tablas.
Hay diferentes tipos de formulario. Los que más se usan sirven para introducir, modifi-
car y eliminar, por ejemplo, diferentes clientes de la tabla Clientes.

Informes. Son objetos que presentan, hacen cálculos y resumen datos seleccionados
de una o más tablas o consultas. Están pensados para ser impresos, pero puede que
baste verlos en vista previa.

Macros. Son objetos que definen acciones que Access realiza automáticamente en
respuesta a un evento. Por ejemplo, se podría crear una macro que abra un informe en
respuesta a un clic sobre un botón de un formulario. Las macros pueden guardarse
como objetos independientes o pueden definirse dentro de un formulario o informe.

Crear una base de datos


Para crear una base de datos emita Archivo–Nuevo. La primera opción, Base de datos
en blanco, es la que casi siempre elegirá, porque no se basa en ninguna plantilla. A la
derecha hay un cuadro para escribir el nombre de la base de datos. Access necesita
crear y guardar el archivo antes de empezar a trabajar. Para cambiar la carpeta donde
por defecto se guardan las bases de datos (Mis documentos), dé clic en la carpetita
que hay junto al cuadro de texto. Se abre el diálogo Archivo de nueva base de datos,
donde puede elegir otra carpeta. Cuando haya escrito el nombre y definido la carpeta,
pulse Crear para producir la base de datos, que toma la extensión ACCDB.
Inmediatamente después de la creación, Access cambia a la ficha Campos. Por de-
fecto, muestra una tabla llamada Tabla1, para empezar a llenarla con datos, agregarle
campos y guardarla.
A la izquierda está el Panel de navegación. Como por ahora lo único que contiene es
Tabla1, es lo único que muestra. Si ha guardado y cerrado Tabla1, puede renombrarla
en el panel de navegación, dándole clic secundario y eligiendo Cambiar nombre.

Inicie Access. En la ficha Archivo, grupo Nuevo, controle que está seleccionado el botón Base de datos
en blanco. En Nombre de archivo escriba Pruebas. No hace falta que escriba la extensión, porque Access

5
supondrá ACCDB. Pulse Crear. Inmediatamente se pasa a la ficha Campos, vista Hoja de datos. El nom-
bre de la ficha está en la cinta de opciones. En la barra de estado, a la derecha, hay un botón activado:
ponga el mouse un momento sobre él, sin pulsarlo, y verá que dice vista Hoja de datos. En el panel de na-
vegación, categoría Tablas, dice Tabla1. A la derecha, en el Área de Vistas, aparece la ficha Tabla1, para
que diseñe su estructura. No haga nada. Pulse el botón de cierre. El panel de navegación queda en blan-
co, porque no ha grabado nada en Tabla1. La base de datos está abierta, porque en la barra de título ve
su nombre, Pruebas.

Abrir y cerrar una base de datos


Hay diversos procedimientos para abrir una base de datos:

 Con Archivo – Abrir, o con las teclas Ctrl+A o Alt+A. Se abre el diálogo Abrir para se-
leccionar el archivo.

 Con Archivo –Reciente. En Bases de datos recientes hay una lista de los últimos ar-
chivos de este tipo abiertos. Dé clic en laque quiera abrir.

 Desde el acceso rápido a las últimas bases abiertas. Al abrir Access, aparece la fi-
cha Archivo desplegada. En la primera columna hay una lista de las últimas bases
de datos abiertas, sin tener que seleccionar Reciente. Dé clic en la que quiera abrir.
Puede configurar la cantidad de archivos a ver en el acceso rápido. Por defecto son
4, pero puede cambiarlo hasta 17 en Archivo – Reciente –Tener acceso rápidamente
a este número de bases de datos recientes. Puede eliminar la lista indicando 0 ele-
mentos o desactivando la casilla de verificación.

Para cerrar la base de datos, emita Archivo –Cerrar base de datos, o cierre Access.

Cierre la base de datos Pruebas. Ahora en la ficha Archivo, a la izquierda, aparece Pruebas, la última
base de datos con la que trabajó. Púlsela y se pasa a la ficha Inicio. Ahora no aparece nada en el panel de
navegación, porque usted no guardó Tabla1. Cierre Pruebas y vuelva a abrirla, usando los distintos proce-
dimientos explicados. Finalmente, ciérrela.

6
III. Tablas
Las tablas están formadas por registros y cada registro está formado por campos. En el
siguiente ejemplo parcial de la tabla Clientes, los registros se ven como filas. Cada re-
gistro define un cliente particular. Los campos, que se ven como columnas, representan
atributos de los clientes, como código de cliente, nombre, dirección, etc. El valor que se
introduce en un campo de un registro (que se ve como una celda) es un dato.

Las tablas tienen dos partes:

Estructura. Es la definición de cada campo. En el ejemplo no se ve, porque está en


vista Hoja de datos. Para verla, hay que cambiar a vista Diseño. La estructura es im-
prescindible para que la tabla exista.

Registros. En el ejemplo, son las líneas de los clientes 1, 2, 3 y 4. Una tabla puede es-
tar vacía, es decir, no tener registros; pero aun así debe tener estructura.

En el ejemplo, los encabezados de las columnas dicen Cliente, Nombre cliente, etc., en
vez de los nombres de los campos, que son Cli, NomCli, etc. Access permite definir un
título para cada campo. El nombre del campo suele ser una abreviatura, para simplifi-
car escribirlo en programación; pero al presentarlo es mejor el título, que tiene más sig-
nificado para el usuario.
Todos los datos relacionados con los clientes no se guardan en una sola tabla, sino
que se distribuyen en varias de ellas. Esto significa una enorme ventaja para obtener
información muy variada. Por ejemplo, la tabla Clientes guarda solamente datos “insti-
tucionales”; pero las compras que realizan los clientes se guardan en las tablas Factu-
ras y Detalles. Para obtener datos de las dos primeras, deben relacionarse por el cam-
po común Cli; para obtener datos de las dos últimas, deben relacionarse por el campo
común Fac.

7
Crear una tabla
Para crear una tabla, emita Crear–Tablas y pulse uno de los siguientes botones:

Tabla. Abre la vista Hoja de datos. Para agregar un nuevo campo, pulse Haga clic para
agregar e introduzca el dato: según el valor que introduzca, se determina el tipo de da-
tos (por brevedad, tipo).También puede desplegar la lista de Haga clic para agregar y
elegir un tipo: se creará el nuevo campo, pero con el tipo establecido. Inicialmente, el
nombre de cada campo es Campo1, Campo2, etc. Para cambiar un nombre, dele doble
clic o elija Cambiar nombre de campo en el menú contextual sobre el nombre.

Diseño de tabla. Crea una tabla en la vista Diseño. Es la forma más completa de crea-
ción, porque permite definir varias propiedades para cada campo. Esta vista está dis-
ponible no sólo cuando crea una tabla, sino que puede usarla con tablas ya creadas,
para modificar la estructura. Para activar esta vista:

 Si la tabla no está abierta, dele clic secundario en el panel de navegación y elija Vis-
ta Diseño.

 Si la tabla está abierta, pulse el botón Vista Diseño de la barra de estado. O emita
Inicio–Vistas–Ver–Vista Diseño. O dé clic secundario en la oreja de la ficha de la ta-
bla y elija Vista Diseño.

La tabla se presenta en el área de vistas dentro de una ficha cuya pestaña tiene el
nombre de la tabla.
Inmediatamente debajo hay una cuadrícula de tres columnas (Nombre del campo,
Tipo de datos y Descripción). Sirve para definirlos campos, uno por fila.
Abajo hay un sector llamado Propiedades del campo. A la izquierda hay dos fichas
(General y Búsqueda) para definir propiedades del campo actual, es decir, característi-
cas adicionales del campo que está definiendo. Cada ficha tiene dos columnas, la pri-
mera para el nombre de la propiedad y la segunda para el valor de ella. A la derecha
hay un recuadro con texto de ayuda sobre la celda donde está posicionado.
Rellene la cuadrícula, definiendo cada campo que compondrá la tabla. En la primera
columna escriba el nombre del primer campo. Al pulsar Enter o Tab, pasa al tipo, por
defecto Texto. Para cambiar de tipo, abra la lista con el botón ▼que aparece a la dere-
cha de la celda y elija otro. Introducido un tipo, se activa Propiedades del campo, para
definir más características. Pulse Enter para ir a la tercera columna. No es obligatorio
llenarla. Sirve para introducir un comentario acerca del campo. Este comentario apare-
cerá en la barra de estado de la hoja de datos.
El proceso se repite hasta completar la definición de todos los campos de la tabla.

Clave principal
Antes de guardar la tabla, puede asignar una clave principal. Ésta proporciona un valor
único a cada registro, para identificarlo. No puede definir más que una clave principal,
que puede estar compuesta por más de un campo.
Para asignar una clave principal, colóquese en la fila correspondiente al campo que
será clave principal y emita Diseño –Herramientas–Clave principal. También puede dar

8
clic secundario en la fila y seleccionar Clave principal. A la izquierda del nombre del
campo aparece una llave, indicando que es la clave principal. Si quiere que el sistema
genere valores que sean clave principal, puede definir el campo con el tipo Autonume-
ración. Si quiere definir una clave principal compuesta por varios campos, seleccione
los campos manteniendo la tecla Ctrl y dé clic en Clave principal. Un campo o combi-
nación de campos que forman la clave principal no pueden contener valores nulos.

Guardar y cerrar una tabla


Para guardar una tabla, puede emitir Archivo –Guardar, o dar clic en Guardar de la ba-
rra de Acceso rápido. Si la tabla aún no tiene nombre, aparecerá un diálogo para que lo
escriba. Si no asigna clave principal antes de guardar la tabla, aparecerá un diálogo
avisando de ello y preguntando si quiere que Access cree una. Si responde Sí, se aña-
de un campo de tipo Autonumeración que se define como clave principal. Si responde
No, se guarda la tabla sin clave principal.
Para cerrar una tabla, dé clic secundario en la pestaña de la ficha y elija Cerrar, o
pulse el botón de cierre, X, de la ficha. Si hay cambios no guardados, Access pregunta-
rá si los debe guardar.

Diseñar en vista Hoja de datos


Aunque la vista de Hoja de datos se usa para editar los datos de una tabla, también
permite modificar el diseño. Abra o ponga la tabla en esta vista, que es una cuadrícula
donde cada fila es un registro y cada columna es un campo.

Agregar campo. A la derecha de las columnas existentes hay una columna llamada
Agregar nuevo campo. Si da clic en el encabezado de esta columna, se despliega un
menú para que elija el tipo que contendrá el nuevo campo. El nombre de éste, por de-
fecto, es Campo1. Si inserta otros campos, se llamarán Campo2, Campo3, etc. Para
renombrarlos, dé doble clic en cada encabezado, escriba el nuevo nombre y pulse En-
ter para guardar el nuevo nombre. Otra forma de renombrar es dar clic secundario en el
encabezado y seleccionar Cambiar nombre de campo.

Eliminar campo. Para eliminar una columna, en el menú contextual sobre su encabe-
zado elija Eliminar campo. También la puede seleccionar completamente, desde el en-
cabezado, y pulsar Delete (Supr)

El agregado y eliminación de campos son adecuados si está modificando el conteni-


do de la tabla y decide realizar un pequeño cambio de diseño. Pero es mejor realizar
los cambios estructurales en la vista Diseño, porque hay más posibilidades.

Inicie Access. En la ficha Archivo, pulse Pruebas. Pulse la ficha Crear. En el grupo Tablas, pulse el bo-
tón Tabla. Access cambia a la ficha Campos, vista Hoja de datos. En el único y falso registro, marcado con
*, y en la columna Haga clic para agregar, escriba Juan y pulse Tab. Ahora la columna de la derecha dice
Haga clic para agregar, y aquella donde escribió el texto se llama Campo1. Dé doble clic sobre Campo1 y
escriba Texto. Pulse el ▼a la derecha de la columna Haga clic para agregar y elija el tipo Número. El nom-
bre de la columna cambia a Campo2, y está seleccionado para que lo cambie. Llámelo Número. Escriba
250 en ese campo. Puede seguir agregando campos de esta manera, pero es incómodo. Pulse el botón de

9
cierre. Access muestra un mensaje preguntándole si desea guardar los cambios en el diseño de la tabla.
Responda Sí. Access le pide un nombre para la tabla, sugiriendo Tabla1. Cámbielo por Tipos. Pulse Acep-
tar. La tabla se cierra, pero ahora se ve en el panel de navegación con el nombre que le dio, Tipos.

Diseñar en vista Diseño


Creada una tabla, si necesita modificar su definición, debe modificar su diseño. Para
ello, lo mejor es abrirla o ponerla en vista Diseño.

Modificar definición de campo. Posiciónese en él y haga los cambios.

Agregar nuevo campo. Vaya a la línea en blanco al final y escriba la definición del
nuevo campo, o sitúese en cualquier campo y dé clic en Diseño–Herramientas–Insertar
filas. El nuevo campo se insertará en el lugar donde está posicionado.

Eliminar campo. Posiciónese en él y dé clic en Diseño–Herramientas–Eliminar filas, o


seleccione toda la fila del campo dando clic en su extremo izquierdo y pulse Delete
(Supr).Se borrará el campo de la definición de la tabla y los datos almacenados en él.

Cuando termine las modificaciones, guarde la tabla.

En el panel de navegación dé clic secundario sobre Tipos y elija Vista Diseño. Access cambia a la ficha
Diseño, en vista Diseño. Esta vista es la más cómoda y con más posibilidades para modificar la estructura
de la tabla. Hay tres campos. El primero, Id, fue introducido automáticamente por Access y es de tipo Au-
tonumeración. Tiene el dibujo de una llave a la izquierda del nombre, indicando que este campo es la clave
principal. Al agregar cada registro, Access le da un número único para identificarlo. Usted puede eliminar
la clave, desactivando el botón Clave principal que está a la izquierda de la ficha Diseño, aunque no es
aconsejable. También podría elegir otro campo o grupo de campos como clave principal. Por ahora, déjelo
así. Los otros dos campos, Texto y Número, fueron introducidos por usted. Texto es de tipo Texto, que es
el tipo por defecto, y además porque, al escribir Juan en él, hizo que Access infiriera que es de este tipo.
Número fue explícitamente definido por usted de tipo Número.

Altas, bajas y cambios


La vista Hoja de datos sirve para dar altas y bajas de registros, y cambiar datos conte-
nidos en los campos de una tabla. De modo complementario, permite agregar y supri-
mir campos, como se explicó.

Alta. Ubíquese en el registro que tiene * en la primera columna. En realidad, no es un


verdadero registro, sino que lo será si llena sus campos con datos. Escriba el valor del
primer campo. Pulse Enter o Tab para ir al segundo campo. Repita esto hasta llenar el
registro. Cuando termine de llenar todos los campos, pulse Enter o Tab para pasar al
registro siguiente. Al cambiar de registro, el que estaba introduciendo se almacenará.

Baja. Seleccione el registro a eliminar dando clic en el cuadro gris de la izquierda. Emi-
ta Inicio– Registros–Eliminar, o pulse la tecla Delete, o elija Eliminar registro en el menú
contextual.

10
Cambio. Sitúese en el campo y escriba el nuevo valor.

Usted ha llenado un registro. En el que le sigue, sólo hay un *. Esto es para agregar, o dar de alta, un
nuevo registro. Escriba Luis en Texto y 430 en Número. Apenas comienza a llenar el primer campo, apa-
rece un tercer registro con *. Agregue dos registros más, uno con María y 125, y otro con Dante y 480. Se-
leccione todo el segundo registro y pulse Delete, para darlo de baja. Vaya al campo Número del último re-
gistro y modifíquelo con el valor 500, con lo que hace un cambio.

Navegar por los registros


En la vista Hoja de datos aparece una barra llamada botones de navegación, para re-
correr los registros de una tabla. Si se ven varias tablas, habrá una de estas barras pa-
ra cada una. En el cuadro central se indica el registro actual y el número total de regis-
tros. Los botones realizan las siguientes operaciones:

|< Va al primer registro.


< Va al registro anterior.
> Va al registro siguiente.
>| Va al último registro.
>* Va al final de la tabla, para crear un nuevo registro.

Para ir a un registro n, dé doble clic en el cuadro de texto donde aparece el número


del registro actual. Escriba el número n. Pulse Enter.
También puede desplazarse por los campos y registros usando el teclado. Las teclas
 y  cambian al registro anterior o posterior. Las teclas ymueven por el mismo re-
gistro, de campo en campo; después del primer o último campo, pasan al registro ante-
rior o siguiente. El mismo efecto tienen las teclas Tab y Shift+Tab. Las teclas Home y
End llevan al primer o al último campo, en el mismo registro.
La navegación sigue el orden en que se ven los registros: si ordenamos por el cam-
po Cli, primero será el registro del cliente 1 y último el del cliente 4. Si estamos en el
cliente 2, anterior será el cliente 1 y siguiente el cliente 3:

Cliente Nombre cliente Domicilio Provincia Teléfono


1 1 Pérez, Agustín Córdoba 1515 O 10 262325
2 2 Gutiérrez, Pedro Aníbal Avellaneda 2257 S 8 294245
3 3 Iturrieta, María Eufemia Jujuy 445 N 14 212548
4 4 Díaz, Aurelio José Pedro Echagüe 1414 E 1 259833

Si vemos la tabla ordenada por NomCli, primero será el registro de Díaz y último el
de Pérez. Si estamos en Iturrieta, anterior será Gutiérrez y siguiente Pérez:

Cliente Nombre cliente Domicilio Provincia Teléfono


1 4 Díaz, Aurelio José Pedro Echagüe 1414 E 1 259833
2 2 Gutiérrez, Pedro Aníbal Avellaneda 2257 S 8 294245
3 3 Iturrieta, María Eufemia Jujuy 445 N 14 212548
4 1 Pérez, Agustín Córdoba 1515 O 10 262325

11
Del mismo modo, si indicamos ir a un registro cuyo número damos, el registro será el
que ocupe ese lugar, teniendo en cuenta el orden en que se ven los registros. Por
ejemplo, ordenados por Cli, el registro 4 es el de Díaz; pero, ordenados por NomCli, el
registro 4 es el de Pérez.

12
IV. Campos
Cada campo tiene propiedades que refinan su funcionamiento. Salvo Nombre del cam-
po y Tipo de datos, el resto de las propiedades aparecen en la parte inferior izquierda
de la vista Diseño cuando hay un campo seleccionado.
Las propiedades se agrupan en la ficha General, que difieren según el tipo del cam-
po, y en la ficha Búsqueda, que cambian según el control asociado al campo. Para en-
tender bien esta última ficha, debemos conocer previamente cuáles son y qué hacen
los controles, temas que posponemos para más adelante.

Nombre del campo


Cada campo debe tener un nombre único. Access es muy amplio en cuanto a nombres,
porque pueden contener espacios en blanco intermedios, por lo que un nombre puede
estar formado por varias palabras. También admiten números y algunos caracteres es-
peciales. Un nombre de campo puede contener hasta 64 caracteres.

Tipo de datos
Al definir un campo, luego de darle nombre, se debe definir cuál es su tipo. Los tipos
son los siguientes:

Texto. Admite letras, números que no van a ser usados en operaciones matemáticas y
demás caracteres del teclado.

Memo. Puede almacenar hasta 65.535 caracteres por campo. Admite texto enriqueci-
do, es decir, texto con formatos de fuente, colores, estilos, etc. Para esto, la propiedad
Formato del texto debe estar establecida a Texto enriquecido.

En vista Diseño, agregue el campo Memo a la tabla Tipos, de tipo Memo. Tome como referencia el pri-
mer registro. En el campo Memo puede escribir muchísimo texto. Dado que la columna es angosta, hágala
más ancha, para ver más del contenido. En un formulario, para mostrar un campo memo use un cuadro de
texto, al que puede dar una superficie grande. En la propiedad Formato del texto, elija Texto enriquecido.
Esto le permite usar negritas, subrayado, distintas fuentes, etc. En la vista Hoja de datos, ficha Campos,
también puede configurar esta propiedad: si activa cualquier celda de la columna Memo, verá que se acti-
va el botón Configuración de memorando. Este botón le ofrece las opciones Sólo anexar y Texto enrique-
cido. Esta última, corresponden a los valores Texto sin formato y Texto enriquecido de la propiedad For-
mato del texto cuando el botón se encuentra desactivado a activado respectivamente. El botón Sólo ane-
xar no corresponde a ninguna propiedad y cuando está activado con el botón derecho en el menú contex-
tual sobre el campo aparece la opción Mostrar historial de columna. Guarde la tabla, pero no la cierre. En
los ejemplos que siguen, vaya guardando la tabla, sin cerrarla.

Número. Almacena números con los que se puede operar aritméticamente. Hay distin-
tas subvariedades de este tipo, que admiten o no decimales y cuyo tamaño varía.

Fecha/Hora. Almacenan fechas y horas, entre los años 100 y 9999. Estos campos
pueden incluir un selector de fechas, que ayuda a introducirlas. Para mostrar el selec-
tor, la propiedad Mostrar el selector de fecha debe estar establecido en Para fechas,
valor que toma por defecto al crear el campo.
13
Agregue el campo Fecha, de tipo Fecha/Hora. En vista Hoja de datos, pulse este campo. Verá que apa-
rece el ícono de un calendario a la derecha. Si lo pulsa, se abre un calendario para que elija una fecha.
Con  y  puede retroceder y avanzar meses. Dentro del mes que quiere, pulse el número de día. El bo-
tón Hoy introduce la fecha actual del sistema. Dado que usar el calendario quizás le resulte incómodo,
puede escribir directamente la fecha.

Moneda. Almacenan números que representan valores monetarios. Los números pue-
den contener hasta 15 posiciones enteras y hasta 4 decimales. Ocupa 8 bytes.

Agregue el campo Moneda, de tipo Moneda. Luego introduzca en este campo el número 1246,54618.
Cuando dé por terminada la introducción, verá que aparece $1.246,55. Si vuelve a ese campo, verá que
contiene $1246,5462. Es decir, Access redondea a cuatro decimales internamente; cuando lo muestra sin
entrar al campo, redondea a dos decimales.

Autonumeración. Almacena números generados automáticamente por Access al in-


troducir nuevos registros, asignando a cada registro el valor del registro anterior + 1, o
asignando un número aleatorio. Nunca dos registros pueden tener el mismo número.
Sólo puede haber un campo de autonumeración por tabla.

Sí/No. Admite sólo valores lógicos, que se pueden ver a voluntad como Sí y No, Ver-
dadero y Falso, Activado y Desactivado.

Agregue el campo Sí/No, de tipo Si/No. En vista Hoja de datos verá que la columna contiene casillas de
verificación, el control por defecto para este campo. En vista Diseño, seleccione este campo y pulse la fi-
cha Búsqueda. En la propiedad Mostrar control elija Cuadro de texto. En la ficha General, propiedad For-
mato, elija Activado/Desactivado. Usar una casilla de verificación o un cuadro de texto es cuestión de gus-
to.

Objeto OLE. Pueden contener documentos de Word, hojas de Excel, imágenes, archi-
vos de sonido, etc. Este tipo ha quedado obsoleto, siendo más eficaz el tipo Datos ad-
juntos, que será el que usaremos.

Hipervínculo. Contienen vínculos a objetos, documentos, direcciones Web, etc. El hi-


pervínculo puede contener información muy detallada, como un marcador de un docu-
mento de Word, un objeto en una base de datos de Access o un rango de celdas en
una hoja de cálculo de Excel. Cuando se hace clic en un campo Hipervínculo, Access
carga el archivo aludido. El hipervínculo puede tener hasta 2.048 caracteres de largo.

Agregue el campo Hipervínculo, de tipo Hipervínculo. En vista Hoja de datos dé clic secundario sobre
este campo y elija Hipervínculo –Modificar hipervínculo. Se abre el diálogo Insertar hipervínculo. Elija un
documento de Word, Excel, una fotografía o cualquier otro archivo y pulse Aceptar. Para seguir el hiper-
vínculo guardado en el campo, dele clic o dele clic secundario y elija Hipervínculo – Abrir hipervínculo.

Datos adjuntos. Contiene archivos tales como fotografías, imágenes, archivos de Offi-
ce (Word, Excel, etc.). Access comprime automáticamente los datos adjuntos cuando
es posible, optimizando el uso de espacio. Lo novedoso es que un mismo campo de un
14
mismo registro puede contener varios archivos, como la fotografía de un paciente y su
historia clínica.

Agregue el campo Adjuntos, de tipo Datos adjuntos. En vista Hoja de datos, dé clic secundario sobre
este campo y elija Administrar datos adjuntos. Aparece el diálogo Datos adjuntos. El botón Agregar abre el
diálogo Elegir archivo. Elija un archivo cualquiera y pulse Abrir. Cierre el primer diálogo con Aceptar. En el
campo aparece (1), junto al ícono de un clip. Esto indica que hay un archivo adjunto. Repita el procedi-
miento y al terminar verá ahora (2), porque hay dos archivos adjuntos. Para abrir cualquiera de los archi-
vos, llame al diálogo Datos adjuntos, pero en vez de pulsar el botón Agregar, seleccione en la lista de ar-
chivos el que le interesa y pulse Abrir o simplemente dele doble clic.

Calculado. Almacenan el valor de cálculos realizados sobre otros campos de la tabla.


Su contenido es inmodificable.

Despliegue la lista de la columna Haga clic para agregar. Coloque el mouse en Campo calculado y verá
las opciones Texto, Número, Moneda, Si/No y Fecha /Hora. Elija Texto. Aparece el Generador de expre-
siones, que le ayuda a escribir una expresión. Donde dice Elementos de expresión, pulse el + del elemen-
to Funciones. Seleccione Funciones incorporadas. En Categorías de expresión elija Flujo de programas.
En Valores de expresión dé doble clic en la función SiInm (Si inmediato). Esto hace que esta función pase
al cuadro de texto superior, con todos los argumentos necesarios. Se verá así:
SiInm(«expresión»; «parte Verdadera»; «parte Falsa»)
Ponga el cursor donde dice «expresión». En Elementos de expresión, seleccione la tabla Tipos y dé
doble clic en el campo Número. Esto escribe [Número] en el cuadro superior, seguido por «expresión».
Ponga el cursor en «expresión» y escriba> 200. (Si en su teclado tiene problemas con el símbolo >, en Ca-
tegorías de expresión elija Operadores, en Categorías de expresión elija Comparación, y en Valores de
expresión dé doble clic en el operador >). Ponga el cursor en «parte Verdadera» y escriba“Bueno”. Ponga
el cursor en «parte Falsa» y escriba “Malo”. La expresión terminada debe verse así:
SiInm( [Número] >200 ; "Bueno"; "Malo" )
Pulse Aceptar. Ahora verá que algunos registros, en ese campo, dicen “Bueno” y otros “Malo”. Selec-
cione toda la columna y elimínela, si quiere, o cámbiele el nombre, por ejemplo, por Calculado Texto.
Repita el procedimiento, pero eligiendo Campo calculado y luegoNúmero. Cree la expresión siguiente:
[Número] * 2
Esta fórmula llenará el nuevo campo con el doble del valor contenido en el campo Número. Elimine la
columna o llámela, por ejemplo, Calculado Número.
Haga lo mismo, pero eligiendo Campo calculado y luegoMoneda. Escriba la misma expresión. Verá que
el resultado es igual al anterior, pero ahora tiene formato monetario, con el símbolo $. Elimine la columna o
llámela, por ejemplo, Calculado Moneda.
Probemos ahora con Campo calculado y luegoSi/No. Escriba la expresión
[Número] > 100 Y [Número] <200
Elimine la columna o llámela, por ejemplo, Calculado Si No.
Finalmente, probemos con Campo calculado y luegoFecha/Hora. Introduzca la expresión
[Fecha] + 10
La columna mostrará fechas iguales al campo Fecha, más 10 días. Elimine la columna o llámela, por
ejemplo, Calculado Fecha.

15
Asistente para búsquedas. No es un tipo de datos, sino una invocación a un asistente
que, mediante pasos, rellena la ficha Búsqueda. Funciona para definir un cuadro de lis-
ta o un cuadro combinado que se incrustan en el campo, facilitando la elección de un
valor. En la ficha Búsqueda aparecerán configuradas las propiedades del control.
Ejemplo de esto lo encontrará más adelante, luego de estudiar los controles cuadro
combinado y cuadro de lista.

Tamaño del campo


Esta propiedad establece el tamaño máximo de los datos que se guardan en el campo.
Se aplica a los tipos Texto, Número y Autonumeración.

Texto. Como máximo puede medir hasta 255 caracteres en cada campo. Obviamente,
hay que estimar el tamaño máximo de los datos a almacenar, para no quedar corto, pe-
ro sin desperdiciar espacio.

Número. El tamaño no se expresa mediante un número, sino mediante una categoría:

Categoría Contiene Bytes Rango


Byte Enteros positivos 1 0 —255
Entero Enteros positivos y negativos 2 -32.768 — +32.767
Entero largo Enteros positivos y negativos 4 -2.147.483.648 — +2.147.483.647
Simple Positivos y negativos, con decimales 4 -3,4 x 10 38— +3,4 x 10 38
Doble Positivos y negativos, con decimales 8 -1,797 x 10 308— +1,797 x 10 308
Decimal Positivos y negativos, con decimales 12 -9,999... X 1027— +9,999... x 1027
Id. de réplica No lo veremos. 16

Si considera el cuadro anterior, decidir la categoría depende de si necesita números


enteros o con decimales, y el máximo número a almacenar. Por ejemplo, si se estima
que habrá unos 1.500 clientes, entonces el campo Cli de la tabla Clientes, que corres-
ponde al código de cliente, no puede ser Byte, porque resultaría insuficiente, pero tam-
poco Entero largo, porque sería un desperdicio de espacio. Lo correcto sería Entero.

Autonumeración. El tamaño del campo es entero largo.

Formato
Esta propiedad se usa para personalizar la presentación de los datos en pantalla o en
informes.

Campos Autonumeración, Numérico y Moneda

NÚMERO GENERAL. Muestra los números como fueron introducidos. El número 1235 se
verá 1235.

MONEDA. Muestra los números con separador de miles, el símbolo monetario de Win-
dows y dos decimales. El número 1235 se verá $1.235,00, suponiendo que el símbolo
monetario sea $.

16
EURO. Usa el formato de moneda, pero con el símbolo €. El número 1235 se verá
1.235,00 €.

FIJO. Muestra los números sin separador de miles, con dos decimales. El número 1235
se verá 1235,00.

ESTÁNDAR. Muestra los números con separador de miles y dos decimales. El número
1235 se verá 1.235,00.

PORCENTAJE. Multiplica los números por 100 y muestra dos decimales y el signo %. El
número 1235 se verá 123500,00 %.

CIENTÍFICO. Muéstralos números en notación científica. El número 1235 se verá


1,24E+03.

Para probar los formatos anteriores, ponga la tabla Tipos en vista Diseño y vaya dando a la propiedad
Formato del campo Número los distintos valores. Luego de cada cambio, cambie a vista Hoja de datos.
Antes, Access le pedirá si quiere guardar los cambios, a lo que deberá responder Sí.

Campos Fecha/Hora

FECHA GENERAL. La fecha y hora se muestran como se escribieron. Si el valor es una


fecha, no muestra hora; si es una hora, no muestra fecha. El valor 01/06/2013 14:45:07
se verá de esa manera.

FECHA LARGA. Muéstrala fecha con el día de semana y el mes completo. El valor
01/06/2013 14:45:07se verá sábado, 01 de junio de 2013.

FECHA MEDIANA. Presenta el mes con las tres primeras letras. El valor 01/06/2013
14:45:07se verá 01-jun-13.

FECHA CORTA. Presenta la fecha con dos dígitos para el día, mes y año. El valor
01/06/2013 14:45:07se verá 01/06/2013.

HORA LARGA. Muestra la hora con formato normal. El valor 01/06/2013 14:45:07se ve-
rá14:45:07.

HORA MEDIANA. Muestra la hora en notación 1 a 12, sin segundos. El valor 01/06/2013
14:45:07se verá 2:45 PM.

HORA CORTA. Muestra la hora en notación de 1 a 24, sin segundos. El valor 01/06/2013
14:45:07se verá 14:45.

Pruebe los valores anteriores con la tabla Tipos, siguiendo el procedimiento explicado. Si hay cosas
que no coinciden, debería ajustar el Panel de control de Windows

17
Campos Sí/No
Dispone de los siguientes formatos: SÍ/NO, VERDADERO/FALSO, ACTIVADO/DESACTIVADO.

El control predeterminado para datos Sí/No es la casilla de verificación, por lo que en


la vista Hoja de Datos aparecen como tales y no se ve el efecto de la propiedad forma-
to. Para ver el efecto, cambie a Cuadro de texto el control predeterminado en la ficha
Búsqueda de las propiedades del campo.

Para probar los formatos de los campos Sí/No, en vista Diseño seleccione el campo Sí/No y, en la ficha
Búsqueda, cambie la propiedad Mostrar control a Cuadro de texto. Luego de eso, estará en condiciones de
cambiar la propiedad Formato y ver lo que produce.

Los campos Calculado pueden tener cualquiera de los formatos indicados, ya que el
cálculo puede ser sobre fechas, números y operaciones lógicas.
Los campos Texto y Memo no disponen de formatos predefinidos. Pero, para los
campos Texto, puede crear formatos personalizados.

Lugares decimales
Indica el número de decimales con que se quiere mostrar un tipo Número, Autonume-
ración o Moneda. Si el número tiene más decimales de lo estipulado, se muestran los
decimales estipulados, con redondeo si hace falta. Si el número tiene menos decimales
de lo estipulado, se rellenan con 0 las posiciones faltantes. Para que esta propiedad
funcione, el tipo de datos debe admitir decimales y el formato no debe ser general.

Máscara de entrada
La propiedad Máscara de entrada (por brevedad, máscara) facilita el ingreso y visuali-
zación de datos. Sólo funciona con campos de tipo Texto y Fecha/Hora. El valor de la
propiedad puede definirse manualmente, usando códigos especiales, o usando el Asis-
tente para máscaras de entrada. Para acceder a este asistente, pulse el botón…, a la
derecha de la propiedad.

Agregue un campo de tipo Texto llamado Dominio, para introducir patentes de automóviles. Sabemos
que este dato está compuesto por tres letras mayúsculas primero y tres cifras a continuación. Para asegu-
rarnos que por lo menos se siga este patrón, usaremos una máscara. En la propiedad Máscara de entrada
escriba:
>LL000LL
El símbolo > hace que las letras que siguen se conviertan a mayúscula. Cada L indica una letra obliga-
toria. Cada 0 indica un dígito obligatorio. Guarde los cambios y en vista Hoja de datos ingrese datos a este
campo. Infrinja a propósito la máscara y verá que Access no admite infracciones.

18
Título
Indica cuál será el texto aclaratorio del campo, que aparecerá en la vista Hoja de datos
y en las etiquetas asociadas a él. Por ejemplo, si un campo se llama NomCli e indica-
mos Nombre cliente como Título, en la cabecera se verá Nombre cliente. De no definir
un título, la cabecera será el nombre del campo.

Valor predeterminado
Es el valor que aparece inicialmente en el campo cuando se da de alta un registro. Por
ejemplo, en la tabla Clientes hay un campo Prov: si la mayoría de clientes son de la
provincia 18, puede definir 18 en Valor predeterminado de ese campo. Cuando intro-
duzca nuevos clientes, aparecerá el valor 18 en el campo Prov, evitándole introducirlo,
salvo que el cliente sea de otra provincia, en cuyo caso deberá modificar el valor. El va-
lor predeterminado vale para los tipos Texto, Número, Fecha/Hora, Moneda y Sí/No.

Dé al campo Número de la tabla Tipos el valor predeterminado 200. Agregue un nuevo registro. El
campo Número contiene el valor 200, sin que lo haya escrito. Si quiere, puede cambiarlo por otro número.

Regla de validación de campo


Controla la entrada de datos a un campo según que una expresión devuelva Verdadero
o Falso. Si al llenar el campo con un valor la regla devuelve Verdadero, el valor se
acepta; si devuelve Falso, el valor se rechaza y se indica al usuario el problema. Para

19
formar la condición puede usar el Generador de expresiones, que se abre dando clic en
el botón … , a la derecha de la propiedad.

En vista Hoja de datos, controle que el campo Número esté entre 100 y 500. Si alguno escapa a este
intervalo, corríjalo. Ahora, en vista Diseño, defina para el campo Número la regla de validación
Entre 100 Y 500
Guarde los cambios. En la vista Hoja de datos ingrese un número que escape al intervalo en un
campo Número. Access emite un mensaje de error. Mientras no escriba un número aceptable, no podrá
salir del campo. Escriba un número válido para salir del campo.

Texto de validación de campo


Texto que aparece en pantalla si se introduce a un campo un dato que infringe la re-
gla de validación. Si se omite este texto, Access da un mensaje estándar.

Si el mensaje que da Access no le parece adecuado, puede escribir el suyo propio en esta propie-
dad. Vuelva a la vista Diseño y escriba, por ejemplo:
El número debe estar entre 100 y 500.
Como ve, el texto no se escribe entre comillas. Guarde los cambios y pruebe a introducir un número
erróneo en vista Hoja de datos. Ahora sí, el mensaje de error es más apropiado. Escriba un número co-
rrecto para salir del campo.

Requerido
Si quiere que un campo se llene obligatoriamente, haga Sí esta propiedad.

Permitir longitud cero


Controla que a los campos Memo y Texto se puedan introducir cadenas vacías.

Indexado
Establece un índice de un solo campo. Los índices hacen que las consultas basadas
en campos indexados sean más rápidas y aceleran la ordenación y la agrupación. Si
busca clientes basándose en el campo NomCli, puede crear un índice por este cam-
po para hacer más rápida la búsqueda. Esta propiedad tiene tres valores:

NO. Sin índice.

SÍ (CON DUPLICADOS).Se asigna un índice al campo, admitiendo valores repetidos en


diferentes registros.

SÍ (SIN DUPLICADOS).Se asigna un índice al campo, sin admitir valores repetidos en di-
ferentes registros. El campo se vuelve un identificador del registro.

En vista Diseño, examine las propiedades del campo Id. Dado que este campo es la clave principal,
automáticamente Access creó un índice sin duplicados para él. Usted puede crear índices de cualquier
tipo para los demás campos.

20
Alineación del texto
Maneja la alineación de textos, números y fechas en un campo. Los valores son:

GENERAL. Textos a la izquierda, números y fechas a la derecha.

IZQUIERDA. Textos, números y fechas a la izquierda.

DERECHA. Textos, números y fechas a la derecha.

CENTRO. Textos, números y fechas centrados.

DISTRIBUIR. Textos, números y fechas se distribuyen equitativamente a lo largo del


campo, intercalando espacios condicionales entre los caracteres. Si hay dos palabras,
se separan por más de estos espacios.

Usted ya conoce el efecto de los cuatro primeros valores. Quizás ignore qué hace Distribuir. En vista
Diseño, cambie la propiedad Alineación del texto de alguno de los campos, dándole el valor Distribuir.
Guarde los cambios y cambie a vista Hoja de datos. Ahora se da cuenta qué produce esta alineación. Am-
plíe el ancho de la columna y el efecto se mantiene. Vuelva a vista Diseño, si quiere, y elija otro valor.

Mostrar el selector de fecha


Muestra o no el control Selector de fecha en un campo de fecha y hora. Si usa una
máscara de entrada en este campo, el selector queda anulado.

Nuevos valores
Determina cómo se calcula el valor de un campo Autonumérico. Los valores son:

INCREMENTALMENTE. Se inicia con el valor 1 y aumenta en 1 con cada nuevo registro.

ALEATORIAMENTE. Se inicia con un valor aleatorio y asigna un valor al azar a cada nuevo
registro. Access controla que los números aleatorios no se repitan.

Regla de validación de registro


La propiedad Regla de validación de campo reduce la posibilidad de introducir datos
erróneos a un campo. Sin embargo, un dato puede estar correcto, pero discrepar con
otro dato también correcto. Este no lo soluciona la regla de validación de campo, sino la
regla de validación de registro. Si dos o más campos no están de acuerdo, Access de-
nuncia el error al tratar de abandonar el registro. Mientras se esté en el mismo registro,
hay tiempo de poner los campos de acuerdo.

Agregue dos campos de fecha/hora a la tabla Tipos. El primero se llamará Inicial y el segundo Final.
Necesitamos controlar que Inicial sea menor a Final. Esto recién lo podemos hacer cuando ambos campos
estén llenos, mediante una regla de validación de registro. Para escribir esta regla debemos guardar los
cambios y pasar a vista Hoja de datos. Pulse la ficha Campos. En el grupo Validación de campo pulse el
botón Validación y elija Regla de validación de registros. En el generador de expresiones escriba
[Inicial] < [Final]

21
Si Access le advierte que, con los datos actualmente en esos campos, que están en blanco, se infringe
la regla de validación, conteste que Sí quiere continuar. Ahora llene ambos campos, a veces correctamen-
te, y otras con Inicial mayor o igual que Final, para que se produzca el error al querer cambiar de registro.

Mensaje de validación de registro


Del mismo modo que Texto de validación de campo permite personalizar el mensaje si
se infringe la Regla de validación de campo, cuando se infringe la Regla de validación
de registro, si se quiere personalizar el mensaje que por defecto emite Access, se usa
esta propiedad. Parece innecesario hacer una prueba para ver cómo funciona.

Generador de expresiones
Muy al pasar, nos hemos referido al generador de expresiones. Siempre que necesite
crear una expresión, sea en tablas, consultas, formularios, vistas o macros, puede va-
lerse de este generador, que facilita la tarea.
Las expresiones se construyen con funciones, operadores, constantes e identificado-
res (nombres de campos, de controles, de tablas, de consultas, de formularios, de in-
formes, de macros). El generador permite buscar e insertar estos componentes, facili-
tando escribir expresiones rápidamente y con precisión. Los componentes que ofrece
en cada caso son adecuados al contexto en que se escribe la expresión.
El generador se activa con el botón Generar de un cuadro de propiedad, o con las
palabras Expresión o Generar de un menú.

Características útiles
Apenas comience a escribir el nombre de un identificador o función, la facilidad Intelli-
Sense muestra una lista de valores posibles. Puede continuar escribiendo o hacer do-
ble clic en el valor correcto para agregarlo a la expresión. También puede usar las te-
clas y para ubicar el valor correcto y luego pulsar Tab o Enter para agregarlo a la
expresión. Para ocultar la lista, pulse Esc. Para volver a mostrarla, pulse Ctrl+Barra es-
paciadora.
Mientras está visible la lista, aparece una breve descripción o Sugerencia rápida, a la
derecha del elemento seleccionado. Por defecto, aparece seleccionado el primer ele-
mento de la lista, pero puede seleccionar cualquier otro y ver la Sugerencia rápida co-
rrespondiente.
Si escribe una función como parte de una expresión, Información rápida muestra su
sintaxis, con los argumentos opcionales entre corchetes. Mientras está visible la Infor-
mación rápida, puede dar clic en el nombre de la función para abrir la Ayuda y obtener
más información.
No confunda los corchetes que indican argumentos opcionales con los corchetes
que encierran identificadores en la expresión como tal.

Componentes
Los componentes del generador son:

22
Instrucciones. Aparece en la parte superior del generador. Brinda información sobre el
contexto en que se escribe la expresión. La palabra o palabras subrayadas son víncu-
los a la Ayuda.

Expresión. Es el cuadro de texto donde se crean las expresiones. Puede escribirlas


manualmente, usando si quiere IntelliSense y demás características. O puede usar las
tres listas situadas debajo del cuadro para seleccionar y agregar elementos. Si no ve
esas listas, dé clic en Más >>, a la derecha del cuadro Expresión.

Elementos de expresión. Muestra los elementos de máximo nivel disponibles para


crear una expresión, como objetos de base de datos, funciones, constantes, operado-
res y expresiones comunes. El contenido de esta lista varía según el contexto.

Categorías de expresión. Contiene elementos o categorías de elementos correspon-


dientes a lo seleccionado en Elementos de expresión. Cuando son categorías, sus
componentes se muestran en Valores de expresión. Si no hay valores en la lista Valo-
res de expresión, dé doble clic en el elemento de categoría para agregarlo al cuadro
Expresión.

Valores de expresión. Muestra los valores, si los hay, de los elementos y categorías
seleccionados en las listas de la izquierda y del centro.

23
V. Relaciones
En una base de datos los datos se distribuyen en distintas tablas, de modo que se
puedan recuperar desde ellas para preparar información muy variada. Para esto, es
necesario combinar o relacionar las tablas. Combinar y relacionar no son términos
equivalentes. Más adelante aprenderá la distinción.
Sean las tablas Vendedores, Clientes, Artículos, Facturas y Detalles. Las cuatro pri-
meras tienen las claves principales (o intrínsecas, o internas) Ven, Cli, Art y Fac, res-
pectivamente. Las claves principales identifican a cada vendedor, cliente, artículo y fac-
tura, de modo que sean únicos y no se repitan en distintos registros de las tablas res-
pectivas.
Las claves externas (Fac y Art de Detalles, Cli y Ven de Facturas) no identifican los
registros, por lo que los valores pueden repetirse en distintos registros; pero sirven para
relacionarlos con registros de otras tablas. En Detalles, Fac apunta a Facturas y Art a
Artículos; y en Facturas, Cli apunta a Clientes y Ven a Vendedores.
La tabla Facturas, entonces, tiene la clave interna Fac y las claves externas Cli y
Ven. La tabla Detalles no tiene clave principal, porque ninguno de sus campos por sí
solo reúne los requisitos para serlo. Sin embargo, si considera los campos Fac y Art
como un todo, podría crear una clave principal.
Si quiere saber cuántas facturas ha comprado cada cliente, obteniendo el nombre
del cliente y el conteo de cuántas son, podrá realizar el cálculo combinando las tablas
Clientes y Facturas por el campo común Cli.

Lo mismo podría hacer para contar cuántas facturas ha producido cada vendedor,
combinando las tablas Vendedores y Facturas por el campo común Ven.
También podría calcular el importe total vendido a cada cliente, obteniendo el nom-
bre del cliente y la suma de los productos Can * PreFac. Para ello debería combinar
Clientes con Facturas por el campo Cli, y Facturas con Detalles, por el campo Fac.

24
Podría calcular cuánto compró cada cliente de cada artículo, o cuánto vendió cada
vendedor de cada artículo, o cuánto compró cada cliente a cada vendedor, o cuánto
compró cada cliente de cada artículo a cada vendedor, etc.
Todo lo anterior es posible porque las tablas pueden combinarse por los campos
clave. Las consultas usan combinaciones de tablas para lograr su cometido.
Sin esperar a la creación de una consulta, las tablas se pueden tener combinadas, o
mejor relacionadas, de forma permanente, mediante relaciones.
Tenga en cuenta esta importante distinción: en las consultas las tablas se combinan,
efecto que dura mientras se ejecutan las consultas; fuera de ellas, las tablas se relacio-
nan, efecto permanente.
Las relaciones tienen varias utilidades. Entre ellas:

 En la vista Hoja de datos de una tabla que esté relacionada con otra en la forma ma-
dre—hija, como Clientes con Facturas, puede hacer que el registro de cada cliente
se vea con un +. Si pulsa este símbolo, se transformará en – y aparecerán todas
las facturas que ha comprado.

 Al crear un formulario con Crear–Formularios–Formulario, teniendo la tabla Clientes


seleccionada en el panel de navegación, automáticamente se verán los datos del
cliente en cuadros de texto, arriba, y un subformulario con las facturas compradas
por él en vista Hoja de datos, abajo. Habrá dos barras de botones de navegación,
uno para los clientes y otro para las facturas.

 En base a una relación, puede definir reglas de integridad referencial, que permiten o
impiden eliminar registros o cambiar la clave en la tabla madre Clientes, si tiene re-
gistros relacionados en la tabla hija, o dar altas en la tabla hija Facturas si no tiene
su correspondiente registro relacionado en la tabla madre.

Crear una relación


Para relacionar dos tablas, el punto de partida es un campo de una tabla que sea clave
interna, papel que cumple la clave principal o cualquier campo que tenga un índice sin
duplicados. Esta tabla será la tabla principal o madre. El punto de llegada es un campo
equivalente (igual tipo de campo e igual contenido) de la otra tabla, sin exigencias que

25
sea clave principal, que tenga un índice por ese campo (si no lo tiene, Access crea el
índice adecuado) ni que tenga el mismo nombre. Esta segunda tabla será la tabla se-
cundaria o hija.

Ventana Relaciones. Es la ventana donde se crean, modifican o suprimen las rela-


ciones. Para abrirla hay varios recursos:

 Emita Herramientas de base de datos –Relaciones–Relaciones.

 Si hay una tabla abierta en vista Diseño, lo puede hacer con Diseño–Relaciones –
Relaciones.

 Si hay una tabla abierta en vista Hoja de datos, lo puede hacer con Tabla–
Relaciones –Relaciones.

Diálogo Mostrar tablas. Si no ha definido ninguna relación todavía, aparece este diá-
logo para elegir las tablas a relacionar. Si ya hay relaciones, aparecerá directamente la
ventana Relaciones; pero, si no están las tablas que necesita relacionar, emita Diseño–
Relaciones–Mostrar tabla. En el diálogo puede agregar tablas a la ventana, para des-
pués relacionarlas. Seleccione una de las tablas que pertenecerán a una relación o se-
leccione varias tablas manteniendo Ctrl. Pulse Agregar. Repita los dos pasos anteriores
hasta añadir todas las tablas a relacionar. Pulse Cerrar. Aparecerá la ventana Relacio-
nes con las tablas agregadas.

Crear relación. Tome el campo de relación de la tabla principal y arrástrelo hasta el


campo correspondiente de la tabla secundaria. Aparece el diálogo Modificar relaciones.
En la parte superior están los nombres de las dos tablas y debajo los campos de rela-
ción. Los datos de ambos campos se deben corresponder y deben ser del mismo tipo.
No puede relacionar, por ejemplo, una fecha con un apellido. Pero no es necesario que
los nombres de los campos sean los mismos.
Observe en la parte inferior el Tipo de relación que se asigna, lo que depende de las
características de los campos de relación (por ejemplo, si relaciona las tablas Clientes y
Facturas por el campo común Cli, será del tipo uno a varios, porque un mismo cliente
puede comprar más de una vez).
Puede activar Exigir integridad referencial y, una vez activada, activar Actualizar en
cascada los campos relacionados y/o Eliminar en cascada los registros relacionados.
Más adelante veremos las importantes consecuencias de esto.
Para terminar, dé clic en Crear.
Se crea la relación y ésta aparece en la ventana Relaciones. Si no activó la integri-
dad referencial, la relación se verá
•——•
si la activó, la verá
1——∞ o 1——1.

Modificar relación. Dé doble clic en la relación a modificar o dé clic secundario sobre


ella y seleccione Modificar relación.

26
Abra la base de datos Facturación, que utilizaremos en adelante. Emita Herramientas de base de datos
– Relaciones – Relaciones. Se abre la ventana Relaciones, que muestra todas las tablas y relaciones entre
ellas. Seleccione la tabla Provincias y pulse Delete. Desaparecen la tabla y la relación que tenía con Clien-
tes. Eso no significa que ha eliminado la tabla y la relación de la base de datos, sino de la ventana relacio-
nes. Dé clic secundario sobre el fondo de la ventana, donde no haya nada, y elija Mostrar tabla. Se abre el
diálogo Mostrar tabla, que tiene las fichas Tablas, Consultas y Ambas. En Tablas, seleccione Provincias y
pulse Agregar. Luego pulse Cerrar. Ha vuelto a aparecer Provincias en la ventana Relaciones, y también la
relación, lo que confirma que Access no eliminó ninguna de estas cosas, sino que las ocultó. Para cerrar la
ventana, pulse el botón de cierre.

Tipos de relación
Relación uno a varios (1—∞, que preferimos representar como 1—N). Sean las tablas
Clientes y Facturas. Para cualquier registro de Clientes puede haber muchos registros
en Facturas con igual Cli. La relación entre ambas tablas es 1—N.

Relación varios a varios (N—N). Sean las tablas Vendedores y Clientes. Un vendedor
puede vender a varios clientes y un cliente puede comprar a varios vendedores. La re-
lación se denomina N—N. Access no admite esta relación. Para resolver este caso,
debe crear una tercera tabla, digamos Facturas, denominada tabla de unión, que divide
la relación N—N en dos relaciones 1—N. Facturas debe incluir como claves externas
las claves Ven y Cli.

Relación uno a uno (1—1). Cada registro de la primera tabla sólo puede tener un re-
gistro coincidente en la segunda tabla, y viceversa. Es poco común. Sería el caso hipo-
tético de los socios de una institución que se registran en las tablas Datos Personales y
Datos Profesionales, serían tantísimos los datos necesitados que todos en una sola ta-
bla harían difícil su manejo. Ambas tablas se relacionarían por el campo DNI o por Ma-
trícula profesional.

Integridad referencial
Dado que los datos se distribuyen entre varias tablas, no se puede manejar una tabla
con independencia de las demás. Por ejemplo, si se agrega un nuevo cliente a la tabla
Clientes, en algún momento ese cliente comprará y generará una o más facturas que
se agregarán a la tabla Facturas. La información del cliente, entonces, no sólo estará
en una sola tabla, sino en dos. Si se elimina el cliente de Clientes, sin tener en cuenta
lo que pasa en Facturas, se estaría produciendo un error, porque las facturas de ese
cliente se referirían a un cliente que ya no existe más. También sería un error dar de al-
ta una factura referida a un cliente inexistente, porque la información sería incompleta.
Para evitar estos errores existe una forma de control llamada integridad referencial,
que necesita que ambas tablas estén relacionadas. Para aplicar integridad referencial
en una relación, es preciso habilitarla en el diálogo Modificar relaciones –Exigir integri-
dad referencial. Una vez habilitada, Access rechazará todas las operaciones que pue-
dan producir huérfanos en el lado N, según sigue:

27
1. Cambiar el campo clave de un registro en el lado 1 con hijos en el lado N. Por ejem-
plo, modificar el campo Cli de un registro en Clientes que vale 10 por el valor 500,
porque las facturas del cliente 10 quedarían sin padre. (Observe que el nuevo valor,
500, sería aceptado solamente si no se repite en Clientes, porque Cli es clave princi-
pal o tiene un índice sin duplicados.)

2. Dar de baja un registro en el lado 1 con hijos en el lado N. Por ejemplo, eliminar en
Clientes el registro cuyo Cli es 10, porque las facturas de este cliente otra vez que-
darían sin padre.

3. Dar de alta un registro del lado N que, de entrada, sea huérfano. Por ejemplo, dar de
alta una factura con Cli 1000, siendo que en la tabla Clientes no hay ningún Cli con
ese valor.

4. Modificar un registro del lado N, dejándolo huérfano. Por ejemplo, cambiar el Cli 10
de una factura, que tenía padre, por el valor 1000, que no existe en la tabla Clientes.

Aunque lo anterior es muy lógico, las limitaciones impuestas por los casos (1) y (2)
son excesivas, por lo que sigue:
Para el caso (1), sería deseable que, si se aplica el cambio de clave del lado 1, Ac-
cess automáticamente cambie la clave de los registros hijos del lado N. Con este pro-
pósito existe la opción Actualizar en cascada los campos relacionados.
Para el caso (2), sería deseable que, si se da de baja un registro del lado 1, Access
automáticamente dé de baja los registros hijos del lado N. Para este propósito existe la
opción Eliminar en cascada los registros relacionados.
Para los casos (3) y (4), la integridad referencial es necesaria, por la que no hay op-
ciones adicionales.

Abra la ventana Relaciones. Dé doble clic sobre la relación Facturas—Detalles. En el diálogo Modificar
relaciones, compruebe que esté activa la regla Exigir integridad referencial, pero inactivas Actualizar en
cascada los campos relacionados y Eliminar en cascada los registros relacionados.
En la tabla Facturas hay 2.000 facturas, que trataremos de no alterar de ninguna forma. Abra esta tabla
en vista Hoja de datos. Tratemos de eliminar un registro: seleccione todo el registro de la factura 1 y pulse
Delete. Access indica que no se puede eliminar el registro porque hay registros relacionados en la tabla
Detalles. Es correcto, porque en la relación está activada la regla Exigir integridad referencial, que produce
este efecto.
Ahora cambie el número de factura 1 por 5000. Access dice que no acepta el cambio, porque hay regis-
tros relacionados en la tabla Detalles. (Observe que cambiamos el número por 5000: no podríamos haber
escrito un número entre 1 y 2000, porque ya existen, y ese campo es la clave principal, que no acepta va-
lores repetidos). Si escribe otra vez 1, el error sigue apareciendo. Para escapar al mensaje, pulse Ctrl + Z.
Ahora Access repone el 1, que era el valor original. Esto también es efecto de la integridad referencial y
está bien, porque esta regla controla que no queden “huérfanos” en la tabla secundaria.
Abra ahora la tabla Detalles en vista Hoja de datos. Vaya al último registro y luego al que sigue, que
tiene un * al comienzo. Escriba 4000 como número de factura. Complete todos los campos. Intente volver
al registro anterior. Access dice que no puede agregar el registro, porque carece de “padre” en Facturas.
Es correcto. Para eliminar el registro, cambie el número de factura por un número correcto, por ejemplo
2000. Luego seleccione el registro y pulse Delete.
28
Cierre la tabla. Abra la ventana Relaciones. Seleccione la relación Facturas — Detalles. En el diálogo
Modificar relaciones active las propiedades Actualizar en cascada los campos relacionados y Eliminar en
cascada los registros relacionados.
Ahora vamos a agregar facturas “falsas” a las tablas Facturas y Detalles. Abra Facturas, vaya al final y
agregue una factura 3000, completando todos los campos. Para mayor comodidad, abra el + al comienzo
del registro. Aparece la Hoja de datos de Detalles, sin ningún registro. Ingrese un registro, completando
todos los campos. Puede ver que no aparece el campo Fac, porque al ser el campo de la relación, Access
no lo muestra, pero sí lo llena. Si quiere, agregue más registros. Pulse el botón – de Facturas, del registro
con factura 3000. Cambie ese número por 3500. Access no da ningún mensaje de error. Pulse el + y verá
los mismos registros de Detalles que agregó. Esto significa que el valor 3500 se introdujo automáticamente
en los registros hijos, efecto de la regla Actualizar en cascada los campos relacionados.
Cierre con – la hoja de datos de Detalles. Seleccione el registro de factura 3500 y pulse Delete. El re-
gistro se elimina, con todos sus hijos en Detalles, efecto de la regla Eliminar en cascada los registros rela-
cionados. Para sacarse la duda, cierre Facturas y abra Detalles. Busque si hay registros con Fac igual a
3500. No hay ninguno, porque fueron eliminados automáticamente.

Operaciones en la ventana relaciones

Agregar tablas. Si ya ha creado una relación y quiere crear otra, pero la tabla no
aparece en la ventana Relaciones, debe agregarla. Abra la ventana Relaciones. Acti-
ve el diálogo Mostrar tablas. Añada las tablas necesarias. Cierre el diálogo o arrastre
la tabla desde el panel de navegación.

Ocultar tablas. Para ocultar una tabla en la ventana Relaciones, sitúese en la venta-
na Relaciones. Dé clic secundario en la tabla y elija Ocultar tabla. También puede se-
leccionar la tabla y emitir Diseño –Relaciones – Ocultar tabla. Y también puede se-
leccionar la tabla y pulsar Delete (cuidado: seleccionar la tabla, no la relación).

Modificar relaciones. Para modificar relaciones ya creadas, colóquese en la venta-


na Relaciones. Dé clic secundario en la línea que representa la relación y elija Modi-
ficar relación (o seleccione la relación y emita Diseño–Herramientas –Modificar rela-
ciones). Se abre el diálogo Modificar relaciones. Realice los cambios deseados. Pul-
se Aceptar.

Eliminar relaciones. Para eliminar una relación, dé clic secundario en la relación y


elija Eliminar, o seleccione la relación y pulse Delete. La relación queda eliminada de
la ventana y de la base de datos.

Limpiar ventana Relaciones. Cuando una base de datos tiene muchas tablas y re-
laciones, la ventana puede ser difícil de interpretar. Puede limpiar la ventana y visua-
lizar únicamente las tablas y relaciones que le interesan. Hágalo con Diseño –
Herramientas –Borrar diseño. Desaparecerán todas las tablas y relaciones de la ven-
tana Relaciones, aunque siguen existiendo en la base de datos. Entonces puede
agregar a la ventana las tablas que le interesan (con Mostar tabla) y las relaciones

29
definidas entre esas tablas con Diseño–Relaciones –Mostrar relaciones directas.

Ver relaciones directas. Esta opción permite visualizar en la ventana Relaciones to-
das las relaciones en que interviene una tabla. Es útil cuando esa tabla tiene relaciones
con otras tablas que están ocultas, lo que oculta también las relaciones. Para hacerlo,
sitúese en la ventana Relaciones. Dé clic secundario en la tabla y elija Mostrar directas
(o seleccione la tabla y emita Diseño –Relaciones –Mostrar relaciones directas). Apare-
cerán todas las relaciones asociadas a la tabla y todas las tablas que intervienen en
ellas.

Visualizar todas las relaciones. Si quiere ver todas las relaciones y las tablas, sitúese
en la ventana Relaciones. Dé clic secundario sobre el fondo de la ventana y elija Mos-
trar todo (o emita Diseño –Relaciones –Mostrar todas las relaciones). Aparecerán todas
las relaciones existentes en la base de datos y las tablas asociadas.

30
VI. Fichas muy usadas
Access dispone de varias fichas, referidas también como pestañas (aunque una pesta-
ña es la parte visible de una ficha), que permite seleccionarla. Algunas merecen espe-
cial consideración, porque están presentes en muchas vistas; y otras, de ámbito más
reducido, merecen ser tratadas especialmente. Las que no están contempladas en este
capítulo, son mencionadas en el lugar donde se necesitan.
Es difícil tratar simultáneamente, por ejemplo, formularios y las fichas relacionadas.
El lector puede entender esta dificultad y deberá recurrir a este capítulo como fuente de
información más completa cuando lo necesite.

Ficha Inicio
Esta ficha aparece en muchas vistas. Algunos grupos varían, según la vista, pero otros
son constantes. Aquí nos interesan estos últimos.

1 Vistas. Contiene un solo botón, Ver. Permite cambiar la vista de una tabla, consulta,
formulario o informe. Algunas vistas sirven para diseñar el objeto y otras para mostrar
el resultado con datos reales.

1.1 Ver. Cambia la vista del objeto activo. Las vistas ofrecidas varían según que el ob-
jeto actual sea una tabla, una consulta, un formulario o un informe. Veamos para qué
sirve cada vista.

1.1.1 Vista Diseño. Se presenta de diversas formas, según que el objeto actual sea
una tabla, una consulta, un formulario o un informe.

1.1.2 Vista Hoja de datos. Muestra los registros en filas y los campos en columnas. Se
habilita mediante la propiedad Permitir vista hoja de datos, que en tablas y consultas,
por defecto, vale Sí. Se puede habilitar en formularios.

1.1.3 Vista Tabla dinámica. Presenta una estructura de filas, columnas y filtro para lle-
nar con campos organizadores, más un área de datos, para campos de resumen o a
resumir con funciones de agregado. La tabla o consulta de donde se toman los campos
debe tener una estructura adecuada para que la tabla dinámica tenga sentido. Lo que
se define se guarda con la tabla o consulta.

1.1.4 Vista Gráfico dinámico. Presenta una estructura de series, categorías y filtro pa-
ra llenar con campos organizadores, más un área de datos, para campos que represen-
tan los valores de las series. El gráfico es de columnas. Lo que se define se guarda con
la tabla o consulta.

1.1.5 Vista SQL. Está disponible en consultas. Muestra la instrucción SELECT de SQL
que se va construyendo a medida que se diseña la consulta. Si conoce SQL, puede
encontrar explicación a errores que Access denuncia al intentar ejecutar la consulta.
También puede copiar la instrucción SELECT y pegarla en otro lugar.

31
1.1.6 Vista Formulario. Es la vista que presenta un formulario para editar datos. Per-
mite muy pocos cambios de diseño, que se guardan al cerrar el formulario.

1.1.7 Vista Informe. Es la vista que se presenta al ejecutar el informe. No permite mo-
dificar el diseño ni los datos, pero sí aplicar filtros y ordenamiento, que afectan la visua-
lización, no el diseño ni los datos.

1.1.8 Vista Presentación. Está disponible en formularios e informes. Presenta los da-
tos tal como se verán al ejecutar el formulario o el informe, con la ventaja que permite
modificar el diseño.

1.1.9 Vista Preliminar. Presenta el informe tal cómo se imprimirá. No permite modificar
el diseño ni los datos. Sí permite modificar la página, la orientación y aspectos relacio-
nados con la impresión.

2 Portapapeles. Este grupo, familiar a los usuarios, tiene modalidades particulares.

2.1 Pegar. Se activa cuando se ha copiado o cortado una selección cualquiera.

2.1.1 Pegar. Pega el contenido del portapapeles.

2.1.2 Pegado especial. Permite elegir una forma de pegar el contenido del portapape-
les. Por ejemplo, si se copia una página de Internet y se quiere pegar, esta opción per-
mite elegir si se quiere como HTML, como texto, etc.

2.1.3 Pegar datos anexados. Si en el panel de navegación copia una tabla o consulta
A y después abre una tabla B y emite este comando, agregará todos los registros de A.
Si copia algunos registros de A, cambia a B y emite este comando, agregará los regis-
tros de A que había copiado.

2.2 Cortar. Elimina una selección cualquiera, pero manda una copia de ella al portapa-
peles, de modo que se pueda pegar en otro sitio.

2. 3 Copiar. Copia una selección cualquiera en el portapapeles.

2.4 Copiar formato. Se activa en vistas Diseño y Presentación de formularios e infor-


mes. Copia el formato de un control (fuente, tamaño de fuente, color, etc.) y activa el
pegado de formato, que muestra el cambio del puntero del mouse. Dando clic con este
puntero en otro control, se pega el formato del original. Como es habitual, cuando acti-
va este botón con doble clic, puede copiar el formato varias veces, hasta deshabilitar el
botón con clic o con Esc.

3 Ordenar y filtrar. Los filtros tienen en cuenta ciertos registros e ignoran otros, en una
tabla, consulta, formulario o informe. Los registros ignorados permanecen ocultos hasta
quitar el filtro. No se pueden filtrar campos calculados ni controles calculados.
Cuando se aplica un filtro, se activa el botón Sin filtro de la barra botones de nave-

32
gación, que ahora dice Filtrado. Este botón activa o desactiva el filtro, sin borrarlo. Si lo
activa, dirá Filtrado; si lo desactiva, dirá Sin filtrar. En la vista Hoja de datos de una ta-
bla o consulta, la columna que tiene un filtro mostrará un embudo a la derecha del en-
cabezado, cuando el filtro esté activado. Este ícono abre un menú igual al de Inicio –
Ordenar y filtrar – Filtro.
Cada campo puede tener un solo filtro por vez, pero distintos campos pueden tener
un filtro cada uno. Un filtro permanece activo mientras no se lo borre o no se cierre el
objeto al que se aplica, incluso si se cambia a otra vista del objeto. Si guarda el objeto
mientras está activo el filtro, éste estará disponible la próxima vez que abra el objeto.
Este grupo es muy importante, y conviene que el lector lo practique bien.

3.1 Filtro. Presenta un menú con las siguientes opciones.

3.1.1 Ordenamiento. Ordena los registros por el campo actual, en forma ascendente o
descendente. Según el tipo del campo, las opciones son:

NÚMEROS: Ordenar de menor a mayor, Ordenar de mayor a menor

FECHAS: Ordenar de más antiguo a más reciente, Ordenar de más reciente a más anti-
guo

TEXTO: Ordenar de A hasta Z, Ordenar de Z hasta A

3.1.2 Quitar filtro de X. Si un campo X tiene aplicado un filtro, esta opción borra el fil-
tro. No afecta los filtros de los demás campos.

3.1.3 Filtros de números. Aparece si el campo es numérico. Todas las opciones, que
piden un número como criterio, son: Es igual a, No es igual a, Menor que, Mayor que,
Entre.

3.1.4 Filtros de texto. Aparece si el campo es de texto. Cada opción abre un diálogo
para escribir un texto, que puede incluir los comodines * y ?. Para omitir el significado
de un comodín y usar literalmente el asterisco y el signo de pregunta, colóquelos entre
corchetes. Las opciones son: Es igual a, No es igual a, Empieza por, No comienza por,
Contiene, No contiene, Termina con, No termina en.

3.1.5 Filtros de fechas. Aparece si el campo es de fecha. Todas las opciones piden
una fecha como criterio, excepto Entre, que pide dos, son: Es igual a, No es igual a,
Antes de, Después de, Entre, etc. Todas las fechas del período. Esta última presenta
los períodos por trimestre y por el nombre del mes.

3.1.6 (Seleccionar todo). Si se tilda esta opción, se seleccionan todos los valores de la
lista que están al final. Si se desactiva, se deseleccionan todos los valores, permitiendo
tildar los que se desean.

3.1.7 (Vacías). Si se tilda, muestra sólo los registros que tienen vacío este campo. Si

33
se desactiva, se muestran todos los registros.

3.1.8 Lista de valores. Es una lista de los valores distintos que hay en el campo en los
distintos registros, tomados una vez. Access limita a 1000 la cantidad de estos valores,
de modo que si superan ese máximo, no construye la lista.

3.2 Ascendente. Ordena el campo seleccionado en sentido ascendente. Es lo mismo


que vimos en el ordenamiento del comando Filtro, pero no expresado con palabras. Si
se ordena por un campo y luego por otro, se pierde el primer ordenamiento. Para orde-
nar por más de un campo, deben colocarse los campos en forma adyacente, en orden
de izquierda a derecha de acuerdo a la prioridad que se quiera dar.

3.3 Descendente. Ordena el campo seleccionado en sentido descendente. Vale lo co-


mentado en Ascendente.

3.4 Quitar orden. Quita el orden imperante sobre los registros, que se vuelven a ver
como se han grabado.

3.5 Selección. Toma el valor del campo como modelo para definir un filtro. También se
puede elegir una porción del valor del campo, que servirá de modelo. Según el tipo del
campo, las opciones son:

NÚMEROS: Igual a, No es igual, Menor o igual que, Mayor o igual que, Entre.

TEXTO: Igual a, No es igual a, Contiene, No contiene.

FECHAS: Igual a, No es igual a, En o antes de, En o después de, Entre. En las opciones
Entre, se abandona el valor del campo como modelo, debiéndose definir dos valores
como extremos del intervalo.

3.6 Avanzadas. Este conjunto de comandos permite definir filtros complejos.

3.6.1 Borrar todos los filtros. Borra a la vez los filtros que hay sobre distintos campos.
Es muy práctico cuando hay varios filtros vigentes. Los filtros borrados no se pueden
recuperar. Si se quieren de nuevo, hay que volver a definirlos.

3.6.2 Filtro por formulario. Permite definir filtros por varios campos.
El comando crea dos hojas de datos o dos formularios, todos en blanco, con la mis-
ma estructura de la tabla, consulta o formulario que se quiere filtrar. La primera hoja se
llama Buscar y la segunda O. Cada hoja presenta un solo registro para definir el filtro.
Sólo hay que llenar los campos que van a intervenir en el filtro. La hoja O se habilita
cuando escribe en la hoja Buscar. Cuando escribe algo en la hoja O, se agrega otra ho-
ja O, y así.
Si llena dos o más campos de la hoja Buscar, se interpretan unidos por el operador
Y. Por ejemplo, para filtrar la tabla Facturas, si llena el campo Cliente del registro en
blanco con el valor 10 y el campo Vendedor con el valor 4, está definiendo el siguiente

34
filtro:
Cliente=10 Y Vendedor=4
Si quiere que un campo tenga un valor u otro, debe usar la ficha O. Por ejemplo, si
quiere que el cliente sea 10 y el vendedor sea 4, o el cliente sea 12, la hoja Buscar será
igual al ejemplo anterior, pero en la hoja O debe escribir 12 en el campo Cliente. Ac-
cess lo interpretará así:
(Cliente=10 Y Vendedor=4) O Cliente=12
Si quiere que el cliente sea 10 o 12 y el vendedor, en ambos casos, sea 4, puede
usar solamente la hoja Buscar. Para este caso, dentro del campo Cliente escriba10 O
12. Access lo interpretará así:
(Cliente=10 O Cliente=12) Y Vendedor=4
Lo anterior también se puede hacer usando la hoja Buscar para definir la expresión
Cliente=10 Y Vendedor=4
y la hoja O para definir la expresión
Cliente=12 Y Vendedor=4
Pueden utilizarse los comodines ? * # y [ ], veamos algunos ejemplos con la tabla
Clientes
Nomcli Como "?a*"
Para ver los Clientes que tienen como segunda letra a
Nomcli Como "?[ae]*"
Para ver los Clientes que tienen como segunda letra a O e
Nomcli Como "?[a-e]*"
Para ver los Clientes que tienen como segunda letra entre a Y e
Nomcli Como "?[!a-e]*"
Para ver los Clientes que NO tienen como segunda letra entre a Y e
Dom Como "* 3## *"
Para ver los Clientes cuya numeración del Domicilio tenga 3posiciones y comiencen
con un 3

3.6.3 Aplicar filtro u ordenar. Aplica el filtro que se define en Filtro por formulario si se
define por primera vez. También activa cualquier filtro desactivado que no se haya bo-
rrado. En cuando a ordenamiento, se refiere al que se crea con Filtro avanzado / Orde-
nar, que se expone a continuación.

3.6.4 Filtro avanzado / Ordenar. Crea una consulta para elegir los campos a filtrar u
ordenar. En la fila Criterios se define el filtro y en la fila Ordenar el sentido de la orde-
nación. En la región de tablas de la consulta aparece la tabla a que pertenece el campo
desde donde se da el comando. Por ejemplo, si está viendo un formulario principal /
subordinado, si da el comando desde un campo de la tabla principal, esa tabla será la
que aparezca en la región de tablas; pero si lo da desde un campo de la tabla subordi-
nada, será esta la que aparezca en esa región.

3.6.5 Cargar desde la consulta. Si emite Filtro Avanzado / Ordenar y quiere valerse
de una consulta ya creada, este comando le permite cargar esa consulta para luego co-
rregir lo que le interesa.

35
3.6.6 Guardar como consulta. Guarda la consulta creada con Filtro avanzado / Orde-
nar, pidiendo un nombre para el archivo.

3.6.7 Eliminar ficha. Elimina la hoja O seleccionada en un Filtro por formulario. Si se-
lecciona la hoja Buscar, borra todo su contenido, pero no elimina la hoja.

3.6.8 Borrar cuadrícula. Cuando trabaja en Filtro avanzado / Ordenar, borra el conte-
nido de todas las filas y todos los campos de la consulta.

3.6.9 Cerrar. Descarta los cambios realizados en Filtro por formulario y Filtro avanzado
/ Ordenar.

3.7 Alternar filtro. Cuando se activa, activa los filtros vigentes. Cuando se desactiva,
los filtros dejan de tener vigencia, pero siguen existiendo. Si al momento de cerrar una
tabla, consulta, formulario o informe hay filtros vigentes, se guardan con el objeto y es-
tán disponibles para volver a aplicarlos. Por defecto, los filtros no se activarán cuando
se abra el objeto. Para que se activen automáticamente en cualquier apertura, hay que
dar el valor Sí a la propiedad Filtrar al cargar del objeto.

4 Registros

4.1 Actualizar todo. En entornos multiusuarios, si se está viendo una tabla, consulta,
formulario o informe, y otros usuarios modifican el origen, puede que no vea los datos
actuales. Si bien Access actualiza automáticamente las vistas, lo hace a intervalos. Pa-
ra forzar la actualización en cualquier momento, use este comando. Tiene tres botones,
que no comentaremos.

4.2 Nuevo. Va al final de la tabla, para agregar un registro nuevo.

4.3 Guardar. Access guarda un registro cuando se va a otro. Si quiere guardar un re-
gistro sin ir a otro, emita este comando.

4.4 Eliminar. Está disponible en tablas y formularios. Produce tres eliminaciones.

4.4.1 Eliminar. Elimina el contenido seleccionado. Se activa si hay selección.

4.4.2 Eliminar registro. Elimina el registro actual.

4.4.3 Eliminar columna. Elimina el campo actual.

4.5 Totales. No está disponible en informes. Si una tabla, consulta o formulario está en
vista Hoja de datos, agrega un registro al final con la misma estructura. En cada campo
se puede elegir el tipo de operación adecuada al tipo: suma, promedio, cuenta, etc. El
registro marcado con * para agregar nuevos registros aparece antes del registro de to-
tales. Si se desactiva este botón, deja de verse el registro de totales, pero sigue exis-
tiendo. Para eliminarlo, hay que elegir la opción Ninguna en todos los campos, desacti-

36
var el botón Totales y guardar la tabla.

4.6 Revisión ortográfica. Controla la ortografía del texto de una tabla en vista Hoja de
datos. Por defecto, examina todos los campos; pero, si se selecciona una o más co-
lumnas contiguas, reduce el examen sólo a ellas.

4.7 Más. Si guarda la tabla, los cambios introducidos por los siguientes comandos que-
dan predeterminados.

4.7.1 Alto de fila. Abre un diálogo que ofrece un campo para escribir el número a dar a
la altura de cada registro.

4.7.2 Hoja secundaria de datos. Si la tabla actual A es principal en una relación con la
tabla secundaria B, se puede hacer que al presentar A en vista Hoja de datos aparezca
el símbolo + al comienzo de cada registro. Esto permite abrir, para un registro dado de
A, todos los registros subordinados en B. Pero esta facilidad se puede anular. Si A tie-
ne relación con B, C y D, Access no puede saber con cuál tabla secundaria privilegiar
la aparición de los +. Para resolver estas situaciones, este botón ofrece las siguientes
opciones:

4.7.2.1 Hoja secundaria de datos. Abre el diálogo Insertar hoja secundaria de datos.
Tiene una ficha para tablas, otra para consultas y otra para ambas. Sirve para elegir el
archivo secundario que se relacionará con la tabla principal. Sólo puede haber una re-
lación por vez. La relación definida queda establecida de modo permanente.

4.7.2.2 Quitar Dejará de mostrar los + en la tabla primaria.

4.7.2.3 Expandir todo. Expande todos los +, mostrando todos los registros subordina-
dos a cada registro principal.

4.7.2.4 Contraer todo. Contrae todos los registros que están expandidos.

4.7.3 Ocultar campos. Oculta el campo seleccionado. También oculta varios campos
seleccionados, si son contiguos.

4.7.4 Mostrar campos. Abre un diálogo que lista todos los campos. Los que tienen la
casilla de verificación tildada, están visibles. Para mostrar los campos ocultos, debe til-
dar la casilla de verificación correspondiente al campo.

4.7.5 Inmovilizar campos. Cuando la cantidad de campos y/o el ancho de las colum-
nas no dejan ver la totalidad de un registro, puede seleccionar uno o más campos para
que permanezcan fijos en pantalla. Los campos inmovilizados pasan a la izquierda. Si
guarda la tabla, este cambio de posición se hace permanente en la estructura.

4.7.6 Liberar todos los campos. Si hay campos inmovilizados, los moviliza.

37
4.7.7 Ancho del campo. Permite escribir un ancho para la columna seleccionada.

5 Buscar. Este grupo es familiar para el lector. Sus componentes son los siguientes.

5.1 Buscar. Busca un contenido. En tablas y formularios abre el diálogo Buscar y re-
emplazar, ficha Buscar. En consultas e informes abre el diálogo Buscar. La ficha tiene
los siguientes componentes:

a) Buscar. Es el contenido a buscar.

b) Buscar en. Establece el alcance de la búsqueda. Las opciones son:

CAMPO ACTUAL. Limita la búsqueda al campo donde está el puntero. No está habilitado
en vista Informe.

DOCUMENTO ACTUAL. Busca en todos los campos de todos los registros.

c) Coincidir. Las opciones son:

CUALQUIER PARTE DEL CAMPO. No importa dónde esté el texto buscado dentro del cam-
po.

HACER COINCIDIR TODO EL CAMPO. El texto buscado debe ser el contenido total del cam-
po.

COMIENZO DEL CAMPO. El texto buscado debe estar al comienzo del campo.

d) Buscar. Aunque el nombre se repite, es una lista de las opciones siguientes:

ARRIBA. Busca desde el registro actual hasta el principio de la tabla.

ABAJO. Busca desde el registro actual hasta el final de la tabla.

TODOS. Busca desde el registro actual al final de la tabla, y luego desde el principio de
la tabla al registro anterior a aquél donde comenzó a buscar.

e) Coincidir mayúsculas y minúsculas. Si se tilda, Access observa exactamente có-


mo está escrito el texto a buscar.

f) Buscar los campos con formato. Se activa cuando se busca en un campo que tie-
ne definida la propiedad Formato. Por ejemplo, el campo PreAct de la tabla Artículos
tiene formato Estándar. En el registro del artículo A07, el precio ha sido introducido co-
mo 16, sin decimales. Pero el formato lo muestra como 16,00. Si busca un precio 16,
sin activar esta opción, Access lo encontrará. Pero si lo busca activando esta opción,
no lo encontrará. Solamente lo encontrará si lo escribe tal cual se ve, es decir, 16,00.

38
g) Buscar siguiente. Este botón inicia la búsqueda, que se detiene en el primer regis-
tro que contiene el texto buscado. Si se vuelve a pulsar, la búsqueda sigue y se detiene
en el segundo registro que lo contiene, etc.

5.2 Reemplazar. Busca un contenido y lo reemplaza por otro. En tablas y formularios


abre el diálogo Buscar y reemplazar, ficha Reemplazar. Similar en varios componentes
a Buscar, veamos en lo que difieren.

a) Reemplazar por. Es el texto de reemplazo cuando se encuentra el texto buscado.

b) Reemplazar. Cuando la búsqueda se detiene en un registro porque se encuentra el


texto buscado, este botón produce el reemplazo.

c) Reemplazar todos. Reemplaza el texto en todos los registros que contienen el texto
buscado.

5.3 Ir a. Tiene las mismas opciones de la barra de botones de navegación: Primero,


Anterior, Siguiente, Último, Nuevo.

5.4 Seleccionar. Tiene dos botones.

5.4.1 Seleccionar. Selecciona todo el registro actual.

5.4.2 Seleccionar todo. Selecciona todos los registros.

6 Formato de texto. La mayoría de los botones son conocidos y no merecen explica-


ción. Nos limitaremos a los dos siguientes, que tienen efectos en vista Hoja de datos.

6.1 Líneas de la cuadrícula. Ofrece líneas horizontales y verticales, sólo horizontales,


sólo verticales y ninguna.

6.2 Alternar color de fila. Ofrece colores para pintar cada fila por medio, lo que permi-
te seguir cómodamente cada una. También ofrece quitar el color.

Ficha Diseño (de formularios)


Veamos los botones más importantes.

1 Vistas. Si la propiedad Permitir vista X de un formulario, donde X es el nombre de


una vista, vale Si, se presentará como una opción de este grupo. Normalmente están
habilitadas las vistas Formulario y Presentación. La vista Diseño siempre lo está.

2 Temas. Un tema es un conjunto de formatos que conforman un estilo de presentar un


formulario: colores, fuente y efectos por defecto. Si se cambia el tema, no sólo se cam-
bia en el formulario actual, sino en todos ellos. Aun así, puede personalizar algunos
elementos con las herramientas de la ficha Formato, sin modificar el estilo.

39
2.1 Temas. Sirve para cambiar de tema, seleccionando el que interesa. Puede crear
sus propios temas estableciendo formatos y pulsando Guardar tema actual. Para recu-
perar un tema personalizado y aplicarlo, pulse Buscar temas, e inspeccione la carpeta
donde lo haya guardado. Si hay un tema parecido a lo que busca, puede cambiar al-
guno de sus aspectos mediante los botones Colores y Fuentes.

2.2 Colores. Ofrece gran cantidad de colores predeterminados y permite crear nuevos
mediante el botón Crear nuevos colores del tema. Esto abre un diálogo donde se pue-
den definir colores para distintos componentes visuales y guardarlos con un nombre..

2.3 Fuentes. Ofrece una lista de fuentes. El botón Crear abre un diálogo de igual nom-
bre para definir una fuente para el encabezado y otra para el cuerpo de un texto, que
se puede guardar con un nombre. Si se elige una fuente se cambiarán la fuente del
Formulario.

3 Encabezado y pie de página. Las tres opciones siguientes usan el encabezado de


formulario. Si éste no existe, Access lo agrega.

3.1 Logotipo. Abre un diálogo para buscar un archivo de imagen e insertarlo como lo-
gotipo.

3.2 Título. Agrega una etiqueta cuyo texto es el nombre del origen, pero que se puede
cambiar por otro.

3.3 Fecha y hora. Abre un diálogo para elegir un formato para fecha y/u otro para hora.
Agrega uno o dos cuadros de texto con las funciones Fecha( ) y HoraActual( ).

4 Herramientas. Agrupa herramientas diversas, de mucha utilidad.

4.1 Agregar campos existentes. Muestra u oculta la Lista de campos, desde donde se
pueden arrastrar campos al formulario para producir controles. Lo mismo se logra con
doble clic sobre los campos, con la ventaja de alineación automática.

4.2 Hoja de propiedades. Muestra u oculta la Hoja de propiedades: en principio, del


control seleccionado; pero puede acceder a las propiedades de cualquier control exis-
tente, seleccionándolo o usando la lista de controles de la hoja.

4.3 Orden de tabulación. Un formulario se puede manejar con el mouse, dando clic
donde se quiere cambiar un dato, elegir una opción, etc. Pero también se puede mane-
jar con la tecla Tab, que avanza de control en control, o con Shift + Tab, que retrocede
de control en control. Cuando el volumen de datos a ingresar a un formulario es eleva-
do, se prefiere que el usuario trabaje lo más posible con el teclado, para evitar que qui-
te su mano para tomar el mouse y la vuelva al teclado. La secuencia en que se avanza
o retrocede de control en control es llamada orden de tabulación. Cuando se diseña el
formulario, puede que los controles se vayan agregando en cualquier orden, pero el or-

40
den de agregado establece el orden de tabulación. Esto no siempre es lo deseado,
porque al pulsar Tab o Shift + Tab parecería que el avance o retroceso es errático.
El botón que nos ocupa abre el diálogo Orden de tabulación, que sirve para cambiar
el orden de los controles. Aparece una lista de controles en el orden actual. Para cam-
biar uno o varios controles simultáneos, se seleccionan y se suben o bajan hasta el lu-
gar deseado. El botón Orden automático dispone los controles siguiendo el orden en
que aparecen los campos en el formulario.

4.4 Ver código. Muestra la página de código asociada al formulario, en la que se pue-
den programar acciones usando el lenguaje VBA. Como es un tema de programación,
escapa a nuestro curso.

5 Controles. Un control es un objeto que muestra datos, realiza acciones o sirve como
decoración. Por ejemplo, puede usar un cuadro de texto para mostrar datos, un botón
de comando para abrir otro formulario, una línea o un rectángulo para separar y recua-
drar otros controles, etc. En este grupo hay un botón para cada tipo de control. Los bo-
tones se presentan en dos líneas, que se alternan con los botones ▼ y ▲, a la derecha.
Para ver todos los botones, pulse el botón .
Para crear varios controles del mismo tipo, puede bloquear el botón correspondiente
dando clic secundario sobre él y eligiendo Colocar varios controles. Entonces puede
crear todos los controles que quiera de ese tipo, sin tener que dar clic en el botón cada
vez. Para quitar el bloqueo pulse el botón Seleccionar o vuelva a seleccionar la opción
del menú contextual para desactivarla.
Si activa el botón Usar asistentes para controles, al crear determinados controles se
abre un asistente que lo guía en la definición de sus propiedades.
Los controles se usan tanto en formularios como en informes. Dado que conviene
tratarlos con más profundidad, los veremos más adelante.

Ficha Diseño (de informes)


La ficha Diseño aparece en las vistas Diseño y Presentación. Son casi iguales, excepto
que en vista Diseño el grupo Herramientas tiene más botones. Veamos los botones
más importantes de los grupos.

1 Vistas. El botón Ver permite cambia entre las vistas Diseño, Presentación, Informes y
Preliminar.

2 Temas. Tiene herramientas para dar un estilo al informe. Funciona como en la ficha
Diseño de formularios.

3 Agrupación y totales. Permite definir grupos, ordenación y totales por grupo.

3.1 Agrupar y ordenar. Muestra u oculta el panel Agrupación, orden y total, que apa-
rece en la parte inferior de la ventana. La importancia de este panel merece tratarlo
ampliamente más adelante.

3.2 Totales. Agrega un total de grupo genérico, por lo que cada grupo concreto incluirá

41
un total.

3.3 Ocultar detalles. Muestra sólo los encabezados y pies, ocultando los datos de los
registros. Para volver a visualizar los datos ocultos, desactive este botón.

4 Controles. Contiene los tipos de controles que se pueden añadir al informe. Son los
mismos controles de los formularios.

5. Encabezado y pie de página

5.1 Números de página. Introduce un campo calculado para la página actual y otro
campo calculado con el total de páginas. Ambos se eligen a voluntad. También se elige
si se colocan en el encabezado o pie de página, y su alineación.

5.2 Logotipo. Permite introducir un vínculo a un archivo de imagen a usar como logoti-
po. Access lo coloca en el encabezado de informe.

5.3 Título. Introduce una etiqueta con el nombre del informe en el encabezado de in-
forme. El usuario puede modificar el texto o eliminar la etiqueta.

5.4 Fecha y hora. Introduce las funciones para fecha() y hora(), a elección, que toman
del reloj del sistema operativo. Se colocan en el encabezado de informe.

6 Herramientas. Veamos los botones más importantes.

6.1 Agregar campos existentes. Muestra u oculta el cuadro Lista de campos, donde
se elige una tabla como origen de datos, y los campos de ella que se desean añadir al
área de diseño. Tiene la desventaja de mostrar sólo tablas, no consultas.

6.3 Hoja de propiedades. Muestra u oculta el cuadro Propiedades del control selec-
cionado. Si se cambia el control en la lista de controles, se cambia la selección en el
formulario. Las propiedades de informe son similares a las de formulario.

6.2 Orden de tabulación. Abre el diálogo Orden de tabulación, que funciona como en
la ficha Diseño de formularios.

Ficha Organizar
Esta ficha aparece en vista Diseño de formularios e informes. Es muy importante para
refinar el diseño de estos objetos. Veamos algunos grupos.

1 Tabla. Permite distribuir los controles previamente seleccionados.

1.1 Apilado. Coloca un control bajo otro, las etiquetas a la izquierda y los cuadros de
texto a la derecha. Cada registro ocupará una página y deberá usar botones para na-
vegar por los registros.

42
1.2 Tabular. Coloca las etiquetas arriba y bajo ella los cuadros de texto, formando co-
lumnas, de modo que cada fila sea un registro.

1.3 Quitar diseño. Cuando se usan las distribuciones anteriores, los controles quedan
bloqueados, asegurando no romper el esquema perfectamente alineado. No podrá mo-
ver ni cambiar el tamaño individualmente. Para eliminar el bloqueo, pulse este botón.

2 Tamaño y orden. Tiene cuatro componentes.

2.1 Tamaño y espacio. Ajusta el tamaño y espaciado de los controles, distribuyendo


los botones en cuatro títulos:

2.1.1 Tamaño. Es el título de las siguientes opciones.

AJUSTAR. Ajusta el tamaño del control a su contenido.

AJUSTAR AL MÁS ALTO. Da a los controles seleccionados la altura del más alto.

AJUSTAR AL MÁS CORTO. Les da la altura del más bajo.

AJUSTAR AL MÁS ANCHO. Les da el ancho del más ancho.

AJUSTAR AL MÁS ESTRECHO. Les da el ancho del menos ancho.

AJUSTAR A LA CUADRÍCULA. Ajusta la posición de los controles a la cuadrícula.

2.1.2 Espaciado. Es el título de las siguientes opciones.

IGUALAR HORIZONTAL, IGUALAR VERTICAL. Trabaja al menos sobre tres controles selec-
cionados. Sin afectar los controles extremos, separa los intermedios con espaciados
iguales.

AUMENTAR HORIZONTAL, DISMINUIR HORIZONTAL, AUMENTAR VERTICAL, DISMINUIR


VERTICAL. Aumenta o disminuye los espacios que separan los controles. Previamente,
si las distancias entre los controles son diferentes, les aplica Igualar horizontal o
Igualar vertical, según corresponda.

2.1.3 Cuadrícula. Es el título de las siguientes opciones.

43
La cuadrícula se establece en 10 x 10 por
centímetro, mostrando líneas cada centí-
metro.

CUADRÍCULA. Muestra u oculta las líneas visibles de cuadrícula.

REGLA. Muestra u oculta la regla.

AJUSTAR A LA CUADRÍCULA. Activa o desactiva el ajuste general de los controles a las


líneas invisibles o visibles de la cuadrícula.

2.1.4 Agrupar. Es el título de las siguientes opciones.

AGRUPAR. Forma un grupo gráfico con los controles seleccionados. Si selecciona un


control del grupo, selecciona todo el grupo; si mueve un control, mueve todo el grupo;
si redimensiona un control, redimensiona todos los controles del grupo. No puede
hacer grupos de grupos.

DESAGRUPAR. Desagrupa los controles que forman un grupo.

2.2 Alinear. Puede mover los controles uno a uno, guiándose por la cuadrícula. Pero
este botón permite realizar de forma más cómoda esta tarea. Seleccione los contro-
les a alinear y pulse Alinear. Se desplegará un menú con las siguientes opciones.

A LA CUADRÍCULA. Alinea los controles guiándose por las líneas visibles o invisibles de
la cuadrícula. Puede alinear un solo control o varios a la vez.

IZQUIERDA, DERECHA, ARRIBA, ABAJO. Si selecciona dos controles situados a distinta al-
tura y pulsa Arriba, alinea los bordes superiores con respecto al borde superior del
control que está más arriba. Análogo efecto se produce con las demás opciones.

2.3 Traer al frente. Coloca el control seleccionado delante de otro u otros controles,
cuando se superponen.

2.4 Enviar al fondo. Coloca el control seleccionado detrás de otro u otros controles,
cuando se superponen.

Ficha Vista preliminar

44
1 Imprimir. El botón Imprimir abre el diálogo de igual nombre. Lo mismo se consigue
con Archivo–Imprimir–Imprimir.

2 Tamaño de página. Contiene los siguientes botones:

2.1 Tamaño. Presenta una lista de tamaños de papel, para elegir uno.

2.2 Márgenes. Ofrece los estilos Última configuración personalizada, Normal, Ancho
y Estrecho para los cuatro márgenes.

2.3 Imprimir sólo los datos. Visualiza sólo el contenido de los controles, no sus
bordes. No muestra las etiquetas.

3 Diseño de página. Permite cambiar la orientación del papel y configurar la página.

3.1 Vertical. Imprime en forma de retrato.

3.2 Horizontal. Imprime en forma de paisaje (apaisado).

3.3 Columnas. Cuando la página a imprimir ocupa la porción izquierda de la hoja y


deja una porción desaprovechada a la derecha, puede establecer dos o más colum-
nas, de modo que cada columna contenga una página. Este botón abre el diálogo
Configurar página, en la ficha Columnas.

3.4 Configurar página. Abre el diálogo Configurar página, en la ficha Opciones de


impresión. Acá puede personalizar los márgenes con sus propias medidas en mm.

4 Zoom. Cambia la visualización del informe en pantalla. Las opciones son:

4.1 Zoom. Acerca o aleja el informe. La lista desplegable muestra distintos porcenta-
jes de visualización, entre 10% y 1000%.

4.2 Una página, Dos páginas, Más páginas. Muestran una, dos o varias páginas a
la vez (cuatro, ocho o doce).

5 Datos. Exporta los datos a archivos de los siguientes formatos.

5.1 Excel, Archivo de texto, PDF o XPS, Correo electrónico. Exporta los datos a
los tipos de archivo que indica cada opción, excepto Correo electrónico, que permite
elegir el tipo.

5.2 Más. Ofrece varios destinos. Entre ellos Word, que exporta los datos a un archivo
de texto enriquecido (.RTF).

6 Cerrar vista preliminar. El único botón, de igual nombre, cierra la vista preliminar.

45
VII. Consultas
Las consultas son objetos que permiten recuperar datos de las tablas, modificarlos e
incluso almacenar el resultado en otra tabla. Hay varios tipos de consulta.

Consultas de selección. Muestran datos de una tabla, que pueden estar sujetos a
condiciones. Obtenido el resultado, el usuario a veces puede modificar los datos. Una
consulta de selección genera una tabla lógica (se llama lógica porque no está física-
mente en disco, sino en memoria). Cada vez que se ejecuta la consulta se vuelve a
generar la tabla lógica.

Consultas de acción. Permiten crear una nueva tabla a partir de los registros de
otra, modificar datos de tablas, eliminar o agregar nuevos registros. Esto hace que
existan los siguientes subtipos: de creación de tablas, de actualización, de elimina-
ción y de datos anexados.

Consultas específicas de SQL. No se pueden definir desde la cuadrícula, sino en


SQL (Structured Query Language en español Lenguaje de consulta estructurado), co-
mo las consultas de Unión. No se estudian en este curso.

Consultas de selección
Crear una consulta
Para crear una consulta en la base de datos donde la guardará, emita Crear –
Consultas –Diseño de Consulta.
También puede usar el Asistente para consultas para crear consultas con algo de
ayuda. Para activarlo, emita Crear –Consultas –Asistente para consultas. En el primer
diálogo se elige la variedad de consulta deseada. La primera variedad, Asistente para
consultas sencillas, crea consultas comunes. Las otras opciones permiten generar va-
riedades especiales, que veremos más adelante.

Vista Diseño
Esta vista es el fundamento para entender todas las variedades de consultas. Al entrar
a ella con Crear – Consultas – Diseño de Consulta, se abre la ventana Diseño y sobre
ella el diálogo Mostrar Tabla, que pide tablas y/o consultas para obtener los datos a
procesar. Seleccione cada tabla o consulta necesitada y pulse Agregar. Cuando termi-
ne, pulse Cerrar.
El panel superior de la ventana Diseño es la zona o panel de tablas, donde aparecen
las tablas y/o consultas agregadas y sus campos. Genéricamente, constituyen el origen
de la consulta.
Abajo hay una cuadrícula donde se define lo que hará la consulta. En cada columna
se introduce lo que será un campo de salida. Cada fila tiene un propósito, como sigue.

Campo. Se coloca el campo de salida, que se toma de un campo de una tabla de en-
trada o es un campo calculado.

46
Tabla. Tabla de donde se obtiene el campo. Access escribe automáticamente la tabla a
la que pertenece cada campo. En caso de campos calculados, se deja en blanco.

Orden. Sirve para ordenar las filas del resultado.

Mostrar. Si está desactivada, el campo no aparecerá en el resultado. Se desactiva


cuando se usa el campo para definir la consulta, pero no se quiere en el resultado. Por
ejemplo, para mostrar los clientes de la provincia de San Luis, no es necesario mostrar
el campo Prov, porque se repetiría en todos los registros de salida. Más lógico sería dar
un nombre a la consulta que indique que se trata de San Luis.

Criterios. Sirve para definir: a) el filtro o condición que deben cumplir los registros del
origen para que intervengan en la “fabricación” del resultado. Estos filtros se aplican a
los campos de tablas o consultas y son los “filtros de entrada” y b) el filtro o condición
que deben cumplir los registros de la consulta para ser mostrados y son los “filtros de
salida”. Estos filtros se aplican a los campos calculados.
Puede ser una condición simple o una condición compuesta por varias condiciones
simples unidas por el operador Y.

O. Esta fila y las siguientes en blanco se usan para la segunda, tercera, etc. condi-
ciones de una condición compuesta con el operador O.

Campo Fac Art Total:[Can]*[PreFac]


Tabla Detalles Detalles Detalles
Orden
Mostrar   
Criterios Entre 1 Y 1000 >=20000
Filtro de entrada Filtro de salida

Agregar campos
Para agregar campos a la cuadrícula, puede:

 Dar doble clic en un campo que aparece en la zona de tablas. Éste se colocará en la
primera columna libre de la cuadrícula.

 Arrastrar el campo a la cuadrícula.

 Dar clic en la fila Campo de una columna vacía. Aparece una flecha para desplegar
una lista de todos los campos de todas las tablas agregadas. Si hay muchos campos
y tablas, puede reducir la lista seleccionando una tabla en la fila Tabla, con lo que
sólo aparecerán los campos que pertenecen a ella.

 Escribir el nombre del campo en la fila Campo de una columna vacía.

47
 Si quiere que todos los campos de la tabla aparezcan en el resultado, puede usar el
asterisco (*).Como la consulta no genera una tabla física, sino una cuasi tabla que
existe sólo en memoria, se genera en cada ejecución y no se guarda, las tablas físi-
cas con las que trabaja la consulta pueden sufrir modificaciones de diseño, como el
agregado o eliminación de campos. Dado que el asterisco representa todos los cam-
pos, en cada ejecución tomará todos los campos existentes en ese momento.

Guardar y cerrar una consulta


Para guardar una consulta, pulse la barra de Acceso Rápido–Guardar. O emita Archi-
vo–Guardar. O seleccione la opción Guardar del menú contextual sobre la pestaña de
la ficha de la consulta. O pulse Ctrl + G. Si es la primera vez que guarda la consulta,
aparecerá el diálogo para que le dé nombre, que puede ser cualquiera, excepto el de
una consulta ya creada. Luego pulse Aceptar.
Para cerrar una consulta, pulse el botón de cierre, X, en la ficha de la consulta. Si la
consulta tiene cambios no guardados, Access le preguntará si los quiere guardar.

Emita Crear – Consultas – Diseño de Consulta. En el diálogo Mostrar tabla seleccione Detalles y pulse
Agregar. Pulse Cerrar. Transfiera uno por uno todos los campos. Cambie a vista Hoja de datos. Por ahora,
el resultado es igual a lo que vemos en la misma vista de la tabla Detalles. Guarde la consulta con el nom-
bre C1.

Campos calculados
Igual que en las tablas, las consultas pueden incluir campos calculados. Si el cálculo se
usa a menudo, conviene definir el campo en la tabla. Pero si es poco frecuente, es me-
jor no usar espacio en disco, definiendo el campo calculado en la consulta.
Para definir un campo calculado, escriba una expresión en la fila Campo, observan-
do la sintaxis:
Nombre del campo calculado: expresión
Por ejemplo, si quisiera calcular el valor del campo PreAct de la tabla Artículos au-
mentado un 10%, podría escribir la siguiente expresión:
Nuevo precio: PreAct * 1,1
Al pulsar Enter se guarda la expresión y se aplicarán ciertos cambios, como encerrar
entre corchetes los campos, eliminar espacios innecesarios, etc.:
Nuevo precio: [PreAct]*1,1

En vista Diseño, en la primera columna vacía de C1, agregue el campo calculado


Importe:[Can]*[PreFac]
No olvide guardar la consulta, aunque no la cierre, para salvar los cambios. Cambie a vista Hoja de da-
tos. Ahora tenemos una nueva columna, que no existe en la tabla Detalles. Si la expresión de Importe sale
sin decimales en algunos casos y con un decimal en otros, podemos hacer que siempre muestre dos de-
cimales. Para ello cambie a vista Diseño. En la columna Importe dé clic secundario y elija Propiedades. En
la Hoja de propiedades, cambie el valor de la propiedad Formato a Estándar. Cierre la hoja de propiedades
y cambie a vista Hoja de datos. Ahora se ve bien.

Encabezados de columna
Por defecto, el encabezado de cada campo de salida es el nombre del campo de en-

48
trada o el Título si posee. Si quiere otro: a) y no tiene Título, escríbalo en la fila Campo,
delante del nombre del campo, seguido por dos puntos; b) y si tiene Título, escríbalo en
la propiedad Título de la pestaña General de la Hoja de propiedades del campo. Por
ejemplo:
Nacionalidad: Nac

Intercambiar campos
Si ha incluido campos en la cuadrícula y quiere cambiar el orden en que aparecen,
puede intercambiar las columnas arrastrándolas o cortándolas y pegándolas.

Mover columna arrastrando. Ponga el puntero del mouse en el borde superior de la


columna. Cuando se vea como ⬇, dé clic. Toda la columna se resaltará, indicando
que está seleccionada. Mueva un poco el puntero para que se vea como . Arrastre
la columna a la posición deseada.

Mover columna cortando y pegando. Seleccione toda la columna. Emita Inicio–


Portapapeles–Cortar o teclee Ctrl+X. Cree una columna en blanco donde quiere la
columna cortada, con Diseño–Configuración de consultas–Insertar Columnas. Selec-
cione esa columna y emita Inicio–Portapapeles–Pegar o teclee Ctrl+V.

Seleccionar columnas contiguas


Seleccione la primera y, manteniendo la tecla Shift, seleccione la última. Se seleccio-
narán las dos columnas y las intermedias.

Ejecutar una consulta

 En el Panel de navegación, dé doble clic en el nombre de la consulta.

 En vista Diseño, emita Diseño–Resultados–Ejecutar. O pulse el botón Hoja de datos


de la barra de estado. O seleccione Hoja de datos del menú contextual sobre la pes-
taña de la ficha de la consulta.

Si modifica algún dato en la consulta, lo estará modificando en la tabla (hay con-


sultas que no permiten modificaciones).

Rediseñar una consulta


Si quiere modificar el diseño de una consulta:

 En el Panel de navegación, dé clic secundario en el nombre de la consulta y elija vis-


ta Diseño.

 Si está viendo los resultados de la consulta, emita Inicio –Vistas – Ver – Vista Dise-
ño. O pulse el botón Vista Diseño de la barra de estado. O dé clic secundario en la
pestaña de la ficha de la consulta y elija Vista Diseño.

49
Ordenar registros
Para ordenar los registros del resultado por un campo, colóquese en la fila Orden del
campo por el cual quiere ordenar. Pulse la flecha que aparecerá para desplegar la lista
y elija el tipo de ordenación, Ascendente o Descendente, o elija (sin ordenar) para eli-
minar los anteriores.
Para ordenar por varios campos, llene la fila Orden de todas las columnas por las
que quiere ordenar. Primero se ordenan los registros por el primer campo de ordena-
ción (el que está más a la izquierda); para valores que se repiten en ese campo, se or-
denan por el segundo campo (el segundo desde la izquierda), y así sucesivamente. Pa-
ra lograr esto, si es necesario, intercambie la posición de los campos. Por ejemplo, si
quiere ordenar por nombre de provincia y dentro de una misma provincia por nombre
de cliente, debe tener en la cuadrícula primero el campo NomProv y más a la derecha
el campo NomCli.
El tipo de ordenación es independiente para cada columna, por ejemplo, ascendente
para la primera columna y descendente para la segunda.

Con C1 en vista Diseño, dé clic en la línea Orden del campo Art, abra la lista con clic en ▼y elija As-
cendente. Cambie a vista Hoja de datos. Ahora los registros están ordenados por código de artículo, pero
se dispersan los números de factura. Más lógico sería ordenar por número de factura y dentro de cada
uno, por código de artículo. Esto requiere que el campo Fac esté a la izquierda del campo Art, que es co-
mo están. Ordene por Fac y Art en orden ascendente. Vea el resultado en vista Hoja de datos.

Filtrar registros (Fila Criterios y filas O)


Para filtrar registros se usan la fila Criterios y las filas O. Los filtros son condiciones que
deben cumplir los registros para aparecer en el resultado. Por ejemplo, para seleccio-
nar los clientes de San Juan, la condición sería:
NomProv = “San Juan”.
Para escribir esta condición, en el campo NomProv, fila Criterios, introduzca el resto
de la condición:
=”San Juan”
Cuando la condición es una igualdad, no es necesario el operador =. Escriba direc-
tamente el valor San Juan en la fila Criterios, ya que si no hay operador se supone
=.Tampoco es necesario poner comillas, pues se añaden por defecto. Siempre que se
encuentra un texto, se encierra entre comillas.
Si en la fila Criterios quiere poner un nombre de campo en vez de un valor, debe en-
cerrarlo entre corchetes. Por ejemplo, si quiere la condición:
CampoA= CampoB
en la fila criterios del campo CampoA, escriba:
[CampoB]
Si no usa corchetes, Access añadiría comillas y entendería:
CampoA = “CampoB”
es decir, CampoA igual a la palabra CampoB, no al contenido del campo CampoB.
Para indicar varias condiciones, emplee los operadores Y,O, No.
Si las condiciones están unidas por Y, se escriben en la fila Criterios. Para que un
registro entre en el resultado debe cumplir todas las condiciones. El operador Y puede
unir valores del mismo campo o valores de distintos campos.

50
Para el caso donde Y une valores del mismo campo, sea el siguiente ejemplo. Si quiere que el campo
Importe de C1 esté entre 3000 y 4000, en la fila Criterios, campo Importe, escriba:

Campo Importe
Criterios >= 3000 Y <= 4000

Note que podría escribir el criterio también así:


Entre 3000 Y 4000
Seguiremos con C1. A medida que la modifiquemos, borre el contenido anterior.
Para el caso en que Y une valores de distintos campos, sea el siguiente ejemplo. Si quiere que el ar-
tículo sea A01 y el importe sea mayor a 15.000, en la fila Criterios escriba:

Campo Art Importe


Criterios “A01” >15000

El operador Y no aparece de modo explícito; pero, al haber dos condiciones en distintas columnas de la
misma fila, Access entiende que es Y. Pruebe en vista Hoja de datos, lo que en este caso equivale a eje-
cutar la consulta. Cuando veamos consultas que alteran o crean tablas, vista Hoja de datos y ejecución se-
rán operaciones diferentes.
Si las condiciones están unidas por el operador O, el registro entrará en el resultado si cumple al me-
nos una de las condiciones. Si el operador O afecta valores del mismo campo, la condición puede escri-
birse en la fila Criterios. Por ejemplo, si quiere una consulta que trabaje con los artículos A01, B01 y C01,
lo puede expresar así:

Campo Art
Criterio “A01” O “B01” O “C01”

También puede escribir un valor en Criterios, otro en O, si hay otro en la fila siguiente a O, etc.

Campo Art
Criterio “A01”
O “B01”
“C01”

Si O afecta valores de campos diferentes, debe escribir una condición en la fila Criterio, otra en la fila
O, si hay otra en la fila siguiente, etc. Por ejemplo, si quiere que el artículo sea A01 o el importe mayor a
15.000, debe escribir;

Campo Art Importe


Criterio “A01”
O >15000

Las “mezclas” que se pueden realizar dan bastante libertad. Lo importante es construir correctamente
las condiciones. Por ejemplo, si quiere que el artículo sea A10 o B02, o que el importe sea mayor a
15.000, la cuadrícula puede ser:

51
Campo Art Importe
Criterios “A10” O “B02”
O >15000

O también:

Campo Art Importe


Criterios “A10”
O “B02”
>15000

Parámetros de consulta
Muchas veces conviene definir una consulta que use un valor variable, que se precise
al ejecutarla.

Sea una consulta que obtenga detalles de un artículo cualquiera. En este caso, necesita usar un pará-
metro. Un parámetro se define como se hace con el campo de una tabla, pero, si Access no lo encuentra
en el origen de datos, lo considera un parámetro. Entonces, en la consulta tendría que añadir la condición
de búsqueda
Art= [ArtículoADefinir]
donde ArtículoADefinir es un parámetro. La traducción de la condición en la cuadrícula sería:

Campo Art
Tabla Detalles
Criterios = [ArtículoADefinir]

Escriba el nombre del parámetro entre corchetes; de lo contrario Access le añadirá comillas y no lo
considerará un parámetro, sino un texto.
Puede usar más de un parámetro. Por ejemplo, para listar los registros entre dos artículos, usando los
parámetros Desde y Hasta, la cuadrícula sería:

Campo Art
Tabla Detalles
Criterios Entre [Desde] Y [Hasta]

Para definir el tipo de dato que debe aceptar el parámetro debe definirlo con Diseño–
Mostrar u ocultar–Parámetros. Se abre el diálogo Parámetros de la consulta, donde
debe escribir el nombre del parámetro y elegir su tipo. Access comprobará el tipo del
valor introducido al ejecutar la consulta.

Consultas de varias tablas


Estas consultas obtienen datos de varias tablas. Para añadir una tabla a la ventana di-
seño de consulta, emita Diseño–Configuración de consultas–Mostrar tabla.
Si las tablas no están relacionadas o no tienen campos con el mismo nombre, la

52
consulta concatena cada registro de la primera tabla con cada registro de la segunda;
si hay una tercera tabla, concatena cada concatenación obtenida en el primer paso con
cada registro de la tercera tabla, y así. El resultado de la concatenación puede alcanzar
dimensiones gigantescas y carece de sentido. Sean, por ejemplo, las siguientes tablas:

Tabla A Tabla B Tabla C


1.000 registros 1.000 registros 1.000 registros

Si no hay un criterio para combinar las tablas, Access procede así:

1. Concatena cada registro de A con cada registro de B, produciendo 1.000.000 regis-


tros A&B.

2. Concatena cada registro A&B con cada registro de C, produciendo 1.000.000.000


registros (A&B)&C, que es el resultado final.

El resultado anterior es absurdo. Lo normal es combinar las tablas para seleccionar


los registros que interesan. Por ejemplo, pueden interesarle datos de las tablas Clientes
y Facturas, porque quiere un resultado con los datos de cada cliente y las facturas que
cada cliente ha comprado. Para ello, debe combinar las dos tablas.

Combinar tablas
Para combinar dos tablas, es preciso que ambas contengan campos en común, que se
llaman campos de unión. Advierta que las tablas no necesitan tener índices por los
campos de unión. En esto, las combinaciones de las consultas son menos exigentes
que las relaciones de las tablas, que necesitan en la tabla principal un campo clave o
un campo con un índice sin duplicados. Esta amplitud de las consultas permite combi-
nar campos que se corresponden, sin considerar si su contenido se repite o no en dis-
tintos registros de ambas tablas.
El trazado de la combinación de dos tablas por uno o más campos de unión se hace
de la misma forma que para relacionar dos tablas, es decir, arrastrando el campo de
unión de una tabla sobre el campo de unión de la otra.
Para facilitar las combinaciones, si agrega dos tablas que están relacionadas, Ac-
cess las combina automáticamente. También se combinan automáticamente tablas que
tienen un campo con el mismo nombre, aunque no haya una relación entre ellas.

Tipos de combinación
Consideremos las tablas Artículos y Detalles. Puede darse que no todos los registros
de Artículos tienen registros en Detalles, porque los últimos artículos ingresados para la
venta todavía no han sido vendidos. Habrá entonces artículos facturados y otros no fac-
turados. Los datos que siguen no están tomados de las tablas.

53
Artículos Detalles
Art NomArt Fac Art Can PreFac
1 A01 Silla Luis XIV 1 1000 A01 6 1.000
2 A02 Silla Empire 2 1002 A01 2 650
3 B01 Mesa luz con cajones 3 1000 B01 6 1.200
4 B02 Mesa luz sin cajones 4 1002 B01 4 550
5 B03 Mesa teléfono 5 1002 B03 1 500

Combinación interna. Si quiere que una consulta dé como resultado los campos Art,
NomArt, Factura e Importe:[Can]*[PreFac], debe combinar las tablas por el campo de
unión Art. Sea que le interese obtener los artículos que han sido facturados, para lo que
debe usar una combinación interna. La combinación interna trabaja solamente con los
registros que coinciden en Art en ambas tablas. El resultado de la consulta será:

Artículo Descripción Factura Importe


1 A01 Silla Luis XIV 1000 6.000
2 A01 Silla Luis XIV 1002 1.300
3 B01 Mesa luz con cajones 1000 7.200
4 B01 Mesa luz con cajones 1002 2.200
5 B03 Mesa teléfono 1002 500

En el resultado, las cabeceras de columna no son los nombres, sino los títulos de los
campos.
El siguiente cuadro explica cómo se han combinado los registros de entrada para
producir los registros de salida.

Registro de
Artículos Detalles Salida
1 1 1
1 2 2
3 3 3
3 4 4
5 5 5

Los registros 2 y 4 de Artículos no han producido nada, porque no tienen correspon-


dientes en Detalles.

Combinación externa. Sea que queremos todos los artículos, se hayan o no vendido,
con los mismos campos de salida del caso anterior. Para ello hay que definir la combi-
nación como externa, indicando que se quieren todos los registros de Artículos. La sali-
da será:

54
Artículo Descripción Factura Importe
1 A01 Silla Luis XIV 1000 6.000
2 A01 Silla Luis XIV 1002 1.300
3 A02 Silla Empire
4 B01 Mesa luz con cajones 1000 7.200
5 B01 Mesa luz con cajones 1002 2.200
6 B02 Mesa luz sin cajones
7 B03 Mesa teléfono 1002 500

Observe que los registros 3 y 6 sólo tienen información en los campos Art y NomArt,
porque están producidos por la tabla Artículos. Los campos Fac e Imp no contienen va-
lor, porque en Detalles no hay registros para estos artículos. Note que cada registro de
Artículos sin correspondiente en Detalles, genera un solo registro de salida.

Definir tipo de combinación


Para definir si una combinación es interna o externa, pulse el segmento delgado de la
línea que une las dos tablas. Dé clic secundario sobre ese segmento, que ahora se ve-
rá grueso, y elija Propiedades de la combinación. Aparece el diálogo de igual nombre.
Elija el tipo de combinación que desea.
Por defecto, la combinación es interna. Si quiere definir una combinación externa,
debe seleccionar la opción 2 o la opción 3, según lo que quiera obtener.
¿Cuándo seleccionar la opción 2 y cuándo la 3? Lo explicaremos con un ejemplo.
Sea que se combina la tabla Artículos con la tabla Detalles. En la empresa se ha incor-
porado una nueva línea de productos que se han cargado a la tabla Artículos, pero que
todavía no se han vendido. Las facturas cubren un período amplio, donde aparecen ar-
tículos facturados que actualmente ya no se venden y se han dado de baja en la tabla
Artículos. Si quiere un listado de todos los artículos, facturados o no, elija la opción 2.
Si quiere un listado de todas las facturas, incluyendo los artículos que están y los que
ya no están en la tabla Artículos, elija la opción 3.
Observe que, en el diálogo Propiedades de la combinación, a una tabla se la llama
“izquierda” y la otra “derecha”. Estos calificativos se refieren a cómo están ubicadas las
dos tablas en este diálogo, no a como se ven en el panel de tablas, porque acá, por
arrastre, se pueden poner una tabla a la izquierda o derecha de otra, a placer. Por esta
razón, a la opción 2 se la llama combinación externa izquierda y a la opción 3 combina-
ción externa derecha, nombres usados por SQL.

Cree C2. Agregue las tablas Artículos y Detalles. Automáticamente, dado que las tablas están relacio-
nadas, aparece una combinación por el campo de unión Art. Dé doble clic en la línea de combinación y
aparece el diálogo Propiedades de la combinación. Observe que está activada la opción Incluir sólo las fi-
las donde los campos combinados de ambas tablas sean iguales, es decir, es una combinación interna.
Agregue los campos Art y NomArt de Artículos, Fac de Detalles, y el campo calculado Impor-
te:[Detalles]![Can]*[Detalles]![PreFac].
En vista Hoja de datos, colóquese en la columna Artículo. Emita Inicio –Buscar–Buscar. En el diálogo
Buscar y Reemplazar, ficha Buscar, indique que quiere buscar H* en el campo actual. Pulse el botón Bus-
car siguiente. Access le dirá que no encontró nada igual. Se debe a que, recientemente, la empresa ha in-
corporado a la venta artículos que ha codificado en la línea H, pero todavía no ha vendido ninguno.

55
Dé doble clic en la combinación. En Propiedades de la combinación active la opción Incluir TODOS los
registros de Artículos y sólo aquellos registros de Detalles donde los campos combinados sean iguales. Es
decir, una combinación externa izquierda. Pruebe la consulta. Busque como se indicó los artículos H*.
Ahora sí los ve, pero, como no se han vendido, los campos Factura e Importe están en blanco.

Predeterminar tipo de combinación


Si lo predominante en una relación va a ser una combinación interna o externa, puede
predeterminar el tipo en la ventana Relaciones. En ella, pulse el segmento delgado de
la línea que une las dos tablas. Dé clic secundario sobre ese segmento, que ahora se
verá grueso, y elija Modificar relación. Aparece el diálogo de igual nombre. Pulse Tipo
de combinación para que aparezca el diálogo Propiedades de la combinación. Selec-
cione la opción 1, 2 o 3, según lo que quiera predeterminar. Pulse Aceptar para cerrar
el diálogo. Pulse nuevamente Aceptar para cerrar el diálogo Modificar relaciones. En
adelante, cada vez que agregue las dos tablas a una consulta, aparecerá la combina-
ción por los campos de la relación, con el tipo que ha predeterminado.

Consultas de resumen
Las consultas de resumen, o sumarias, producen registros que son un resumen de los
registros de entrada. Los registros del resultado difieren de los registros resultantes de
las demás consultas, porque cada uno de los primeros corresponde a varios registros
de entrada. Por este motivo, estas consultas no permiten modificar los datos de las ta-
blas de entrada, ya que un registro de salida resume varios registros de entrada, pero
no corresponde a ninguno en particular.
Una consulta de resumen se define con Diseño–Mostrar u ocultar–Totales. Esto
añade la fila Total a la cuadrícula. Todas los columnas de la cuadrícula deben tener un
valor en esa fila, que indicará a Access qué hacer con los contenidos de los campos.
Los valores que puede indicar en la fila Total aparecen al desplegar la lista asociada a
la celda: Suma, Promedio, Mín, Máx, etc., llamadas funciones de agregado, amén de
otras opciones. Los campos que van a formar parte de la consulta son:

Campos de agrupación. En la fila Total deben llevar la opción Agrupar por.

Campos de cálculo. Necesarios para calcular un valor mediante funciones de agrega-


do, que se escriben en la fila Total.

Limítese a estas dos clases de campo, porque si introduce otros, puede obtener re-
sultados incorrectos.

Funciones de agregado
Las funciones de agregado obtienen un resultado de un grupo de registros que tienen
un campo con un valor X, otro grupo que tienen en ese campo un valor Y, etc.
Los registros de Detalles se pueden agrupar por el campo Fac, porque una factura,
además de un registro en Facturas, está compuesta por uno o más registros en Deta-
lles. El cálculo se puede hacer sobre el campo calculado Importe:[Can]*[PreFac], su-

56
mando el importe de los registros que corresponden a una factura; luego al de otra fac-
tura, y así. Usamos, entonces, dos campos: Fac para agrupar e Imp para calcular.

Grupos Detalles Suma de Importe


Fac Factura Otros campos Importe por grupos
1 388,50
1 2.982,00
1 2.016,00
1 14.574,00
1 2.625,00
1 262,50
1 6.300,00
2 1.498,00
2 4.648,00
2 3.150,00
3 8.200,50
3 3 4.462,50 13.293,00
3 630,00
Etc.

Las funciones de agregado (o de agrupamiento, sería mejor) sólo se usan en consul-


tas de resumen. Puede escribir estas funciones en la fila Campo de la cuadrícula; pero
es más cómodo seleccionarlas en la fila Total. Las funciones son las siguientes.

Suma. Calcula la suma de un campo numérico.

Promedio. Calcula el promedio de un campo numérico.

DesvEst. Calcula la desviación estándar de un campo numérico. Si el origen tiene me-


nos de dos registros, el resultado es nulo.

Var. Calcula la varianza de un campo numérico. Si el origen tiene menos de dos regis-
tros, el resultado es nulo. El valor nulo no es 0. Las funciones de resumen no conside-
ran valores nulos, pero consideran el 0 como valor. Por tanto, en promedio y desviación
estándar, los resultados no serán los mismos con valores 0 que con valores nulos.

Mín y Max. Determinan el dato menor y el dato mayor de un campo numérico, de texto
o de fecha. El resultado de la función tendrá el mismo tipo que el campo.

Primero y Último. Obtienen el primer y último registro del grupo. El orden lo determina
el orden cronológico en que se cargaron. Ordenar los registros no tiene ningún efecto
sobre estas funciones.

Cuenta. Cuenta el número de datos que hay en un campo de cualquier tipo, y devuelve
un número entero. Si el campo contiene valores nulos, no los cuenta. Si en el campo

57
hay un dato repetido, lo cuenta todas las veces. Para contar la cantidad de registros,
use la forma
Cuenta(*)
que cuenta también los valores nulos. En este caso, tiene que seleccionar la opción
Expresión.

Para calcular el importe total de ventas de la tabla Detalles, basta crear C3, introduciendo el campo
calculado Importe:[Can]*[PreFac], transformarla a consulta resumen con Diseño–Mostrar u ocultar–
Totales, y en la fila Total seleccionar la función Suma. La cuadrícula se verá así:

Campo: Total:[Can]*[PreFac]
Tabla:
Total: Suma
Orden:
Mostrar: 

En la vista Hoja de datos, el resultado se verá:

Total
37.992.384,50

Agrupar registros
El resultado anterior es poco útil. Más que el total general de toda la tabla, sería mejor
el total por artículo. Para ello, hará falta introducir el campo Art como campo de agru-
pación. Habrá, entonces, dos campos en la consulta: Art servirá para crear grupos y
Total para calcular el total de cada grupo.

Modifique C3, de modo que la cuadrícula se vea como sigue:

Campo: Art Total:[Can]*[PreFac]


Tabla: Detalles
Total: Agrupar por Suma
Orden:
Mostrar:  

El resultado será:

Artículo Total
A01 765.138,50
A02 917.665,00
A03 238.689,50
Etc.

Note que, en la fila Total, en el campo Art se ha dejado la opción por defecto, Agrupar por. Es lo queri-

58
do, es decir, usar este campo para formar grupos.
También note que Access forma grupos con los registros de entrada que tienen el mismo valor en el
campo Art y cada grupo genera un registro como resultado. Los cálculos se realizan con los registros de
cada grupo.
Para un resultado más informativo, convendría agregar el nombre de cada artículo. Para ello, hay que
agregar la tabla Artículos y combinarla con Detalles por el campo Art. La combinación debe ser interna (ti-
po 1) para calcular los totales de los artículos que se han vendido. La cuadrícula será:

Campo: Art NomArt Total:[Can]*[PreFac]


Tabla: Detalles Artículos Detalles
Total: Agrupar por Agrupar por Suma
Orden:
Mostrar:   

El resultado será:

Artículo Descripción Total


A01 Silla Luis XIV 765.138,50
A02 Silla Empire 917.665,00
Etc.

El campo Art se ha tomado de la tabla Detalles, pero también podría tomarse de la tabla Artículos.

Los grupos se pueden formar con varios campos. En este caso, se agrupan los re-
gistros que contienen el mismo valor en cada uno de los campos de agrupación. Las fi-
las que tienen valor nulo en el campo o campos de agrupación forman un único grupo.
En el ejemplo anterior, la agrupación se ha hecho por Art y NomArt, siendo que basta
agrupar solamente por Art. En este caso, el nombre del artículo no influye en el resulta-
do, porque cada artículo es único y a cada artículo le corresponde un solo nombre. Que
aparezca el nombre, además de ser más informativo, permite ordenar el resultado por
él o establecer filtros. Esto se logra con el botón ▼ que aparece a la derecha del título
de cada campo.

Expresiones
Cuando ninguna de las funciones de agregado satisface las necesidades de cálculo,
puede usar una expresión. Para ello, debe seleccionar la opción Expresión en la lista
de funciones de agregado y escribir la expresión en la fila Campo, en lugar de un
nombre. La expresión sólo puede contener funciones de agregado, valores fijos o
nombres de campo que aparezcan con el valor Agrupar por en la fila Total. Puede
combinar varias funciones de agregado, pero no anidarlas. Por ejemplo, puede es-
cribir Max(horas) – Mín(horas).

Filtros de entrada y salida


En las consultas de resumen también se pueden establecer filtros, sea sobre los re-
gistros de entrada, sea sobre los de salida. Los filtros sobre los registros de entrada
aceleran la ejecución de la consulta, porque va a realizar cálculos solamente con los

59
registros que pasan el filtro.

El archivo Detalles contiene 4.165 registros. Si quiere obtener la suma de los 2.082 registros perte-
necientes a las facturas 1 a 1000, agrupados por artículo, conviene filtrar esos registros para reducir la
suma a ese subconjunto. Para lograr el filtro, en el campo Fac se procede así:
1. Cree C4, con la tabla Detalles como entrada y los campos Fac, Art e Importe:[Can]*[PreFac].
2. En la fila Total de Fac elija Dónde. Esta opción indica que se filtran registros de entrada.
3. En la fila Criterio de Fac escriba el criterio de búsqueda Entre 1 Y 1000.
4. Desactive la casilla de la fila Mostrar de Fac. Si se activa, se produce un error, porque se debe cumplir
que el campo para filtrar los registros de entrada no se muestre en el resultado.
La cuadrícula se verá:

Campo Fac Art Total:[Can]*[PreFac]


Tabla Detalles Detalles Detalles
Total Dónde Agrupar por Suma
Orden
Mostrar   
Criterios Entre 1 Y 1000
O

Los filtros sobre los registros de salida hacen que la consulta primero realice los
cálculos y luego aplique el filtro.

Si quiere obtener los artículos cuyas ventas totales sean mayores o iguales a 20.0000, primero hay
que calcular los totales y después filtrarlos. Cree C5, con la tabla Detalles como entrada y los campos
Art y Total: [Can]*[PreFac]. La cuadrícula será:

Campo Art Total: [Can]*[PreFac]


Tabla Detalles Detalles
Total Agrupar por Suma
Orden
Mostrar  
Criterios >=20000
O

Para obtener las sumas de los registros de las facturas 1 a 1000, agrupados por artículo, siempre
que sean mayores o iguales a 20.000, debe filtrar los registros de entrada y los de salida. Cree C6 con
la tabla Detalles y los campos Fac, Art y Total:[Can]*[PreFac]. La cuadrícula será:

60
Campo Fac Art Total:[Can]*[PreFac]
Tabla Detalles Detalles Detalles
Total Dónde Agrupar por Suma
Orden
Mostrar   
Criterios Entre 1 Y 1000 >=20000
O

Consultas de referencias cruzadas


Una consulta de referencias cruzadas es una consulta resumen con dos campos de
agrupación, como una tabla de doble entrada, en la que cada campo de agrupación es
una entrada de la tabla.
Si quiere obtener la cantidad de facturas realizadas por cada vendedor a cada clien-
te, puede diseñar una consulta resumen que cuente las facturas, agrupando por cliente
y vendedor, produciendo un resultado como el que sigue.

Cliente Vendedor CuentaDeFac


1 1 4
1 2 2
1 3 4
1 5 2
1 6 8
1 7 4
1 9 4
1 10 2
1 11 2
2 1 8
2 2 4
2 3 10
Etc.

Pero la consulta sería más compacta, sin perder información, si presentara los datos
de esta forma:

Cliente Total de Fac 1 2 3 4 5 6 7 8 9 10 11 12


1 31 4 2 4 1 8 4 4 2 2
2 67 8 4 10 3 4 2 4 6 14 2 8 2
Etc.

Este último resultado se obtiene mediante una consulta de referencias cruzadas. Un


campo de agrupación (Cli, que se ve con el título Cliente) genera las filas (una fila por
cada cliente), y el otro campo de agrupación (Ven) genera las columnas 1, 2, 3,…12. El
campo que se resume, Fac, genera la columna Total de Fac, que es la suma horizontal
de las columnas 1, 2, 3,… 12. La celda en la intersección de un cliente y un vendedor

61
contiene la cuenta de las facturas para ese cliente y ese vendedor.
Las consultas de referencias cruzadas se pueden crear desde la vista Diseño; pero
es más cómodo y rápido usar el asistente.
Para la consulta ejemplificada anteriormente, cuyas explicaciones se dan en los pun-
tos que siguen, la cuadrícula sería:

Campo [Cli] [Ven] [Fac] Total de Fac: [Fac]


Tabla Facturas Facturas Facturas Facturas
Total Agrupar por Agrupar por Cuenta Cuenta
Tab ref. cruz Encabezado de fila Encabezado de columna Valor Encabezado de fila
Orden
Criterios
O

Asistente para consultas de referencias cruzadas


Para iniciar el asistente emita Crear –Consultas –Asistente para consultas. Aparece el
diálogo Nueva consulta. Elija la opción Asist. consultas de tabla ref.cruzadas.

Paso 1. Origen de la consulta. En el apartado Ver puede elegir si quiere ver la lista de
Tablas, de Consultas o Ambas. Si necesita datos de una sola tabla o de una sola con-
sulta, selecciónelas; en caso contrario, tendrá que definir una consulta normal que se-
leccione filas de varias tablas o consultas, y luego usarla como origen.

Inicie el asistente para consultas de referencias cruzadas, como se ha explicado. Seleccione la tabla
Facturas. Pulse Siguiente.

Paso 2. Encabezado de filas. Como uno de los campos de agrupación servirá de enca-
bezado de filas y el otro como encabezado de columnas, si uno de esos campos con-
tiene muchos grupos y el otro pocos, elija el primero como encabezado de filas y deje
el segundo para encabezado de columnas. Seleccione el campo y pulse >. Al pasar el
campo a la lista Campos seleccionados aparece en la zona inferior un ejemplo de cómo
quedará la consulta. Si repite el proceso agregando otro campo, en la consulta apare-
cerá un registro por cada par de valores distintos de ambos campos. Puede seleccionar
hasta tres campos. Por ejemplo, supongamos que en la tabla Facturas hubiera un
campo para Sucursal (que no lo hay); y supongamos también que sólo hay 3sucursales
y 2 vendedores. Se podrían usar ambos campos para encabezados de fila, con lo que
se tendría un registro para cada combinación de valores:

Sucursal Vendedor
1 1
1 2
2 1
2 2
3 1
3 2

62
Si se equivoca al pasar un campo, pulse < y el campo se quita de la lista Campos se-
leccionados. Para pasar todos los campos de un lado al otro, use >> y <<.

Seleccione el campo Cli. Pulse Siguiente.

Paso 3. Encabezado de columnas. Aquí sólo puede elegir un campo. Por cada valor
distinto de ese campo, se genera una columna con ese valor como encabezado. En la
parte inferior de la ventana puede ver cómo quedará el resultado.

Seleccione el campo Ven.

Paso 4. Valor a calcular en la intersección de cada columna y cada fila. En la lista


Campos elija el campo sobre el cual actuará la función de agregado y en la lista Fun-
ciones elija la que necesite. El asistente permite agregar una columna adicional para
resumir cada fila. Para añadir esta columna, active la casilla Sí, incluir suma de filas.

Access le propone aplicar la función cuenta sobre el campo Fac, que es lo deseado. Pulse Siguiente.

Paso 5. Nombre de la consulta. Este nombre también será el título. Antes de pulsar el
botón Finalizar, puede elegir ver el resultado de la consulta o modificar el diseño.

Llame C7 a la consulta. Acepte el primer destino, ver la consulta. Pulse Finalizar. El resultado se pre-
senta en vista Hoja de datos. Después de examinarlo, cambie a vista Diseño y analice el contenido. Si no
quiere el campo Total de Fac, seleccione la columna y pulse Delete. Guarde y cierre la consulta.

Vista Diseño
Para diseñar una consulta de referencia cruzada sin usar el asistente, una vez que
agrega una tabla en la zona de tablas, emita Diseño –Tipo de consulta – General. O dé
clic secundario sobre el fondo de la zona de tablas y seleccione Tipo de consulta –
Consulta de tablas de referencias cruzadas. Aparece una fila adicional en la cuadrícula,
llamada Tab ref. cruz. Las opciones de esta fila para cada campo, son:
Encabezado de fila
Encabezado de columna
Valor
(sin mostrar)
La opción(sin mostrar) es para un campo que no se quiere en el resultado, pero que
sirve para definir un criterio de búsqueda.

Emita Crear – Consultas – Diseño de consulta. En el diálogo Mostrar tabla, agregue Facturas y cierre.
Emita Diseño – Tipo de consulta – General. Aparece la fila Tab ref. cruz. Introduzca el campo Cli en la pri-
mera columna y en Tab ref. cruz. elija Encabezado de fila. Introduzca el campo Ven en la segunda colum-
na y en Tab. ref. cruz. elija Encabezado de columna. Introduzca el campo Fac en la tercera columna, en la
fila Total elija Cuenta y en Tab. ref. cruz. elija Valor. Introduzca la expresión Total:Fac en la cuarta colum-
na, Cuenta en la fila Total y Encabezado de fila en la fila Tab. ref. cruz. Pruebe la consulta. Ha obtenido lo
mismo que en C7. No guarde la consulta.

63
Consultas de acción
Estas consultas cambian datos de una tabla. Con ellas se puede crear una tabla a
partir de los registros de otra, modificar los datos almacenados en los registros, inser-
tar nuevos registros o eliminarlos. En todos los casos, antes de hacer efectiva la mo-
dificación, Access pide confirmar la operación, dando oportunidad de cancelarla.

Consultas de creación de tabla


Almacenan en una nueva tabla el resultado de una consulta de selección. Se suelen
usar para crear tablas temporales que sirven para una tarea (como almacenar el re-
sultado de una consulta compleja que tarda en ejecutarse y se usa en varios infor-
mes) y que se destruyen al terminar la tarea.
Para crear una consulta de este tipo, cree una consulta diseñándola como de se-
lección normal que produzca los registros a guardar en la nueva tabla. Luego emita
Diseño –Tipo de consulta –Crear Tabla. Aparece el diálogo Crear tabla. En Nombre
de tabla escriba el nombre de la nueva tabla. Pulse Aceptar. Se vuelve a la ventana
Diseño de consulta, igual a la de una consulta de selección.
Para ver los datos que se grabarán en la nueva tabla, elija la vista Hoja de datos.
Esto permite ver el resultado de la consulta, sin crear la tabla. La opción Ejecutar, en
cambio, hace que se cree la nueva tabla con los registros obtenidos por la consulta.
Los campos de la nueva tabla se llaman como el encabezado de los campos de la
consulta y heredan el tipo de los campos origen, pero no heredan propiedades como
clave principal, índices, etc.

Crearemos C8 para producir una tabla que se llame Grupos AB, con los registros de la tabla Artícu-
los que comienzan con las letras A o B. Cree la consulta en vista Diseño, con la tabla Artículos como
entrada y los campos Art, NomArt y PreAct, como indica la siguiente cuadrícula:

Campo Art NomArt PreAct


Tabla Artículos Artículos Artículos
Orden
Mostrar   
Criterios Entre “A01” Y “B99”
O

Emita Diseño – Tipo de consulta – Crear Tabla. En el diálogo Crear tabla llame GruposAB a la futura
tabla. Cambie a vista Hoja de datos para ver los registros que va a tener, sin crearla. Emita Diseño – Re-
sultados – Ejecutar. Access le avisa que va a crear la tabla con N registros. Confirme que Sí quiere hacer
la operación. Guarde y cierre la consulta. Ahora, en el panel de navegación, categoría tablas, aparece
Grupos AB. Déle doble clic para verla en vista Hoja de datos. No elimine Grupos AB.

Consultas de actualización
Estas consultas modifican masivamente datos de campos de una tabla. Pueden modifi-
car de una vez todos los registros o sólo los que cumplen una condición.
Para crear una consulta de este tipo, cree una consulta en vista Diseño. Añada la
tabla a actualizar. Emita Diseño –Tipo de consulta –Actualizar. En la cuadrícula desa-

64
parecen las filas Orden y Mostrar y aparece la fila Actualizar a. Introduzca sólo los
campos que intervienen en los criterios de búsqueda y los campos a actualizar.
En la fila Actualizar a de cada campo a actualizar, escriba la expresión que produzca
el nuevo valor a asignarle. La expresión puede ser un valor fijo, un campo del origen,
una expresión basada en ellos o un parámetro. Esta expresión debe generar un valor
del tipo apropiado a cada campo a actualizar y debe ser calculable a partir de los valo-
res del registro que se va a actualizar. Si para el cálculo de la expresión se usan cam-
pos que también se van a actualizar, los valores que se toman son los anteriores a la
actualización. Lo mismo pasa con la condición de búsqueda.
Para que la actualización afecte a una parte de los registros, hay que filtrarlos con un
criterio de búsqueda porque, si la consulta no incluye un criterio, se actualizan todos los
registros. Si actualiza un campo que interviene en una relación, se podrá actualizar o
no, según lo permitan las reglas de integridad referencial.
Para ver los registros que se modificarán antes de realizar la actualización, active
Hoja de datos. Para ejecutar la consulta, dé clic en ! .
Cuando el valor de actualización es un valor fijo, escriba este valor, recordando que
Access añade comillas si el campo es de tipo texto o # # si es de tipo fecha. Cuando el
valor de actualización está contenido en un campo de esa tabla, escriba el campo entre
[ y ] para que Access no lo confunda con un texto y le añada comillas.

Cree C9 que aumente un 10% el precio de los artículos de Grupos AB que comienzan con la letra A,
como A01, A02, etc. Agregue la tabla Grupos AB y los campos Art y PreAct. Emita Diseño - Tipo de con-
sulta –Actualizar. Escriba en la fila Actualizar a la expresión de actualización: [PreAct]*1,1. La cuadrícula
quedará:

Campo Art PreAct


Tabla Artículos Artículos
Actualizar a [PreAct]*1,1
Criterios Izq([Art];1)=”A”
O

Ejecute la consulta. Luego de guardarla y cerrarla, abra Grupos AB y verá que el precio de los artículos
A ha sido modificado. Para verificarlo, compárelos con los valores que tienen en la tabla Artículos.

Consultas de datos anexados


Estas consultas añaden registros a una tabla existente, tomándolos generalmente de
otra. Por esta razón estas consultas tiene un origen y un destino.

Origen. Una o más tablas o consultas de donde tomar los registros, en correspondencia con
algunos o todos los campos del destino.

Destino. La tabla donde se anexarán los registros, indicando en qué campo almacenar
cada campo del origen o valor.

Para crear una consulta de este tipo, cree una consulta en vista Diseño. Añada la
tabla o tablas de donde se van a obtener los registros a añadir al destino. Diseñe la

65
consulta como una consulta de selección normal, de forma que en el resultado aparez-
can los registros a añadir. Emita Diseño –Tipo de consulta –Anexar. Aparece el diálogo
Anexar. En Nombre de tabla ingrese la tabla donde quiere añadir los nuevos registros,
que puede estar en la misma base de datos o en otra. Pulse Aceptar.
Se vuelve a la ventana Diseño de consulta, ahora con una nueva fila, Anexar a. En
esta fila indique para cada columna de la cuadrícula el campo correspondiente de la ta-
bla destino.
Puede incluir un criterio de búsqueda para seleccionar en el origen los registros a
agregar al destino.
No es necesario que defina tantas columnas de la cuadrícula como campos de la ta-
bla destino. En ese caso, se agregarán registros con algunos campos sin contenido.
Pero, si algún campo del destino tiene definido un valor predeterminado, se llenará con
ese valor.
Si la tabla destino tiene un campo de tipo Autonumeración, no defina una columna
para él, dejando que el sistema le asigne el valor que corresponda.
Si quiere que el campo destino tenga un valor dado, hágale corresponder una co-
lumna de la cuadrícula, escriba el valor en la fila Campo y no llene la fila Tabla.
Si un campo de la tabla destino definido como clave principal resulta sin valor, con el
valor nulo o con un valor ya existente, Access no añade el registro y da un mensaje ‘in-
fracciones de clave’. Lo mismo ocurre si tiene definido un índice sin duplicados e inten-
ta asignar un valor que ya existe.
Si la tabla destino está relacionada con otra, se siguen las reglas de integridad refe-
rencial.

Vamos a crear C10, que agregue a la tabla GruposAB el grupo de artículos C tomados de la tabla Ar-
tículos. Agregue esta tabla y todos sus campos. En el campo Art, en Criterios escriba Entre C01 Y C99,
para que considere sólo estos artículos para agregar a GruposAB. Pulse el botón Anexar y en el diálogo
que se abre elija GruposAB. Se llena automáticamente la fila Anexar a con los campos Art, NomArt y
PreAct, de GruposAB, en correspondencia con los campos de Artículos. La cuadrícula se verá así:

Campo Art NomArt PreAct


Tabla Artículos Artículos Artículos
Orden
Anexar a Art NomArt PreAct
Criterios Entre “C01” Y “C99”
O

Ponga la consulta en vista Hoja de datos, para ver los registros que selecciona. Luego ejecute la con-
sulta, guárdela y ciérrela. Abra la tabla GruposAB en vista Hoja de datos. Verá que contiene artículos cuyo
Art comienza con A, B y C.

Consultas de eliminación
Estas consultas eliminan de una tabla los registros que cumplen un criterio.
Para crear una consulta de este tipo, hágalo en vista Diseño. Añada la tabla donde
quiere borrar registros. Emita Diseño –Tipo de consulta –Eliminar.
En la cuadrícula desaparecen las filas Orden y Mostrar y aparece la fila Eliminar:

66
El origen de la consulta puede ser una o más tablas o consultas. Use una combina-
ción cuando necesite borrar registros de una tabla, pero necesita la otra para el criterio
de búsqueda.
Si el origen es una sola tabla, en la cuadrícula sólo introduzca el campo o campos
que intervienen en los criterios de búsqueda. Si el origen de la consulta tiene varias ta-
blas, introduzca los campos que intervienen en los criterios de búsqueda, pero también
introduzca el nombre de la tabla, un punto y un asterisco en la tabla donde quiere eli-
minar registros.
En la fila Eliminar, la opción Dónde indica un criterio de búsqueda y la opción Desde
indica borrar registros de la tabla indicada en esa columna. Si el origen es una sola ta-
bla, Desde no es necesaria.
Si no indica un criterio de búsqueda, se borran todos los registros de la tabla.
Para ver los registros a borrar, active la vista Hoja de datos. Para ejecutar la consul-
ta, dé clic en !. Previamente, Access avisa cuántos registros va a eliminar y se puede
cancelar la operación. Una vez borrados, los registros son irrecuperables.
Si la tabla donde se eliminarán registros está relacionada con otra, la eliminación
podrá o no tener lugar, siguiendo las reglas de integridad referencial.

Cree C11 que elimine de GruposAB todos los registros cuyo código comience con C. Agregue la tabla
GruposAB y el campo Art, que servirá para el criterio de eliminación. En Criterios de ese campo escriba
Entre C01 Y C99. Emita Diseño – Tipo de consulta – Eliminar. La cuadrícula será:

Campo Art
Tabla Grupos AB
Eliminar Donde
Criterios Entre “C01” Y “C99”
O

Cambie a vista Hoja de datos, para ver cuáles registros se van a eliminar. Luego ejecute la consulta,
guárdela y ciérrela. Abra GruposAB y compruebe que no tiene artículos del grupo C.

67
VIII. Formularios
Los formularios son los objetos más adecuados para ver y editar registros de una tabla
o consulta. Esto se debe a que disponen de controles, que facilitan la interacción con el
usuario.

Crear un formulario
Para crear un formulario, pulse Crear. En el grupo Formularios hay varias opciones.

Formulario. Esta opción crea automáticamente un formulario (suele decirse autoformu-


lario) con todos los datos de la tabla o consulta seleccionada en el Panel de Navega-
ción. Si la tabla es la parte 1 de una única relación 1—N con otra, Access agrega al
formulario una hoja secundaria de datos para la tabla N. Así, si crea un formulario ba-
sado en la tabla Clientes, que tiene una relación 1—N con la tabla Facturas, en la hoja
secundaria se mostrarán los registros de la tabla Facturas compradas por el cliente ac-
tual. Si no quiere esta hoja de datos, en las vistas Presentación o Diseño selecciónela y
pulse Delete (Supr). Si la tabla origen del formulario es la parte 1 de varias relaciones
1—N con otras tablas, Access no agrega ninguna hoja de datos.

Seleccione la tabla Detalles en el panel de navegación y pulse Crear – Formularios – Formulario. Apa-
rece un formulario en vista Presentación. Los textos Factura, Artículo, Cantidad y Precio factura son con-
troles llamados etiquetas. Los recuadros a la derecha de las etiquetas contienen datos tomados del regis-
tro 1 de la tabla. Son controles llamados cuadros de texto. Al pie hay una barra de botones de navegación.
Seleccione un cuadro de texto, mantenga Shift o Ctrl y pulse . Todos los cuadros de texto se ensan-
chan a la vez. Haga lo mismo, pero con . La etiqueta y el cuadro de texto de la fila se hacen más altos y
los demás controles descienden en bloque. Esto se debe a que todos los controles están dentro de un di-
seño apilado que no permite manejarlos individualmente (más tarde veremos qué son estos diseños). Para
manejarlos uno por uno, cambie a vista Diseño, seleccione todos los controles, emita Organizar – Tabla –
Quitar diseño. Deseleccione los controles. Reduzca el ancho del cuadro de texto superior. Ahora sí. Puede
hacerlo con cualquier cuadro de texto y etiqueta.
Seleccione un cuadro de texto y, sin mantener Shift, muévalo con las teclas de flecha. No sólo mueve
el cuadro de texto, sino la etiqueta que está a su izquierda. Esto es porque un cuadro de texto tiene auto-
máticamente asociada una etiqueta.
Cambie a vista Formulario, que es la que permite editar el registro. Cambie otra vez a vista Diseño. En
la esquina superior izquierda pulse el cuadrado gris, que selecciona el formulario (también puede hacerlo
dando clic fuera de él). Emita Diseño –Herramientas –Hoja de Propiedades. Ubique la propiedad Permitir
vista Hoja de datos y póngala en Sí. Ubique la propiedad Vista predeterminada y póngala en Hoja de da-
tos. Cierre la hoja de propiedades, para que no moleste. Vea que ahora, en la barra de estado, hay un bo-
tón vista Hoja de datos. Púlselo y verá el formulario como una planilla.
Guarde el formulario con el nombre F1 y ciérrelo.
Seleccione ahora la tabla Vendedores en el panel de navegación y pulse Crear – Formularios – Formu-
lario. En instantes aparece un formulario en vista Presentación, con dos partes: arriba hay etiquetas y cua-
dros de texto, referidos a Vendedores; abajo hay una hoja de datos que muestra las facturas producidas
por el vendedor que se ve arriba. Ambas partes tienen botones de navegación. Cambie de vendedor y ve-
rá que cambian las facturas, porque son las producidas por el nuevo vendedor. Los registros que se ven
en la hoja de datos van precedidos de +. Pulse uno cualquiera y verá que aparecen los detalles de esa

68
factura. Dé clic en un detalle cualquiera. La barra botones de navegación no se refiere ahora a Facturas,
sino a Detalles. Pulse – y vuelve a ver las facturas. Estas subordinaciones se han producido automática-
mente, y son debidas a que Vendedores es la parte 1 de la relación con Facturas, y ésta, a su vez, es la
parte 1 de la relación con Detalles. Guarde el formulario como F2 y ciérrelo.

Diseño del formulario. Esta opción abre un formulario en blanco en vista Diseño, para
agregarle controles. Suele ser más cómodo y rápido crear un autoformulario o usar el
asistente y, después, sobre el formulario creado, modificar el diseño.

Emita Crear –Formularios –Diseño de formulario. Aparece un formulario en blanco. La ficha Diseño (de
formularios) se ha activado automáticamente. Active el botón Agregar campos existentes. Se abre el diálo-
go Lista de campos, con la opción Mostrar todas las tablas. Pulse esta opción. Aparece un listado de todas
las tablas de la base de datos. Pulse el + de Artículos y se despliegan todos sus campos. Dé doble clic en
Art y luego en NomArt. Esto genera un par etiqueta – cuadro de texto para cada campo, que se organizan
en filas y columnas. Puede cerrar el diálogo. En el panel de navegación arrastre la tabla Detalles al formu-
lario. Aparece una etiqueta Detalles y un cuadro que dice Independiente. También aparece el Asistente pa-
ra Subformularios. Sin modificar nada, lea lo que dice este primer paso. Pulse Siguiente para ir al segundo
paso. Se le sugiere un nombre, Subformulario Detalles. No lo cambie y pulse Finalizar.
Active la vista Formulario. Si cambia de artículo, cambian las facturas en que se ha vendido.
Podría haber agregado más controles, pero ha visto cómo diseñar un formulario desde cero, que es lo
importante. Guarde el formulario como F3 y ciérrelo.

Formulario en blanco. Crea un formulario sin contenido, que se abre en vista Presen-
tación, con el diálogo Lista de campos abierto.

Cree un formulario en blanco. En la Lista de campos pulse Mostrar todas las tablas. Elija Detalles y pul-
se +. Dé doble clic en cada campo para transferirlos al formulario. Cambie a vista Formulario. Guarde el
formulario como F4 y ciérrelo.

Asistente para formularios. A través de tres pasos, guía en la creación del formulario.

Navegación. No interesa explicarlo en este curso.

Más formularios. Despliega un menú con otros tipos de formularios disponibles, como
gráfico dinámico, tabla dinámica, hoja de datos o formulario dividido.

Asistente para formularios


Es una forma sencilla de crear formularios. El asistente se inicia con Crear–
Formularios–Asistente para formularios.

Paso 1. Campos a incluir en el formulario. Seleccione el origen en Tablas/Consultas. Si


quiere datos de varias tablas y/o consultas, puede crear previamente una consulta que
combine los datos y luego tomarla como origen. Seleccione los campos a incluir en
Campos disponibles.

69
Paso 2. Cómo ver los datos. Este paso aparece cuando se han usado varias tablas.
Presenta un listado de las distintas tablas. Según la tabla que elija, organizará los datos
en un solo formulario o en un formulario principal y uno o más subformularios.

Paso 3. Distribución de los datos dentro del formulario o subformulario/s. Puede elegir
En columnas, Tabular, Hoja de datos o Justificado. A la izquierda aparece el aspecto
que tendrá el formulario con cada distribución.

Paso 4. Título del formulario, que también será su nombre. Antes de pulsar Finalizar,
elija si quiere abrir el formulario para editar datos, o modificar el diseño.

Emita Crear >Formularios –Asistente para formularios. En el paso 1 elija la tabla Clientes y transfiera
los campos Cli y NomCli. Luego elija la tabla Facturas y transfiera los campos Fac y Fec. Luego elija la ta-
bla Detalles y transfiera los campos Art, Can y PreFac. Sin modificar nada, observe la información de los
pasos 2, 3 y 4. Pulse Finalizar. El formulario aparece en vista Formulario. Tiene tres partes: arriba, los da-
tos de Clientes; en el medio un subformulario que muestra una hoja con datos de Facturas; abajo un sub-
formulario que muestra una hoja con datos de Detalles. Si pasa a vista Diseño, puede eliminar etiquetas,
mover los subformularios uno junto a otro, cambiar su tamaño, etc. Guarde el formulario como F5.

Vista Diseño
Sirve para introducir controles que presenten datos del origen o que sean independien-
tes de ellos. El área de diseño consta de las siguientes cinco secciones.

Encabezado de formulario. Sirve para colocar lo que se quiere que aparezca una vez,
al principio del formulario. Se ve en vista Formulario y se imprime. Es opcional.

Encabezado de página. Sirve para colocar lo que se quiere aparezca al principio de


cada página, si el formulario se imprime. Es opcional.

Detalle. En él se colocan controles que están vinculados a campos del origen o que
son independientes de ellos. Se debe diseñar el registro genérico, que se aplicará a to-
dos los registros reales. Es la sección obligatoria, pues sin ella no hay formulario.

Pie de página. Sirve para colocar lo que se quiere aparezca al final de cada página, si
el formulario se imprime. Es opcional.

Pie de formulario. Sirve para lo que se quiere que aparezca una vez, al final del for-
mulario. Se ve en vista Formulario y se imprime. Es opcional.

Puede agregar o eliminar los encabezados o pies usando el menú contextual sobre
el fondo del formulario. Alrededor del área de diseño hay reglas para medir las distan-
cias y los controles. También hay una cuadrícula que ayuda a colocar los controles. Pa-
ra ver u ocultar las reglas y la cuadrícula, tiene las opciones Regla y Cuadrícula del
menú contextual sobre el fondo del formulario.

70
Controles
Por ahora nos limitaremos a presentarlos y comentarlos brevemente. Más adelante,
después de tratar informes, los veremos en detalle.

Seleccionar. No es un control, sino una herramienta para seleccionarlos. Vuel-


ve al modo selección, anulando la selección de cualquier otro control.

Etiqueta. Muestra un texto que se usa para títulos, indicaciones, comentarios,


etc. El texto se escribe directamente en el control y se visualiza o modifica en la
propiedad Título.

Cuadro de texto. Presenta un dato generalmente editable. Puede ser:


 DEPENDIENTE. Depende de un campo. Si modifica el contenido en la vista
Formulario, cambia el dato en el campo. La propiedad Origen del control de-
fine el campo asociado.
 INDEPENDIENTE. Presenta el resultado de un cálculo o permite ingresar datos
no asociados a ningún campo. Si modifica el contenido no modifica el ori-
gen. Si Origen del control es la fórmula que calcula el valor a mostrar, debe
ir precedida por el signo =.

Botón. Al pulsarlo ejecuta acciones programadas.

Pestaña. Cuando hay tantos controles que no caben o son difíciles de hallar en
el formulario, permite organizarlos en fichas distintas.

Cuadro combinado. Lista desplegable de opciones, de una o más columnas.


Se puede definir con un asistente.

Cuadro de lista. Lista desplegada de opciones. Como los cuadros combinados,


puede tener una o más columnas, que pueden aparecer con o sin encabeza-
dos. Se puede definir con un asistente.

Grupo de opciones. Incluye opciones relacionadas. Por ejemplo, el grupo Se-


xo podría incluir las opciones Hombre y Mujer. Es útil para pocas opciones. Si
son muchas, se usan cuadros de lista o combinados. Se define con un asisten-
te.

Botón de alternar. Dentro de un grupo de opciones, representa una opción


asociada a un número. Fuera de un grupo, representa un campo Sí/No. Si se
activa, el botón se ve presionado.

Casilla de verificación. Dentro de un grupo de opciones, representa una op-


ción asociada a un número. Fuera de un grupo, representa un campo Sí/No. Si
se activa, el botón se ve con una tilde.

71
Botón de opción. Dentro de un grupo de opciones, representa una opción
asociada a un número. Fuera de un grupo, representa un campo Sí/No. Si se
activa, el botón se ve con un punto adentro.

Línea. Línea decorativa.

Rectángulo. Rectángulo decorativo.

Subformulario/Subinforme. Incluye un subformulario o subinforme en el for-


mulario o informe. Un asistente permite configurarlo.

Insertar salto de línea. No tiene efecto en vista Formulario; sí en vista Prelimi-


nar y al imprimir.

Gráfico. Representación gráfica de datos, que ayuda a interpretarlos.

Marco de objeto independiente. Inserta un archivo, como un documento de


Word o una hoja de cálculo. Los archivos no varían al cambiar de registro y no
están en ninguna tabla.

Marco de objeto dependiente. Inserta archivos, como un documento de Word


o una hoja de cálculo, que están en un campo de un registro de una tabla. Va-
rían al cambiar de registro. Ejemplos: la foto o el currículum de una persona. No
lo consideramos, por ser mejor el control Datos adjuntos.

Datos adjuntos. Forma óptima de incluir archivos en un formulario. Similar a un


marco de objeto dependiente, pero mucho mejor.

Imagen. Inserta imágenes que no dependen de ningún registro. Por ejemplo, el


logo de la empresa.

Hipervínculo. Contiene un enlace a una página web, correo electrónico o pro-


grama.

Control de explorador web. Inserta la dirección de una página web en el for-


mulario.

Control de navegación. Facilita navegar por el formulario. Tiene el mismo


efecto que crear un formulario de tipo Navegación. No lo estudiamos.

Definir valores predeterminados de los controles. Este botón es accesible


cuando se selecciona un control. Si se activa, todos los valores de propiedad
del control quedan predeterminadas en adelante para controles de ese tipo.

Utilizar asistente para controles. Si se mantiene activado, varios tipos de con-


troles, al ser incorporados a un formulario o informe, disparan automáticamente

72
un asistente específico.

Controles ActiveX. Despliega una lista de controles más complejos, cada uno
con propiedades específicas. Estos controles se pueden adquirir y deben estar
registrados en el sistema para ser operativos. No estudiamos este control.

Manipular controles
Hay operaciones elementales con los controles, que el lector debe automatizar.

Seleccionar. Para seleccionar un control ya agregado a un formulario, se da clic sobre


él. Cuando está seleccionado, se resalta el borde y aparecen cuadraditos alrededor: el
más grande es el controlador de movimiento y los más pequeños los controladores de
tamaño.

Si es difícil seleccionar controles muy pequeños, muy finos o superpuestos, use la


lista de controles, que está en la parte superior de la Hoja de Propiedades: despliegue
la lista y seleccione el control que le interesa. Para seleccionar varios controles, man-
tenga pulsada Ctrl o Shift y dé clic en cada control a seleccionar. Si los controles son
contiguos, también puede arrastrar el puntero sobre el fondo del formulario, con lo que
se va dibujando un rectángulo; cuando suelte el botón del mouse, todos los controles
que toca ese rectángulo quedan seleccionados y el rectángulo desaparece.
Para mostrar la hoja, emita Diseño–Herramientas–Hoja de Propiedades. También
puede dar clic secundario en cualquier parte del formulario y seleccionar Propiedades.
Si la hoja está abierta y da clic sobre un control, la hoja muestra información sobre ese
control. Si la hoja está cerrada y da doble clic sobre un control, aparece la hoja con las
propiedades de ese control.

Agregar. Para agregar un campo, emita Diseño–Herramientas–Agregar campos exis-


tentes. Se abre el panel Lista de campos. Si la lista está cerrada, pulse Mostrar todas
las tablas. Elija una tabla y dentro de ella, pulsando + si hace falta, arrastre un campo
al formulario o dele doble clic. Access genera dos controles: una etiqueta con el título
del campo, si lo hay, o con el nombre del campo, si no lo hay, y un cuadro de texto
asociado al campo. La tabla elegida se convierte en el origen del formulario y cambia el
aspecto de Lista de campos: aparecen tres cuadros, llamados Campos disponibles pa-
ra esta vista, Campos disponibles en tablas relacionadas y Campos disponibles en
otras tablas. A partir de ahora, puede añadir campos de cualquier tabla. La desventaja
de esta lista es que sólo muestra tablas, no consultas. Si no usa este procedimiento,
debe usar el grupo Controles.
Para agregar cualquier tipo de control, use el grupo Controles de la ficha Diseño.
Pulse el tipo de control a agregar, posiciónese en el área del formulario donde quiere
colocarlo y arrastre el mouse hasta darle el tamaño deseado. Si no arrastra y solamen-
te da clic, se agrega el control con un tamaño predefinido. La desventaja de usar el
grupo Controles es que prácticamente no se configura ninguna propiedad, sino que de-
be hacerlo manualmente. Si agrega un cuadro de texto, automáticamente se agrega
una etiqueta asociada a él.

73
Copiar y pegar. Seleccione el control a duplicar y emita Inicio–Portapapeles –Copiar,
o pulse Ctrl + C. Luego péguelo emitiendo Inicio–Portapapeles–Pegar, o pulse Ctrl +
V. La copia toma otro nombre, que puede cambiar en la propiedad Nombre.

Mover. Seleccione el control y, cuando el puntero tome forma de flecha cuádruple,


arrástrelo. Si es un par etiqueta – cuadro de texto, moverá ambos. Si quiere mover úni-
camente la etiqueta o el cuadro de texto, debe hacer lo mismo, pero situándose sobre
el cuadradito gris de la esquina superior izquierda. Para mover varios controles a la
vez, selecciónelos y mueva uno de ellos: se moverán todos. Si el control no está en un
diseño, puede seleccionarlo y moverlo con las teclas de flecha.

Cambiar tamaño. Seleccione el control para que aparezcan los controladores de ta-
maño. Mueva el puntero sobre un controlador y, cuando tome forma de flecha doble ho-
rizontal, vertical u oblicua, arrástrelo para obtener la dimensión deseada. Para cambiar
el tamaño de varios controles a la vez, selecciónelos y cambie el tamaño de uno de
ellos: cambiarán todos. Con el teclado, seleccione el control o controles, mantenga
Shift o Ctrl y pulse las teclas de flecha. Las flechas laterales aumentan o reducen el an-
cho, moviendo el borde derecho; las flechas verticales aumentan o reducen el alto, mo-
viendo el borde inferior. Si el control está en un diseño, el cambio afecta a todos los
controles de la fila o columna; si no lo está, sólo afecta al control.

Subformularios
El control Subformulario/Subinforme inserta un subformulario en un formulario o un
subinforme en un informe. La combinación formulario/subformulario se llama formulario
jerárquico, principal/detalles o principal/secundario. Los subformularios sirven para
mostrar datos de tablas o consultas que son la parte N de una relación 1—N.
Sea un formulario que muestre datos de la tabla Clientes, con un subformulario que
muestre las facturas compradas por cada cliente. El formulario principal y el subformu-
lario están vinculados de tal modo que el subformulario presenta sólo los registros rela-
cionados con el registro actual del formulario principal. Hay varias posibilidades de
crear un formulario jerárquico.

Crear un formulario jerárquico con el asistente


Inicie el asistente con Crear – Formularios – Asistente para formularios.

Paso 1. Selección de tablas y campos. Seleccione una tabla y los campos a incluir.
Repita el procedimiento con una segunda tabla. Puede incluir una tercera, cuarta, etc.
tablas, siempre que estén relacionadas. El problema práctico es que, mientras más ta-
blas incluya, más difícil será ubicar los controles, por la escasez de espacio.

Paso 2. Definición de la jerarquía. Seleccione la tabla que ocupará el formulario princi-


pal. El asistente mostrará un diagrama: el cuadro superior representa los campos del
formulario principal y el cuadro inferior los campos del subformulario. Active el botón
Formulario con subformularios. Según la tabla que seleccione, se puede mostrar un
diagrama jerárquico o un único formulario. Nos interesa el primer caso.

74
Paso 3. Distribución del subformulario. Elija tabular u hoja de datos. Ambas distribucio-
nes ordenan los datos del subformulario en filas y columnas, pero la tabular es más fá-
cil de personalizar con colores, gráficos y otros elementos de formato.

Paso 4. Finalizar. Escriba los nombres de los formularios. Indique si quiere presentar-
los en vista Formulario o en vista Diseño. Access crea dos formularios: uno es el formu-
lario principal con un control subformulario y el otro es el subformulario.

Inicie el asistente. En el primer paso, elija la tabla Clientes y transfiera todos los campos; elija la tabla
Facturas y transfiera todos los campos; elija la tabla Detalles y transfiera todos los campos. Pase con Si-
guiente los pasos restantes. En el último, pulse Finalizar. Cambie a vista Formulario. Hay un formulario
principal, del que depende un primer subformulario, y otro subformulario que depende del primero. Cierre
el formulario.

Agregar un subformulario a un formulario


Ponga un formulario existente en vista Diseño, o diséñelo desde cero en vista Diseño.
Será el formulario principal. En el grupo Controles vea que esté activo el botón Usar
asistentes para controles: si no lo está, actívelo. Agregue un control Subformula-
rio/Subinforme al formulario. Siga las instrucciones del Asistente para subformularios.
Puede crear un subformulario nuevo o usar un formulario existente con tal propósito.

Cree un formulario en blanco. En la lista de campos elija la tabla Vendedores y transfiera los campos
Ven y NomVen. Cambie a vista Diseño. Active Usar asistente para controles. Introduzca un SubFormula-
rio/Subinforme. Se abre el Asistente para subformularios. Saltee el paso 1. En el paso 2 seleccione la tabla
Facturas y transfiera todos los campos. Vaya al paso 3 y pulse Finalizar. Cambie a vista Formulario. Cierre
el formulario.

Crear un subformulario por arrastre


Ponga un formulario existente en vista Diseño, o diséñelo en esta vista. Arrastre un
formulario a usar como subformulario, desde el panel de navegación al formulario prin-
cipal. Cambie avista Formulario y compruebe si funciona bien.
Si la prueba anterior no funciona, es porque Access no pudo vincular el subformula-
rio al formulario principal. Por esta razón, las propiedades Vincular campos secundarios
y Vincular campos principales del subformulario están en blanco. Deberá configurar
manualmente estas propiedades. Ponga el formulario principal en vistas Presentación o
Diseño. Seleccione el control subformulario y visualice la Hoja de propiedades. Puede
hacerlo con F4. En la ficha Datos, pulse el botón Generar … de la propiedad Vincular
campos secundarios. Aparece el diálogo Vinculador de campos de subformulario. En
las listas Campos principales y Campos secundarios seleccione los campos de vincula-
ción. Si no está seguro de los campos, pulse Sugerir para que Access intente determi-
nar los campos de vinculación. Guarde el formulario principal, cambie a vista Formula-
rio y compruebe el funcionamiento.

Cree un formulario en blanco. En la lista de campos elija la tabla Facturas y transfiera todos los cam-
pos. Cambie a vista Diseño. Arrastre la tabla Detalles del panel de navegación al formulario. Aparece el

75
Asistente para subformularios. Avance al último paso y pulse Finalizar. Cambie a vista Formulario para
controlar que funciona bien.

Subformulario/subinforme independiente
El control subformulario/subinforme se puede usar con independencia de un formulario
principal. Para ello, las propiedades Vincular campos principales y Vincular campos se-
cundarios deben estar en blanco. Esto permite agregar varios controles de este tipo a
un formulario, logrando ver distintas tablas en un mismo formulario, sin tener en cuenta
que estén o no relacionadas.

Pulse Diseño del formulario. Del panel de navegación arrastre la tabla Provincias al formulario. Se abre
el Asistente para subformularios. Pulse Finalizar. Haga lo mismo con la tabla Facturas. Cambie a vista
Formulario. Ambas tablas trabajan de modo independiente (de hecho, aunque quisiera no podría relacio-
narlas mediante propiedades).

Formularios vinculados
Estos formularios funcionan en ventanas independientes, que se pueden mover, mini-
mizar, maximizar, restaurar, pero que están relacionados. Funcionan como los formula-
rios jerárquicos, pero dan la comodidad de manejar cada uno de modo independiente.
Para crearlos se usa el asistente para formularios, que ya conoce.

Paso 1. Seleccione las tablas y campos. Las tablas deben tener una relación 1–N.

Paso 2. Active la opción Formularios vinculados.

Paso 3. Escriba los nombres de los formularios. Pulse Finalizar.

Invoque al asistente para formularios. En el paso 1, seleccione las tablas Clientes y Facturas, y transfie-
ra todos los campos de ambas. En el paso 2, active Formularios vinculados. En el paso 3, llame Vincula-
do1 y Vinculado2 a cada formulario (note que ahora no se indica Formulario y Subformulario, sino Primer
formulario y Segundo formulario). Pulse Finalizar.
Aparece Vinculado1 como formulario simple. En el encabezado hay un botón que dice Vinculado2. Si
hay una etiqueta que se le superpone, en vista Diseño desplácela o elimínela. Cambie a vista Formulario.
Si pulsa el botón, se presenta Vinculado2, en diseño tabular, mostrando los registros hijos del registro acti-
vo en Vinculado1. Pulse el botón de cierre o la pestaña de Vinculado1. Cambie de registro y pulse el bo-
tón. Aparece Vinculado2, con los registros correspondientes.
Como puede apreciar, estos dos formularios aparecen maximizados, cada uno con el botón Cerrar en
la barra de título. Trabajar de esta forma no es cómodo.
Guarde y cierre los dos formularios. Abra Vinculado1 en vista Diseño, ponga en Sí la propiedad Emer-
gente, guárdelo y ciérrelo. Haga lo mismo con Vinculado2.
Dé doble clic en Vinculado1 para abrirlo en vista Formulario. Ahora tiene los botones Minimizar, Maxi-
mizar/Restaurar y Cerrar. Redimensione el formulario para que muestre lo necesario. Pulse el botón Vincu-
lado2 y aparece este formulario. Redimensiónelo a lo necesario, de modo que se vean ambos formularios.
Pulse de nuevo el botón Vinculado2 y se oculta este formulario. Repita los clic sobre el botón.
Ahora funciona mejor.

76
Formulario dividido
Un formulario dividido muestra las vistas Formulario y Hoja de datos a la vez. Ambas
están conectadas al mismo origen de datos y sincronizadas entre ellas. Si selecciona
un campo en una vista, se selecciona el mismo campo en la otra. Puede agregar y eli-
minar registros, y modificar campos en cualquier de esas vistas.

Operaciones con formulario dividido

Crear. En el panel de navegación, seleccione una tabla o consulta. También puede


abrir la tabla o consulta en vista Hoja de datos. Emita Crear–Formularios–Más formula-
rios–Formulario dividido. Access crea el formulario y lo muestra en vista Presentación.

Convertir en formulario dividido. Ponga el formulario en vista Presentación. Muestre


la hoja de propiedades. Seleccione el control Formulario en la lista de controles. En la
ficha Formato de la Hoja de propiedades, en Vista predeterminada seleccione Formula-
rio dividido. Guarde y cierre el formulario; luego dele doble clic en el panel de navega-
ción para abrirlo en vista Formulario.

Agregar campo. Ponga el formulario en vista Presentación. Active la Lista de campos.


Busque el campo que desee agregar y arrástrelo al formulario. Si arrastra el campo a la
hoja de datos, también se agrega al formulario, aunque quizás no en la ubicación
deseada. Por lo tanto, se recomienda arrastrarlo al formulario.

Eliminar campo. Ponga el formulario en vista Presentación. En la parte correspondien-


te al formulario, seleccione el campo y pulse Delete (Supr). El campo se elimina tanto
del formulario como de la hoja de datos.

Fijar separador. Para fijar el separador de formulario en una posición que no pueda
mover el usuario, ponga el formulario en vista Diseño. En la Hoja de propiedades se-
leccione el control Formulario. En la ficha Formato, establezca en No la propiedad Ba-
rra divisora del formulario dividido. Establezca en Sí la propiedad Guardar posición de
la barra divisora. Cambie a vista Presentación. Arrastre la barra divisora a la posición
que desee (o indique el alto exacto en la propiedad Tamaño del formulario dividido).
Cambie a vista Formulario para ver el resultado. El separador queda fijado en la posi-
ción configurada y la barra divisora se oculta.

Propiedades de formulario dividido


En la hoja de propiedades, seleccione el control Formulario. Todas las propiedades que
explicamos a continuación están en la ficha Formato.

Tamaño del formulario dividido. Es el ancho o alto exactos (según que el formulario
esté dividido vertical u horizontalmente) para la parte correspondiente a vista Formula-
rio. La opción Auto deja establecer la dimensión mediante arrastre de la barra divisora.

Orientación del formulario dividido. Posición de la hoja de datos: encima, debajo, a


la izquierda, a la derecha del formulario.

77
Barra divisora del formulario dividido. Si vale Sí, se pueden cambiar las áreas del
formulario y la hoja de datos, desplazando la barra que los separa. Si vale No, la barra
se oculta y no se puede cambiar el área.

Hoja de datos del formulario dividido. Si vale Permitir ediciones, se pueden realizar
modificaciones en la hoja de datos. Si vale Sólo lectura, no se pueden realizar.

Impresión del formulario dividido. Establece qué parte del formulario se puede im-
primir. Los valores son Sólo formulario y Sólo hoja de datos.

Guardar posición de la barra divisora. Si vale Sí, el formulario se abre con la barra
divisora en la última posición donde se encontraba. Si vale No, no se pueden cambiar
las áreas de los componentes y la barra divisora se oculta.

Diseños
Un diseño es un conjunto de filas y columnas que definen celdas, donde se representa
un formulario o un informe. Cada celda contiene un solo control o está vacía. El aspec-
to final del formulario o informe es parejo y equilibrado. Los diseños son opcionales en
bases de datos que sólo se abren con Access y son obligatorios para accederlas desde
Internet. Hay dos tipos básicos de diseños, tabular y apilado, que se pueden modificar.

Para hacer pruebas, vamos a crear una consulta llamada Diseños. Créela en modo Diseño de consulta.
Agregue las tablas Clientes, Facturas, Detalles y Artículos. Las combinaciones que aparecen son correc-
tas. Agregue los campos NomCli de Clientes, Fac y Fec de Facturas, NomArt de Artículos, Can y PreFac
de Detalles e Importe:[Can]*[PreFac]. Dé a la propiedad Formato de Importe el valor Estándar. Pruebe la
consulta. Guárdela y ciérrela.
Colóquese en la consulta Diseños en el panel de navegación y emita Crear – Formularios – Formulario.
Access crea y muestra en vista Presentación un formulario con diseño apilado. Guárdelo como Diseños.
Este formulario será el que usemos en las pruebas que siguen.

Diseño tabular. Tiene dos secciones. Las etiquetas ocupan la sección superior y los
cuadros de texto la inferior, encolumnados debajo de las etiquetas correspondientes.

Diseño apilado. Tiene una sola sección. Los controles se disponen uno bajo otro, una
etiqueta a la izquierda y un cuadro de texto a la derecha en cada fila.
Access usa diseño apilado cuando crea autoformularios o formularios en blanco y di-
seño tabular cuando crea autoinformes o informes en blanco.
Mediante la intervención del programador, en un mismo formulario o informe, algu-
nos controles pueden tener un diseño y otros un diseño diferente, como también puede
haber controles libres de diseño.

Operaciones con diseños


Para trabajar con diseños, use las vistas Presentación o Diseño. La última es la mejor.

78
Seleccionar controles con un tipo de diseño. Para seleccionar todos los controles
que tengan un diseño, ubíquese en una de las celdas y emita Organizar – Filas y co-
lumnas – Seleccionar diseño. Si sólo quiere seleccionar una fila o una columna dentro
del diseño, seleccione un control dentro de ellas y emita Organizar – Filas y columnas –
Seleccionar columna o fila.

Cambie a vista Diseño y seleccione cualquier control. Emita Organizar – Filas y columnas – Seleccionar
diseño. Se seleccionan todos los controles del diseño apilado. Dé clic fuera de los controles seleccionados
y seleccione una fila o una columna.

Dar un diseño a un grupo de controles. Selecciónelos y emita Organizar –Tabla –


Tabular o Apilado. El resultado puede contener filas o columnas en blanco.

Colóquese en el encabezado del formulario, donde no haya controles, dé clic secundario y desactive
Encabezado o pie de formulario. Access le advierte que pueden perderse controles que haya en esa ban-
da. Responda que quiere eliminarlos. Los eliminamos para que no entorpezcan nuestra práctica.
Seleccione todos los controles del diseño y emita Organizar –Tabla –Tabular. El ancho de los controles,
inicialmente igual, hace que muchos queden fuera de pantalla. Cambie a vista Presentación, para ver da-
tos del primer registro. Seleccione la primera columna (etiqueta Nombre cliente y campo con el nombre del
cliente), mantenga Shift y pulse repetidamente  hasta que tenga un tamaño adecuado, sin perder la vi-
sualización del dato. Las otras columnas se han desplazado hacia la izquierda. Reduzca el ancho del
mismo modo de todas las demás columnas, hasta que todas entren en una sola pantalla.

Insertar fila o columna. Seleccione una celda en el lugar donde desea insertar. En
Organizar –Filas y columnas, pulse Insertar arriba o Insertar abajo para insertar una fi-
la; pulse Insertar a la izquierda o Insertar a la derecha para insertar una columna.

Pruebe insertando filas y columnas.

Eliminar fila o columna. Seleccione una celda de la fila o columna a eliminar. En Or-
ganizar –Filas y columnas pulse Seleccionar columna o Seleccionar fila. Pulse Delete
(supr). También, y más rápido, es dar clic secundario en una celda de la fila o columna
y elegir Eliminar fila o Eliminar columna.

Elimine las filas y columnas insertadas.

Dividir celda. Seleccione la celda. En Organizar – Combinar o dividir, pulse Dividir ver-
ticalmente o Dividir horizontalmente. Cuando divide una celda verticalmente, se crea
una nueva celda debajo, pero la altura de la fila no varía. Cuando se divide una celda
horizontalmente, se crea una celda a la derecha, pero el ancho de la columna no varía.

Divida una celda horizontal o verticalmente.

Combinar celdas. Puede combinar celdas vacías, o bien, una celda que contenga un
control con otras vacías. No puede hacerlo con celdas que contengan controles, porque
la celda resultante sólo puede contener un control. Para combinar, seleccione la prime-

79
ra celda. Mantenga Shift y seleccione las otras celdas a combinar. Emita Organizar –
Combinar o dividir –Combinar.

Seleccione las dos celdas resultantes de la división y combínelas en una.

Mover controles. Puede mover un control dentro de un diseño o entre diseños, arras-
trándolo. A medida que lo arrastra, aparece una barra horizontal o vertical que indica
dónde se colocará el control si suelta el botón del mouse. Si pasa por una celda vacía,
se resalta la celda completa. También puede mover un control seleccionándolo y usan-
do las teclas de flecha.
Si mueve un control hasta los límites del diseño, se agrega un nueva fila o columna
para acomodarlo. Esta fila o columna permanece en el diseño, incluso si mueve el con-
trol a su ubicación original.

Seleccione el cuadro de texto donde está la fecha y arrástrelo al extremo izquierdo. Vuélvalo a arrastrar
a su posición original. A la izquierda ha quedado una columna vacía. Colóquese en el lugar a donde arras-
tró la fecha inicialmente (primera columna izquierda) y elimine la columna.

Agregar campo desde lista de campos. Arrastre el campo de la Lista de campos al


diseño. Una barra horizontal o vertical indica dónde se colocará el campo si suelta el
botón del mouse. Si lo arrastra a una celda vacía, se resalta la celda completa.

Emita Diseño –Herramientas –Agregar campos existentes. Arrastre el campo Cli de la tabla Clientes a
la posición extremo izquierda. Si Access le advierte que va a modificar el origen de datos mediante una
nueva consulta, responda Sí. En algún momento le va a pedir un nombre para la nueva consulta: use el
mismo nombre, Diseños.

Agregar controles independientes. Si tiene controles independientes de cualquiera


de los dos tipos de diseño, puede agregarlos a un diseño existente. Seleccione los con-
troles y arrástrelos al diseño. Una barra horizontal o vertical indicará dónde se coloca-
rán los controles si suelta el botón del mouse.

En Diseño – Controles, dé clic en el control Botón. Dé clic en el formulario para insertar el botón. Se
abre un cuadro de diálogo. Pulse Finalizar. Seleccione el botón y elimínelo.

Liberar controles. Liberar controles de un diseño permite colocarlos en cualquier parte


del formulario o informe sin afectar la posición de los demás. Para hacerlo, seleccione
los controles, incluidas las etiquetas. Emita Organizar – Tabla – Quitar diseño. También
puede dar clic secundario en una de las celdas seleccionadas, elegir Diseño y después
Eliminar diseño. Access quita las celdas seleccionadas del diseño. Si quedan controles
en el diseño, puede que se superpongan con los controles liberados. Para solucionar
este problema, mientras los controles estén seleccionados, arrástrelos fuera del diseño.

Seleccione la etiqueta y el cuadro de texto del importe. Libérelos del diseño. Muévalos para probar que
ahora están liberados.

80
IX. Informes
Los informes presentan datos de una tabla o consulta, en forma impresa o en vista pre-
liminar. A diferencia de los formularios, los datos se pueden visualizar e imprimir, pero
no modificar. Los datos se pueden agrupar, obteniendo totales por grupo.

Crear un informe
Para crear un informe, ubique Crear–Informes. Hay varias opciones.

Informe. Crea un autoinforme con diseño tabular, con todos los campos de la tabla o
consulta seleccionadas en el Panel de navegación.

Seleccione la tabla Artículos en el panel de navegación. Emita Crear–Informes –Informe. Access crea
un informe tabular que muestra en vista Presentación. Guárdelo como I1.

Diseño de informe. Abre un informe en blanco en la vista Diseño para agregarle con-
troles. Es el método más artesanal y requiere mucho trabajo. A veces es más cómodo y
rápido crear un autoinforme o usar el asistente y después refinar el diseño.

Informe en blanco. Abre un informe en blanco en vista Presentación. Aparece abierta


la Lista de campos para elegir tablas y campos.

Asistente para informes. Usa un asistente que guía en la creación del informe.

Agrupar registros
Un informe puede ser un simple listado de registros, al cual se le puede añadir totales
generales al final. Por ejemplo, se puede crear un informe que liste los registros de la
tabla Clientes, y al final imprima cuántos clientes hay.
Pero, si en un mismo campo, un contenido A se repite en varios registros consecuti-
vos, otro contenido B se repite en varios otros registros consecutivos, y así, se pueden
agrupar los registros por ese campo.
Por ejemplo, si la tabla Clientes se relaciona con Provincias y se agrupa por Prov,
habrá un grupo de registros de Santa Fe, otro de Formosa, etc. Esto permite encabezar
cada grupo con el nombre de la provincia correspondiente y, cuando termina cada gru-
po, imprimir cuántos clientes hay en ella. El siguiente esquema ilustra lo dicho:

81
Provincia Cliente Nombre
Buenos Aires
25 Juan
37 Pedro Buenos Aires
45 Alberto
Cantidad 3
Catamarca
15 Alfredo
49 César Catamarca
Cantidad 2
Etc.

Cada provincia genera un grupo. Cada grupo tiene un encabezado (Buenos Aires,
Catamarca, etc.) y un pie (Cantidad 3, Cantidad 2, etc.). La ilustración, obviamente, es
un fragmento. Al final, podría darse una cuenta general de todos los clientes.
Si hay un campo cuyos valores se repiten, podemos agrupar por tal campo. Si en-
contramos que, dentro de cada grupo, hay otro campo cuyos valores también se repi-
ten, podemos crear un segundo grupo, subordinado al primero, creando una jerarquía.
Por ejemplo, en la tabla Facturas se repiten los clientes y los vendedores. Si queremos
saber las compras de cada cliente a cada vendedor, debemos agrupar primero por
Cliente y luego por Vendedor. Esto produciría el siguiente esquema:

Cliente Vendedor Factura Importe


1 José
12 Alberto
1250 600 Alberto
1324 400
Total vendedor 1.000
23 César
José
1926 1.500
2014 3.000
2520 500 César
Total vendedor 5.000

Total cliente 6.000


2 Silvia
Silvia Etc.

El grupo Cliente es más amplio que el grupo Vendedor, porque un cliente puede ha-
ber sido atendido por varios vendedores. El grupo Cliente tiene encabezado de grupo
(1 José, 2 Silvia) y pie de grupo (Total cliente 6.000). El grupo Vendedor está subordi-
nado al grupo Cliente, por lo que puede repetirse varias veces dentro de cada cliente.
También tiene encabezado de grupo (12 Alberto, 23 César) y pie de grupo (Total ven-
dedor 1.000, Total vendedor 5.000).
Con los mismos datos de Facturas, cambiando el punto de vista, podemos saber las
ventas de cada vendedor a cada cliente. En este caso debemos agrupar primero por
Vendedor y luego por Cliente. El esquema sería:
82
Vendedor Cliente Factura Importe
1 Pedro
1 José
1112 500
José
1150 400
Total cliente 900
Pedro 2 Silvia
725 1.500
Silvia
922 500
Total cliente 2.000

Total vendedor 2.900


2 Augusto
Augusto Etc.

El grupo Vendedor es más amplio que el grupo Cliente, porque un vendedor puede
haber vendido a distintos clientes. El grupo Vendedor tiene encabezado de grupo (1
Pedro, 2 Augusto) y pie de grupo (Total Vendedor 2.900). El grupo Cliente está subor-
dinado al grupo Vendedor, por lo que puede repetirse varias veces dentro de cada ven-
dedor. También tiene encabezado de grupo (1 José, 2 Silvia) y pie de grupo (Total
cliente 900, Total cliente 2.000).

Dos advertencias importantes de los informes con respecto a las consultas son:

 Las consultas de resumen producen un registro por cada grupo, no pudiendo incluir
los registros de detalle.

 Los informes pueden producir: (1) Encabezados de grupo, con datos que identifiquen
el grupo; (2) Registros de detalle; (3) Pies de grupo, con datos que resuman el gru-
po, como sumas de campos, promedios, etc. Decimos pueden, porque si no se quie-
re alguno de estos componentes, basta no colocar controles dentro de él y reducir su
altura a 0.

Cree una consulta con muchos campos. Abra el asistente para consultas sencillas.

De la tabla Transfiera los campos


Facturas Fac, Fec, Cli y Ven
Clientes NomCli
Vendedores NomVen
Detalles Art, Can, PreFac, Importe:[Can]*[PreFac]
Artículos NomArt

Vaya al último paso y llame C12 a la consulta. Pulse Finalizar. Cierre la vista Hoja de datos.
Seleccione C12 en el panel de navegación y emita Crear–Informes–Informe. Access produce un autoin-
forme tabular que muestra en vista Presentación.

83
Como el origen tiene muchos campos, el informe ocupa dos páginas a lo ancho. Para que quepa en
una sola, emita Configurar página – Diseño de página – Horizontal.
El informe todavía ocupa dos páginas horizontalmente. Puede eliminar datos innecesarios, como son
Cli, Ven y Art. Seleccione cualquier casilla de la columna Cliente, que corresponden a Cli, dé clic secunda-
rio y elija Eliminar columna. Haga lo mismo con las columnas Vendedor y Artículo.
Todavía el informe necesita dos páginas. Seleccione el título o cualquier dato de la primera columna,
sostenga Shift y pulse varias veces , reduciendo el ancho de la columna, cuidando que se vean bien el
título y los datos. Repita lo mismo con las demás columnas. Cambie a vista Informe y controle que los an-
chos son adecuados y muestran bien los datos. Cuando un ancho es insuficiente, si el dato es numérico o
de fecha verá # y si es texto lo verá en varias líneas. Cambie a vista Presentación.
Seleccione el título o una casilla de la columna Factura. Dé clic secundario y elija Agrupar en Factura.
Si Factura no hubiera sido la primera columna, Access la pondría como primera y reordenaría las colum-
nas restantes. Puede agrupar por más de un campo; pero no lo haga. Observe que ahora hay un Encabe-
zado de grupo, donde Access ha colocado los campos Fac y Fec. Sin embargo, los nombres de cliente y
de vendedor están en el detalle, y se repiten. Seleccione una casilla cualquiera de cliente y arrástrela al
encabezado de grupo. Haga lo mismo con una casilla de vendedor.
Seleccione el título o una casilla de la columna Descripción. Dé clic secundario y elija una de las dos
opciones Ordenar.
Seleccione el título o una casilla de la columna Importe. Dé clic secundario y póngase en Total Importe.
Se ofrecen Suma, Promedio, Incluir registros (para contar todos los registros), Incluir valores (para contar
sólo los registros con valor en este campo), Máx, Mín, Desviación estándar o Varianza. Elija Suma, que
agrega un Pie de informe con un cuadro de texto para el total general.
Guarde los cambios como I2.

Asistente para informes


Para iniciarlo, emita Crear –Informes – Asistente para informes.

Paso 1. Campos a incluir. Elija una tabla o consulta en la lista Tablas/consultas. Trans-
fiera los campos necesitados de Campos disponibles a Campos seleccionados. Si ne-
cesita campos de otra tabla o consulta, elija ésta en la lista y agregue los campos.
También puede crear una consulta para obtener los campos de varias tablas y luego
usarla como origen del informe.

Paso 2. Cómo ver los datos. El asistente examina las tablas y las relaciones para suge-
rir cómo presentar los datos. El usuario puede elegir distintas presentaciones en el
cuadro de la izquierda. El cuadro de la derecha esquematiza la distribución.

Paso 3. Niveles de agrupamiento. Para establecer campos de agrupamiento, transfié-


ralos con doble clic o con >. Estos campos se verán en color azul. Puede quitar un
campo de agrupamiento con doble clic o con <. Para cambiar la jerarquía, use los bo-
tones de prioridad  y .
Con el botón Opciones de agrupamiento, para cada campo de agrupamiento puede
elegir un intervalo. Las opciones de intervalo dependen del tipo del campo:

FECHAS Y HORAS. Normal (valor real), Año, Trimestre, Mes, Semana, Día, Hora y Minuto.

84
TEXTO. Normal (todo el campo) o por los primeros caracteres (de 1 a 5).

NÚMEROS. Normal (valor real) o por intervalo en incrementos seleccionados.

Paso 4. Ordenación y resumen. Puede ordenar los registros por hasta cuatro campos,
cada uno en sentido ascendente o descendente. Abra la primera lista y elija el campo
por el cual ordenar y use el botón de la derecha para establecer el sentido. Puede dar
clic en la segunda, tercera y cuarta listas para elegir más campos de ordenación.
Pulse el botón Opciones de resumen si desea resumir alguno o todos los campos
numéricos. Active las casillas de verificación Suma, Promedio, Mín o Máx que desee,
para incluir esos cálculos en el pie de grupo. Puede mostrar los detalles y el resumen o
sólo el resumen. Incluso puede mostrar el porcentaje que representa la suma de cada
grupo con respecto a la suma total de los registros.

Paso 5. Distribución del informe. Ofrece las opciones En pasos, Bloque y Esquema pa-
ra distribuir los datos en distintas filas. Access presenta un modelo de cada opción, pe-
ro es mejor ver el informe en una vista preliminar. En el cuadro Orientación puede ele-
gir impresión Vertical u Horizontal. Con la opción Ajustar el ancho del campo de forma
que quepan todos los campos en una página, el asistente generará los campos tal co-
mo dice la opción, aunque no siempre resulta.

Paso 6. Título y destino. Permite escribir el título del informe, que se mostrará en la
primera página y será el nombre del archivo. Puede elegir el destino del informe al ter-
minar: vista Preliminar o vista Diseño. El botón Finalizar guarda el informe y lo muestra
en la vista elegida como destino.

Emita Crear – Informes – Asistente para informes. En el paso 1 seleccione la consulta C12 y transfiera
los campos NomCli, NomVen, Fac, Fec, NomArt, Can, PreFac, Importe. Saltee los pasos 2, 3 y 4. Access
ha decidido agrupar por cliente y luego por vendedor. En el paso 5 seleccione Distribución En pasos y
Orientación Horizontal. Llame I3 al informe. Pulse Finalizar. Observe que cada nivel de agrupación produ-
ce una línea en el informe, separadas de las líneas de detalle de cada factura. Cierre el informe.
Repita los mismos pasos, pero eligiendo Distribución Bloque. Observe que sólo hay líneas de detalle,
pero que, al comenzar cada factura, se incluyen datos del vendedor y, cuando corresponde, del cliente.
Esta variedad, obviamente, ahorra papel al imprimir. Guarde el informe como I4. ¿Por qué en estas líneas
de detalle no salen repetidos los nombres de cliente y vendedor, la factura y la fecha, que sería lo normal?
La respuesta es que Access ha configurado la propiedad Ocultar replicados de estos controles al valor Sí.
Repita los mismos pasos, pero eligiendo Distribución Esquema. Observe que los componentes de cada
grupo ocupan una línea donde se escriben los títulos y los datos. Previo al detalle de cada factura, se es-
criben los títulos correspondientes. Esta variedad es la más costosa en papel. Guarde el informe como I5.

Vista Diseño de informe


En esta vista, más artesanal, el usuario introduce controles para presentar datos del
origen. Se puede crear un informe totalmente nuevo o retocar uno existente. Para
abrir un informe existente en esta vista, selecciónelo en el Panel de navegación y eli-
ja vista Diseño en el menú contextual. Si el informe está abierto, hemos visto que hay
varios recursos para cambiara esta vista.

85
En el área de diseño, inicialmente hay tres secciones o bandas, llamadas Encabe-
zado de página, Detalle y Pie de página. Hay otras bandas que se agregan a volun-
tad. El orden en que se presentan todas las bandas, si se activan, es el siguiente:

Encabezado de informe. Datos que aparecen una vez, al principio del informe.

Encabezado de página. Datos que se repiten al principio de cada página.

Encabezado de grupo. Aparece uno por cada nivel de agrupamiento (grupo, sub-
grupo, etc.). Es para datos que identifican (e incluso resumen) el grupo.

Detalle. Definición de un registro genérico. El informe producirá una banda Detalle por
cada registro real. Se colocan campos del registro. Pueden ser campos de tablas rela-
cionadas.

Pie de grupo. Aparece uno por cada nivel de agrupamiento creado. Es para datos
que resumen el grupo.

Pie de página. Datos que se repiten al final de cada página.

Pie de informe. Datos que aparecen una sola vez, al final del informe.

Es importante entender el orden en que aparecen los encabezados y pies de grupo,


que siempre rodean la banda Detalle. Por ejemplo, si se agrupa por los campos X, Y, Z,
en ese orden de jerarquía, estas bandas aparecerán en el siguiente orden (la sangría
es un agregado visual, para manifestar la jerarquía):

Encabezado de informe
Encabezado de página
Encabezado de grupo X
Encabezado de grupo Y
Encabezado de grupo Z
Detalle
Pie de grupo Z
Pie de grupo Y
Pie de grupo X
Pie de página
Pie de informe

Puede eliminar encabezados y pies con las opciones Encabezado de página, Pie
de página, Encabezado de informe y Pie de informe que están en el menú contextual

86
del informe. Al hacerlo, eliminará los controles que contienen.
Si no quiere eliminar los controles, pero no quiere imprimirlos, emita Diseño –
Herramientas –Hoja de propiedades, en el cuadro de controles elija Encabezado, De-
talle, etc. y cambie la propiedad Visible a No. Los cambios no se observarán en la
vista Diseño, sino en las vistas Preliminar e Informes.
Arriba y a la derecha del área de diseño hay reglas para medir las distancias y los
controles. También hay una cuadrícula que ayuda a colocar los controles. Puede ver
u ocultar las reglas o la cuadrícula desde el menú contextual del informe.

Panel agrupación, orden y total


En un informe se pueden definir niveles de agrupamiento, obteniendo por cada grupo
un encabezado y un pie, el primero para datos que lo identifiquen y el segundo para dar
totales referidos a él. En el encabezado también puede incluir totales del grupo, antici-
pándose a la presentación de los registros. Además, se puede definir una ordenación
para los registros.
El panel Agrupación, orden y total, que aparece al pie del área de diseño, es muy
flexible para agregar, eliminar o modificar opciones de agrupamiento, criterios de orde-
nación y totales. La vista Presentación es la mejor para trabajar con este panel, porque
visualiza los cambios mediante datos reales.

 Para mostrar el panel, emita Diseño–Agrupación y totales–Agrupar y ordenar.

 Para agregar un nuevo agrupamiento u ordenación, pulse Agregar un grupo o Agre-


gar un orden. Se agrega una nueva línea al panel, con una lista de los campos dis-
ponibles. Cada línea tiene una serie de componentes, que ahora exponemos.

Para probar los siguientes puntos, cree la consulta C13 con las tablas Vendedores, Clientes, Facturas,
Detalles y Artículos, para que calcule lo vendido por cada vendedor a cada cliente de cada artículo. Agre-
gue los campos NomVen, NomCli, NomArt e Importe: [Detalles]![Can]*[Detalles]![PreFac]. Conviértala en
consulta de resumen e introduzca la operación Suma en la fila Total del campo Importe. Pruebe, guarde y
cierre la consulta.
Colóquese sobre C13 en el panel de navegación y emita Crear –Informes –Informe. Reduzca el ancho
de las columnas para que entren todas en una sola página vertical. Llame I6 al informe.

Seleccionar campo. Puede elegir un campo o escribir una expresión. Access agrega
el nivel de agrupamiento al informe. Puede definir hasta 10 niveles de agrupamiento y
ordenación. Cada nivel tiene varias opciones, todas las cuales se muestran pulsando
Más y se ocultan pulsando Menos. Las opciones son las siguientes.

Criterio de ordenación. Para cambiar el criterio, abra la lista y elija la opción que
desee. Las opciones, expresadas mediante frases, indican ascendente y descendente.

Intervalo del grupo. Este valor determina cómo se agrupan los registros. Por ejemplo,
puede agrupar por el primer carácter de un campo de texto para agrupar todas las en-
tradas que comiencen por “A”, todos los valores que comiencen por “B”, y así. Las op-
ciones están relacionadas con el tipo del campo, y son las siguientes.

87
NUMÉRICO: Por valor completo; En grupos de 5, 10, 100, 1000; Personalizado: Intervalo
X, donde X es cualquier número.

FECHA/HORA: Por valor completo; Por día, semana, mes, trimestre, año; Personalizado:
Por X minutos, horas, días.

TEXTO: Por valor completo; Por el primer carácter; Por los primeros dos caracteres;
Personalizado: Carácter X.

Totales. En el título con total de, puede agregar totales para varios campos y varios ti-
pos de totales para el mismo campo. Para ello, en la lista Total de seleccione el campo
a resumir; en la lista Tipo seleccione el tipo de cálculo a realizar; seleccione dónde
quiere ver el total. Las casillas, no excluyentes, ofrecen las siguientes opciones:

MOSTRAR TOTAL GENERAL. Agrega un total general en el pie de informe.

MOSTRAR TOTALES DE GRUPO COMO % DE TOTAL GENERAL. Agrega en el pie de grupo el


porcentaje de ese grupo con respecto al total general.

MOSTRAR EN ENCABEZADO DE GRUPO. Agrega un total de grupo en tal encabezado.

MOSTRAR EN PIE DE GRUPO. Agrega un total de grupo en tal pie.

Elegidas todas las opciones para un campo, puede repetir el proceso y resumir otro
campo, seleccionándolo en la lista Total de. Cuando termine, dé clic fuera de la venta-
na Totales para cerrarla.

Título. Crea una etiqueta que coloca en el Encabezado del grupo. Para agregar o mo-
dificar el título, pulse el texto azul que sigue a con título. Aparecerá el diálogo Zoom.
Escriba el nuevo título y pulse Aceptar.

Con/sin una sección de encabezado. Agrega o quita la sección de encabezado de


grupo. Cuando la agrega, Access mueve el campo de agrupamiento al encabezado.
Cuando quita la sección, si la sección contiene controles que no sean el campo de
agrupamiento, Access pide que confirme si desea eliminarlos.

Con/sin una sección de pie. Funciona como Con/sin una sección de encabezado.

Mantener junto el grupo. Establece cómo distribuir un grupo cuando se va a imprimir


al final de una página. Las opciones son:

NO MANTENER JUNTO EL GRUPO EN UNA PÁGINA. Divide el grupo entre dos o más páginas.
Por ejemplo, un grupo de 30 líneas puede tener 10 líneas al final de una página y 20 al
principio de la siguiente.

MANTENER TODO EL GRUPO JUNTO EN UNA PÁGINA. Nunca divide un grupo, imprimiéndolo

88
en una sola página. Si un grupo tiene 30 líneas y en la página actual hay espacio para
10, deja un espacio en blanco en esta página e imprime todo el grupo en la página si-
guiente. Esta opción funciona si los grupos, como máximo, pueden ocupar una página.

MANTENER EL ENCABEZADO Y EL PRIMER REGISTRO JUNTOS EN UNA PÁGINA. Si se usa enca-


bezado de grupo, nunca se imprime el encabezado solo al final de una página. Amén
del encabezado, debe por lo menos imprimirse una línea en la página actual. Si no hay
espacio, ambas líneas pasan a la página siguiente.

Emita Diseño – Agrupación y totales –Ordenar y agrupar. Aparece el panel Agrupación, orden y total.
Seleccione el botón Agregar un grupo y elija el campo NomVen en la lista. Ahora verá que, en la primera
línea del informe, después de los títulos, aparece el nombre de vendedor. Este nombre no se repite, por-
que las líneas siguientes le pertenecen, hasta que, mucho después, aparece el nombre de otro vendedor.
Note que la definición del agrupamiento aparece en el panel inferior en color gris:
Agrupar en NomVen▼con A en la parte superior ▼, Más .
El primer ▼es para cambiar del campo de agrupación, si le hace falta. El segundo ▼ es para cambiar el
sentido de ordenación. Deje la opción inicial, que es la que queremos, es decir, ordenar los vendedores al-
fabéticamente en sentido ascendente.
Pulse el Másde la línea gris. Vea donde dice Con total de NomVen▼.Queremos totales por vendedor,
pero del campo Importe, no del campo NomVen. Pulse ▼para corregir. Elija el campo Importe y tilde Mos-
trar total general y Mostrar subtotal en pie de grupo. Elija el campo NomVen y, si alguna opción tiene tilde,
quítela. Fíjese que va a tener un título Nombre vendedor, que no queremos cambiar; una sección de enca-
bezado, para el nombre del vendedor; y una sección de pie para el subtotal de grupo.
Pulse el botón Agregar un grupo, debajo de la línea gris. Elija el campo NomCli, en orden ascendente,
con subtotal en pie de grupo. Toda esta definición se ven en una línea gris, cuando está seleccionada.
Queda asegurarnos que los nombres de artículo, que no participan en las agrupaciones, salgan orde-
nados alfabéticamente dentro de cada cliente. Pulse el botón Agregar un orden, seleccione NomArt y
acepte el orden ascendente.
Pruebe, guarde y cierre el informe. Desconecte el botón Agrupar y ordenar.
¿Cómo hacer para que no salgan los cuadros de texto con bordes y los totales de subgrupo, grupo y
general sin líneas horizontales? Haga Transparente las propiedades Estilo de los bordes y Estilo de la
cuadrícula superior. Otros aspectos estéticos quedan a su cargo.

Cambio de prioridad de los niveles de agrupamiento y ordenación. Para cambiar la


prioridad de un nivel de agrupamiento o de ordenación, seleccione la fila correspon-
diente y pulse la flecha arriba o flecha abajo, que está a la derecha de la fila.

Eliminación de niveles de agrupamiento y ordenación. Para eliminar un nivel de


agrupamiento u ordenación, seleccione la fila correspondiente y pulse Delete (Supr) o
el botón Eliminar, a la derecha de la fila. Al eliminar un nivel de agrupamiento, si el
campo de agrupamiento estaba en el encabezado o pie de grupo, Access lo mueve a la
banda Detalle. Se eliminan todos los controles incluidos en el encabezado o pie de
grupo.

Impresión
El propósito final de un informe es ser impreso. Pero la impresión puede ser realmente

89
lo que entendemos por tal, o puede ser una simulación de impresión en pantalla. Es
común producir vistas preliminares de un informe, sin consumir papel. Access brinda
ambas posibilidades. Incluso, durante el período de diseño, se harán vistas prelimina-
res para asegurar que el informe es correcto. La impresión propiamente dicha se puede
realizar de dos maneras: impresión rápida e impresión mediante el diálogo Imprimir.

Impresión rápida
La impresión rápida no pide configurar diversos parámetros de impresión, por lo que
resulta poco flexible. Para ejecutarla, seleccione el informe a imprimir en el Panel de
Navegación. Emita Archivo–Imprimir–Impresión rápida.
Si es la primera vez que imprime el informe, no le conviene este método. Emita Im-
primir–Vista preliminar para controlar que el aspecto del informe es lo esperado y que
se va a imprimir por impresora con la configuración adecuada.

Impresión mediante el diálogo Imprimir


Para imprimir modificando distintos parámetros, como cantidad de copias, impresora a
usar, intervalo de páginas, etc., use este diálogo. Para ello seleccione el informe y emi-
ta Archivo–Imprimir–Imprimir. En el diálogo cambie, si es necesario, algunos paráme-
tros: impresora, intervalo de impresión, registros seleccionados, copias, intercalación
de copias, etc. Pulse Aceptar para iniciar la impresión.

Vista preliminar
Para comprobar que la impresión será correcta, conviene que abra una vista preliminar
del informe. Si está bien, ordene la impresión definitiva.
Hay varias formas de abrir la vista Preliminar:
 Seleccionar el informe y emitir Archivo–Imprimir–Vista previa.
 Dar clic secundario en el informe en el panel de navegación y elegir Vista preliminar.
 Si el informe está abierto, emitir Diseño o Inicio –Vistas –Ver–Vista preliminar, o pul-
sar el botón correspondiente en la barra de estado.
En la ventana Vista preliminar se ve el informe tal como será impreso. Para cambiar
de página, en la parte inferior izquierda hay un selector de páginas. Hay una sola ficha,
Vista Preliminar, que se trata en el capítulo de fichas.

Diálogo Configurar página


Tiene las siguientes tres fichas.

Opciones de impresión

MÁRGENES. Permite establecer numéricamente los márgenes superior, inferior, izquier-


do y derecho.

IMPRIMIR SÓLO LOS DATOS. Si se activa, sólo imprime los datos. Si se desactiva, imprime
los datos y títulos.

FORMULARIO DIVIDIDO. Opción que no se activa ya que se maneja a través de la hoja de


propiedades Impresión de formulario dividido, en este tipo de formulario.

90
Páginas

ORIENTACIÓN. Tiene las opciones Vertical (retrato) y Horizontal (apaisado o paisaje).

PAPEL. La lista Tamaño ofrece varias medidas de papel predefinidas.

IMPRESORA PARA X. La opción Impresora predeterminada usa la impresora establecida


por defecto. La opción Usar la impresora especificada activa el botón Impresora, que
lleva a un diálogo para elegir una de las impresoras instaladas.

Columnas

CONFIGURACIÓN DE CUADRÍCULA. Sirve para escribir la cantidad de columnas (es decir,


páginas impresas) que se quiere tenga cada hoja de papel del informe; el espacio verti-
cal que separe una fila de otra; y el espacio que separe una columna de otra. Se usa
cuando la página impresa deja mucho espacio en la hoja de papel, pudiendo servir pa-
ra otra página. Por ejemplo, si la hoja impresa tiene este aspecto:

Página
Hoja de papel apaisada

se pueden colocar dos páginas en la hoja impresa, para economizar papel:

Página Página
Hoja de papel apaisada

TAMAÑO DE COLUMNA. Si bien en el apartado anterior se ha indicado la cantidad de co-


lumnas, no se ha definido el ancho. Aquí se define el ancho deseado, para lo cual Igual
que en Detalle debe estar desactivado. Si se activa esta opción, se invalida el ancho
personalizado y se vuelve al ancho de la banda Detalle.

DISEÑO DE COLUMNA. Sirve para establecer cómo se quiere escribir los registros. Hacia
abajo y después a lo ancho llena la primera columna, luego la segunda, etc. A lo ancho
y después hacia abajo llena una fila, columna a columna, luego otra fila, y así.

91
X. Controles y propiedades
Los controles de formularios e informes tienen propiedades, como alto, ancho, color,
etc., que se configuran en la Hoja de propiedades. Lamentablemente, las propiedades,
que son muchas, no aparecen ordenadas alfabéticamente en esa hoja. Se debe a que
son traducciones del inglés, donde sí están ordenadas, pero no se ha ordenado la tra-
ducción. Esto obliga a buscar minuciosamente una propiedad en las listas, hasta adqui-
rir experiencia.
Hay propiedades comunes a todos los controles, otras comunes a un subconjunto de
ellos y otras exclusivas de un único control.
Vamos a estudiar varias propiedades; pero, como es necesario que entendamos el
funcionamiento de distintos controles, también necesitamos explicar cómo actúan.

Propiedades comunes
Las propiedades que siguen, ordenadas alfabéticamente, pertenecen a la mayoría de
los controles, con independencia del comportamiento específico de ellos.

Alto. Alto del control, en centímetros.

Ancho. Ancho del control, en centímetros.

Ancho de los bordes. Ancho, medido en puntos.

Color del borde. Para definir un color escriba el número de color o pulse … para abrir
un diálogo donde seleccionarlo.

Color del texto. Es el color de la fuente. Defínalo como se hace en Color del borde.

Color del fondo. Defínalo como se hace en Color del borde.

Efecto especial. Modifica la apariencia del control, dándole una forma predefinida: Sin
relieve, Con relieve, Grabado, Sombreado, Cincelado. Al modificar esta propiedad, al-
gunos valores de las propiedades Color del fondo, Estilo de los bordes, Color de los
bordes y Ancho de los bordes se invalidarán, porque el efecto elegido necesita ciertos
valores en ellas. Del mismo modo, si modifica alguna de esas propiedades, el Efecto
especial dejará de aplicarse.

Espesor de la fuente. Los valore son varios, de Delgado a Grueso.

Estilo de los bordes. Los valores son Transparente, Sólido, etc.

Fuente en Cursiva. En Sí pone en cursiva la fuente del control.

Fuente subrayada. En Sí subraya la fuente del control.

Índice de tabulación. Cuando se usan formularios para cargar grandes volúmenes de


datos, el uso intercalado del teclado y del mouse demora el trabajo, por lo que es prefe-
92
rible limitarse al teclado. En este caso, el orden de acceso a los controles es fundamen-
tal. El índice de tabulación es el orden en que se irán enfocando los controles cuando
se pulse Tab o Shift + Tab. El primer control debe ser 0. El salto o cambio de enfoque
se producirá al control que tenga el número inmediato superior o inferior. Aunque se
puede numerar cada control por separado, es complejo. Lo mejor es invocar un diálogo
con el botón … , que posibilita configurar todos los controles, en el orden de tabulación
deseado, mediante arrastre. También se accede a este cuadro con Diseño–
Herramientas–Orden de tabulación. El diálogo permite dar el orden definitivo a los con-
troles, porque no siempre se agregan ordenadamente, sino a medida que se le van
ocurriendo al programador mientras diseña un formulario o informe.

Izquierda. Distancia entre el borde izquierdo del control y el borde izquierdo del formu-
lario, en centímetros.

Mostrar cuando. Establece cuándo se debe mostrar un control. Las opciones son
Siempre, Sólo al imprimir y Sólo en pantalla. Esto sirve, por ejemplo, para ver botones
en un formulario pero ocultarlos al imprimir.

Nombre. Es el nombre del control, que lo identifica y que permite hacer referencia a él
en programación. El nombre puede ser cualquiera, pero conviene que sea descriptivo.
Los nombres no se pueden repetir.

Nombre de la fuente. Nombre de la fuente a usar en el control.

Regla de validación. Esta propiedad la poseen varios controles. Sirve para introducir
una expresión lógica. Si, con el dato introducido al control, la expresión devuelve Ver-
dadero, se considera que el dato es correcto. Si devuelve Falso, el dato no se admite y
se presenta un mensaje de error.

Superior. Distancia entre el borde superior del control y el borde superior del formula-
rio, en centímetros.

Tamaño de la fuente. Tamaño en puntos de la fuente a usar en el control.

Texto de ayuda del control. Texto a mostrar como ayuda contextual, cuando se colo-
que el cursor del mouse unos segundos sobre el control.

Texto de la barra de estado. Texto a mostrar en la barra de estado cuando el control


tenga enfoque.

Texto de validación. Es el texto a mostrar cuando la regla de validación devuelve Fal-


so. Si el programador no define un mensaje personalizado, Access comunica el error
mediante un mensaje estándar.

Visible. Si vale No, el control será invisible. Si vale Sí, será visible.

93
Vista predeterminada. Establece la vista en que se abrirá el formulario o informe al
darle doble clic en el panel de navegación. Los valores son los siguientes.

Formularios

UN ÚNICO FORMULARIO. Presenta un formulario con un solo registro.

FORMULARIOS CONTINUOS. Presenta un formulario con los registros que quepan en pan-
talla, de forma continua. Para aumentar la cantidad de registros presentados, conviene
que el registro genérico se diseñe en una línea.

HOJA DE DATOS. Presenta una planilla con registros en filas y campos en columnas.

TABLA DINÁMICA. Si se elige está opción, debe guardar el formulario. Al abrirlo después,
aparecerá en esta vista, para definir la tabla dinámica.

GRÁFICO DINÁMICO. Si se elige está opción, debe guardar el formulario. Al abrirlo des-
pués, aparecerá en esta vista, para definir el gráfico dinámico.

FORMULARIO DIVIDIDO. Presenta un formulario y una hoja de datos.

Informes

INFORMES. Muestra el informe con datos reales, pero con un solo encabezado de pági-
na.

VISTA PRELIMINAR. Muestra el informe con datos del origen, tal como será impreso, pá-
gina por página.

Control Etiqueta
El control etiqueta muestra textos fijos. Se usa para aclarar qué datos contiene otro
control vecino, para escribir títulos, notas aclaratorias, etc. Cuando inserta un campo
del origen, por defecto Access genera un cuadro de texto más una etiqueta para aclarar
de qué se trata. Lo mismo sucede si agrega un cuadro de texto desde el grupo de con-
troles.

Título. Es la propiedad donde se escribe el texto de la etiqueta. Si la etiqueta se genera


automáticamente al insertar un campo en el formulario o informe, el texto es el valor de
la propiedad Título de la tabla, en caso de existir, o el nombre del campo, si no hay Tí-
tulo.

Control Cuadro de texto


Es el control más común para mostrar el contenido de un campo.

Origen del control. Establece qué valor aparecerá en el cuadro de texto. Si es el nom-

94
bre de un campo, cuando el usuario modifica el contenido del control, modifica el valor
almacenado en el campo correspondiente del registro activo. Cuando use un cuadro de
texto para que el usuario introduzca un valor que no pertenece a una tabla, no se escri-
be nada en Origen del control y el control será independiente. También puede usar un
cuadro de texto para presentar un campo calculado, en cuyo caso debe escribir en esta
propiedad la expresión que hace el cálculo, precedida del signo igual =. Por ejemplo,
para calcular el importe si sólo tiene precio unitario y cantidad, la expresión será
=[PreFac]*[Can]
En este ejemplo se crea un campo calculado usando valores que se extraen de otros
campos (PreFac y Can). También es posible realizar cálculos con constantes, como
=[precio]*0.1 para calcular el 10% de un campo, o incluso escribir =2+2 para mostrar el
resultado de la operación.
El ejemplo anterior no se presta a dudas si se trabaja con una sola tabla o consulta
en el origen. Pero, si el origen son varias tablas (o consultas), es posible que Access
no pueda determinar de dónde tomar los campos. En este caso, hay que calificar los
campos con los nombres de las tablas (o consultas), como sigue:
=[Detalles]![PreFac]*[Detalles]![Can]
La calificación es automática cuando se usa el generador de expresiones.

Controles Cuadro combinado y Cuadro de lista


Estos controles muestran una lista de opciones, para que el usuario elija una (también
puede elegir varias opciones, que no nos interesa estudiar). En el cuadro de lista, la lis-
ta aparece desplegada, mientras que el cuadro combinado es un cuadro de texto con
un ▼ a la derecha para desplegar la lista. El funcionamiento de ambos controles es
prácticamente el mismo, siendo la diferencia principal el espacio que ocupan. Para
crear estos controles es útil activar el Asistente para controles, que está en el grupo
Controles de la ficha Diseño. Al crear uno de ellos, se presenta un asistente que, me-
diante pasos sencillos, configura las propiedades.

Para entender estos controles, lo mejor es hacerlos funcionar primero y luego explicar algunas de sus
propiedades. Cree un formulario con el botón Diseño del formulario. Esto abre un nuevo formulario y se ac-
tiva la ficha Diseño. Pulse el botón Agregar campos existentes para abrir el panel Lista de campos. Si no
aparece el listado de tablas, pulse Mostrar todas las tablas. En el listado, expanda con + la tabla Clientes.
Dé doble clic en el campo Cli. Se genera una etiqueta y un cuadro de texto en el formulario, y el panel Lis-
ta de campos ahora aparece dividido en tres partes: la primera es ocupada por la tabla Clientes, la segun-
da por las tablas relacionadas con Clientes, y la tercera por las tablas no relacionadas. Dé doble clic en los
restantes campos de Clientes: NomCli, Dom, Prov y Tel, cada uno de los cuales genera una pareja etique-
ta – cuadro de texto en el formulario. Cierre el panel Lista de campos. Despliegue el grupo Controles con
el botón . Verifique que el botón Utilizar asistente para controles esté activado. Pulse el control Cuadro
combinado y dé clic debajo de los controles existentes en el formulario. Se presenta el Asistente para cua-
dros combinados. En el paso 1, aparece activo el botón Deseo que el cuadro combinado busque los valo-
res en otra tabla o consulta. Déjelo así y pulse Siguiente. En el paso 2, seleccione Tabla: Provincias y pul-
se Siguiente. En el paso 3, transfiera con >> los campos Prov y NomProv a Campos seleccionados y pulse
Siguiente. En el paso 4, abra la primera lista y elija NomProv, para ordenar las opciones del cuadro combi-
nado por el nombre de provincia, en forma ascendente. Pulse Siguiente. En el paso 5, active Ocultar la co-
lumna clave (se recomienda). Esto hará que en las opciones del cuadro combinado no se vea esta colum-

95
na, y se verá la segunda, que muestra los nombres de provincia ordenados alfabéticamente. Al ser esta la
primera columna visible, se puede buscar en ella de forma incremental usando el teclado. Observe si el
ancho de la única columna visible es adecuado: si baja hasta Santiago del Estero, verá que hace falta au-
mentar el ancho. En la primera fila, que dice Nombre provincia, ensanche la columna. Pulse Siguiente. En
el paso 6, pulse el botón Almacenar el valor en el campo y elija el campo Prov en la lista desplegable. Esto
quiere decir que, cuando elija una opción en el cuadro de lista, se copiará el valor del campo Prov de la ta-
bla Provincias en el campo Prov de la tabla Clientes, reemplazando cualquier otro valor que estuviera con-
tenido en este último. Pulse Siguiente. Escriba un texto, que será el Título de la etiqueta asociada, por
ejemplo, Lista de provincias. Guarde el formulario con un nombre, como Clientes con cuadro combinado.
Cierre el formulario.
En el panel de navegación, dé doble clic en el formulario Clientes con cuadro combinado, para que se
abra en la vista Formulario. Vea los valores de Provincia y Lista de Provincias. Avance a distintos registros
y vea cómo varían estos valores. Observe que, si en Provincia se repite un valor en varios registros, siem-
pre en Lista de Provincias aparece el mismo nombre de provincia. Esto quiere decir que, como en el cua-
dro combinado se han asociado los campos Prov de las tablas Clientes y Provincias, cuando se cambia de
registro en Clientes, se activa la opción correspondiente del cuadro combinado. Este es una primera fun-
cionalidad.
En cualquier registro, por ejemplo el 1, despliegue la lista del cuadro combinado. Por la primera funcio-
nalidad, aparece seleccionada la opción que corresponde al valor Provincia. Elija en la lista otra provincia.
Esto cambia el valor que ve en Provincia. Cambie de registro y vuelva al 1. Ahora se ve el nuevo valor
Provincia y el nombre de la provincia que eligió en la lista. Esta es la segunda funcionalidad, es decir, si
cambia de opción en el cuadro combinado, modifica el valor Prov en la tabla Clientes.
Dadas así las cosas, nos podemos preguntar: ¿para qué mostrar el código de provincia, si lo que nos
interesa es el nombre? Si vemos el nombre, es seguro que el código es el que le pertenece. Además, si
cambiamos el nombre en el cuadro combinado, realmente estaremos cambiando el código, como hemos
comprobado. En consecuencia, cambie a vista Diseño, seleccione el campo donde aparece el código y
elimínelo. Esto elimina la etiqueta asociada, que dice Provincia. Ahora mueva el cuadro combinado a la
posición donde estaba el código, para que el formulario quede bien presentado. Si quiere alinear correc-
tamente los controles, seleccione la ficha Organizar y, seleccionando más de un control, aplique las opcio-
nes Alinear.

Ahora puede entender la explicación de las siguientes propiedades. Es útil que se-
leccione el cuadro combinado y vea la Hoja de propiedades.

Tipo de origen de la fila. Origen genérico del que se obtienen los datos de la lista.

TABLA/CONSULTA. Las opciones se obtienen de los registros de una tabla o consulta. En


el ejemplo anterior, creamos las opciones desde una tabla.

LISTA DE VALORES. Las opciones se escribirán a mano, separándolas por punto y coma.

LISTA DE CAMPOS. Las opciones serán los nombres de los campos de una tabla o con-
sulta. Es poco usual.

Origen de la fila. Datos que mostrará el control. Depende del valor de Tipo de origen
de la fila, según sigue.

96
TABLA/CONSULTA. Es el nombre de una tabla o consulta. En el ejemplo, se usa la tabla
Provincias para obtener los campos Prov y NomProv. Usar una tabla o consulta para
crear las opciones es muy eficiente: (1) Porque cada registro generará una opción, no
importa si son cientos o miles; (2) Si la tabla se actualiza agregando o eliminando regis-
tros, la lista construida a partir de ella siempre estará actualizada.
Si se usa una consulta, en ella ya están explicitados los campos. Pero, si se usa una
tabla, no se los explicita, por lo cual entrarían todos los campos. Sin embargo, éstos se
restringen en la propiedad Número de columnas: en este caso, entrarán tantos campos
en el orden estructural de la tabla como columnas se definan. Si en este subconjunto
hay campos que no se quieren ver, se les da ancho 0 en la propiedad Ancho de colum-
nas.

LISTA DE VALORES. Es una lista introducida por teclado, en el formato


“valor1”;”valor2”;”valor3”…
Vale para unas pocas opciones, que no están en ninguna tabla. Si se agregan o eli-
minan opciones, hay que corregir esta propiedad.
Access distribuye los valores de la lista de acuerdo a la cantidad de columnas. Si
hay 6 valores y 1 columna, los distribuirá así:

valor1
valor2
valor3
valor4
valor5
valor6

Si hay 6 valores y 2 columnas, la distribución será:

valor1 valor2
valor3 valor4
valor4 valor5

Si hay 6 valores y 3 columnas, será:

valor1 valor2 valor3


valor4 valor5 valor6

LISTA DE CAMPOS. Es el nombre de una tabla o consulta de cuya estructura se tomarán


los nombres de campos que serán las opciones. Por ejemplo, si elige la tabla Artículos,
las opciones serán Art, NomArt, PreAct.

Columna dependiente. Todas las opciones de la lista pueden tener 1, 2, 3, 4, etc. co-
lumnas. Si tienen más de 1, esta propiedad indica de qué columna se obtendrá el dato
cuando se elija una opción. Se expresa como el número de orden de la columna. Equi-
vale al argumento Indicador_ columnas de la función BUSCARV de Excel. En el ejem-
plo, es la columna 1, donde está el código de provincia, que no se visualiza en la lista,

97
pero que está. No hubo que definirlo porque, al usar el asistente, éste infirió de la in-
formación proporcionada cuál era la columna.

Origen del control. Aunque no es obligatorio definir esta propiedad, es muy importan-
te. En ella se define el campo en el que se va a copiar uno de los datos componentes
de la opción que se elija en el cuadro de lista o cuadro combinado. Si estos controles
tienen una sola columna, no queda más que copiar el dato de esa columna. Pero si tie-
nen varias columnas, digamos 3, hay que indicar a Access si es el dato de la columna
1, 2 o 3, lo que se hace en la propiedad Columna dependiente.
Mientras el formulario se está ejecutando, hay una vinculación constante entre el
campo definido en Origen del control y el dato definido en Columna dependiente. En el
ejemplo, el campo Prov de la tabla Clientes es el origen del control y el dato de la co-
lumna 1 del cuadro combinado (obtenido del campo Prov de la tabla Provincias) es la
columna dependiente. Como hemos explicado, la vinculación hace que, si se elige una
determinada opción en el cuadro combinado, se copie el contenido de la columna1 (da-
to Prov) en el origen del control (campo Prov de Clientes). Pero todavía más, la vincu-
lación hace que si vamos a cualquier registro en la tabla Clientes, la opción que apare-
ce seleccionada inicialmente en el cuadro combinado sea la correspondiente al campo
Prov de Clientes.
Si las opciones del cuadro de lista o cuadro combinado se construyen a partir de una
tabla (propiedad Tipo de origen de la fila igual a Tabla/Consulta), la tabla de Origen del
control no puede ser la tabla de Origen de la fila. Esto es lógico, porque lo que elegi-
mos, proveniente del campo de una tabla, carece de sentido que se copie en el mismo
campo de la misma tabla.

Número de columnas. Es el número de columnas que tendrán todas las opciones.

Encabezados de columna. Indica si la lista tiene o no una primera línea con encabe-
zados de columna. Si es Sí, se toma la primera fila como fila de encabezados.

Ancho de columnas. Ancho que tendrá cada columna de la lista. Si hay varias colum-
nas, se separan los anchos con punto y coma. El valor 0 indica que la columna no se
verá, aunque esté presente. Esta propiedad permite ver solamente los campos que in-
teresan de la tabla, ocultando los otros con ancho 0. La búsqueda dentro de la lista se
hace por la primer columna visible, por lo que, para facilitar la tarea, conviene ordenar
la tabla o consulta por el campo correspondiente.

En el ejemplo, hemos usado la tabla Provincias, que tiene dos campos: Prov y NomProv. Ambos cam-
pos son necesarios, por lo que esta propiedad se ha configurado con los valores 0;X, donde X es el valor
que usted le dio indirectamente arrastrando el borde derecho de la segunda columna para que cupiera
Santiago del Estero. Si construyera la lista con la tabla Clientes, que tiene los campos Cli, NomCli, Dom,
Prov y Tel, pero sólo mostrando el campo NomCli, el ancho de columnas debería ser: 0;X;0;0;0. X sería un
valor distinto de 0, como 10 u 11, por ejemplo. Los 0 que siguen a X son innecesarios, por lo que puede
escribir los valores como 0;X. Lo que sí debe respetar es el orden en que están los campos en la tabla o
consulta.

98
Ancho de la lista. Al abrir la lista, puede que algunas opciones queden truncas. Para
corregirlo, lo más adecuado es sumar los anchos de cada columna y agregar un poco
más para la barra de desplazamiento vertical. El valor resultante será el valor de esta
propiedad. Si el cuadro combinado está cerrado, se verá con el valor definido en la
propiedad Ancho. Al abrir la lista, ésta puede tener un ancho diferente.

Limitar a lista. Si es No, el usuario puede introducir en la porción cuadro de texto un


valor que no esté en la lista. Si es Sí, no puede hacer eso. Esta propiedad es exclusi-
va del cuadro combinado.

Filas en lista. Cantidad de filas a visualizar cuando se despliega la lista. Es una pro-
piedad exclusiva del cuadro combinado.

Selección múltiple. Tiene tres valores:

NINGUNA. Sólo se puede seleccionar una opción. Es la que vamos a usar. Las otras
dos requieren programación.

SIMPLE. El modo de selección es múltiple. Se seleccionan las opciones sobre las que
da clic. Para deseleccionar una opción, se vuelve a darle clic.

EXTENDIDA. El modo de selección también es múltiple. Para seleccionar más de un


elemento, debe mantenerse pulsada la tecla Ctrl. Si se selecciona una opción, se
mantiene pulsada la tecla Shift y se selecciona otra opción, todas las opciones entre
ellas son seleccionadas. Esta propiedad sólo es del cuadro de lista.

Si inserta un cuadro combinado o un cuadro de lista, puede convertirlo a cuadro de


lista o cuadro combinado, respectivamente, dándole clic secundario y seleccionando
Cambiar a. Las propiedades se mantienen prácticamente intactas. Esta posibilidad es
más amplia, porque convierte también a otros tipos de control.

Cree un formulario con Diseño del formulario. Con Agregar campos existentes abra el panel Lista de
campos y agregue todos los campos de la tabla Facturas. Cierre el panel. Dé clic secundario en el cua-
dro de texto Cli y seleccione Cambiar a Cuadro combinado. Dé doble clic en Cli para abrir la Hoja de
propiedades. Configure las siguientes propiedades:

Ficha Propiedad Valor


Datos Tipo de origen de la fila Tabla/Consulta
Origen de la fila Clientes
Columna dependiente 1
Formato Número de columnas 2
Ancho de columnas 0;5
Ancho de la lista 6

Cambie a vista Formulario. Todo está bien, excepto que los clientes no aparecen ordenados alfabéti-
camente. Cambie a vista Diseño. Dé doble clic en Cli para abrir la Hoja de propiedades. En Origen de la fi-

99
la pulse el botón …. Esto llama el Generador de consultas sobre una tabla. Se le pregunta si quiere crear
la consulta. Responda Sí. Transfiera los campos Cli y NomCli. En la fila Orden del campo NomCli elija As-
cendente. Pulse el botón de cierre y responda que sí quiere guardar los cambios. Cambie a vista Formula-
rio y abra la lista de clientes. Ahora sí aparecen los clientes ordenados.
Puede repetir lo dicho, pero ahora sobre el cuadro de texto Ven. Con estos cambios, el formulario es
bastante mejor. Cierre el formulario, guardándolo si quiere con el nombre que quiera.

Controles Botón de opción, Botón de alternar, Casilla de verificación


Estos tres controles funcionan igual, pero se diferencian por su aspecto gráfico.

Control Valor Sí Valor No

Botón de opción

Casilla de verificación

Botón de alternar

Pueden usarse de forma independiente o dentro de un grupo de opciones. En el


primer caso, representan campos de tipo Si/No. En el segundo, cada botón represen-
ta el valor numérico de un campo.

Origen del control. Esta propiedad aparece cuando los controles se usan de modo
independiente. Es el nombre de un campo de tipo Sí/No que guardará Sí al activar el
botón o No al desactivarlo.

Valor de la opción. Esta propiedad aparece cuando los botones están dentro de un
grupo de opciones. Es un número que identifica cada botón. Cuando se elige un bo-
tón particular, se guarda este número en el campo definido en la propiedad Origen
del control del grupo.

Título. Es una propiedad del botón de alternancia. Cada botón debe tener un texto
aclaratorio de su propósito. En el caso de un botón de opción o casilla de verificación,
van acompañados por una etiqueta, en cuya propiedad Título se aclara para qué sir-
ven. En el caso de un botón de alternancia, la aclaración se escribe en la propiedad
Título del botón.

Control Grupo de opciones


Este control agrupa varios botones de opción o de alternancia, o varias casillas de veri-
ficación. Las opciones son mutuamente excluyentes: si se elige una, se desactivan las
demás.
Un grupo de opciones puede representar un campo numérico que se define en Ori-
gen del control, o puede ser independiente, es decir, no estar vinculado a ningún cam-
po. En este último caso, se puede usar en un diálogo personalizado para pedir una de-
cisión y ejecutar una acción basada en esa entrada.

100
La opción Asistente para controles del grupo de controles activada facilita crear un
grupo. Si no usa el asistente, primero cree el grupo, luego arrastre a él los controles de
opción, y finalmente rellene la propiedad Valor de la opción de cada control incluido y la
propiedad Origen del control del grupo.

Origen del control. Es el nombre de un campo numérico de una tabla.

Valor predeterminado. Es el número de uno de los botones o casillas. Si se define, es


la opción que aparece inicialmente seleccionada.

Control Pestaña
Cuando un formulario tiene muchos controles, puede convenir distribuirlos en varias
páginas, para no amontonarlos. Para ello se usa el control Pestaña (el nombre más
adecuado sería Grupo de páginas) que es un contenedor de controles Página (o ficha).
Cuando el usuario elige una página, ésta se vuelve activa y se puede trabajar con los
controles que contiene. Para insertar un control dentro de una página, seleccione el
control, coloque el cursor sobre la página hasta que se ponga negra y entonces inserte
el control. Por defecto, el control pestaña se crea con dos páginas. Para añadir o elimi-
nar páginas, dé clic secundario en el control Pestaña y seleccione Insertar página o
Eliminar página, ésta última opción elimina la página activa.

Nombre. Es una propiedad del grupo de páginas y de cada página. Sirve para referen-
ciarlos en programación. En el grupo no es visible. En la página es visible en la pestaña
respectiva, salvo que se defina la propiedad Título, que se prefiere al nombre.

Índice de página. Es una propiedad de página. Es el número de orden de la página en


el conjunto, comenzando en 0. Más fácil que cambiar una a una esta propiedad en ca-
da página, es usar la opción Orden de las páginas del menú contextual. Aparece el diá-
logo Orden de página. Use los botones Subir y Hacia abajo para cambiar el orden de la
página seleccionada: la que está arriba en la lista estará a la izquierda y la que está
abajo estará a la derecha.

Título. Es una propiedad de página. Si no se define, la pestaña muestra el nombre de


la página. Si se define, el título reemplaza al nombre en la pestaña.

Controles Línea y Rectángulo


Los controles Línea y Rectángulo mejoran el diseño de formularios e informes. Si man-
tiene pulsada Shift mientras traza el control Línea, se crean líneas horizontales o verti-
cales.

Inclinación. Es una propiedad de Línea. Controla si la pendiente de la línea, cuando es


oblicua, es positiva o negativa, y se define con las teclas / y \. Como todos los controles
visibles, la línea siempre está inscripta en un rectángulo definido por las propiedades
Alto y Ancho. Si el ancho es 0, la línea será vertical, y si el alto es 0, la línea será hori-
zontal. Si alto y ancho son mayores que 0, entonces la línea será la diagonal del rec-
tángulo, y su inclinación positiva o negativa se maneja con esta propiedad.

101
Otras propiedades que cambian la estética de estos objetos son Color de los bordes,
Color del fondo, Estilo del fondo (estas dos para rectángulos), Estilo de los bordes, An-
cho de los bordes, Efecto especial, que también pertenecen a otros controles.

Control Imagen
Este control muestra una imagen en un formulario o informe. Cuando se agrega, se
abre un diálogo para seleccionar el archivo que contiene la imagen. Ésta aparece en-
marcada en el cuadro del control.

Imagen. Es el nombre del archivo que contiene la imagen.

Modo de cambiar el tamaño. Tiene tres opciones:

RECORTAR. Muestra lo que se pueda de la imagen, sin deformaciones, dentro del ta-
maño del control. Si hace más grande el control, se muestra más porción de la ima-
gen.

EXTENDER. Muestra la imagen completa dentro del espacio delimitado por el control,
distorsionándola para que quepa.

ZOOM. Muestra la imagen completa, con sus proporciones originales. El tamaño de la


imagen se reduce o aumenta para que quepa en el control.

Distribución de la imagen. Colocación de la imagen dentro del control. Los valores


son: Esquina superior izquierda, Esquina superior derecha, Centro, Esquina inferior iz-
quierda y Esquina inferior derecha.

Mosaico de imágenes. Puede ser Sí o No. En modo Zoom se usa esta opción para re-
llenar los espacios vacíos del control con varias copias de la imagen.

Dirección de hipervínculo. Dirección de un archivo o página web que se abrirán al dar


clic en el control.

Tipo de imagen. Tiene tres valores:

INSERTADO. Se guarda una copia de la imagen en la base de datos, una copia por ins-
tancia. Si se realizan cambios en éstas, no se modifica el original.

VINCULADAS. No se guarda la imagen en la base de datos, sino que se guarda un punte-


ro al archivo que contiene la imagen. Al modificar la imagen desde afuera de la base de
datos, ésta se ve afectada, y viceversa.

COMPARTIDAS. Se guarda una única copia de la imagen en la base de datos, disponible


para todas las instancias. Esto ahorra espacio. Por ejemplo, si quiere que todos sus
formularios e informes incluyan un logotipo, sólo es necesario que la base de datos lo
guarde una vez.

102
Control Marco de objeto independiente
Este control inserta archivos de otras aplicaciones (Excel, Word, PowerPoint, PDFs,
etc.) en un formulario o informe. El archivo insertado no está en ningún registro de nin-
guna tabla. Cuando se realiza la inserción, se activa un diálogo con dos opciones:

CREAR NUEVO. Permite crear un archivo del tipo que se elige en la lista Tipo de objeto.
Por ejemplo, si elige Documento de Microsoft Word, se abrirá Word dentro del formula-
rio, con toda su funcionalidad. Para activar la aplicación, se da doble clic sobre el con-
trol. Para salir de ella, se da clic fuera del control.

CREAR DESDE ARCHIVO. Permite seleccionar un archivo existente de cualquier aplicación,


que se muestra en el formulario. Si da doble clic sobre el control, entra a la aplicación
para editar el archivo. Si da clic fuera del control, desactiva la aplicación.

En ambas opciones, si activa la casilla Mostrar como icono, el control se mostrará en


el formulario con el ícono de la aplicación a que pertenece. Si activa esta casilla, apa-
rece el botón Cambiar icono, que sirve para asignar una imagen distinta a la que usa la
aplicación. Si no activa Mostrar ícono, el control se mostrará con una pequeña pre vi-
sualización, que puede tratar como el control Imagen.
En el caso de Crear desde archivo, la casilla Vincular activada no hace una copia del
archivo ni la guarda con el formulario, sino que crea un vínculo al archivo original: si se
modifica el archivo en el formulario, lo que se modifica es el original. Si no se activa la
casilla, se guarda una copia en el formulario: si se modifica la copia en el formulario, el
original permanece inalterado; si se modifica el original en la aplicación correspondien-
te, la copia permanece inalterada, porque ambos archivos eran idénticos al momento
de crear el control, pero desde entonces son independientes uno del otro.

Control Datos adjuntos


Este control inserta en un formulario o informe un campo de tipo Datos adjuntos, que
guarda una vinculación a un archivo de otra aplicación, como el currículum de un can-
didato, la foto de un producto, etc. Cada campo de cada registro puede contener uno o
varios archivos.

Origen del control. Es el campo de la tabla donde está guardado el archivo.

Habilitado. Permite que el control pueda abrirse o no.

Bloqueado. El valor Sí permite modificar el archivo, pero no guardar los cambios con el
mismo nombre.

En las vistas Formulario, Informe y Presentación, si el campo tiene dos o más archi-
vos, dando clic secundario sobre el control aparecen las opciones Adelante y Atrás,
que cambian de un archivo a otro. También aparece la opción Administrar datos adjun-
tos, aunque sea un solo archivo, que presenta el diálogo Datos adjuntos. Hay un listado
de todos los archivos guardados en el campo. Para visualizar uno de ellos en su apli-

103
cación original, se le da doble clic o se lo selecciona y se pulsa el botón Ver.

Control Botón de comando


Un botón de comando, o simplemente botón, al ser pulsado hace que Access ejecute
un conjunto de comandos. Los expertos pueden incluir muchos comandos en un botón,
debido a la integración de Access con Visual Basic y al uso de macros. Aquí nos impor-
ta usarlo a través del Asistente para controles. Con el asistente activado, si crea un bo-
tón aparece el diálogo Asistente para botones de comando.

Paso 1. Acción a realizar cuando se pulse el botón. Las acciones están agrupadas en
categorías. Seleccione la categoría que corresponde a lo que quiere hacer y luego se-
leccione la acción en la lista de la derecha.

Paso 2. Texto o imagen en el botón. Si escoge Imagen, podrá seleccionar una de las
que ofrece Access. Active Mostrar todas las imágenes para ver las imágenes disponi-
bles. También puede dar clic en Examinar, para buscar una imagen en el disco.

Paso 3. Nombre del botón. Sirve para escribir el nombre del botón.

Aplicación de controles a campos


Ahora que conoce cómo funcionan varios controles, es hora de completar un tema que
vimos hace mucho. Se trata de la ficha Búsqueda del diseñador de tablas.

Abra la tabla Facturas en vista Diseño. Examine la ficha Búsqueda de cualquier campo, menos Fec.
Siempre aparece Mostrar Control y como valor Cuadro de texto. Si pulsa el botón ▼a la derecha de esta fi-
la, verá las opciones Cuadro de texto, Cuadro de lista y Cuadro combinado. Esto significa que tiene dispo-
nibles uno de estos tres controles para llenar el campo. Elija el campo Cli. El cuadro de texto, que ya está,
significa que debe escribir el código del cliente en ese campo. Sin embargo, dado que la tabla Clientes
contiene el código y el nombre de cada cliente, ¿sería posible elegir un cliente cualquiera por su nombre y
que Access guarde el código? Para esto están las opciones Cuadro de lista y Cuadro combinado.
Seleccionado el campo Cli, active la ficha Búsqueda y configure las siguientes propiedades.

Propiedad Valor
Mostrar control Cuadro combinado
Tipo de origen de la fila Tabla / Consulta
Origen de la fila Clientes
Columna dependiente 1
Número de columnas 2
Ancho de columnas 1 cm; 5 cm
Ancho de la lista 7 cm.

Guarde los cambios y cambie a vista Hoja de datos. Si se coloca en un campo cualquiera de la colum-
na Cliente, aparece un ▼. Púlselo y verá la lista del cuadro combinado, cuya primera columna es el código
y la segunda el nombre de los clientes. La opción seleccionada inicialmente es la que corresponde al valor
que tiene el campo en este momento. Si selecciona otra opción, se guarda el código que ve en la primera

104
columna en el campo Cli de la tabla Facturas. El inconveniente es que los nombres no están ordenados al-
fabéticamente.
Para solucionar el inconveniente, usaremos una consulta. Ésta puede ya existir, pero también se puede
crear con el botón … de la propiedad Origen de la fila. Pulse ese botón. Introduzca la tabla Clientes en el
panel de tablas y los campos NomCli y Cli, en ese orden. En la fila Orden del campo NomCli elija Ascen-
dente. Guarde y cierre la consulta. La propiedad Origen de la fila tiene ahora una sentencia SELECT de
SQL, que es la consulta que creó. Corrija las propiedades de la ficha Búsqueda, como sigue:

Propiedad Valor
Columna dependiente 2
Ancho de columnas 5 cm; 1 cm

Guarde la tabla y cambie a vista Hoja de datos. Ahora no salen más los códigos de cliente, sino sus
nombres, ordenados. Ensanche la columna Cliente, para ver bien los nombres. Si pulsa este campo en
cualquier registro, aparece un ▼ a la derecha. Púlselo y se abre la lista, mostrando el mismo nombre que
antes, pero ahora ve también el código. Si cambia por otro nombre, estará cambiando el código.
La consulta ha alterado la forma de visualizar los datos de la tabla, porque ya no se ven los códigos,
sino los nombres de los clientes. Internamente, sin embargo, lo que guarda el campo Cli es el código, no el
nombre.
¿Podríamos ver los códigos en la tabla, como antes, pero que aparezcan los nombres ordenados? Sí,
pero con una desventaja. Primero, debemos modificar la consulta del campo Origen de la fila. Ponga el
campo Cli en primer lugar. El campo NomCli debe seguir ordenado en forma ascendente. Guarde la con-
sulta y ciérrela. Cambie las siguientes propiedades en la ficha Búsqueda:

Propiedad Valor
Columna dependiente 1
Ancho de columnas 1 cm; 5 cm.

Guarde la tabla y véala en vista Hoja de datos. Ahora se ven los códigos. Abra una lista. Primero se
ven los códigos y después los nombres. Todo parece correcto. ¿Cuál es entonces la desventaja? Que no
puede elegir un cliente por su nombre, porque esto se hace siempre por la primera columna visible. Se ha
perdido, entonces, la facilidad de la búsqueda incremental. Si cambiara Ancho de columnas por los valores
0 cm;5 cm, tampoco solucionaría el problema, porque sí dispondría de búsqueda incremental por la co-
lumna de los nombres, pero volvería a ver la tabla con los nombres de los clientes, no con sus códigos.

105
XI. Macros
Las macros ejecutan automáticamente uno o varios comandos, mediante acciones
como abrir y cerrar formularios, ejecutar informes, etc., que veremos pronto. También
sirven para crear métodos abreviados de teclado.
Para hacer esto último, si guarda la macro con el nombre AutoExec, cada vez que
abra la base de datos,la macro se ejecutará automáticamente.

Crear macro
Para crear una macro emita Crear – Macros y código – Macro . Se abre la venta-
na principal, con un cuadro combinado que dice Agregar nueva acción, con una lista
de acciones. Aparece activa la ficha Diseño de Herramientas de Macros. A la dere-
cha, si está activado el botón Catálogo de acciones, se ve un panel con el mismo
nombre, que contiene las mismas acciones que Agregar nueva acción, pero agrupa-
das en categorías. Arriba, en el panel, hay un cuadro Buscar, que facilita ubicar la
macro que se desea.

Luego de agregar una acción, debajo de ella se coloca Agregar nueva acción, para
elegir otra.
Las macros se ejecutarán en el orden en que aparecen. Para cambiar el orden de
una acción, arrástrela o use los botones de la acción, que se ven al pasar el mouse
sobre ella. Con los botones podrá subir o bajar la acción un lugar, una vez por clic.
Según la acción que introduzca, aparecerá un pequeño panel que la contiene, pa-
ra que indique los detalles necesarios. Por ejemplo, para la acción AbrirTabla, la ma-
cro necesitará el nombre de la tabla, la vista en que debe mostrarse y si los datos se
podrán modificar o no. No es obligatorio llenar todos los campos, sino sólo los indica-
dos como Requeridos.

106
Puede ocultar o mostrar los detalles de cada acción con + y –. Cuando los oculta,
la información relevante se muestra en una sola fila. Otra forma de contraer o expan-
dir detalles es desde el grupo Contraer o expandir de la ficha Diseño: aquí hay dos
botones para contraer o expandir detalles de la acción seleccionada en la ventana de
diseño y dos para contraer o expandir detalles de todas las acciones.

Mientras diseña la macro, la puede ejecutar con Diseño–Herramientas–Ejecutar.


Cuando se termine deberá guardarse , podrá llamarla desde un botón, o ejecutarla
desde el panel de navegación, pulsando Ejecutar en el menú contextual sobre ella o
dándole doble clic o ejecutarse con el botón ejecutar de la barra Diseño de He-
rramientas de Macros.

Ejecutar macro
Las macros se ejecutan sin que los usuariosdeban saber qué acciones la componen.
El programador es quien crea las macros y las asigna para que se ejecuten cuando
un usuario produzca determinados eventos. Un evento es una acción del usuario,
como dar clic o doble clic sobre un botón, cambiar de un registro a otro en un formu-
lario, modificar un campo de un registro, cerrar la base de datos, etc.
Para asociar la macro a un control, en la vista Diseño de formulario, seleccione un
control o el propio formulario. Abra la Hoja de propiedades y sitúese en la ficha Even-
tos. Elija el evento conveniente para ejecutar la macro.Al dar clic en el evento, apare-
cerán dos botones. El botón ▼despliega la lista de macros que hay en la base de da-
tos, para seleccionar cuál ejecutar. El botón … permite elegir un generador de ma-
cros, de expresiones y de código. No vamos a entrar en detalle en este punto.
Sea que se asigna al evento Al hacer clicde unbotónuna macro que muestra la lis-
ta de artículos que vende la empresa. Si el usuario está viendo los registros de factu-
ras en un formulario y pulsa el botón, se abrirá una ventana con el formulario que
contiene esa lista.

Acciones usuales
En la siguiente exposición de algunas acciones, dado que muchos argumentos son
comunes a varias de ellas, los expondremos una sola vez, al comienzo, en orden al-
fabético. Las acciones Eco y EstablecerValor no aparecen si no está pulsado el icono
Mostrar todas las acciones , en la ficha Diseño.

BIP. Activa o no un sonido para llamar la atención cuando se muestra un mensaje.

BUSCAR. Dato a buscar, de cualquier tipo.

107
BUSCAR CON FORMATO. Sí busca datos con formato en campos con formato. No busca
los datos como han sido almacenados.

BUSCAR EN. Abajo busca hacia adelante, Arriba busca hacia atrás, Todo busca hacia
adelante y luego desde el comienzo hasta el registro actual.

BUSCAR PRIMERO. Sí inicia la búsqueda desde el primer registro. No la inicia desde el


registro actual.

COINCIDIR. Tiene las opciones Cualquier parte del campo, Hacer coincidir todo el cam-
po, Comienzo del campo.

COINCIDIR MAYÚSCULAS Y MINÚSCULAS. Tiene las opciones Sí y No.

COMANDO. Se elige el comando de menú a ejecutar. Al ejecutar la macro, esta acción


abre el diálogo, panel, etc., que requiere el comando, como si se hubiera emitido desde
el botón de un grupo de una banda.

CONDICIÓN WHERE. Cláusula WHERE para filtrar registros. En esta cláusula se usa
una expresión lógica, como
Importe>1000
Importe Entre 1000 y 2000
NomArt = “Mesa TV”

DESPLAZAMIENTO. Para Ir a registro,es el número del registro al cual ir. Para Anterior y
Siguiente, es la cantidad de registros a retroceder o avanzar con respecto al actual.

ELEMENTO. Control, campo o propiedad a establecer.

EXPRESIÓN. Valor a establecer. No se precede con el signo =.

GUARDAR. Para guardar el objeto al cerrar la ventana se elige Sí; para no guardarlo se
elige No; para que Access pregunte si guardarla o no, se elige Preguntar.

MENSAJE. Texto que se mostrará en el cuadro de mensaje.

MODO DE LA VENTANA. Ofrece Normal, Oculta, Ícono, Diálogo.

MODO DE DATOS. Agregar sólo permite agregar nuevos registros. Modificar permite
agregar y modificar registros. Sólo lectura no permite agregarlos ni modificarlos.

NOMBRE DE LA CONSULTA. Se elige en la lista de consultas de la base de datos.

NOMBRE DE LA TABLA. Se elige en la lista de tablas de la base de datos.

NOMBRE DEL CONTROL. Control a filtrar del subformulario o subinforme. Si se deja en


blanco, el filtro se aplica al formulario principal. Lamentablemente, la notación necesa-
108
ria para precisar el control es complicada y requiere conocimientos de Visual Basic. En
la ejercitación, evitaremos usar este argumento.

NOMBRE DEL FILTRO. Consulta o filtro guardado como consulta para filtrar registros.

NOMBRE DEL FORMULARIO. Se elige en la lista de formularios de la base de datos.

NOMBRE DEL INFORME. Se elige en la lista de informes de la base de datos.

NOMBRE DEL OBJETO. Se elige en una lista el nombre del objeto específico que se quiere
afectar. Por ejemplo, si se elige el tipo de objeto Tabla, la lista tendrá las tablas Artícu-
los, Clientes, Facturas, etc.

OPCIONES. Preguntar pide si guardar o no cada objeto modificado. Guardar todo guarda
todos los objetos modificados, sin preguntar. Salir no guarda ni pregunta.

ORDENAR POR. Es una expresión de cadena que incluye el campo o campos por los
cuales ordenar y las palabras opcionales ASC o DESC. Si usa varios campos, separe
los nombres con comas y añada a cada uno, si quiere, las palabras ASC o DESC. La
expresión se guarda en la propiedad OrdenarPor del objeto activo y se carga cuando
se abre el objeto, pero no se aplica automáticamente.

REGISTRO. Anterior busca hacia atrás, desde el registro actual. Siguiente busca hacia
adelante, desde el registro actual. Primero busca hacia adelante, desde el primer regis-
tro. Último busca hacia atrás, desde el último registro.Ir a registro requiere un número
de registro. Nuevo agrega un registro en blanco.

SÓLO EL CAMPO ACTIVO. Sí busca en el campo actual. No busca en todos los campos.

TIPO. Ícono a mostrar en el cuadro de mensaje: Ninguno, Crítico, Aviso ?, Aviso !, In-
formación.

TIPO DE OBJETO. Se elige en la lista qué tipo de objeto se quiere afectar: Tabla, Consul-
ta, Formulario, Informe, etc.

TÍTULO. Texto a mostrar en la barra de título del cuadro de mensaje.

VISTA. Ofrece las vistas adecuadas a la acción. En AbrirConsulta, si se elige Hoja de


datos, se ejecuta la consulta.

AbrirConsulta. Abre una consulta de selección o de referencias cruzadas, o ejecuta


una consulta de acciones.

Cree una macro con la acción AbrirConsulta, para que abra la consulta C1. Primero, abra la lista de ac-
ciones y seleccione AbrirConsulta. Luego complete los argumentos de la acción, según sigue:

109
- Nombre de la consulta a abrir,
- Vista en la que quieras que se abra (Hoja de Datos, Diseño, Vista Preliminar, TablaDinámica, Gráfico-
Dinámico),
- Modo de datos de la consulta.
 Agregar, la consulta sólo permitirá añadir nuevos registros a los existentes y no se tendrá acceso a
los datos ya almacenados.
 Modificar permites la edición total de los datos de la consulta.
 Sólo lectura se abrirá la consulta mostrando todos sus datos pero sin ser editables, no se podrán
modificar
Cuando termine, sin guardar la macro, pulse el botón Ejecutar. Verá dos fichas: una para la macro, que
tiene el nombre provisorio Macro1, y otra para la consulta C1. Cierre la ficha de la consulta. Ahora guarde
la macro con el nombre M1. En el panel de navegación, categoría Macros, aparece la macro M1. Para eje-
cutarla, puede darle doble clic o darle clic secundario y seleccionar Ejecutar.
Puede variar los argumentos, para ver qué producen. En adelante, salvo que se indique guardar la ma-
cro con el nombre que se indica, si quiere, guarde la macro con un nombre cualquiera. Incluso puede usar
un nombre existente, reemplazando el archivo viejo con el nuevo.

AbrirFormulario. Abre un formulario.

Cree una macro con la acción AbrirFormulario, para que abra el formulario F1. Primero, abra la lista de
acciones y seleccione AbrirFormulario. Luego complete los argumentos de la acción, según sigue:

- Vista especificaremos el modo en el que queremos que se abra el formulario: en vista Formulario, Di-
seño, Vista Preliminar, Hoja de Datos, TablaDinámica o GráficoDinámico.

110
- Nombre del filtro podremos indicar el nombre de una consulta que hayamos creado previamente. Al
abrirse el formulario solamente mostrará los registros que contengan los resultados de la consulta indi-
cada.
- Condición WHERE podemos introducir, mediante el generador de expresiones, o tecleándola directa-
mente, una condición que determinará los registros que se muestren en el formulario. Un ejemplo sería
[Facturas]![Facl] = 1541, para que mostrase solamente aquellos registros de la tabla Facturas cuyo
campo Fac fuese igual a 1541.
- En Modo de datos podrás seleccionar los mismos parámetros que en la acción anterior: Agregar, Modi-
ficar o Sólo lectura.
- El argumento Modo de la ventana decidirá si la ventana del formulario se deberá abrir en modo Normal,
Oculta, como Icono o como Diálogo. Si se abre un formulario en modo Oculto no podrá ser visto por el
usuario, pero sí referenciado desde otros lugares para extraer datos o modificarlos. En modo Diálogo
permite que el formulario se posicione encima de los demás formulario abiertos y sea imposible operar
con el resto de la aplicación hasta que no se haya cerrado (como pasa con todos los cuadros de diálo-
go).

AbrirInforme. Abre un informe.

Cree una macro con la acción AbrirInforme, para que abra el informe I1. Primero, abra la lista de accio-
nes y seleccione AbrirInforme. Luego complete los argumentos de la acción, según sigue:

AbrirTabla. Abre una tabla.

Cree una macro con la acción AbrirTabla, para que abra la tabla Clientes. Primero, abra la lista de ac-
ciones y seleccione AbrirTabla. Luego complete los argumentos de la acción, según sigue:

AplicarFiltro. Aplica un filtro o cláusula WHERE a una tabla, consulta, formulario o in-
forme.

Primero cree el filtro Filtro1. Para ello abra la tabla Clientes. Emita Inicio – Ordenar y filtrar – Avanzadas
– Filtro avanzado/Ordenar. Introduzca la tabla Clientes al panel superior y transfiera el campo Cli a la cua-

111
drícula. En criterios escriba Entre 5 y 10. Emita Inicio – Ordenar y filtrar – Avanzadas –Guardar como con-
sulta. En el diálogo que le pide un nombre, llámela Filtro1. Cierre el diseñador y la tabla Clientes. Ahora
cree la macro M2, con la única acción AplicarFiltro, configurada como sigue:

AplicarFiltro
Nombre del filtro Filtro1

Abra la tabla Clientes, en vista Hoja de datos. Emita Herramientas de base de datos – Macro – Ejecutar
macro. Elija la macro M2 y pulse aceptar. Vea que en los botones de navegación aparece el texto Filtrado.
Si lo pulsa, quitará el filtro y verá todos los registros, lo que indica el texto Sin filtrar. Si pulsa ese texto, ve-
rá nuevamente Filtrado, y así.
Ahora abra el formulario F5. Otra vez, emita Herramientas de base de datos – Macro – Ejecutar macro
y elija la macro M2.

BuscarRegistro. Busca el primer registro que cumple los criterios indicados. Puede
buscar registros en una hoja de datos o un formulario. Imita al diálogo Buscar, es decir,
se pueden proporcionar todos las opciones de ese diálogo, pero sin abrirlo.

En la tabla Clientes hay varios registros cuyo NomCli contiene el nombre María. Cree la macro M3 para
que busque la primera aparición de este nombre, en cualquier campo (si decimos en el campo activo, de-
berá posicionarnos en la columna Nombre cliente de la tabla, lo que resultaría incómodo).

Ahora abra la tabla Clientes en vista Hoja de datos. Emita Herramientas de base de datos – Macro – Eje-
cutar macro y elija la macro M3.
- En el argumento Buscar introduciremos el valor a buscar en forma de texto, número, fecha o expresión.
- Podemos elegir en qué lugar del campo debe coincidir el cadena introducida, puedes elegir entre Cual-
quier parte del campo, Hacer coincidir todo el campo o al Comienzo del campo.
- También puedes diferenciar entre hacer Coincidir mayúsculas y minúsculas o no.
- Se supone que la Búsqueda se realiza cuando estamos visualizando un registro determinado, de aquí
el por qué de las siguientes opciones.
- Esta acción se para en el primer registro que cumpla las condiciones, por lo que en el argumento Bus-
car en podremos decidir el sentido en la que Access recorrerá los registros, selecciona Arriba para em-
pezar a buscar hacia atrás. Selecciona Abajo para buscar hacia adelante. En ambos casos la búsqueda
parará al llegar al final (o principio) del conjunto de registros. Selecciona Todo para buscar hacia ade-
lante hasta el final, y después desde el principio hasta el registro actual.

112
- En el argumento Buscar con formato decidiremos si se tiene en cuenta el formato que tienen los datos
entre los que buscamos o no. Por ejemplo, si buscamos la cadena 1.234 y hacemos que busque con
formato seleccionando Sí, en los campos con formato Access intentará hacer coincidir el formato de la
cadena introducida con el dato almacenado con formato, por lo tanto no encontraría un campo que al-
macenase un valor de 1234. Si seleccionamos No, deberemos escribir 1234 para encontrar un campo
con formato que contenga el dato 1.234, porque Access comparará 1234 con el valor del campo sin
formato.
- La opción Sólo el campo activo buscará en todos los registros, pero solamente en el campo activo en
ese momento sino buscará en todos los campos.
- El argumento Buscar primero fuerza a que la búsqueda se realice desde el primer registro en vez de
buscar a partir del registro actual.

BuscarRegistroSiguiente. Busca el siguiente registro que cumple los criterios de Bus-


carRegistro.No tiene argumentos.

Cree la macro M4 con la acción BuscarRegistroSiguiente. Abra la tabla Clientes en vista Hoja de datos.
Ejecute la macro M3. Para continuar la búsqueda con los criterios establecidos con M3, ejecute la macro
M4 varias veces.

CerrarVentana. Cierra la ventana que se indica. Si no se indica ventana, cierra la que


está activa.

Cree la macro M5 para que cierre cualquier ventana que esté activa, pero preguntando si guardar o no
los cambios. Configure los argumentos como sigue:

Abra en cualquier vista las tablas Clientes y Detalles, la consulta C1, el formulario F1 y el informe I1. Se-
leccione cualquiera de las ventanas y ejecute la macro. La ventana se cierra, porque está activa. Si hubie-
ra hecho cambios en el objeto, Access le preguntaría si quiere guardarlos. Repita el proceso, si quiere,
hasta cerrar todas las ventanas. Podría cerrarlas directamente con el botón de cierre.
Hasta ahora, la macro no parece ser de mucha utilidad. Para que sea un poco más efectiva, corrija la
macro M5 de la siguiente forma:

Vuelva a abrir varias ventanas, entre ellas F1. Seleccione cualquier ventana que no sea la que contiene
a F1. Ejecute la macro M5. Se cierra la ventana de F1. Ahora que está cerrada, si vuelve a ejecutar la ma-

113
cro, no sucede nada, porque no hay nada que cerrar.

ConfigurarOrdenarPor. Aplica una cláusula ORDER BY de SQL para ordenar los re-
gistros en un formulario, informe, tabla o consulta que tiene enfoque.

Cree una macroM6que ordene los registros de la tabla Clientes por Prov y NomCli:

Para probar la macro, abra la tabla Clientes en vista Hoja de datos. Ahora ejecute M6 y vea que los re-
gistros están ordenados como indica la macro.

CuadroDeMensaje. Muestra un cuadro con un mensaje de advertencia o información.

Cree una macro para que muestre un cuadro de mensaje. Luego ejecútela.

DetenerMacro. Detiene la macro en ejecución. Activa el eco y la visualización de men-


sajes. No tiene argumentos.

DetenerTodasMacros. Detiene todas las macros en ejecución. Activa el eco y la visua-


lización de mensajes. No tiene argumentos.

EjecutarComandoDeMenú. Ejecuta un comando de menú adecuado a la vista activa.

Cree una macro con las acciones AbrirTabla y Actualizar. La tabla a abrir será Facturas y la acción Eje-
cutarComandoDeMenú será Buscar. Esto último abrirá el cuadro de diálogo Buscar, donde deberá definir
qué quiere buscar y otras modalidades, que ya conoce.

114
EjecutarMacro. Permite llamar una macro o submacro e iterar su ejecución.

Nombre de macro. Es la macro o submacro a ejecutar.

Número de repeticiones. Un número mayor que 1 que indica cuántas veces se


quiere repetir la ejecución de la macro.

Expresión de repetición. Expresión condicional que repite la ejecución de la ma-


cro mientras sea verdadera. La condición se evalúa antes de cada repetición, por
lo que, si de entrada no se cumple, la macro no se ejecuta.

EncontrarRegistro. Busca un registro en una tabla, consulta, formulario o informe. Es


una acción muy útil, pero algo difícil.

En la siguiente macro se abre la tabla Artículos. Luego se usa EncontrarRegistro para buscar el primer
registro cuyo campo NomArt sea igual a “Mesa TV”.

También se puede usar no un valor literal, sino el contenido de un cuadro de texto. La


notación es complicada, porque debe ser una expresión que concatene el primer
miembro del criterio con el nombre del cuadro de texto. Por ejemplo, buscar en el cam-
po NomCli un valor inicial escrito en el cuadro de texto Buscar del formulario Buscar-
Clientes. Incluya el signo = al comienzo y apóstrofes a ambos lados de la referencia al
cuadro de texto; el * es un comodín que sigue al valor inicial:
="NomCli Like '"& Formularios![BuscarClientes]![Buscar] &"*'"
Observe que se ha escrito "(comillas)NomCli Like '(apóstrofe)"(comillas) & Formula-
rio![BuscarClientes]![Buscar] &"(comillas)*(asterisco)'(apóstrofe)"(comilla).
Si no encuentra el valor buscado, Access no genera error y el enfoque permanece
en el registro actual.
EncontrarRegistro es más eficaz que BuscarRegistro. Éste duplica el funcionamiento
del diálogo Buscar. EncontrarRegistro usa criterios similares a los de un filtro o consulta
SQL, permite usar comodines y condiciones compuestas por operadores lógicos y ad-
mite referencias a campos del origen que no aparecen en el formulario o informe.

115
Cree un formulario que tenga todos los campos de la tabla Clientes. Guárdelo con el nombre Buscar-
Clientes. Ábralo en vista Diseño y agregue un cuadro de texto y un botón de comandos. En la propiedad
Título de la etiqueta, escriba Buscar. En la propiedad Nombre del cuadro de texto escriba Buscar. En la
propiedad Nombre del botón escriba BuscarNombre. En la propiedad Al hacer clic del botón, pulse … y
escriba la siguiente macro:

=»[NomCli] Like'» & [Formularios]![BuscarClientes]![Buscar] & »*'»


Nota. Para no confundir entre comilla doble y comilla simple, cuando se escriben juntas, hemos preferido
usar » en lugar de comillas dobles. El lector, sin embargo, debe entender que son las comillas dobles nor-
males, y como tal debe escribirlas en la condición Where anterior.

Cambie a vista Formulario. Escriba el comienzo del nombre de un cliente y pulse el botón. Luego escri-
ba otro nombre y repita la prueba.
Para que Access avise si no encuentra un registro que cumpla la condición WHERE, puede ampliar la
macro, para que quede como sigue (lo que está en negritas es lo nuevo):

EstablecerFiltro. Aplica un filtro a los registros de una tabla o tabla subyacente a un


formulario o informe.

EstablecerValor. Establece un valor para un control, campo o propiedad de un formu-

116
lario, hoja de datos de un formulario o informe.

Cree el formulario Facturas1 con todos los campos de la tabla Facturas. Cree la macro M7. Para que
aparezca la acción EstablecerValor en el listado de acciones, active el botón Mostrar todas las acciones.
Elija esta acción y configúrela como sigue:

Abra el formulario en vista Formulario. Ejecute la macro. Si quiere reponer el valor previo del vendedor,
pulse Ctrl + Z.

IrARegistro. Convierte en activo el registro que se indica.

Si no define Tipo de objeto, no puede definir Nombre del objeto. En ese caso, la macro se aplica al ob-
jeto activo (tabla, consulta, formulario).

MaximizarVentana. Maximiza la ventana activa. No tiene argumentos. Al igual que Mi-


nimizarVentana y RestaurarVentana, esta acción tiene efecto cuando en Archivo – Op-
ciones – Base de datos actual – Opciones de la ventana de documentos se ha elegido
Ventanas superpuestas.

MinimizarVentana. Minimiza la ventana activa, que se reduce a la barra de título y se


coloca al pie de la ventana de Access. No tiene argumentos.

MostrarTodosRegistros. Quita cualquier filtro. No tiene argumentos.

NuevaConsulta. Vuelve a consultar un control del objeto actual, si se especifica, o el


objeto actual.

NOMBRE DEL CONTROL. Control a consultar. Si lo deja en blanco, se vuelve a consultar


la tabla o consulta subyacente. Para hojas de datos, déjelo en blanco.

RestaurarVentana. Restaura la ventana activa. No tiene argumentos.

SalirDeAccess. Cierra Access.

117
Para probar algunas de las acciones explicadas, creemos una macro que llamaremos Prueba de ma-
cros. Emita Crear – Macros y código – Macro. En la lista Agregar nueva acción vaya eligiendo las acciones
que se indican y por cada acción, complete las opciones indicadas.

118
Cuando tenga la macro lista y grabada, la puede ejecutar dándole doble clic en el panel de navegación.

119
Flujo del programa
Por defecto, las acciones se ejecutan en secuencia, una tras otra, en el orden en que
están escritas. Este flujo se puede alterar, por ejemplo, ejecutando una acción sólo si
se cumple una condición.Access permite fácilmente variar el flujo de acciones. En el
panel Catálogo de acciones, aparece el apartado Flujo de programas, con compo-
nentes para estructurar la macro. Para insertar un componente en la pantalla principal,
dele doble clic, donde podrá modificarlo. Los componentes son:

Comentarios. Es texto aclaratorio que no se ejecuta. Aparece un recuadro para escri-


bir el texto. Al finalizar, el comentario se encierra entre /* y */ y toma color verde.

Abra la macro Prueba de macros en vista diseño. Asegure que está visible Catálogo de acciones. Si no
lo está, en Herramientas de macros – Mostrar u ocultar pulse el botón Catálogo de acciones. Desde Flujo
de programas arrastre el botón Comentario a la ventana principal, sobre la primera macro. Aparece una lí-
nea amarilla arriba, indicando donde se insertará el comentario. Cuide que no aparezca un rectángulo
amarillo que rodee todas las macros, indicando que el comentario se insertará al final de ellos. Escriba
Prueba de macros en la línea del comentario. Cuando coloque el puntero del mouse fuera del comentario,
verá que aparece encerrado entre /* y */. Podría escribir las líneas de comentario que le ha-
gan falta.

Grupo.Es un nombre que engloba un conjunto de acciones, que se muestran u ocultan


a voluntad. El nombre como tal no se ejecuta, sino cada acción componente. Cuando
las macros incluyen muchas acciones, conviene agruparlas. El grupo se puede contraer
o expandir. Se puede crear el grupo y luego agregarle acciones nuevas. O, si las ac-
ciones ya existen, se puede crear el grupo y luego arrastrar las acciones a él.

Desde el Catálogo de acciones, Flujo de programas, arrastre el botón Grupo debajo del comentario y
arriba del primer CuadroDeMensaje. El grupo tiene un línea que dice Grupo, otra que dice Agregar nueva
acción y una tercera que dice Finalizar grupo. En el cuadro de texto de la primera línea escriba Abrir tabla,
que será el nombre del grupo. Seleccione la acción CuadroDeMensaje Abriremos la tabla Facturas. Pulse
Aceptar y muévala un nivel hacia arriba, para que sea la primera acción del grupo. Haga lo mismo con la
acción AbrirTabla. El grupo, ahora, contendrá dos acciones. Puede contraer o expadir estas acciones y
también el grupo. Cuando ejecute la macro, se ejecutarán estas dos acciones. El único propósito del grupo
es poder visualizar o no las acciones, para no hacer tan largo el listado.

Si. Es el if del inglés, no el yes. Sirve para ejecuta acciones sólo si se cumple una
condición.Si la condición es verdadera, se ejecutarán las acciones que se indican a
continuación.Agregar Si no agrega acciones a ejecutar en caso que la condición no
se cumpla.Agregar O si para introducir otra condición, que ejecutará otras acciones.

Sea que queremos condicionar la ejecución de la macro según sea el día de la semana. Para ello
usaremos la función DíaSemana, que tiene dos argumentos. El primero es una fecha. El segundo es un
número que indica desde dónde se cuentan los días. Si este número es 1, domingo será 1, lunes será 2,
etc., hasta sábado que será 7. Si este número es 2, lunes será 1, martes será 2, etc., hasta domingo
que será 7. Aplicaremos el valor 2 como segundo argumento. Usaremos como fecha la fecha del siste-
ma operativo, que se obtiene con la función Fecha.

120
Supongamos que la fecha del sistema sea la de un miércoles, es decir, cuando la función DíaSema-
na aplicada a la función Fecha devuelva 3. Hagamos que la función trabaje únicamente en día miérco-
les. Para ello, desde Catálogo de acciones – Flujo de programas, arrastre Si debajo del comentario, an-
tes de grupo Abrir tabla. En el cuadro de texto de la línea Si escriba la condición
DíaSemana(Fecha();2)<>3
En Agregar nueva acción introduzca la acción DetenerMacro. Guarde y ejecute la macro. Solamente
trabajará si el día es miércoles.
Si quiere hacer que la función trabaje en cualquier día que no sea miércoles, debe cambiar el opera-
dor de la condición si, que ahora deberá ser DíaSemana(Fecha();2) = 3.
Observe que en el panel de la acción Si, cuando está expandido, aparecen las opciones Agregar Si
no y Agregar O si, que trabajan como se ha explicado.

Submacro.Una submacro es un conjunto de acciones, como un grupo, pero funciona


de otra manera. No se ejecuta en el orden lógico del programa. Al ejecutar la macro
que la contiene, la submacro se trata como comentarios. Sólo puede ejecutarla incorpo-
rando las siguientes acciones:

AlOcurrirError. Muestra mensajes sobre el error ocurrido.

EjecutarMacro. Hace ejecutar la submacro una cantidad de veces.

También se puede ejecutar la submacro de forma explícita desde el evento de un


control. Sea la macro Clientes, con tres submacros: Clientes Alta, Clientes Baja y Clien-
tes Cambio. Rara vez se ejecutará completamente la macro Clientes, sino que se hará
referencia a una de sus submacros. Para ejecutar un alta, hay que usar la sintaxis
Nombre de Macro. Nombre de Submacro.

Cree la siguiente macro, llamándola Ordenar:

Submacro: Factura
ConfigurarOrdenarPor
Ordenar por Fac
Nombre del control
Finalizar submacro
Submacro: Fecha
ConfigurarOrdenarPor
Ordenar por Fec
Nombre del control
Finalizar submacro
Submacro: Cliente
ConfigurarOrdenarPor
Ordenar por Cli
Nombre del control
Finalizar submacro
Submacro: Vendedor
ConfigurarOrdenarPor

121
Ordenar por Ven
Nombre del control
Finalizar submacro

Ahora cree el formulario Cambiar orden, con Crear – Formulario en blanco. Agregue todos los campos
de la tabla Facturas. Agregue cuatro botones de comando. Al abrirse el asistente de cada uno, configuran-
do los pasos como sigue:

Botón 1 Botón 2 Botón 3 Botón 4


Paso 1 Categoría: Otras Otras Otras Otras
Acciones: Ejecutar macro Ejecutar macro Ejecutar macro Ejecutar macro
Paso 2 Macro a ejecutar: Ordenar.Factura Ordenar.Fecha Ordenar.Cliente Ordenar.Vendedor
Paso 3 Texto: Factura Fecha Cliente Vendedor
Paso 4 Nombre del botón: Factura Fecha Cliente Vendedor

Ejecute el formulario.Pulse los distintos botones y vea cómo cambia del registro que está visualizando.
Si, dado un ordenamiento, avanza o retrocede por los registros, verá que respetan el orden establecido.

Métodos abreviados de teclado


El llamado a ejecutar una macro se puede realizar mediante una combinación de te-
clas. Para ello, cree una macro llamada AutoKeys. Luego cree una submacro por ca-
da combinación de teclas que quiera implementar.Como nombre, cada submacro de-
be seguir estas convenciones: ^ representa Ctrl, + representa Mayúscula, los nom-
bres de teclas con más de una letra deben ponerse entre { y }. Ejemplos:
Notación Representa
^C Ctrl + C
^1 Ctrl + 1
{F3} F3
^{F3} Ctrl+F3
+{F3} Shift+F3
{Insert} Insert
^{Insert} Ctrl + Insert
+{Insert} Shift + Insert

Incluya todas las acciones que desee en cada submacro.

Depurar errores
Cuando una macro tiene muchas condiciones y saltos, puede ser difícil controlar que
actúebien. Para facilitar la comprobación, Access posee una herramienta que sigue
la ejecución de la macro paso a paso, pudiendo ver qué proceso realiza y qué resul-
tados produce.
Para activar esta herramienta emita Diseño–Herramientas–Paso a paso. Cada vez
que se ejecute una macro, cada acción mostrará un diálogo. En él podrá ver:
 El nombre de la macro.
 La condición, si la hay, con su estado actual (Verdadero o Falso).

122
 La acción que se va a ejecutar, con sus argumentos,
 Si se produce un error, verá cuál es en Número de error. Éste número es una refe-
rencia para buscar información sobre el error en Access o Internet.
Para continuar con la ejecución sin detenciones, pulse Continuar. Si pulsa Paso a
Paso se continúa en tal modo. Para detener la macro pulse Detener o Ctrl + Enter.

123

S-ar putea să vă placă și