Documente Academic
Documente Profesional
Documente Cultură
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:
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.
Barra de título
Cinta de opciones
Barra de estado
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.
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.
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.
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.
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.
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.
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)
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.
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.
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.
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.
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:
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.
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.
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.
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.
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.
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.
Formato
Esta propiedad se usa para personalizar la presentación de los datos en pantalla o en
informes.
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 %.
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 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.
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.
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.
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.
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:
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:
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.
Nuevos valores
Determina cómo se calcula el valor de un campo Autonumérico. Los valores son:
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.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.
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.1 Ordenamiento. Ordena los registros por el campo actual, en forma ascendente o
descendente. Según el tipo del campo, las opciones son:
FECHAS: Ordenar de más antiguo a más reciente, Ordenar de más reciente a más anti-
guo
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.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.
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.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.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.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.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:
CAMPO ACTUAL. Limita la búsqueda al campo donde está el puntero. No está habilitado
en vista Informe.
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.
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.
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.
c) Reemplazar todos. Reemplaza el texto en todos los registros que contienen el texto
buscado.
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.
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.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.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.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.
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.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.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.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.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.
AJUSTAR AL MÁS ALTO. Da a los controles seleccionados la altura del más alto.
IGUALAR HORIZONTAL, IGUALAR VERTICAL. Trabaja al menos sobre tres controles selec-
cionados. Sin afectar los controles extremos, separa los intermedios con espaciados
iguales.
43
La cuadrícula se establece en 10 x 10 por
centímetro, mostrando líneas cada centí-
metro.
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.
44
1 Imprimir. El botón Imprimir abre el diálogo de igual nombre. Lo mismo se consigue
con Archivo–Imprimir–Imprimir.
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.
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.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 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.
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.
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.
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.
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.
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
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.
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.
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
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;
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:
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.
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:
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á:
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
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.
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.
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:
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.
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:
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.
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á:
El resultado será:
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).
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á:
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á:
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
Pero la consulta sería más compacta, sin perder información, si presentara los datos
de esta forma:
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:
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 <<.
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.
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.
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:
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á:
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.
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í:
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.
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.
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.
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.
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.
Pestaña. Cuando hay tantos controles que no caben o son difíciles de hallar en
el formulario, permite organizarlos en fichas distintas.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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
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.
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.
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.
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).
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.
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 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 informe. Datos que aparecen una sola vez, al final del informe.
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.
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:
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 pie. Funciona como Con/sin una sección de encabezado.
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.
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ásde 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.
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.
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.
Opciones de impresión
IMPRIMIR SÓLO LOS DATOS. Si se activa, sólo imprime los datos. Si se desactiva, imprime
los datos y títulos.
90
Páginas
Columnas
Página
Hoja de papel apaisada
Página Página
Hoja de papel apaisada
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.
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.
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.
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.
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.
Texto de ayuda del control. Texto a mostrar como ayuda contextual, cuando se colo-
que el cursor del mouse unos segundos sobre el control.
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
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.
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.
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.
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.
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.
valor1
valor2
valor3
valor4
valor5
valor6
valor1 valor2
valor3 valor4
valor4 valor5
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.
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.
Filas en lista. Cantidad de filas a visualizar cuando se despliega la lista. Es una pro-
piedad exclusiva del cuadro combinado.
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.
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:
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.
Botón de opción
Casilla de verificación
Botón de alternar
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
COINCIDIR. Tiene las opciones Cualquier parte del campo, Hacer coincidir todo el cam-
po, Comienzo del campo.
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.
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.
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 DEL FILTRO. Consulta o filtro guardado como consulta para filtrar registros.
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.
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.
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).
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:
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.
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.
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.
Cree una macro para que muestre un cuadro de mensaje. Luego ejecútela.
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.
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”.
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:
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):
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.
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).
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:
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.
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: 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:
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.
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