You are on page 1of 496

diosestinta.blogspot.

com
ÍNDICE

INTRODUCCIÓN...............................................................................................................................15
CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO .......17
1.1 NOVEDADES EN ACCESS 2010 ............................................................................. 17
1.1.1 Novedades generales y de interfaz ...................................................................... 17
1.1.2 Novedades en herramientas de diseño ................................................................ 26
1.1.3 Novedades en tipos de datos y controles............................................................. 29
1.1.4 Novedades en presentación de los datos ............................................................. 30
1.1.5 Novedades en seguridad...................................................................................... 33
1.1.6 Novedades en herramientas de corrección .......................................................... 35
1.2 CARACTERÍSTICAS DE ACCESS 2010 ................................................................. 35
1.3 INICIO Y ENTORNO DE TRABAJO EN ACCESS 2010......................................... 37
1.3.1 Cinta de opciones de Access 2010 ...................................................................... 40
1.3.2 Ficha Inicio.......................................................................................................... 43
1.3.3 Ficha Crear .......................................................................................................... 48
1.3.4 Ficha Datos externos ........................................................................................... 50
1.3.5 Ficha Herramientas de base de datos .................................................................. 51
1.3.6 Botón Archivo ..................................................................................................... 53
1.3.7 Barra de acceso rápido ........................................................................................ 54
1.3.8 Barra de estado .................................................................................................... 56
1.3.9 Panel de exploración ........................................................................................... 58
1.3.10 Documentos con fichas ..................................................................................... 58
1.3.11 Minibarra de herramientas ................................................................................ 60

diosestinta.blogspot.com
8 ACCESS 2010. CURSO PRÁCTICO © RA-MA

CAPÍTULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO DE BASES


DE DATOS RELACIONALES ........................................................................................................61
2.1 BASES DE DATOS: TABLAS, CAMPOS Y REGISTROS ........................................... 61
2.2 ESTRUCTURA DE LAS BASES DE DATOS .......................................................... 62
2.2.1 Modelos de datos primitivos. Sistemas de gestión de archivos .......................... 62
2.2.2 Bases de datos jerárquicas................................................................................... 63
2.2.3 Bases de datos en red .......................................................................................... 65
2.2.4 Bases de datos relacionales ................................................................................. 67
2.3 CARACTERÍSTICAS DE LAS BASES DE DATOS RELACIONALES ..................... 69
2.4 OPERACIONES RELACIONALES BÁSICAS........................................................... 70
2.5 OTRAS OPERACIONES RELACIONALES Y OPERADORES BOOLEANOS......... 73
2.6 DISEÑO DE UNA BASE DE DATOS RELACIONAL................................................ 74
2.6.1 Claves primarias y secundarias (externas o foráneas)......................................... 74
2.6.2 Integridad ............................................................................................................ 75
2.6.3 Disparadores........................................................................................................ 78
2.6.4 Índices ................................................................................................................. 79
2.6.5 Tablas en una base de datos relacional ............................................................... 83
2.6.6 Un ejemplo de diseño de base de datos relacional.............................................. 85
2.7 OBJETOS TÍPICOS EN BASES DE DATOS ACCESS ............................................... 93
2.7.1 Consultas: definición y funcionamiento.............................................................. 95
2.7.2 Formularios: definición y funcionamiento.......................................................... 97
2.7.3 Informes: definición y funcionamiento............................................................... 98
2.7.4 Macros................................................................................................................. 99
2.7.5 Módulos............................................................................................................... 99
2.8 RELACIONES EN ACCESS ..................................................................................... 100
2.8.1 Relación uno a varios ........................................................................................ 102
2.8.2 Relación varios a varios .................................................................................... 102
2.8.3 Relación uno a uno............................................................................................ 103
2.8.4 Definir relaciones .............................................................................................. 103
CAPÍTULO 3. CREACIÓN DE BASES DE DATOS, TABLAS, RELACIONES,
CLAVES E ÍNDICES....................................................................................................................... 109
3.1 TAREAS PREVIAS A LA CREACIÓN DE UNA BASE DE DATOS ................... 109
3.2 CREACIÓN DE BASES DE DATOS EN ACCESS 2010 ........................................... 112
3.3 ABRIR Y CERRAR UNA BASE DE DATOS ......................................................... 118
3.4 VISTA HOJA DE DATOS. TRABAJO CON TABLAS.......................................... 121
3.4.1 Añadir nuevas tablas a una base de datos ......................................................... 121
3.4.2 Añadir nuevos campos a las tablas de una base de datos.................................. 123

diosestinta.blogspot.com
 RA-MA ÍNDICE 9

3.4.3 Insertar, eliminar y cambiar nombre a los campos ........................................... 125


3.4.4 Tipos de datos, formatos y propiedades de campos.......................................... 127
3.4.5 Trabajar con registros........................................................................................ 129
3.4.6 Tareas especiales con tablas. Exportar, importar, cortar, copiar, pegar,
eliminar y ocultar tablas .................................................................................... 133
3.5 VISTA DISEÑO. CLAVES, ÍNDICES, TIPOS DE DATOS Y PROPIEDADES ... 135
3.5.1 Establecer y quitar la clave primaria ................................................................. 138
3.5.2 Establecer y quitar índices................................................................................. 139
3.5.3 Tipos de datos y formatos ................................................................................. 142
3.5.4 Propiedades de campos ..................................................................................... 143
3.6 RELACIONES.......................................................................................................... 146
3.6.1 Definir relaciones entre tablas........................................................................... 147
3.6.2 Eliminar y modificar relaciones ........................................................................ 153
3.6.3 Ver las relaciones de una base de datos ............................................................ 154
3.6.4 Integridad referencial ........................................................................................ 156
CAPÍTULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS.
PERSONALIZACIÓN .................................................................................................................... 175
4.1 PROPIEDADES DE LOS CAMPOS........................................................................ 175
4.1.1 Tamaño de los campos (propiedad FieldSize) .................................................. 176
4.1.2 Formato de los campos (propiedad Format) ..................................................... 177
4.1.3 Máscara de entrada de los campos (propiedad MáscaraDeEntrada o
InputMask) ........................................................................................................ 182
4.1.4 Título de los campos (propiedad Caption) ........................................................ 186
4.1.5 Valor predeterminado de campo (propiedad DefaultValue).............................. 187
4.1.6 Reglas y textos de validación de campos. Propiedades ReglaDeValidación
(ValidationRule) y TextoDeValidación (ValidationText) ................................ 190
4.1.7 Propiedad Requerido (Required) en los campos............................................... 194
4.1.8 Permitir longitud cero en los campos. Propiedad permitir longitud cero
(AllowZeroLength) ........................................................................................... 196
4.1.9 Campos indexados (propiedad Indexed)........................................................... 198
4.1.10 Comprimir los datos en un campo texto, memo o hipervínculo (propiedad
Unicode Compression).................................................................................... 200
4.1.11 Resumen sobre propiedades de campos .......................................................... 200
4.2 PERSONALIZAR CAMPOS ..................................................................................... 205
4.3 CAMPOS DE BÚSQUEDA Y DE LISTA DE VALORES ......................................... 216
4.3.1 Campos de búsqueda en la vista Diseño ........................................................... 217
4.3.2 Campos de búsqueda en la vista Hoja de datos................................................. 221
4.3.3 Campos de lista de valores en la vista Diseño .................................................. 222

diosestinta.blogspot.com
10 ACCESS 2010. CURSO PRÁCTICO © RA-MA

4.3.4 Campos de lista de valores en la vista Hoja de datos........................................ 224


4.4 CAMPOS AUTONUMÉRICOS Y RÉPLICAS DE UNA BASE DE DATOS............. 224
CAPÍTULO 5. CONSULTAS A TRAVÉS DE LA INTERFAZ DE ACCESS 2010.......... 239
5.1 CONCEPTOS Y TIPOS DE CONSULTAS ............................................................. 239
5.2 CONSULTAS DE SELECCIÓN ................................................................................ 241
5.2.1 Consultas de selección sencillas mediante asistente ......................................... 241
5.2.2 Consultas de selección sencillas en la vista Diseño .......................................... 246
5.2.3 Utilizar varias tablas en consultas ..................................................................... 248
5.2.4 Crear una consulta de Autobúsqueda que rellene los datos automáticamente.. 258
5.2.5 Criterios y expresiones para recuperar datos .................................................... 259
5.2.6 Formas comunes de usar criterios ..................................................................... 265
5.2.7 Especificar varios criterios en una consulta ...................................................... 272
5.2.8 Usar una subconsulta para definir un campo o definir criterios para un
campo ................................................................................................................ 273
5.2.9 Mostrar sólo los valores más altos o más bajos en los resultados de la
consulta.............................................................................................................. 275
5.2.10 Usar el asterisco en la cuadrícula de diseño de una consulta..................................... 275
5.2.11 Trabajar con campos vacíos en consultas ....................................................... 276
5.2.12 Funciones agregadas y otras opciones de la fila total ..................................... 277
5.3 ENCONTRAR REGISTROS O VALORES DE CAMPO DUPLICADOS EN UNA
TABLA MEDIANTE UN ASISTENTE PARA CONSULTAS .................................. 278
5.4 ASISTENTE PARA BÚSQUEDA DE NO COINCIDENTES........................................ 281
5.5 PERSONALIZAR UNA CONSULTA ......................................................................... 284
5.6 DISEÑAR O MODIFICAR UNA CONSULTA ............................................................ 286
5.7 CREAR UNA CONSULTA DE SELECCIÓN SIN ASISTENTE DE PRINCIPIO A
FIN............................................................................................................................. 292
CAPÍTULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARÁMETROS
Y DE ACCIÓN. CÁLCULOS ........................................................................................................ 301
6.1 REALIZAR CÁLCULOS EN CONSULTAS. FUNCIONES AGREGADAS ........ 301
6.2 INCLUIR FUNCIONES AGREGADAS EN UNA CONSULTA MEDIANTE
UN ASISTENTE....................................................................................................... 304
6.3 INCLUIR FUNCIONES AGREGADAS EN UNA CONSULTA MEDIANTE LA
CUADRÍCULA DE DISEÑO ........................................................................................ 308
6.4 CREAR UN CAMPO CALCULADO EN UNA CONSULTA ....................................... 310
6.5 EXPRESIONES........................................................................................................ 313
6.5.1 Crear una expresión con el Generador de expresiones ..................................... 314
6.5.2 Crear una expresión sin utilizar el Generador de expresiones .......................... 316

diosestinta.blogspot.com
 RA-MA ÍNDICE 11

6.5.3 Introducir expresiones en la cuadrícula de diseño de una consulta o en una


hoja de propiedades........................................................................................... 317
6.5.4 Utilizar valores en expresiones ......................................................................... 319
6.5.5 Usar los operadores ! y . (punto) en las expresiones......................................... 320
6.5.6 Ejemplos de expresiones en campos calculados ............................................... 320
6.5.7 Operadores típicos a utilizar en expresiones ..................................................... 323
6.5.8 Orden de los operadores en las expresiones...................................................... 325
6.6 CONSULTAS DE REFERENCIAS CRUZADAS................................................... 325
6.6.1 Crear una consulta de tabla de referencias cruzadas mediante un asistente ..... 326
6.6.2 Ordenar o limitar los encabezados de columnas en una consulta de
referencias cruzadas .......................................................................................... 330
6.6.3 Crear una consulta de referencias cruzadas sin asistente .................................. 332
6.7 CONSULTAS DE PARÁMETROS ......................................................................... 335
6.7.1 Crear una consulta de parámetros que solicite criterios cada vez que se
ejecute................................................................................................................ 335
6.7.2 Especificar el tipo de datos de un parámetro en una consulta de parámetros... 337
6.8 CONSULTAS DE ACCIÓN..................................................................................... 339
6.8.1 Consultas de creación de tabla .......................................................................... 339
6.8.2 Consultas de actualización ................................................................................ 342
6.8.3 Consultas de datos anexados ............................................................................. 343
6.8.4 Consultas de eliminación .................................................................................. 346
CAPÍTULO 7. LENGUAJE SQL DE ACCESS 2010 ............................................................... 357
7.1 BASES DE DATOS RELACIONALES Y LENGUAJE SQL ................................. 357
7.2 EL LENGUAJE SQL DE MICROSOFT ACCESS 2010 ......................................... 358
7.3 ELEMENTOS DE SQL DE ACCESS 2010 ............................................................. 359
7.3.1 Tipos de datos de SQL Access, sinónimos y su relación con SQL ANSI y
SQL Server........................................................................................................ 359
7.3.2 Operadores de SQL Access............................................................................... 361
7.3.3 Funciones de SQL Access................................................................................. 364
7.4 ENTORNO DE SQL EN ACCESS 2010. VISTA SQL ............................................ 368
7.5 LENGUAJE DE DEFINICIÓN DE DATOS DDL................................................... 371
7.5.1 Sentencia CREATE TABLE............................................................................. 371
7.5.2 Sentencia CREATE INDEX ............................................................................. 379
7.5.3 Sentencia ALTER TABLE ............................................................................... 380
7.5.4 Sentencia DROP............................................................................................... 384
7.6 LENGUAJE DE MODIFICACIÓN DE DATOS DML ........................................... 386
7.6.1 Sentencia INSERT ............................................................................................ 386
7.6.2 Sentencia UPDATE........................................................................................... 392

diosestinta.blogspot.com
12 ACCESS 2010. CURSO PRÁCTICO © RA-MA

7.6.3 Sentencia DELETE ........................................................................................... 393


7.7 LENGUAJE DE CONSULTA DE DATOS DQL. SENTENCIA SELECT............. 394
7.7.1 Columnas calculadas ......................................................................................... 401
7.7.2 Combinación de consultas con la cláusula UNION.......................................... 402
7.7.3 Consultas multitabla. JOIN de dos o más tablas ............................................... 404
7.7.4 Consultas resumen ............................................................................................ 406
7.7.5 Subconsultas...................................................................................................... 408
7.8 LENGUAJE DE CONTROL DE TRANSACCIONES TCL ....................................... 411
7.8.1 Procesamiento de transacciones ........................................................................ 412
7.8.2 Sentencia BEGIN TRANSACTION................................................................. 413
7.8.3 Sentencia COMMIT TRANSACTION............................................................. 414
7.8.4 Sentencia COMMIT WORK............................................................................. 414
7.8.5 Sentencia ROLLBACK TRANSACTION ....................................................... 415
7.9 LENGUAJE DE CONTROL DE DATOS DCL.......................................................... 416
7.9.1 Sentencia GRANT............................................................................................. 416
7.9.2 Sentencia REVOKE .......................................................................................... 417
7.9.3 Sentencia CREATE USER o GROUP.............................................................. 417
7.9.4 Sentencia ADD USER ...................................................................................... 418
7.9.5 Sentencia DROP USER o GROUP................................................................... 418
7.9.6 Sentencia ALTER USER o DATABASE......................................................... 419
7.10 PROCEDIMIENTOS ALMACENADOS................................................................. 419
7.10.1 Sentencia CREATE PROCEDURE................................................................ 419
7.10.2 Sentencia EXECUTE ...................................................................................... 420
7.10.3 Declaración PARAMETERS .......................................................................... 420
7.10.4 Cláusula PROCEDURE .................................................................................. 421
CAPÍTULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS............................ 437
8.1 INTRODUCCIÓN .................................................................................................... 437
8.2 CREACIÓN DE FORMULARIOS .......................................................................... 439
8.2.1 Herramienta Formulario.................................................................................... 439
8.2.2 Herramienta Varios elementos .......................................................................... 441
8.2.3 Herramienta Formulario dividido ..................................................................... 442
8.2.4 Herramienta Asistente para formularios ........................................................... 443
8.2.5 Herramienta Formulario en blanco ................................................................... 446
8.2.6 Subformularios .................................................................................................. 448
8.3 CREACIÓN DE INFORMES................................................................................... 455
8.3.1 Herramienta Informe ......................................................................................... 455
8.3.2 Herramienta Asistente para informes................................................................ 459

diosestinta.blogspot.com
 RA-MA ÍNDICE 13

8.3.3 Herramienta Informe en blanco ........................................................................ 463


8.3.4 Subinformes ...................................................................................................... 465
8.3.5 Herramienta Etiquetas ....................................................................................... 473
8.4 DATOS EXTERNOS ............................................................................................... 476
8.5 IMPORTACIÓN DE DATOS .................................................................................. 476
8.5.1 Importación de datos desde otra base de datos Access ..................................... 477
8.5.2 Importación de datos desde Excel..................................................................... 479
8.5.3 Importación de datos desde ODBC................................................................... 484
8.5.4 Importación de datos desde ASCII y XML....................................................... 487
8.6 EXPORTACIÓN DE DATOS .................................................................................. 494
8.6.1 Exportación de datos a Excel ............................................................................ 494
8.6.2 Exportación de datos a Word ............................................................................ 496
8.6.3 Exportación de datos a orígenes ODBC, XML, etc. ......................................... 498
8.6.4 Exportación de datos a ASCII........................................................................... 499
ÍNDICE ALFABÉTICO.................................................................................................................. 501

diosestinta.blogspot.com
INTRODUCCION

Microsoft Access 2010 es la base de datos del paquete integrado Office 2010.
Constituye una herramienta muy eficaz y ampliamente utilizada que ayuda a los
usuarios a compartir información, realizar su seguimiento, presentar informes y realizar
los trabajos relativos a una base de datos relacional en un entorno interactivo.
Microsoft Access 2010 es una herramienta de diseño e implementación de aplicaciones
de base de datos que se puede usar para realizar un seguimiento de la información
ordenado y sistematizado. Puede conservar los datos en el equipo o publicarlos en la
Web, de forma que otros usuarios puedan usar la base de datos con un explorador web.

Access 2010 presenta una interfaz de usuario moderna que permite la


interrelación con los orígenes de datos más habituales para conseguir un modo de
trabajo dinámico y abierto en el campo de las bases de datos.

Con la incorporación del lenguaje SQL, Access 2010 puede considerarse


como una base de datos relacional que posibilita el trabajo para la consulta,
creación, manejo y administración de bases de datos a través de los lenguajes de
definición, modificación y consulta de datos, así como los lenguajes de control de
transacciones y control de datos. La utilización de SQL de Access permite la
estandarización del código relacional y la interrelación sencilla de Access con otras
bases de datos relacionales como Microsoft SQL Server, MySQL, Oracle, etc.

Así mismo, Access 2010 dispone de una interfaz de trabajo que permite
realizar fácilmente tareas de diseño, creación y administración de bases de datos.
Adicionalmente, es posible abordar el trabajo con formularios, informes, filtros y
tablas y gráficos dinámicos de modo interactivo a través de asistentes. También se
tratan las áreas de seguridad, mantenimiento y rendimiento de las bases de datos.

diosestinta.blogspot.com
Capítulo 1

CARACTERISTICAS, NOVEDADES Y
ENTORNO DE TRABAJO

1.1 NOVEDADES EN ACCESS 2010


En los párrafos siguientes se exponen las principales novedades de Access
2010 agrupadas por categorías.

1.1.1 Novedades generales y de interfaz

Novedad Descripción
Colaboración En Microsoft Access 2010 es posible crear bases de datos web y
inmediata publicarlas en un sitio de SharePoint. Los usuarios que visitan SharePoint
pueden usar la aplicación de base de datos en un explorador web, usando
los permisos de SharePoint para determinar lo que puede ver cada usuario.
Puede comenzar con una plantilla y empezar a colaborar inmediatamente.
Muchas otras mejoras son compatibles con esta nueva capacidad de
publicación web y además ofrecen ventajas para las bases de datos de
escritorio tradicionales.

Si tiene acceso a un sitio de SharePoint con Servicios de Access


configurado, puede crear una base de datos web con Access 2010. Los
usuarios pueden usar esta base de datos en la ventana de un explorador
web, pero usted debe usar Access 2010 para realizar cambios de diseño.
Aunque algunas características de las bases de datos de escritorio no se
trasladan a la Web, puede realizar muchas acciones equivalentes mediante
el uso de nuevas características, como los campos calculados o las macros
de datos.

diosestinta.blogspot.com
18 ACCESS 2010. CURSO PRACTICO ©RA-MA

Compartir una La creación de bases de datos tiene una orientación hacia la compartición
base de datos de información. Existen diferentes vías:

Usar una plantilla: Hay cinco plantillas en Access 2010: Contactos,


Activos, Proyectos, Eventos y Contribuciones benéficas. Además, puede
modificar cualquier plantilla antes o después de publicar.

Comenzar desde cero: Al crear una nueva base de datos en blanco, elija
entre una base de datos normal y una base de datos Web. Esta elección
afecta a las características de diseño y los comandos que se ven, de modo
que es fácil asegurarse de que la aplicación sea compatible con la Web.

Convertir una base de datos existente en una base de datos Web: Puede
publicar una aplicación existente en la Web. Dado que no todas las
características de las bases de datos de escritorio se admiten en la Web, es
posible que deba ajustar algunas características de la aplicación. Para
identificar y solucionar problemas de compatibilidad, puede ejecutar el
nuevo Comprobador de compatibilidad Web.

Intranet o Internet: Puede publicar en su propio servidor de SharePoint o


puede usar una solución de SharePoint hospedada.

Nuevo Access 2010 incorpora un nuevo generador de macros que incluye


generador de IntelliSense y una interfaz sencilla y fácil de usar. Las macros de datos
macros ayudan a admitir agregados en las bases de datos web y además
proporcionan un método para implementar “desencadenadores” en
cualquier base de datos de Access 2010.

En 1 se seleccione una acción de la lista, en 2 se puede hacer doble clic en


una acción en el catálogo de acciones para agregarla a la macro y en 3 se
muestra la ficha Diseño cuando se está trabajando con la macro.

Las macros de datos ayudan a admitir agregados en las bases de datos web
y además proporcionan un método para implementar “desencadenadores”
en cualquier base de datos de Access 2010.

diosestinta.blogspot.com
© RA-MA ____________ CAPÍTULO I. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO 19

Si agrega una acción, se muestran más opciones en el generador de macros. Por


ejemplo, si agrega una acción “Si”, puede ver lo siguiente:

Por otra parte, las macros de datos ayudan a admitir agregados en las
bases de datos web y además proporcionan un método para implementar
"desencadenadores" en cualquier base de datos de Access 2010. Por
ejemplo, puede haber un campo PorcentajeCompletado y un campo
Estado. Puede usar una macro de datos para establecer el campo
PorcentajeCompletado en 100 al establecer el estado en Completo y en 0
al establecer el estado en No iniciado.
Generador de El Generador de expresiones incluye ahora IntelliSense para poder ver las
expresiones opciones a medida que escribe. Además, muestra información de ayuda
mejorado para el valor de expresión seleccionado en la ventana Generador de
expresiones.

Trim(string) devuelve una variante de tipo cadena (string) que contiene


una copia de una cadena especificada sin interlineado.
Campos Puede crear un campo que muestre los resultados de un cálculo. El cálculo
calculados debe hacer referencia a otros campos de la misma tabla. Para crear el
cálculo, se usa el Generador de expresiones.
Reglas de Puede crear una regla que impida la entrada de datos si el registro
validación de modificado puede validar una regla especificada. A diferencia de una
tablas regla de validación de campo, una regla de validación de tabla puede
comprobar el valor de más de un campo. Para crear la regla de validación,
se usa el Generador de expresiones.
Uso de Los diseños, una novedad de Office Access 2010, son grupos de controles
diseños de que se pueden mover y cuyo tamaño se puede cambiar como una unidad.
controles para En Access 2010, los diseños se han mejorado para permitir una colocación
mantener el más flexible de los controles en los formularios e informes. Puede dividir
orden 0 combinar celdas horizontal o verticalmente, lo que permite reorganizar
los campos, las columnas o las filas fácilmente.

Debe usar la vista Presentación al diseñar bases de datos web, aunque la


vista Diseño sigue estando disponible para trabajar en el diseño de las
bases de datos de escritorio.

diosestinta.blogspot.com
20 ACCESS 2010. CURSO PRACTICO © RA-MA

Plantillas de Access 2010 incluye un conjunto de plantillas de bases de datos de diseño


bases de datos profesional para el seguimiento de contactos, tareas, eventos, estudiantes y
para crear activos, entre otros tipos de datos. Se pueden usar tal cual o se pueden
aplicaciones mejorar y perfeccionar para realizar el seguimiento de la información
completas exactamente del modo en el que desee.

Cada plantilla es una aplicación de seguimiento completa que incluye


tablas, formularios, informes, consultas, macros y relaciones predefinidos.
Las plantillas se han diseñado de modo que se puedan usar
inmediatamente. Si el diseño de la plantilla se ajusta a sus necesidades,
podrá usarla tal cual. De lo contrario, podrá usarla para crear más
rápidamente una base de datos que se ajuste a sus necesidades específicas.

diosestinta.blogspot.com
©RA-MA CAPÍTULO 1. CARACTERISTICAS, NOVEDADBS Y ENTORNO DE TRABAJO 21

Vista Hoja de Es típico necesitar calcular funciones de agregado sobre los campos de
datos con fila una base de datos (suma, cuenta, promedio, máximo, desviación típica,
Totales etc.). La vista Hoja de datos presenta ahora una fila Totales en la que se
pueden presentar los resultados de las funciones de agregado.
Elementos de Puede agregar funcionalidad a una base de datos existente fácilmente
aplicación mediante el uso de un elemento de la aplicación. Como novedad en
para agregar Access 2010, un elemento de aplicación es una plantilla que incluye parte
funcionalidad de una base de datos, por ejemplo, una tabla con formato previo, o bien
a una base de una tabla con un formulario y un informe asociados. Por ejemplo, si
datos agrega un elemento de la aplicación Tareas a la base de datos, tendrá una
existente tabla Tareas, un formulario Tareas y la opción de relacionar la tabla
Tareas con otra tabla de la base de datos.

Vista Hoja de Puede crear tablas y empezar a usarlas sin definir los campos
datos previamente; simplemente haga clic en Tabla en la ficha Crear y empiece
mejorada a escribir los datos en la nueva hoja de datos que aparece. Dado que
Access 2010 determina automáticamente el mejor tipo de datos para cada
campo, puede empezar a trabajar de inmediato. En la columna Haga clic
para agregar se muestra exactamente dónde agregar un nuevo campo y, si
necesita modificar el tipo de datos o el formato de presentación de un
campo nuevo o existente, puede usar los comandos de la cinta, en la ficha
Campos. Además, puede pegar datos de tablas de Microsoft Excel en una
hoja de datos nueva; Access 2010 crea todos los campos y reconoce los
tipos de datos automáticamente.

diosestinta.blogspot.com
22 ACCESS 2010. CURSO PRACTICO © RA-MA

Panel Lista de El panel Lista de campos, introducido en Access 2010, permite agregar
campos campos de otras tablas. Puede arrastrar los campos desde la tabla del
origen de registros, desde tablas relacionadas o desde tablas no
relacionadas de la base de datos. Si es necesaria una relación entre las
tablas, se crea automáticamente o se le guiará durante el proceso.

diosestinta.blogspot.com
© RA-MA CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORN O DE TRABAJO 23

La vista Use la vista Presentación para realizar modificaciones de diseño mientras ve


Presentación los datos de un formulario o informe. La vista Presentación incluye muchas
contribuye a mejoras con respecto a Access 2010 y es necesaria si va a diseñar un
acelerar el formulario o un informe para la Web. Por ejemplo, para agregar un campo a la
diseño de los cuadrícula de diseño, puede arrastrarlo desde el panel Lista de campos o
formularios e puede modificar las propiedades mediante la hoja de propiedades.
informes

Nueva interfaz La nueva interfaz de usuario, incluida con Office Access 2010 y mejorada en
de usuario Access 2010, se diseñó para facilitar la búsqueda de comandos y
características que antes estaban poco visibles entre una cantidad considerable
de menús y barras de herramientas. Destaca la Cinta de opciones que es una
colección de fichas que contienen grupos de comandos organizados por
característica y funcionalidad. La cinta reemplaza los niveles de menús y
barras de herramientas de las versiones anteriores de Access.

Entre las características principales de la cinta, se incluyen:

Fichas de comandos', fichas que muestran comandos que se suelen


usar de forma conjunta para encontrar los comandos necesarios.
Fichas de comandos contextúales: fichas de comandos que aparecen
según el contexto; es decir, según el objeto con el que se esté
trabajando o la tarea que se esté llevando a cabo. Una ficha de
comandos contextúales contiene los comandos que se aplicarían con
mayor probabilidad a la tarea que se esté realizando.

Galerías: nuevos controles que muestran una vista previa de un estilo


0 una opción para ver los resultados antes de realizar una selección.

diosestinta.blogspot.com
24 ACCESS 2010. CURSO PRACTICO © RA-MA

Vista Backstage La vista Backstage es una novedad de Access 2010 que contiene comandos aplicables a
toda una base de datos (por ejemplo, compactar y reparar o abrir
una nueva base de datos). Los comandos están organizados en fichas en la
parte izquierda de la pantalla y cada ficha contiene un grupo de comandos o
vínculos relacionados. Por ejemplo, al hacer clic en Nueva, puede ver un
conjunto de botones que le permiten crear una nueva base de datos desde el
principio 0 seleccionar una base de datos de una biblioteca de plantillas de
base de datos diseñadas por profesionales. Muchos de los comandos de la
vista Backstage estaban disponibles en el menú Archivo en las versiones
anteriores de Access. Además, puede ver las bases de datos abiertas
recientemente y, si está conectado a Internet, los vínculos a artículos de
office.com.

Objetos con De forma predeterminada, las tablas, las consultas, los formularios y las
fichas macros se muestran como objetos con fichas en la ventana de Access. Puede
cambiar esta configuración para cada base de datos y usar las ventanas de los
objetos en lugar de fichas. Al hacer clic en las fichas de los objetos, es posible
pasar con facilidad de uno a otro.

Panel de El panel de navegación, una novedad de Access 2010, facilita el acceso a


navegación todos los objetos de la base de datos abierta actualmente. Use el panel de
navegación para organizar los objetos por tipo, fecha de creación, fecha de
modificación, tabla relacionada (según las dependencias de objetos) o en
grupos personalizados que haya creado. ¿Necesita más espacio para trabajar
en el diseño del formulario? Puede contraer el panel de navegación fácilmente
para que ocupe poco espacio y siga estando disponible. El panel de
navegación reemplaza a la ventana Base de datos usada en versiones de
Access anteriores a Access 2010.

diosestinta.blogspot.com
© RA-MA CAPITULO I. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO 25

Objetos con De forma predeterminada, las tablas, las consultas, los formularios y las
fichas macros se muestran como objetos con fichas en la ventana de Access. Puede
cambiar esta configuración para cada base de datos y usar las ventanas de los
objetos en lugar de fichas. Al hacer clic en las fichas de los objetos, es posible
pasar con facilidad de uno a otro.

Ventana de ayuda A diferencia de las versiones anteriores de Access, Access 2010 ofrece un fácil acceso
al contenido de la Ayuda de Access y a la referencia del
desarrollador desde la ventana Ayuda. Por ejemplo, puede cambiar fácilmente
el ámbito de la búsqueda al contenido de referencia del desarrollador
únicamente. Independientemente de la configuración de la ventana Ayuda,
todo el contenido de la Ayuda de Access y de referencia del desarrollador está
siempre disponible en Office Online en office.com o en MSDN.

diosestinta.blogspot.com
26 ACCESS 2010. CURSO PRACTICO © RA-MA

1.1.2 Novedades en herramientas de diseño

Novedad Descripción
Herramientas Access 2010 ofrece un entorno intuitivo para crear objetos de base de datos. Use la ficha
de creación Crear para crear rápidamente nuevos formularios, informes,
de objetos
tablas, consultas y otros objetos de base de datos. Si selecciona una tabla o
más eficaces
eficaces consulta en el panel de navegación, puede crear un nuevo formulario o
informe basado en ese objeto con un solo clic mediante el comando
Formulario o el comando Informe.

Los nuevos formularios e informes creados con el proceso de un solo clic usan
un diseño actualizado para que resulten más atractivos a la vista y se puedan
usar inmediatamente. Los formularios e informes generados automáticamente
tienen un diseño profesional con encabezados que incluyen un logotipo y un
título. Además, un informe generado automáticamente también incluye
información de fecha y hora así como pies de página informativos y totales.
Vista Informe Vista Informe Estas vistas, presentadas en Office Access 2010 y mejoradas en Access 2010, y
y vista vista le permiten trabajar con formularios e informes de forma interactiva. Con la
Presentación Presentación vista Informe, puede examinar una representación precisa del informe sin
tener que imprimirlo o mostrarlo en la vista preliminar. Si desea centrarse en
determinados registros, use la característica de filtro o una operación de
búsqueda para buscar texto coincidente. Puede usar el comando Copiar para
copiar texto en el Portapapeles o puede hacer clic en los hipervínculos activos
que se muestran en el informe para abrir un vínculo en el explorador.

La vista Presentación permite realizar cambios de diseño mientras examina los


datos. Puede usar la vista Presentación para realizar muchos cambios de diseño
comunes mientras ve los datos en un formulario o informe. Por ejemplo, puede
agregar un campo si arrastra su nombre desde el nuevo panel Lista de campos o
cambiar las propiedades mediante la hoja de propiedades. La vista Presentación
ofrece ahora diseños mejorados, es decir, grupos de controles que se ajustan
como un solo control para poder reorganizar fácilmente los campos, las
columnas, las filas o los diseños completos. Así mismo, puede quitar un campo
0 aplicar un formato fácilmente en la vista Presentación.

diosestinta.blogspot.com
© RA-MA CAPITULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DR TRABAJO 27

Operaciones Suponga que desea ver el total de ventas por región en un informe. Use la vista
de agrupación Presentación y el nuevo panel Agrupación, orden y total para agregar un nivel de grupo,
y ordenación solicitar un total; verá los cambios realizados en directo en el informe. Con la fila Total
simplificadas es fácil agregar una suma, un promedio, un recuento, un máximo o un mínimo a los pies
en los o encabezados de los informes. Los totales simples ya no requieren la creación manual
informes de un campo calculado. A partir de ahora, basta con señalar y hacer clic.

Diseños de Los formularios e informes contienen a menudo información tabular,


controles como una columna que contiene nombres de clientes o una fila que
mejorados contiene todos los campos de un cliente. Puede agrupar estos controles en
para facilitar un diseño que se pueda manipular fácilmente como si fuera una unidad,
la creación de incluida la etiqueta.
formularios e
informes
optimizados

Dado que se pueden seleccionar controles de secciones diferentes, como la


etiqueta en el encabezado o pie de sección, la flexibilidad es considerable.
Se puede Mover o cambiar el tamaño de un diseño (por ejemplo, mover
una columna a la izquierda o a la derecha). Aplicar formato a un diseño
(por ejemplo, aplicar negrita a una columna de nombres de cliente para
que resalte). Agregar una columna o un campo de columna a un diseño.
Eliminar una columna o un campo de columna de un diseño y Combinar o
dividir celdas (sólo en Access 2010). Los formatos se guardan junto con el
diseño, para que permanezcan disponibles.

diosestinta.blogspot.com
28 ACCESS 2010. CURSO PRACTICO © RA-MA

Dividir Use un formulario dividido para crear un formulario que combine una vista Hoja de
datos y una vista Formulario. Puede establecer una propiedad para indicar a Access
formularios que coloque la hoja de datos en la parte superior, en la parte inferior, a la izquierda o
para agilizar a la derecha.
el examen de
los datos

Macros Use macros incrustadas para evitar tener que escribir código. Una macro
incrustadas en incrustada se almacena en una propiedad y forma parte del objeto al que
formularios e pertenece. Puede cambiar el diseño de la macro sin tener que preocuparse
informes por el resto de los controles que pueden usarla; cada macro incrustada es
independiente. Las macros incrustadas son de confianza porque se impide
automáticamente que lleven a cabo determinadas operaciones que pueden
ser no seguras.

diosestinta.blogspot.com
©RA-MA CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO 29

1.1.3 Novedades en tipos de datos y controles

Novedad Descripción
Campos Los campos calculados, una novedad de Access 2010, permiten almacenar
calculados el resultado de un cálculo. Puede crear un campo que muestre un valor que
se calcula a partir de otros datos de la misma tabla. Para crear el cálculo se
usa el Generador de expresiones, lo que permite aprovechar las ventajas
de IntelliSense y el fácil acceso a la Ayuda para los valores de expresión.
No se pueden usar datos de otras tablas como origen del dato calculado.
Los campos calculados no admiten algunas expresiones.
Campos Los campos multivalor pueden almacenar más de un valor por registro.
multivalor Por ejemplo, puede que tenga que asignar una tarea a uno de sus
empleados o contratistas, pero no desee asignarla a más de una persona.
En la mayoría de los sistemas de administración de bases de datos y en las
versiones de Access anteriores a Office Access 2010, era necesario crear
una relación de varios a varios para hacer esto correctamente. Access crea
una tabla oculta para mantener la relación de varios a varios necesaria para
cada campo multivalor. Los campos multivalor son especialmente
apropiados cuando se trabaja con una lista de SharePoint que contiene uno
de los tipos de campo multivalor usados en Windows SharePoint Services.
Access 2010 admite estos tipos de datos.

Campos de El tipo de datos Datos adjuntos permite almacenar fácilmente todos los
datos adjuntos tipos de documentos y archivos binarios de la base de datos sin que su
de archivos tamaño aumente de forma innecesaria. Access comprime de forma
automática los datos adjuntos si es posible para minimizar el uso de
espacio. ¿Desea adjuntar un documento de Word a un registro o guardar
una serie de imágenes digitales en la base de datos? El uso de datos
adjuntos facilita aún más estas tareas. Puede agregar incluso varios datos
adjuntos a un único registro. Puede utilizar campos de datos adjuntos en
las bases de datos de web, pero cada tabla web puede tener como
máximo un campo de datos adjuntos.

diosestinta.blogspot.com
30 ACCESS 2010. CURSO PRÁCTICO ________________________________________________________ © RA-MA

Los campos Presentados en Office Access 2010, los campos Memo de texto
Memo ahora enriquecido significan que ya no está limitado al texto sin formato en los
almacenan registros. Puede aplicar formato al texto con opciones (negrita, cursiva o
texto mediante las distintas fuentes y colores, y otras opciones de formato
enriquecido y comunes) y almacenar el texto en la base de datos. El texto con formato
son enriquecido se almacena en un campo Memo con un formato basado en
compatibles HTML y compatible con el tipo de datos de texto enriquecido de
con el Windows SharePoint Services. Establezca la nueva propiedad
historial de FormatoDeTexto en TextoEnriquecido o TextoSinFormato para que la
revisiones información tenga un formato correcto en los controles de cuadro de texto
y la vista Hoja de datos.
Calendario Los campos y controles que usan el tipo de datos de fecha y hora son
para automáticamente compatibles con un calendario interactivo integrado,
seleccionar introducido en Access 2010. El botón de calendario se muestra
fechas automáticamente a la derecha de la fecha. ¿Desea saber la fecha del
próximo viernes? Haga clic en el botón y el calendario se mostrará
automáticamente para elegir la fecha. De forma opcional, puede desactivar
el calendario para un campo o control mediante una propiedad.

1.1.4 Novedades en presentación de los datos

Novedad Descripción
Herramientas Suponga que tiene que buscar rápidamente un valor que coincida u ordenar
mejoradas de una columna de datos. La característica Filtro automático incluida con Office
ordenación y Access 2010 mejora las ya eficaces funciones de filtrado y permite
filtrado concentrarse con rapidez en los datos importantes. Es fácil seleccionar entre
los valores únicos de una columna, algo muy útil en situaciones en las que no
se recuerda algún nombre, o bien ordenar los valores mediante opciones del
menú contextual en un lenguaje sencillo, como Ordenar de más antiguo a más
reciente u Ordenar de menor a mayor.

diosestinta.blogspot.com
© RA-MA ____________ CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO 31

Las opciones de filtro más comunes se encuentran en los comandos de menú o


también se pueden usar filtros rápidos para limitar la información según los
datos especificados. Las opciones de los filtros rápidos cambian
automáticamente según el tipo de datos para mostrar opciones adecuadas para
la información numérica, de texto y de fecha.

Totales y La vista Hoja de datos incluye ahora una fila Total en la que se puede ver una
colores de suma, un recuento, un promedio, un máximo, un mínimo, una desviación
fondo estándar o una varianza. Una vez agregada la fila Total, elija la flecha de la
alternativos en celda de la columna y seleccione el cálculo deseado.
hojas de datos

diosestinta.blogspot.com
32 ACCESS 2010. CURSO PRACTICO ©RA-MA

Los informes, las hojas de datos y los formularios continuos admiten un color
de fondo alternativo para las filas, que se puede configurar de manera
independiente del color de fondo predeterminado. Es fácil sombrear las filas
alternas con cualquier color que se elija.

Formato Access 2010 agrega nuevas características de formato condicional (salvo para
condicional bases de datos web), lo que permite usar algunos de los estilos de formato
disponibles en Excel. Por ejemplo, ahora puede agregar barras de datos para
mejorar la legibilidad de una columna de números, como se muestra en el
gráfico siguiente:

diosestinta.blogspot.com
© RA-MA CAPITULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO 33

1.1.5 Novedades en seguridad

Novedad Descripción
Seguridad Las características de seguridad mejoradas y su eficaz integración con
mejorada Windows SharePoint Services permiten realizar las tareas de administración
de una forma más eficaz y aumentar la seguridad de las aplicaciones de
seguimiento de información. Al almacenar los datos de las aplicaciones de
seguimiento en listas de Windows SharePoint Services, es posible realizar
auditorías del historial de revisiones, recuperar información eliminada y
configurar permisos de acceso a los datos.
Office Access 2010 incluía un nuevo modelo de seguridad que se trasladó y
mejoró en Access 2010. Las decisiones de confianza unificadas están
integradas con el Centro de confianza de Microsoft Office. Las ubicaciones de
confianza permiten confiar en todas las bases de datos ubicadas en carpetas
seguras. Se puede cargar una aplicación de Office Access 2010 que tenga
código 0 macros deshabilitados para ofrecer una experiencia más segura en el
modo de espacio aislado (es decir, los comandos no seguros no se pueden
ejecutar). Las macros de confianza se ejecutan en el modo de espacio aislado.

Recopilar La característica de recopilación de datos presentada en Office Access 2010


datos facilita la recopilación de comentarios con Outlook y, opcionalmente,
mediante InfoPath. Puede crear automáticamente un formulario de InfoPath o un
formularios formulario HTML e insertarlo en el cuerpo de un mensaje de correo
de InfoPath y electrónico. A continuación, ese formulario se puede enviar a los destinatarios
Outlook seleccionados de los contactos de Outlook o a los nombres de destinatario
almacenados en un campo de la base de datos de Access.

diosestinta.blogspot.com
34 ACCESS 2010. CURSO PRACTICO ©RA-MA

El usuario decide si desea recopilar nueva información o actualizar la


existente. A continuación, los destinatarios rellenan el formulario y lo
devuelven. Outlook reconoce los formularios entrantes y guarda
automáticamente los datos en la base de datos de Access, sin necesidad de
volver a escribirlos.
Exportar a En Access 2010, puede exportar datos al formato de archivo PDF (Portable
PDF y XPS Document Format) o XPS (XML Paper Specification) para imprimirlos,
enviarlos o distribuirlos por correo electrónico, siempre y cuando instale
primero el complemento Publicar como PDF o XPS. Cuando se exporta un
formulario, un informe o una hoja de datos a un archivo .pdf o .xps, se puede
capturar la información en un formulario de fácil distribución que conserva
todas las características de formato, pero que no requiere que los demás
usuarios instalen Access en los equipos para imprimirlo o revisarlo.

Formato de documento portátil PDF es un formato de archivo electrónico de


diseño fijo que conserva el formato del documento y ayuda a compartir
archivos. El formato PDF se asegura de que, cuando el archivo se vea en línea
0 impreso, se conservará exactamente el formato original y que los datos del
archivo no se puedan copiar o cambiar con facilidad. El formato PDF es
también adecuado para documentos que se vayan a reproducir usando
métodos de impresión comerciales.

XML Paper Specification XPS es un formato de archivo electrónico que


conserva el formato del documento y ayuda a compartir archivos. El formato
XPS se asegura de que, cuando el archivo se vea en línea o impreso, se
conservará exactamente el formato original y que los datos del archivo no se
puedan copiar o cambiar con facilidad.

Trabajo más Ahora puede conectarse a un servicio web como origen de datos externo.
sencillo con Necesita un archivo de definición de servicio web proporcionado por el
datos externos administrador del servicio web. Después de instalar el archivo de definición,
puede establecer un vínculo a los datos del servicio web en forma de tabla
vinculada.

Las nuevas características de Office Access 2010 permiten importar y


exportar datos con mayor facilidad. Puede guardar una operación de
importación o exportación y volver a usarla la próxima vez que desee realizar
la misma tarea. El Asistente para importar hojas de cálculo permite invalidar
el tipo de datos elegido por Access, por lo que puede importar, exportar y
vincular a archivos que tengan uno de los cinco formatos de Office Excel
2007 como mínimo.
Mejores Diagnósticos de Microsoft Office incluye una serie de pruebas de diagnóstico
métodos de que permiten averiguar por qué se bloquea el equipo. Estas pruebas de
solución de diagnóstico pueden solucionar directamente algunos problemas e identificar
problemas los métodos para solucionar otros. Diagnósticos de Microsoft Office
reemplaza las siguientes características de Microsoft Office 2003; Detectar y
reparar, y Recuperación de aplicaciones de Microsoft Office.

diosestinta.blogspot.com
© RA-MA ____________ CAPITULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO 35

1.1.6 Novedades en herramientas de corrección

Novedad Descripción
Herramientas Estas son algunas de las nuevas características del corrector ortográfico:
de corrección El corrector ortográfico se comporta ahora de forma más uniforme en los
mejoradas programas de Office. Varias opciones del corrector ortográfico ahora son
globales. Si cambia una de estas opciones en un programa de Office, esa
opción también se cambia en el resto de los programas de Office. Para obtener
más información, vea el artículo Elegir cómo funciona la comprobación
ortográfica y gramatical. Además de compartir los mismos diccionarios
personalizados, todos los programas pueden administrarlos mediante el
mismo cuadro de diálogo. Para obtener más información, vea el artículo
Utilizar diccionarios personalizados para agregar palabras al corrector
ortográfico.
El corrector ortográfico incluye el diccionario de francés posterior a la
reforma. En Microsoft Office 2003, era un complemento que se debía instalar
por separado. Para obtener más información, vea el artículo sobre cómo elegir
el funcionamiento de la revisión ortográfica y gramatical.
Se crea automáticamente un diccionario de exclusiones para un idioma
cuando éste se utiliza por primera vez. Los diccionarios de exclusiones se
pueden utilizar para forzar al corrector ortográfico a que marque palabras cuyo
uso desea evitar. Sirven para evitar el uso de palabras obscenas o que no se
adaptan a su guía de estilo. Para obtener más información, vea el artículo Usar
diccionarios de exclusiones para especificar la ortografía preferida de una
palabra.

1.2 CARACTERISTICAS DE ACCESS 2010


En cuanto a las características generales, Access 2010 admite tamaños de
archivo de 2 gigabytes (menos el espacio necesario para los objetos del sistema).
Los nuevos archivos tienen extensión .accdb y admiten hasta 32.678 objetos de
base de datos. Es posible utilizar hasta 64 caracteres en un nombre de objeto y
hasta 20 caracteres en una contraseña o en un nombre de usuario o grupo. Una
característica importante se refleja en la posibilidad de admitir hasta 255 usuarios
simultáneos, lo que posibilita el trabajo compartido de modo razonable. Por otro
lado, también es posible trabajar con una capacidad de hasta 1.000 módulos
incluyendo los formularios y los informes.

En cuanto a las características de las tablas, Access 2010 admite un


tamaño de tabla de hasta 2 gigabytes menos el espacio necesario para los objetos
del sistema.

diosestinta.blogspot.com
36 ACCESS 2010. CURSO PRÁCTICO _____________________________________________________ © RA-MA

El número máximo de tablas abiertas es de 2.048, el número máximo de


campos en una tabla es de 255, el número máximo de caracteres en un nombre de
tabla es de 64 y el número máximo de caracteres en un nombre de campo es
también de 64. En cuanto a la capacidad de los campos, el número máximo de
caracteres en un campo de texto es de 255. Por otro lado, es posible trabajar con
campos Objeto OLE de hasta un gigabyte y con campos Memo de hasta 65.535
caracteres cuando se escriben los datos a través de la interfaz de usuario y de hasta
2 gigabytes de almacenamiento de caracteres cuando se escriben los datos
mediante programación. Las tablas admiten hasta 32 índices con un máximo de 10
campos en cada índice. El número máximo de caracteres en una descripción de
tabla o campo es de 255 y el número máximo de caracteres en un registro (sin
incluir los campos Memo y Objeto OLE) es de 4.000. El número máximo de
caracteres en un mensaje de validación es de 255, el número máximo de caracteres
en una regla de validación es de 2.048 y el número máximo de caracteres en el
valor de una propiedad de campo es de 255.

En cuanto a las características de las consultas, es posible utilizar hasta 32


tablas y 16 combinaciones en una consulta y hasta 255 campos en un conjunto de
registros. El número máximo de relaciones aplicadas por tabla es de 32 menos el
número de índices que hay en la tabla para campos o combinaciones de campos que
no forman parte de las relaciones. El tamaño máximo de un conjunto de registros
es de 1 gigabyte y el límite para ordenar es de 255 caracteres en uno o varios
campos. Se admiten hasta 50 niveles de consultas anidadas, hasta 1.024 caracteres
en una celda de la cuadrícula de diseño de una consulta, hasta 255 caracteres de un
parámetro en una consulta de parámetros, hasta 99 operadores AND en una
cláusula WHERE o HAVING y hasta 64.000 caracteres en una instrucción SQL.

En cuanto a las características de formularios e informes, es posible


utilizar hasta 65.536 páginas impresas en un informe con un encabezado/pie de
informe, un encabezado/pie de página y 10 encabezados/pies de grupo. Se pueden
agregar a lo largo de la vida dcl formulario o del informe hasta 754 controles y
secciones. El número máximo de caracteres en una etiqueta es de 2.048 y el
número máximo de caracteres en un cuadro de texto es de 65.535. El ancho
máximo de formulario o informe es de 22 pulgadas (55,87 cm), el alto de sección
máximo es de 22 pulgadas (55,87 cm) y el alto de todas las secciones más los
encabezados de sección (en la vista Diseño) es de 200 pulgadas (508 cm). El
número máximo de niveles de formularios o informes anidados es de 7 y el número
de campos o expresiones que se pueden ordenar o agrupar en un informe es de 10.

En cuanto a las características de las macros, es posible trabajar con un límite


de hasta 999 acciones en una macro, hasta 255 caracteres en una condición, hasta 255
caracteres en un comentario y hasta 255 caracteres en un argumento de acción.

diosestinta.blogspot.com
© RA-MA ____________ CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO 37

1.3 INICIO Y ENTORNO DE TRABAJO EN ACCESS 2010


El programa se inicia haciendo clic en la opción Microsoft Access 2010 de
la carpeta Microsoft Office del botón Iniciar de Windows (figura 1-1). Después
de la pantalla temporal de la figura 1-2 se obtiene la pantalla de Introducción de
Microsoft Office Access (figura 1-3) que posibilita iniciar una nueva base de
datos en blanco (Base de datos en blanco), iniciar una nueva base de datos web
en blanco (Base de datos web en blanco), iniciar una base de datos según una
plantilla haciendo clic sobre la plantilla elegida en esta pantalla de inicio de
Access o abrir una base de datos ya existente (Abrir). Si creamos una nueva base
de datos o abrimos una base de datos existente aparece el marco de trabajo general
de Microsoft Access 2010 (figura 1-4), que para las versiones 2007 y 2010
constituye una novedad importante para todo tipo de usuarios y cuyos elementos
más importantes son los siguientes:

• Cinta de opciones.

• Fichas de la cinta de opciones.

• Grupos de opciones dentro de las fichas.

• Botón Archivo.

• Botones de acceso rápido (o barra de herramientas de acceso rápido).

• Panel de exploración.

• Documentos con fichas.

• Barra de estado con botones de modo de visualización:

o Vista diseño,

o Vista hoja de datos,

o Vista tabla dinámica,

o Vista gráfico dinámico,

o Vista SQL.
• Minibarra de herramientas.

diosestinta.blogspot.com
38 ACCESS 2010. CURSO PRACTICO ______________________________________________________ © RA-MA

Figura 1-1

Figura 1-2

diosestinta.blogspot.com
©RA-MA ____________ CAPITULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DR TRABAJO 39

Figura 1-3

Figura 1-4

diosestinta.blogspot.com
40 ACCESS 2010. CURSO PRACTICO ______________________________________________________ ©RA-MA

1.3.1 Cinta de opciones de Access 2010


La cinta de opciones de Access (figura 1-5) es un elemento más importante
de la nueva interfaz de usuario de Microsoft Access. Reemplaza las barras de
herramientas y los menús de versiones anteriores de Access.

Figura 1-5

Los tres componentes de la cinta de opciones son las fichas, los grupos y
los comandos (opciones). Hay cuatro fichas en la parte superior de la cinta de
opciones (figura 1-6) y cada una de ellas representa una de las tareas básicas que
se hacen en Access y suele sustituir a un menú de alguna barra de herramientas
de versiones antiguas de Access. Cada ficha tiene grupos de opciones (o
comandos) que muestran elementos relacionados entre sí. Un comando es una
opción del grupo correspondiente representado por un botón, cuadro en el que se
escribe información o menú. Por ejemplo, los comandos (u opciones) Pegar,
Cortar y Copiar aparecen en primer lugar en la ficha Inicio, dentro del grupo
Portapapeles (figura 1-7).

Figura 1-6

Figura 1-7

Los grupos aglutinan todos los comandos que se necesitan para realizar una
tarea concreta, y se mantienen a la vista y disponibles para su uso mientras se trabaja
en la tarea, en lugar de permanecer escondidos en los menús. Estos comandos
esenciales están a la vista en la parte superior del área de trabajo, lo que constituye
una clara ventaja de uso.

diosestinta.blogspot.com
© RA-MA ____________ CAPI TULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO 41

En lugar de mostrar todos los comandos simultáneamente, Access 2010


muestra algunos comandos en respuesta a las acciones que se realizan (interfaz
orientada a tareas). Por ejemplo, si se está trabajando con una tabla, aparecen las
Herramientas de tabla con las fichas Campos y Tabla o Diseño según la vista en la
que se esté mostrando la tabla (figura 1-8). En dichas fichas están los comandos que
se precisan para trabajar con la tabla. La cinta de opciones responde a la acción o
tarea actual del usuario.

Figura 1-8

La flecha (denominada iniciador de cuadros de diálogo), situada en la


esquina inferior derecha de un grupo, indica que hay más opciones adicionales dentro
del grupo. Haga clic en la flecha y se mostrará un cuadro de diálogo o panel de
tareas. Por ejemplo, en la ficha Inicio, en el grupo Formato de texto, el iniciador de
cuadros de diálogo nos lleva a la pantalla Formato de hoja de datos de la figura 1-9
donde están las opciones para celdas, cuadrícula, colores, etc., en la hoja de datos.

Figura 1-9

diosestinta.blogspot.com
42 ACCESS 2010. CURSO PRÁCTICO _____________________________________________________ @ RA-MA

No es posible eliminar o reemplazar la cinta de opciones por las barras de


herramientas y los menús de versiones anteriores de Microsoft Access. No
obstante, puede minimizar la cinta de opciones para que el área de trabajo sea
mayor.

Para mantener siempre la cinta de opciones minimizada, haga clic con el


botón derecho del ratón sobe cualquier zona de la cinta de opciones y en el menú
emergente resultante (figura 1-10), haga clic en Minimizar la cinta de opciones.

Para usar la cinta de opciones mientras esté minimizada, haga clic en la


ficha que desee utilizar y, a continuación, en la opción o comando deseados.
Después, la cinta de opciones se vuelve a minimizar.

Para minimizar rápidamente la cinta de opciones y mantenerla minimizada


durante poco tiempo, haga doble clic en el nombre de la ficha activa. Vuelva a
hacer doble clic en una ficha para restaurar la cinta de opciones.

Para restaurar la cinta de opciones vuelva a utilizar el menú emergente que


se usó para su minimización. El método abreviado de teclado para minimizar o
restaurar la cinta de opciones es CTRL+F1.

Figura 1-10

diosestinta.blogspot.com
© RA-MA ____________ CAPITULO I. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO 43

1.3.2 Ficha Inicio


La primera ficha que aparece en la cinta de opciones de Access es la ficha
Inicio (figura 1-11), que además es la ficha por defecto.

Figura I - I I

Esta ficha contiene seis grupos de comandos u opciones: Vistas,


Portapapeles, Ordenar y filtrar. Registros, Buscar y Formato de texto.
El grupo Vistas contiene la opción Ver que despliega un menú cuyas
opciones permiten observar las distintas vistas de una tabla (figura 1 -12), consulta
(figura 1-13) o del elemento con el que estemos trabajando actualmente.

Figura 1-12

Figura 1-13

diosestinta.blogspot.com
44 ACCESS 2010. CURSO PRACTICO _____________________________________________________ © RA-MA

El grupo Portapapeles contiene las opciones habituales de cortar, copiar y


pegar, así como la escobilla de pegar estilo típica en las aplicaciones de
Microsoft. El iniciador de cuadros de diálogo de este grupo abre un panel en la
parte izquierda de la pantalla en el que pueden administrarse todos los objetos que
han sido enviados al portapapeles (figura 1-14).

La opción Pegar presenta el menú desplegable de la figura 1-15, cuyas


opciones permiten pegar normalmente, pegado especial y pegar datos anexados.

Figura 1-14

Figura 1-15

La subopción Pegado especial de Pegar en el menú de la figura 1-15 nos


lleva a la figura 1-16 cuya sección Pegar posibilita distintas opciones de formato
para el pegado.

diosestinta.blogspot.com
@ RA-MA CAPÍTULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO 45

Figura 1-16

El grupo Formato de texto de la ficha Inicio (figura 1-17) permite realizar las
labores típicas de formato de fuente de los registros (tipo, tamaño, resaltado,
sombreado, color, etc.). Tipos de fuente y tamaños de fuente se eligen en los
desplegables de las figuras 1-18 y 1-19.

Figura 1-17

Figura 1-18 Figura 1-19

diosestinta.blogspot.com
46 ACCESS 2010. CURSO PRÁCTICO _____________________________________________________ © RA-MA

Los iconos Negrita, Cursiva y Subrayado realizan la función que su


nombre indica aplicando negrita, cursiva y subrayado a la selección. El icono
Color de fuente permite aplicar los colores de la figura 1-20. El icono Color de
relleno (o fondo) aplica el color seleccionado en su desplegable de la figura
1-21. El icono Alternar color de fila aplica el color seleccionado en su desplegable de
la figura 1-22. El icono Líneas de cuadrícula permite seleccionar
un tipo de líneas de división para la tabla del desplegable de la figura 1-23.

Figura 1-20 Figura 1-21 Figura 1-22

Figura 1-23
Por otro lado, ya sabemos que en la ficha Inicio, en el grupo Formato de
texto, el iniciador de cuadros de diálogo nos lleva a la pantalla Formato de hoja de
datos de la figura 1-9 donde se encuentran las opciones para celdas, cuadrícula,
colores, etc.

Los iconos de Alinear el texto permiten alinear el texto de los registros


adecuadamente para dar formato óptimo a las tablas. Haciendo clic,
respectivamente, en los iconos de alineación, se consigue que el texto quede alineado
a la izquierda, centrado o alineado a la derecha respectivamente.

diosestinta.blogspot.com
© RA-MA CAPITULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO 47

El grupo de iconos de la figura 1-24 permite trabajar con sangría, viñetas,


dirección de texto y color de resaltado de texto de los registros.

Figura 1-24
Los iconos Disminuir sangría y Aumentar sangría permiten retroceder y
avanzar un espacio de tabulación la sangría del contenido de las celdas.
La sangría es el espacio que hay entre el margen izquierdo y las primeras letras
escritas en el párrafo. El icono Dirección del texto permite establecer la dirección del
texto que se muestra de izquierda a derecha. El icono Color de
resaltado de texto cambia el aspecto del texto como si estuviese afectado por un
marcador. Los iconos Numeración y Viñetas permiten iniciar una lista numerada y
con viñetas respectivamente.

El grupo Registros (figura 1-25) permite trabajar con los registros de


las tablas. Las opciones de este grupo permiten actualizar los registros de la tabla
actual (Actualizar todo), introducir nuevos registros (Nuevo), guardar registros
(Guardar), eliminar registros y campos (Eliminar), agregar totales a los campos
(Totales), revisar la ortografía del contenido de los registros (Revisión ortográfica)
y otras opciones (Más) como ocultar y mostrar columnas, administrar el alto de fila
y el ancho de columna, inmovilizar y liberar registros, trabajar con hojas
secundarias de datos e interrelacionar con Outlook.

Figura 1-25
El grupo Ordenar y filtrar (figura 1-26) contiene opciones que permiten

ordenar ascendente y descendente los registros, eliminar las ordenaciones


(Quitar orden), filtrar los registros según determinados criterios (Filtro),
seleccionar registros en las tablas mediante condiciones (Selección), administrar
filtros (Avanzadas) y aplicar o quitar filtro según exista o no un filtro actualmente
(Alternar filtro).

diosestinta.blogspot.com
48 ACCESS 2010. CURSO PRÁCTICO ____________________________________________________ ©RA-MA

Figura 1-26

El grupo Buscar (figura 1-27) contiene opciones que permiten realizar


búsquedas en los registros (Buscar), reemplazar contenido , ir a un registro
concreto (primero, anterior, siguiente, último o nuevo) y seleccionar contenido
.

Figura 1-27

1.3.3 Ficha Crear


La ficha Crear de Access 2010 (figura 1-28) tiene como finalidad esencial
crear tablas, formularios, informes y otros objetos de bases de datos.

Figura 1-28

El grupo Tablas (figura 1-29) contiene opciones que permiten crear una
tabla nueva vacía (Tabla), crear una nueva tabla mediante una plantilla de tabla
(Plantillas de tabla), crear una lista en un sitio de SharePoint más una tabla en la
base de datos actual que vincula la lista (Listas de SharePoint) y crear una nueva
tabla vacía en la vista Diseño (Diseño de tabla).

Figura 1-29

diosestinta.blogspot.com
©RA-MA ____________CAPITULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO 49

El grupo Formularios (figura 1-30) contiene opciones que permiten crear


formularios que admiten un único registro cada vez (Formulario), crear un
formulario en blanco (Formulario en blanco), crear un nuevo formulario en blanco
en la vista Diseño (Diseño del formulario), crear un formulario mediante el
asistente (Asistente para formularios), crear un formulario para explorar distintos
formularios e informes (Navegación) y crear otros tipos de formularios (Más
formularios) entre los que se encuentran los formularios divididos que muestran el
formulario y la tabla de datos relacionada en la parte superior (Formulario
dividido), los formularios que muestran múltiples registros con un registro por fila
(Varios elementos), los formulario de tipo gráfico dinámico, hoja de datos, cuadro
de diálogo modal y tabla dinámica.

Figura 1-30

El grupo Informes (figura 1-31) contiene opciones que permiten crear


informes sencillos {Informe), crear informes en blanco {Informe en blanco), crear
etiquetas mediante el asistente para etiquetas {Etiquetas), crear informes mediante
el asistente para informes {Asistente para informes) y crear un nuevo informe en
blanco en la vista Diseño {Diseño de informe).

Figura 1-31

Los grupos Consultas y Macros y código (figura 1 -32) contienen opciones


que permiten crear todo tipo de consultas {Asistente para consultas), crear una
consulta en la vista Diseño {Diseño de consulta) y crear macros, módulos y
módulos de clase {Macro), así como abrir el editor de Visual Basic.

Figura 1-32

diosestinta.blogspot.com
50 ACCESS 2010. CURSO PRACTICO _____________________________________________________ © RA-MA

1.3.4 Ficha Datos externos


La ficha Datos externos de Access 2010 (figura 1-33) contiene grupos que
permiten importar y exportar datos, recopilar y actualizar datos a través de correo
electrónico y trabajar con listas de SharePoint sin conexión.

Figura 1-33
El grupo Importar y vincular (figura 1-34) contiene opciones que permiten
importar o vincular datos de Access, Excel, Bases de datos ODBC, archivos de
texto , archivos XML y de otros formatos como listas de SharePoint,
servicios de datos, documentos HTML, carpetas de Outlook y archivos de dBase.

Figura 1-34
El grupo Exportar (figura 1-35) contiene opciones que permiten mostrar y
ejecutar operaciones de exportación guardadas previamente (Exportaciones
guardadas), exportar o vincular datos a Excel, a archivos de texto, a archivos XML, a
archivos PDF o XPS, a archivos de correo electrónico, a Access, a combinación de
correspondencia con Word y a otros formatos como bases de datos ODBC, listas
de SharePoint, archivos RTF de Word , documentos HTML y archivos de dBase.

Figura 1-35

El grupo Recopilar datos (figura 1-36) contiene opciones que permiten


recopilar datos a través de un formulario enviado por correo electrónico (Crear
correo electrónico) y actualizar datos en las tablas recogidos a través de correo
electrónico (Administrar respuestas).

diosestinta.blogspot.com
© RA-MA ____________ CAPÍTULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO 51

Figura 1-36

El grupo Listas vinculadas web (figura 1-37) contiene opciones que permiten
trabajar con conexión a un servidor de SharePoint (Trabajar con conexión),
sincronizar la información elaborada sin conexión una vez realizada la conexión
nuevamente a un servidor (Sincronizar), descartar cambios , almacenar datos de

lista en caché y volver a vincular listas .

Figura 1-37

1.3.5 Ficha Herramientas de base de datos


La ficha Herramientas de base de datos de Access 2010 (figura 1-38) se
utiliza para trabajar con Visual Basic para aplicaciones, mostrar y ocultar
relaciones y dependencias entre los objetos de la base de datos, analizar la base de
datos y su rendimiento y utilizar otras herramientas de cifrado, complementos y
administración del panel de control.

Figura 1-38

El grupo Macro (figura 1-39) contiene opciones que permiten abrir el


editor de Visual Basic (Visual Basic) y ejecutar una macro (Ejecutar macro).

diosestinta.blogspot.com
52 ACCESS 2010. CURSO PRACTICO _____________________________________________________ © RA-MA

Figura 1-39

El grupo Relaciones (figura 1-40) contiene opciones que permiten ver las
relaciones entre las tablas de una base de datos (Relaciones) y mostrar u ocultar
dependencias entre los objetos de la base de datos (Dependencias del objeto).

Figura 1-40

El grupo Analizar (figura 1-41) contiene opciones que permiten documentar


la base de datos (Documentador de base de datos), analizar su rendimiento (Analizar
rendimiento) y analizar sus tablas (Analizar tabla).

Figura 1-41

El grupo Mover datos (figura 1 -42) contiene opciones que permiten migrar
una parte o toda la base de datos a SQL Server (SQL Server) o listas de SharePoint
(SharePoint) y dividir una base de datos Access en dos archivos, uno con las tablas y
otro con las consultas y formularios (Base de datos Access).

Figura 1-42

Los grupos Herramientas y Complementos (figura 1-43) contienen


opciones que permiten compactar y reparar bases de datos y administrar
complementos a través del Administrador de complementos.

diosestinta.blogspot.com
@ RA-MA ____________ CAPÍTULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO 53

Figura 1-43

1.3.6 Botón Archivo


El Botón Archivo de Access 2010 sustituye al Botón Microsoft
Office de Access 2010 y al clásico menú Archivo de versiones anteriores del
programa. La figura 1-44 muestra sus opciones. Se observa que es posible crear
una nueva base de datos (Nuevo), abrir bases de datos ya existentes (Abrir),
guardar una base de datos o sus objetos (Guardar), guardar una base de datos o sus
objetos en otros formatos (Guardar como), cerrar la base de datos actual (Cerrar),
imprimir el objeto actual (Imprimir), ver las bases de datos usadas recientemente
(Reciente), guardar y publicar la base de datos para su distribución (Publicar),
personalizar opciones de Access (Opciones), guardar objetos de la base de datos en
formato Adobe PDF (Complementos) y salir de Access (Salir).

Figura 1-44

diosestinta.blogspot.com
54 ACCESS 2010. CURSO PRACTICO ____________________________________________________ © RA-MA

El botón Opciones de Access de la figura 1-44 permite administrar las


opciones más frecuentes (figura 1-45), las opciones para la base de datos actual, las
opciones de hojas de datos, las opciones de diseñadores de objetos, las opciones de
revisión, las opciones avanzadas, las opciones de personalización, los complementos,
las opciones de seguridad, y los recursos. El botón Salir de Access permite salir del
programa.

Figura 1-45

1.3.7 Barra de acceso rápido


Si utiliza con frecuencia comandos que no están tan a mano como le
gustaría, es muy sencillo agregarlos a la barra de herramientas de acceso rápido, que
se encuentra sobre la cinta de opciones cuando se inicia Access 2010 (figura 1-46).
En dicha barra, los comandos están siempre visibles y cercanos. Por ejemplo, si
utiliza corrientemente la opción Filtro y prefiere evitar hacer clic en la ficha Inicio
para tener acceso al comando Filtro cada vez, puede agregar Filtro a la barra de
herramientas de acceso rápido. Para ello, haga clic con el botón secundario del ratón
en la opción Filtro de la ficha Inicio en el grupo Ordenar y filtrar y después haga clic
en Agregar a la barra de herramientas de acceso rápido (figura 1-47). Para quitar un
botón de esa barra, haga clic en ella con el botón secundario del ratón y después haga
clic en Eliminar de la barra de herramientas de acceso rápido. Haciendo clic en el
icono situado a la derecha de la barra de herramientas de acceso rápido, puede
personalizarse la misma a través de las opciones de la figura 1-48.

diosestinta.blogspot.com
@ RA-MA ____________ CAPITULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO 55

Barra de herramientas de acceso rápido

Figura 1-46

Figura 1-47

Figura 1-48

diosestinta.blogspot.com
56 ACCESS 2010. CURSO PRÁCTICO ______________________________________________________ © RA-MA

También es posible personalizar la barra de herramientas de acceso rápido


haciendo clic en Opciones en el Botón Archivo y eligiendo Barra de herramientas de
acceso rápido. En la figura 1-49 es posible agregar o quitar opciones en la barra de
herramientas de acceso rápido.

Figura 1-49

1.3.8 Barra de estado

La barra de estado está situada en la parte inferior de la pantalla de


Microsoft Access y contendrá mensajes, sugerencias, indicadores de progreso y los
botones de las distintas vistas de los objetos de la base de datos (figura 1-50).

diosestinta.blogspot.com
© RA-MA ____________ CAPÍTULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO 57

Figura 1-50 Barra de estado

La barra de estado puede personalizarse haciendo clic con el botón


secundario del ratón sobre cualquier zona de la misma y eligiendo las opciones que
desea que aparezcan en la barra de estado en el menú emergente resultante (figura
1-51).

Figura 1-51

diosestinta.blogspot.com
58 ACCESS 2010. CURSO PRÁCTICO ______________________________________________________ ©RA-MA

1.3.9 Panel de exploración

De forma predeterminada, el panel de exploración aparece al abrir una base


de datos en Microsoft Office Access 2010, aunque la base de datos se haya creado
en una versión anterior de Access. Dicho panel se sitúa a la izquierda de la pantalla
de Access y muestra los objetos de la base de datos, que pueden seleccionarse
haciendo clic sobre ellos (figura 1-52). Los objetos se agrupan por categorías que
pueden seleccionarse haciendo clic en la flecha situada a la derecha en la cabecera
del panel de exploración (en nuestro caso a la derecha de Todos los objetos).

Panel de exploración

Figura 1-52

1.3.10 Documentos con fichas

Los objetos abiertos simultáneamente de una base de datos pueden


observarse a través de fichas adecuadas que los identifican. En la figura 1-53 se
observan abiertos a la vez la tabla CLASE, la consulta Consulta1 y el formulario
CURSO. Para abrir estos objetos basta con hacer clic sobre ellos en el panel de
exploración.

diosestinta.blogspot.com
@ RA-MA ___________ CAPITULO 1. CARACTERISTICAS, NOVEDADES Y ENTORNO DE TRABAJO 59

Documentos con fichas

Figura 1-53

Para que aparezcan los documentos con fichas hacemos clic en Opciones
en el Botón Archivo y elegimos Base de datos actual en el panel de la izquierda de
la figura 1-54. A continuación, en la sección Opciones de aplicación marcamos
Documentos con fichas.

Figura 1-54

diosestinta.blogspot.com
60 ACCESS 2010. CURSO PRACTICO ___________________________________________________ ©RA-MA

1.3.11 Minibarra de herramientas


Al seleccionar texto, puede mostrar u ocultar una barra de herramientas
cómoda, pequeña y semitransparente, llamada la minibarra de herramientas (figura
1-55). Esta minibarra de herramientas facilita el trabajo con fuentes, estilos de
fuente, tamaño de fuente, alineación, color de texto, niveles de sangría y viñetas.

Minibarra de herramientas

Figura 1-55

diosestinta.blogspot.com
Capítulo 2

CONCEPTOS, OBJETOS, OPERACIONES Y


DISEÑO DE BASES DE DATOS RELACIONALES

2.1 BASES DE DATOS: TABLAS, CAMPOS Y REGISTROS


Para un tratamiento “mecanizado” de la información es fundamental que
los datos se organicen de forma que se facilite su gestión, es decir, que el acceso a
los mismos sea rápido y eficaz.

Convencionalmente, el trabajo en informática de gestión consistía en


realizar una serie de programas en determinados lenguajes, para creación,
actualización, consulta y listados de datos, que trabajan con información de entrada
para obtener unos resultados o datos de salida.

El término BASE DE DATOS aparece por primera vez al comienzo de los


años sesenta del siglo XX, para expresar un conjunto de datos relacionados entre sí,
que están estructurados de forma que puede accederse a ellos automática e
independientemente de los programas que gestionan esos datos. Esta independencia
se refiere a la posibilidad de modificar la estructura de los datos sin necesidad de
cambiar los programas que los manipulan, evitando con ello los problemas de
actualización de datos previamente existentes.

Toda base de datos está formada por uno o varios bloques de información
llamados TABLAS (inicialmente denominados FICHEROS o ARCHIVOS) que
normalmente tendrán alguna característica en común.

diosestinta.blogspot.com
62 ACCESS 2010. CURSO PRÁCTICO ______________________________________________________ ©RA-MA

Una TABLA o archivo de datos es un conjunto conexo de información del


mismo tipo, por ejemplo en una base de datos de una biblioteca, una tabla estará
constituida por la información relativa a todos los libros de la misma, otra tabla
contendrá información sobre los lectores, etc. Cada tabla está formada por
REGISTROS. Un registro es la unidad elemental de información de la tabla o
fichero (en un archivo clásico no automatizado un registro se corresponde con lo
que suele llamarse ficha). En la tabla o fichero de libros, un registro estaría
constituido por la información correspondiente a cada libro concreto, con su título,
autor, área, editorial, etc. Cada registro está formado por uno o más elementos
llamados CAMPOS. Un campo es cada una de las informaciones que interesa
almacenar en cada registro, y es por tanto la unidad elemental de información del
registro. En el ejemplo anterior, un campo sería el título del libro, otro campo su
autor, etc.

2.2 ESTRUCTURA DE LAS BASES DE DATOS


Los sistemas de gestión de base de datos (abreviado mediante SGBD o
DBMS) organizan y estructuran los datos de tal modo que puedan ser recuperados
y manipulados por usuarios y programas de aplicación. Las estructuras de los datos
y las técnicas de acceso proporcionadas por un DBMS particular se denominan
modelo de datos. El modelo de datos determina la personalidad de un DBMS y las
aplicaciones para las cuales está particularmente bien conformado.
Existe un tipo de lenguaje estándar normalizado para trabajar con bases de
datos denominado SQL (Structured Query Languaje). SQL es un lenguaje de base
de datos para bases de datos relacionales y utiliza el modelo de datos relacional.

2.2.1 Modelos de datos primitivos. Sistemas de gestión de


archivos
Cuando la gestión de base de datos se popularizó durante los años setenta y
ochenta, emergieron un puñado de modelos de datos populares. Cada uno de estos
primeros modelos de datos tenía ventajas y desventajas que jugaron papeles
importantes en el desarrollo del modelo de datos relacional. En muchos sentidos el
modelo de datos relacional representó un intento de simplificar los modelos de datos
anteriores.
Antes de la introducción de los sistemas de gestión de la base de datos, todos
los datos permanentemente almacenados en un sistema informático, tales como la
nómina y los registros de contabilidad, se almacenaban en archivos individuales. Un
sistema de gestión de archivos, generalmente proporcionado por el fabricante del
ordenador como parte del sistema operativo, llevaba la cuenta de los nombres y
ubicaciones de los archivos.

diosestinta.blogspot.com
RA-MA ____________________ CAPÍTULO 2. CONCEPTOS. OBJETOS. OPERACIONES Y DISEÑO... 63

El sistema de gestión de archivos básicamente no tenía un modelo de datos;


no sabía nada acerca de los contenidos internos de los archivos. Para el sistema de
gestión de archivos, un archivo que contuviera un documento de procesamiento de
textos y un archivo que contuviera datos de nóminas aparecían igual.

El conocimiento acerca del contenido de un archivo (qué datos contuviera y


cómo estuvieran organizados) estaba incorporado a los programas de aplicación que
utilizaban el archivo. Era típico que, en aplicaciones de nóminas, cada uno de los
programas (normalmente escritos en COBOL) que procesaban el archivo maestro de
empleados contuviese una descripción de archivo (DA) que describía la composición de
los datos en el archivo. Si la estructura de los datos cambiaba (por ejemplo, si un ítem
adicional de datos fuera a ser almacenado por cada empleado), todos los programas que
accedían al archivo tenían que ser modificados. Como el número de archivos y
programas crecía con el tiempo, el esfuerzo de proceso de datos de un departamento se
perdía en mantener aplicaciones existentes en lugar de desarrollar otras nuevas.

Los problemas de mantener grandes sistemas basados en archivos condujeron,


a finales de los sesenta, al desarrollo de los sistemas de gestión de base de datos. Se
trataba de que los datos estuviesen estructurados de forma que fuese posible acceder a
ellos automática c independientemente de los programas que los gestionan. La idea
detrás de estos sistemas era sencilla: tomar la definición de los contenidos de un
archivo y la estructura de los programas individuales y almacenarla, junto con los
datos, en una base de datos. Utilizando la información de la base de datos, el DBMS
que la controlaba podría tomar un papel mucho más activo en la gestión de los datos y
en los cambios en la estructura de la base de datos.

2.2.2 Bases de datos jerárquicas


Básicamente podemos distinguir tres tipos de estructuras de bases de datos:
jerárquica, en red y relacional. La organización jerárquica, que es la que primero se
utilizó, se basa en el establecimiento de jerarquías o niveles entre los distintos campos
de los registros, basándose en el criterio de que los campos de mayor jerarquía sean los
más genéricos, y tienen una estructura arborescente, donde los nodos del mismo nivel
corresponden a los campos y cada rama a un registro. Para acceder a un campo que se
encuentra en un determinado nivel, es preciso localizarlo partiendo del nivel superior y
descendiendo por las ramas hasta llegar al mismo. Tomemos como ejemplo la base de
datos de una biblioteca y situemos como nivel superior el código de materia y el título
de la materia, y supongamos que tomamos como campo maestro el título de la materia.
En un segundo nivel de la jerarquía se incluyen las tablas de autores asociados a cada
materia; en un tercer nivel tendríamos, por ejemplo, las tablas correspondientes a los
autores y sus respectivos títulos de libros, y así hasta el último nivel en el que
incluimos título, referencia, año de edición, número de ejemplares o cualquier otro dato
individual referente al libro buscado (figura 2-1).

diosestinta.blogspot.com
64 ACCESS 2010. CURSO PRÁCTICO _____________________________________________________ ©RA-MA

ORGANIZACION JERARQUICA

NIVEL 1

NIVEL 2

MATERIA AUTOR MATERIA AUTOR


Economía Estadística
R. Tamames Arnáiz....

Fuentes Q. Sixto Ríos-

NIVEL 3

AUTOR TÍTULO
R. Tamames
Estructura económica de España
Estructura económica Internacional

NIVEL 4

TÍTULO REFERENCIA AÑO EDICIÓN EJEMPLARES


Estruct. económica Esp. E001 1986 3
Estruct. económica Int. E002 1986 1

Figura 2-1

En la figura 2-1 se muestra una organización jerárquica. Para acceder a un


dato del último nivel, por ejemplo, año de edición de un determinado libro, hay que
recorrer todos los niveles desde el más alto (materia, etc.).

diosestinta.blogspot.com
@ RA-MA CAPÍTULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO... 65

2.2.3 Bases de datos en red


Para resolver el problema de lentitud de la organización jerárquica se
utiliza la organización en red que corresponde a una estructura de grafo, donde
existe más de una conexión entre los nodos de diversos niveles, de forma que
puedan recorrerse por distintos caminos sin necesidad de acudir cada vez a la raíz,
con lo cual la búsqueda es más flexible, desapareciendo el concepto de “Jerarquía”
entre campos, pues un campo puede ser descendente de su antecesor por un ca mino
de la red y ascendente por otro.

Si se crean conexiones entre nodos de igual nivel, el acceso a campos de


determinado nivel se logrará más rápidamente, así, por ejemplo, en el caso de la
base de datos de la biblioteca, se podrían listar los títulos de los distintos libros a
partir de un título dado sin acceder cada vez a los autores.

El modelo de datos en red extiende el modelo jerárquico permitiendo que


un registro participe en múltiples relaciones padre/hijo. Estas relaciones se conocen
como conjuntos en el modelo de red.

El inconveniente esencial de esta estructura es la necesidad de utilizar


mucha más cantidad de memoria, al tener que almacenar en cada nodo las
posiciones de los campos siguientes, mediante apuntadores.

Para un programador, acceder a una base de datos en red era muy similar a
acceder a una base de datos jerárquicos. Un programa de aplicación podía:

• Hallar un registro padre específico mediante clave (como, por ejemplo, un


número de cliente en un procesamiento de pedidos).

• Descender al primer hijo en un conjunto particular (el primer pedido remitido


por este cliente).

• Moverse lateralmente de un hijo al siguiente dentro del conjunto (la orden


siguiente remitida por el mismo cliente).

• Ascender desde un hijo a su padre en otro conjunto (el vendedor que aceptó el
pedido).

Una vez más el programador tenía que recorrer la base de datos registro a
registro, especificando esta vez qué relación recorrer además de indicar la
dirección.

diosestinta.blogspot.com
66 ACCESS 2010. CURSO PRÁCTICO__________________________________________________ ©RA-MA

En la figura 2-2 se representa un grafo similar al del modelo jerárquico,


pero adecuado al modelo en red. En este grafo desaparece el concepto de jerarquía
entre campos, pues un campo puede ser descendiente de su antecesor por un
camino de la red y ascendiente por otro.

Figura 2-2

Las bases de datos en red tenían varias ventajas entre las que se pueden
destacar las siguientes;
Flexibilidad: las múltiples relaciones padre/hijo permitían a una base de datos en
red representar datos que no tuvieran una estructura jerárquica sencilla.
Normalización: el estándar CODASYL reforzó la popularidad del modelo de red, y
los vendedores de miniordenadores, tales como Digital Equipment Corporation y
Data General, implementaron bases de datos en red.
Rendimiento: a pesar de su superior complejidad, las bases de datos en red
reforzaron el rendimiento aproximándolo al de las bases de datos jerárquicas. Los
conjuntos se representaron mediante punteros a registros de datos físicos y, en
algunos sistemas, el administrador de la base de datos podía especificar la
agrupación de datos basada en una relación de conjunto.
Las bases de datos en red también tenían sus desventajas. Igual que las
bases de datos jerárquicas, resultaban muy rígidas. Las relaciones de conjunto y la
estructura de los registros tenían que ser especificadas de antemano. Modificar la
estructura de la base de datos requería generalmente la reconstrucción de la base de
datos completa. Tanto las bases de datos jerárquicas como las bases de datos en red
eran herramientas para programadores.

diosestinta.blogspot.com
@ RA-MA _____________________ CAPITULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO... 67

2.2.4 Bases de datos relacionales


Quizás, el problema fundamental que suele plantearse al realizar una base
de datos real, formada por varias tablas, es la repetición de datos, es decir, campos
repetidos en diferentes tablas (redundancia), lo cual va a dificultar su gestión, es
decir, la actualización, inserción, modificación, eliminación, consulta, etc.

Para resolver estos problemas es necesario que exista integración entre las
distintas tablas y que esté controlada la repetición de datos. Así surgen los llamados
Sistemas de Gestión de Bases de Datos relacionales que, en el caso de los
microordenadores, están concebidos como un conjunto de programas de propósito
general que permiten controlar el acceso y la utilización de las bases de datos de
forma que satisfagan las necesidades del usuario (programas de usuario) y que
actúen con independencia de los datos, y con ellos las llamadas Bases de Datos
Relacionales que pueden resolver, mejor que otras organizaciones, las dificultades
de redundancia y no la integración de los datos.

En este tipo de bases de datos se suprimen las jerarquías entre campos,


pudiéndose utilizar cualquiera de ellos como clave de acceso.

La teoría relacional se basa en el concepto matemático de relación. Se debe


a E. F. Codd, quien desarrolló una sólida fundamentación teórica. Aunque dicha
teoría requiere para su completa implantación que el acceso a la memoria sea por
contenido y no por dirección, como ocurre en los actuales ordenadores, puede
adecuarse y de hecho se está implantando y desarrollando en la mayoría de los
equipos.

Las principales ventajas de la utilización de bases de datos relacionales son:


• Actúan sobre las tablas en su conjunto, en lugar de hacerlo sobre los registros
como ocurre en otros sistemas.

• Se pueden realizar consultas complejas que utilizan varias tablas de forma


simple.

• Son fáciles de utilizar (la organización física de los datos es independiente de


su tratamiento lógico).

diosestinta.blogspot.com
68 ACCESS 2010. CURSO PRACTICO ___________________________________________________ © RA-MA

La organización relacional se caracteriza porque las tablas de la base de


datos tienen estructura de matriz o tabla bidimensional, donde las filas son los
registros y las columnas los campos (figura 2-3).

CAMPOS

REGISTROS

Figura 2-3

Las tablas son tratadas como conjuntos matemáticos, obtenidas como


subconjuntos del producto cartesiano de los rangos de posibles valores de los
distintos campos que la forman.

Cada tabla dispone de una cabecera que es un registro especial donde


figuran los nombres de los campos y una serie de registros (filas) donde se
describen los objetos.

El esquema que se muestra en la figura 2-4 representa la tabla del ejemplo


de la base de datos de la biblioteca adaptado al modelo relacional.

La tabla tiene todos sus campos relacionados, de forma que es posible


tomar, por ejemplo, como entrada, la materia y averiguar el número de ejemplares,
o bien obtener todos los libros editados en 1986 sin más que consultar el campo
correspondiente a “año de edición”.

diosestinta.blogspot.com
@RA-MA __________________ CAPITULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO... 69

CAMPOS

REGISTROS

Figura 2-4

2.3 CARACTERÍSTICAS DE LAS BASES DE DATOS


RELACIONALES
Para que la estructura de las tablas cumpla las leyes de la teoría relacional deben
satisfacerse las siguientes condiciones:
1. Todos los registros de la tabla deben tener el mismo número de campos,
aunque alguno de ellos esté vacío, deben ser registros de longitud fija.

2. Cada campo tiene un nombre o etiqueta que hay que definir previamente a su
utilización. No obstante, una vez creado el fichero se podrá ampliar o disminuir
el número de campos, mediante el SGBD.
3. La base de datos estará formada por muchas tablas, una por cada tipo de registro.
En el ejemplo de la biblioteca podríamos definir otras tablas, por ejemplo, con
los nombres de campo AUTOR, NACIONALIDAD, PROFESIÓN.
4. Dentro de una tabla cada nombre de campo debe ser distinto, por ejemplo, en
la de materias podría haber Autor 1, Autor 2, pero no puede haber dos campos
con el nombre Autor, pues al referimos con el gestor al nombre de campo
AUTOR, no sabría cuál utilizar.
5. Los registros de una misma tabla tienen que diferenciarse, al menos, en el
contenido de alguno de sus campos, no puede haber dos registros “idénticos”.
6. Los registros de una tabla pueden estar dispuestos en cualquier orden.

diosestinta.blogspot.com
70 ACCESS 2010. CURSO PRÁCTICO ____________________________________________________ © RA-MA

7. El contenido de cada campo está delimitado por un rango de valores posibles.


En el ejemplo del campo AÑO DE EDICIÓN no puede ponerse MIL o M, ni
cualquier otro carácter alfabético, e incluso ningún año mayor que 2000, por no
estar dentro del rango definido de los años posibles.
8. Permite la creación de nuevas tablas a partir de las ya existentes, relacionando
campos de distintas tablas anteriores. Esta condición es la esencia de las bases
de datos relacionales, formando lo que se llama un fichero “virtual”
(temporalmente en memoria).

2.4 OPERACIONES RELACIONALES BASICAS


Una base de datos relacional constará de varias tablas con las que se
pueden efectuar tres operaciones fundamentales, llamadas operaciones
relacionales, que permiten la creación de nuevas tablas a partir de las ya existentes.
Estas operaciones esenciales son la selección, la proyección y la concatenación.
La selección consiste en la obtención de una nueva tabla (fichero) formada
por algunas de las filas (registros) seleccionadas de otra tabla previamente
existente. La selección utiliza algún criterio que permita decidir qué registros de la
tabla se incluyen en la nueva tabla. En el ejemplo de la biblioteca podemos
seleccionar los libros cuyo autor sea R. Tamames, con lo que se obtendría una
nueva tabla (figura 2- 5) con menor número de registros.

A B

SELECCIÓN

CÓD. MATERIA AUTOR TÍTULO RLE . AÑO N°EJ.


1 Economía R.Tamames Estr .Ec .España E001 1986 3
1 Economía R.Tamames Estr .Ec .Intern . E002 1986 1
3 Política R.Tamames ¿Quo vadis Esp .? P039 1975 1
9 Novela R.Tamames Historia de Elio N070 1978 1

Figura 2-5

diosestinta.blogspot.com
@ RA-MA _____________________ CAPITULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO... 71

La proyección consiste en la obtención de una nueva tabla (fichero)


formada por algunas columnas (campos) seleccionadas de otra tabla previamente
existente. En el caso de que al elegir determinados campos el resultado produzca
registros idénticos, en la nueva tabla sólo figurará uno de los registros repetidos.
Normalmente pueden efectuarse simultáneamente la selección y la proyección.

En el ejemplo de la biblioteca podemos proyectar los campos TÍTULO y


N° EJ. previamente seleccionados en la operación de selección de la figura 2-6, con
lo que se obtendría una nueva tabla (figura 2-6) con menor número de campos. El
número de registros puede ser igual o menor. El esquema siguiente ilustra la
operación proyección:

A B

PROYECCION

CÓD MATERIA AUTOR TITULO REF. AÑO N”EJ. TITULO N"EI.


PROYECCIÓN
1 Economía R.Tamames Estr.Ec.España £001 1986 3 Estr.Ec.España 3
1 Economía R.Tamames Estr.EcJntern £002 1986 1 Estr.EcIntern 1

3 Política RTamames ¿ QuovadisEsp. ? P039 1975 1 ¿Quo vadis Esp.? 1

9 Novela R.Tamames Historia de Elio W070 1978 1 Historia de Elio 1

Figura 2-6

En este caso, la tabla proyectada tiene cuatro registros como la


inicialmente seleccionada, pero si proyectamos los campos MATERIA y AUTOR,
la tabla proyectada sólo tendrá tres registros (figura 2-7).

CÓD. MATERIA AUTOR TITULO REF. AÑO N°EJ.


PROYECCIÓN MATERIA AUTOR
1 Economía R.Tamames Estr.Ec.España £001 1986 3
Economía R.Tamames
1 Economía R.Tamames Estr.Ec.Intern £002 1986 1
Política R.Tamames
3 Política R.Tamames ¿ QuovadisEsp. ? P039 1975 1
Novela RTamames
9 Novela RTamames Historia de Elio W070 1978 1

Figura 2-7

diosestinta.blogspot.com
72 ACCESS 2010. CURSO PRÁCTICO_____________________________________________________ © RA-MA

La concatenación consiste en la obtención de una nueva tabla (fichero)


uniendo dos tablas ya existentes. Por lo general, la unión de registros se efectúa si
en ambas tablas coincide el contenido de un campo prefijado de cada una de ellas.
Cuando se produce la coincidencia, se crea un registro en la nueva tabla, añadiendo
a los campos de la primera tabla los de la segunda.
En el ejemplo de la biblioteca podemos realizar en la tabla inicial una
selección de los libros cuyas materias son Economía y Estadística y concatenar el
resultado con una nueva tabla con el mismo número de registros y cuyos campos sean
AUTOR, NACIONALIDAD y PROFESIÓN, con lo que se obtendría una nueva tabla
(figura 2-8) con mayor número de campos pero con el mismo número de registros que
la inicialmente seleccionada. El esquema siguiente ilustra la operación de
concatenación.

A B C

COD. MATERIA AUTOR TITULO REF. AÑO N°EJ. NACIONAUD. PROFESIÓN


1 Economía R.Tamames Estr.Ec.España £001 1986 3 Español Catedrático
1 Economía R.Tamames Estr.Ec.Intern. £002 1986 1 Español Catedrático
1 Economía Fuentes Q. Hacienda Púhl. £003 1974 2 Español Catedrático
1 Economía Lipsey Teoría Econom. £004 1970 2 EEUU Economista
2 Estadística Arnáiz Estad, descript. 5001 1962 1 Español Estadístico
2 Estadística Sixto Ríos Métodos Estad. S002 1970 1 Español Catedrático

Figura 2-8
Se observa que el campo AUTOR no se ha repetido, aunque figura en las
dos tablas que se concatenan. Para comprender mejor la operación de
concatenación anterior vamos a ver los pasos en que ha consistido el proceso:
1. Consultar el valor del campo del primer registro de la primera tabla cuyo
contenido se desee casar con la segunda tabla (en nuestro ejemplo. Autor).
2. Compararlo con los valores del campo de cada uno de los registros de la
segunda tabla, cuyo contenido deba coincidir (en nuestro caso. Autor).
3. Si hay correspondencia, se añadirá una fila (registro) a la tabla resultado,
uniendo las filas de las tablas iniciales (en horizontal).

diosestinta.blogspot.com
©RA-MA _____________________ CAPITUI.O 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO... 73

4. Se siguen realizando comparaciones con todas las filas de ambas tablas,


buscando la coincidencia de los respectivos campos a casar.
2.5 OTRAS OPERACIONES RELACIONALES Y
OPERADORES BOOLEANOS
Aparte de las operaciones básicas de selección, proyección y concatenación,
en las bases de datos relacionales pueden realizarse operaciones similares a las
utilizadas en la teoría de conjuntos, por ejemplo, la unión, la intersección, la
complementación y la diferencia, siendo los tres primeros equivalentes a los
operadores booleanos OR, AND y NOT, respectivamente.
La unión tiene como resultado la tabla formada por la agregación de registros
de dos tablas que ya existen. Se trata por tanto de una operación cuyos operandos son
registros de una misma tabla o de tablas diferentes. En este último caso las tablas con
las que se va a operar han de tener la misma estructura y los mismos nombres de
campos. La figura 2-9 ilustra la operación unión del conjunto de registros R con el
conjunto de registros S. Se observa en la figura que el concepto de unión de registros es
exactamente el mismo que el concepto matemático de unión de conjuntos.
La intersección tiene como resultado la tabla formada por los registros
comunes a dos tablas que ya existen. Al igual que en el caso de la unión, se trata
por tanto de una operación cuyos operandos son registros de una misma tabla o de
tablas diferentes. En este último caso las tablas con las que se va a operar han de
tener la misma estructura y los mismos nombres de campos. La figura 2-10 ilustra
la operación intersección del conjunto de registros R con el conjunto de registros S.
Se observa en la figura que el concepto de intersección de registros es exactamente
el mismo que el concepto matemático de intersección de conjuntos.
La diferencia tiene como resultado la tabla formada por los registros de
una tabla ya creada que no figura en otra tabla también creada. Al igual que en el
caso de la unión y la intersección, se trata por tanto de una operación cuyos
operandos son registros de una misma tabla o de tablas diferentes. En este último
caso las tablas con las que se va a operar han de tener la misma estructura y los
mismos nombres de campos. Las figuras 2-11 y 2-12 ilustran las operaciones de
diferencia de conjuntos de registros S menos R y R menos S, respectivamente.

Figura 2-9 Figura 2-10 Figura 2-11 Figura 2-12

diosestinta.blogspot.com
74 ACCESS 2010. CURSO PRÁC TICO _________________________________________________ ©RA-MA

Podrían definirse otras operaciones similares a las de la teoría de conjuntos,


como las de diferencia simétrica, complementación, etc. Existe una equivalencia
entre las operaciones Unión, Intersección y Complementación y los operadores
booleanos OR, AND y NOT, cuya definición es similar.

2.6 DISEÑO DE UNA BASE DE DATOS RELACIONAL


Al diseñar una base de datos relacional hay que tener presente la naturaleza
de este tipo de bases de datos y trabajar de acuerdo a las reglas relacionales básicas.
Cada tabla ha de tener un nombre que la identifica unívocamente y una o más
columnas nominadas, que están dispuestas en un orden específico de izquierda a
derecha. Por otro lado, cada tabla tiene cero o más filas, conteniendo cada una un
único valor en cada columna. Las filas están desordenadas. Además, todos los
valores de una columna determinada tienen el mismo tipo de datos y éstos están
extraídos de un conjunto de valores legales llamado el dominio de la columna. A su
vez, las tablas están relacionadas unas con otras por los datos que contienen. El modelo
de datos relacional utiliza claves primarias y claves secundarias_(externas o foráneas)
para representar estas relaciones entre tablas. A la hora de definir las claves primarias y
secundarias es necesario tener presente de entrada lo siguiente.

2.6.1 Claves primarias y secundarias (externas o foráneas)


Las claves primarias y secundarias son esenciales para relacionar las tablas
entre sí a través de sus campos. Una clave primaria es una columna o combinación de
columnas dentro de una tabla cuyo(s) valor(es) identifica(n) unívocamente a cada fila
de la tabla. Cada tabla tiene una única clave primaria. Una clave secundaria (externa o
foránea) es una columna o combinación de columnas en una tabla cuyo(s) valor(es)
es(son) un valor de clave primaria para alguna otra tabla. Una tabla puede contener más
de una clave secundaria, enlazándola a una o más tablas. Una combinación clave
primaria/clave secundaria crea una relación padre/hijo entre las tablas que las
contienen.

Se recomienda, aunque no es imprescindible, que todas las tablas tengan


alguna columna o grupo de columnas especificadas como la clave primaria de la
tabla. La clave primaria es un campo (o campos) que nunca puede contener valores
NULL y que tiene un valor único para cada fila de la tabla.

La clave primaria tiene un valor único diferente para cada fila de una tabla,
de modo que no hay dos filas de una tabla con clave primaria que sean duplicados
exactos la una de la otra. Una tabla en donde cada fila es diferente de todas las
demás se llama una relación en términos matemáticos. El nombre “base de datos
relacional” proviene de este término, ya que las relaciones (las tablas con filas
distintas) son el corazón de una base de datos relacional.

diosestinta.blogspot.com
© RA-MA CAPÍTULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO... 75

Aunque las claves primarias son parte esencial del modelo de datos
relacional, los primeros sistemas de gestión de base de datos relacionales
(System/R, DB2, Oracle y otros) no proporcionaban soporte explícito para claves
primarias. Los diseñadores de bases de datos aseguraban generalmente que todas
las tablas de sus bases de datos tuvieran una clave primaria, pero el propio DBMS
no proporcionaba un modo de identificar la clave primaria de la tabla. DB2 Versión
2, introducido en abril de 1988, añadió finalmente soporte de clave primaria a los
productos SQL comerciales de IBM. El estándar ANSI/ISO fue posteriormente
ampliado para incluir soporte para claves primarias. Sin embargo, el soporte
DBMS explícito, de claves primarias, sigue siendo raro en los productos SQL
comerciales.

Las claves secundarias, al igual que las primarias, aumentan la integridad


de la base de datos. Una clave secundaria es una columna, o grupo de columnas,
cuyo valor sea igual al de alguna clave primaria en una tabla especificada. Una
tabla puede contener más de una clave secundaria si está relacionada con más de
una tabla adicional. Las claves secundarias son parte fundamental del modelo
relacional ya que crean relaciones entre tablas en la base de datos.
Desgraciadamente, como con las claves primarias, el soporte de claves secundarias
falta en los sistemas de gestión de base de datos relacionales primitivos. Fueron
añadidos a DB2 versión 2 y desde entonces se han añadido al estándar ANSI/ISO.

2.6.2 Integridad
Para preservar la consistencia y corrección de los datos almacenados, un
DBMS relacional impone generalmente una o más restricciones de integridad de
datos. Estas restricciones restringen los valores que pueden ser insertados en la
base de datos o creados mediante una actualización de la base de datos. Varios
tipos diferentes de restricciones de integridad de datos suelen encontrarse en las
bases de datos relacionales, incluyendo;

Datos requeridos: algunas columnas en una base de datos deben contener un valor
de dato válido en cada fila, es decir, no se permite que contengan valores NULL o
que falten. Pueden especificarse columnas requeridas cuando se crea un tabla, en
cuyo caso, el DBMS impedirá los valores NULL en esas columnas.

Chequeo de validez: cada columna de una base de datos tiene un dominio, o sea, un
conjunto de valores que son legales para esa columna. El DBMS puede ser
preparado para impedir otros valores de datos en estas columnas.

diosestinta.blogspot.com
76 ACCESS 2010. CURSO PRACTICO © RA-MA

Integridad de entidad: la clave primaria de una tabla debe contener un valor único
en cada fila, diferente de los valores de todas las filas restantes. Los valores
duplicados son ilegales y el DBMS puede ser preparado para forzar esta restricción
de valores únicos. Las restricciones de integridad de entidad aseguran que la clave
primaria identifique unívocamente a cada entidad representada en la base de datos.
Integridad referencia!: una clave secundaria (externa o foránea) en una base de
datos relacional enlaza cada fila de la tabla hijo que contiene la clave foránea con
la fila de la tabla padre que contiene el valor de clave primaria correspondiente. El
DBMS puede ser preparado para forzar esta restricción de clave foránea/clave
primaria. Las restricciones de integridad referencial aseguran que las relaciones
entre entidades en la base de datos se preserven durante las actualizaciones. En
particular, la integridad referencial debe incluir reglas que indiquen cómo manejar
la supresión de filas que son referenciadas mediante otras filas.

Consistencia: muchas transacciones del mundo real producen múltiples


actualizaciones a una base de datos. Las sentencias INSERT y UPDATE deben
ejecutarse de modo que la base de datos continúe en un estado correcto y
consistente. El DBMS puede ser preparado para forzar este tipo de regla de
consistencia o para soportar aplicaciones que implementen tales reglas.
El estándar SQL ANSI/ISO especifica algunas de las restricciones de
integridad de datos más simples. Por ejemplo, la restricción de datos requeridos está
soportada por el estándar ANSI/ISO e implementada de manera uniforme en casi todos
los productos SQL comerciales. Las restricciones más complejas, tales como las
restricciones de reglas comerciales, no están especificadas por el estándar ANSI/ISO, y
existe una amplia variación en las técnicas y las sintaxis SQL utilizadas para
soportarlas.
Existen cuatro tipos de actualizaciones de bases de datos que pueden
corromper la integridad referencial de las relaciones padre/hijo de una base de
datos.
La inserción de una nueva fila hijo: cuando se inserta una nueva fila en la tabla
hijo, su valor de clave foránea debe coincidir con uno de los valores de clave
primaria en la tabla padre. Si el valor de clave foránea no coincide con ninguna
clave primaria, la inserción de la fila corromperá la base de datos, ya que habrá un
hijo sin un padre (un huérfano). Observe que insertar una fila en la tabla padre
nunca representa un problema; simplemente se convierte en un padre sin hijos.
La actualización de la clave foránea en una fila hijo: ésta es una forma diferente
del problema anterior. Si la clave foránea se modifica mediante una sentencia
UPDATE, el nuevo valor deberá coincidir con un valor de clave primaria en la
tabla padre. En caso contrario la fila actualizada será huérfana.

diosestinta.blogspot.com
@ RA-MA CAPITULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO... 77

La supresión de una fila padre: si una fila de la tabla padre, que tiene uno o más
hijos se suprime, las filas hijo quedarán huérfanas. Los valores de clave foránea en
estas filas ya no se corresponderán con ningún valor de clave primaria en la tabla
padre. Observe que suprimir una fila de la tabla hijo nunca representa un problema;
el padre de esta fila simplemente tendrá un hijo menos después de la supresión.
La actualización de la clave primaria en una fila padre: ésta es una forma
diferente del problema anterior. Si la clave primaria de una fila en la tabla padre se
modifica, todos los hijos actuales de esa fila quedarán huérfanos, puesto que sus
claves foráneas ya no corresponden con ningún valor de clave primaria.
Las características de integridad referencial del estándar SQL ANSI/ISO se
ocupan de cada una de estas cuatro situaciones. El primer problema (INSERT en la
tabla hijo) se maneja comprobando los valores de las columnas de clave foránea
antes de permitir ejecutar la sentencia INSERT. Si no coincide con un valor de
clave primaria, la sentencia INSERT se rechazará con un mensaje de error.

El segundo problema (UPDATE de la tabla hijo) es análogamente tratado


mediante comprobación del valor de clave foránea actualizado. Si no hay un valor
de clave primaria correspondiente, la sentencia UPDATE se rechazará acompañada
de un mensaje de error.
El tercer problema (DELETE de una fila padre) es más complejo, pudiendo
tomarse distintas medidas según cada caso particular.
El cuarto problema (UPDATE de la clave primaria en la tabla padre)
también se maneja por prohibición. Antes de que la clave primaria pueda ser
modificada, el DBMS efectúa comprobaciones para asegurar que no hay filas hijo
que tengan valores de clave foránea correspondientes. Si existen tales filas hijo, la
sentencia UPDATE se rechaza junto con un mensaje de error.
Otro concepto a tener en cuenta en el análisis de la integridad son los ciclos
referenciales. Supongamos que en una base de datos la tabla TI contenga la
columna C1 que es clave foránea para la tabla T2. Supongamos además que la
tabla T2 contiene la columna C2 que es clave foránea para la tabla TI. Estas dos
relaciones forman un ciclo referencial. En esta situación, cualquier fila
determinada de la tabla TI se refiere a una fila de la tabla T2, la cual a su vez se
refiere a una fila de la tabla TI, y así sucesivamente. Este ciclo afecta únicamente a
dos tablas, pero también es posible construir ciclos de tres o más tablas.

Con independencia de su número de tablas implicadas, los ciclos


referenciales presentan problemas especiales respecto a las restricciones de
integridad referencial. Para impedir el interbloqueo de inserción, al menos una de
las claves foráneas en un ciclo referencial debe permitir valores NULL.

diosestinta.blogspot.com
78 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Debido a esta circunstancia sería conveniente que las restricciones de


integridad referencial no fueran comprobadas hasta después de que se efectuaran
una serie de actualizaciones interrelacionadas. Los ciclos referenciales también
restringen las reglas de supresión que pueden especificarse para las relaciones que
forman el ciclo. Se tratará de evitar las supresiones en cascada incontroladas
mediante la adopción de determinadas reglas de supresión (RESTRICT o SET
NULL).

2.6.3 Disparadores
El concepto de disparador (definido inicialmente por Sybase) es
relativamente sencillo. Para cualquier evento que provoca un cambio en el
contenido de una tabla, un usuario puede especificar una acción asociada que el
DBMS debería efectuar automáticamente a la realización del evento. Los tres
eventos que pueden disparar una acción automática asociada son ejecuciones de
INSERT, DELETE o UPDATE sobre filas de la tabla. La acción disparada por uno
de estos eventos se especifica mediante una secuencia de sentencias SQL.

Los disparadores proporcionan un modo alternativo de implementar las


restricciones de integridad referencial proporcionadas por claves foráneas y claves
primarias. Incluso los disparadores pueden ser utilizados para proporcionar formas
ampliadas de integridad referencial no ofrecidas por el estándar SQL ANSI/ISO.

La principal ventaja de los disparadores es que las reglas comerciales pueden


almacenarse en las bases de datos y ser forzadas consistentemente con cada
actualización de la base de datos. Esto puede reducir sustancialmente la complejidad
de los programas de aplicación que acceden a la base de datos. Los disparadores
tienen también algunas desventajas, siendo las más importantes las siguientes:

Complejidad de la base de datos: cuando las reglas se trasladan al interior de la


base de datos, preparar la base de datos pasa a ser una tarea más compleja. Los
usuarios que razonablemente podían esperar crear pequeñas aplicaciones propias
con SQL encontrarán que la lógica de programación de los disparadores hace la
tarea mucho más difícil.

Reglas ocultas: con las reglas ocultas dentro de la base de datos, programas que
parecen efectuar sencillas actualizaciones de la base de datos pueden, de hecho,
generar una cantidad enorme de actividad en la base de datos. En este caso, el
programador ya no controla totalmente lo que sucede en la base de datos.

diosestinta.blogspot.com
© RA-MA CAPITULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO... 79

2.6.4 índices
Un índice es una estructura interna que el sistema puede usar para
encontrar uno o más registros en una tabla de forma rápida. En efecto, un índice de
base de datos es, conceptualmente, similar a un índice encontrado al final de
cualquier libro de texto. De la misma forma que el lector de un libro acudiría a un
índice para determinar en qué páginas se encuentra un determinado tema, un
sistema de base de datos leerá un índice para determinar las posiciones de registros
seleccionados por una consulta SQL. En otras palabras, la presencia de un índice
puede ayudar al sistema a procesar algunas consultas de un modo más eficiente.

Un índice de base de datos se crea para una columna o grupo de columnas.


La figura 2-13 muestra un índice (XCNOMBRE) basado en la columna
CNOMBRE de la tabla CURSO. Observemos que el índice, a diferencia de la tabla
CURSO, representa valores CNOMBRE en orden. Además, el índice es pequeño
en relación con el tamaño de la tabla. Por tanto, probablemente, es más fácil que el
sistema busque el índice para localizar un registro con un valor CNOMBRE dado,
a que explore toda la tabla en busca de ese valor.

Indice XCNOMBRE Tabla CURSO

Figura 2-13

diosestinta.blogspot.com
80 ACCESS 2010. CURSO PRACTICO © RA-MA

A un índice se le asigna un nombre, de acuerdo con las mismas reglas que


se aplican para los nombres de tablas. El nombre debe comenzar con una letra que
puede ir seguida de una o más letras, dígitos o caracteres de subrayado. Su longitud
no puede exceder de un determinado número de caracteres. Suele seguirse una
convención común de elegir “X” como la primera letra seguida del nombre de
columna para formar el nombre del índice. Sin embargo, esta convención no es
indispensable para el sistema. Para crear un índice suele utilizarse la sentencia SQL
CREATE INDEX, tal y como veremos a la hora de analizar la sintaxis SQL.
En el ejemplo de la figura 2-13, la tabla CURSO ya tiene registros
almacenados en ella cuando se crea el índice. El sistema explorará esta tabla para
obtener los valores CNOMBRE y las posiciones de los registros correspondientes
para construir el índice. En la práctica, es mejor asignar la sentencia CREATE
INDEX antes de que se inserte ningún registro en la tabla. Sin embargo, como
ilustra el ejemplo, puede crearse un índice para una tabla que ya contenga registros.
Una vez que se ha creado el índice, el sistema lo mantendrá automáticamente.
Por ejemplo, si asignamos una sentencia INSERT para colocar un nuevo registro en la
tabla CURSO, el sistema determinará, automáticamente, el valor CNOMBRE y la
posición del nuevo registro y colocará una nueva entrada en el índice XCNOMBRE.
En otras palabras, una vez que se crea el índice, el sistema hace el resto.
Al igual que la sentencia CREATE TABLE (para creación de tablas),
CREATE INDEX (para creación de índices) producirá actualización del catálogo
del sistema. En este caso, el sistema registrará la presencia de un nuevo índice
(XCNOMBRE) y su dependencia de la tabla CURSO.
No se produce ningún cambio en la codificación de una sentencia de
selección de registros (SELECT) de una tabla, debido a la presencia o ausencia de
un índice. La sintaxis de todas las sentencias SELECT permanece igual. Por tanto,
la mayoría de los usuarios del sistema puede que no perciban la existencia de
índices de base de datos. Siempre que una sentencia SELECT sea introducida por
el usuario, el sistema usa un módulo interno especial, llamado optimizador, que
analiza la sentencia para determinar si el uso de un índice sería beneficioso. Si éste
es el caso, el sistema consultará el catálogo para determinar si se encuentra
disponible un índice. Si lo está, el sistema utilizará el índice. En caso contrario, el
sistema realizará una operación de exploración en busca de los registros deseados.
El uso de un optimizador para determinar el camino de acceso más eficaz
significa que el sistema posee la importante característica de la independencia física de
los datos. El administrador de la base de datos puede modificar las estructuras internas
de datos sin producir cambios en los programas de aplicaciones escritos anteriormente.
En concreto, los índices pueden ser creados y asignados sin que afecten a la validez de
otras sentencias ya existentes o de futuras sentencias SELECT.

diosestinta.blogspot.com
@ RA-MA CAPITULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO... 81

Los índices presentan determinadas ventajas. El sistema puede usar un


Índice para aumentar la eficacia en diversas circunstancias. Algunas de estas
circunstancias se describen a continuación:

Acceso directo a un registro especificado: suponiendo que un índice se defina


sobre la columna apropiada, el sistema puede evitar la exploración para localizar
los registros identificados por una cláusula WHERE.
Ordenación: observar que la figura 2-13 muestra valores CNOMBRE en orden
alfabético (realmente EBCDIC). El sistema puede usar este índice para recuperar
registros de la tabla CURSO en secuencia CNOMBRE. En ausencia de índice, el
sistema debe iniciar una rutina de ordenación interna que puede ser costosa,
especialmente para un gran número de registros. Las versiones actuales de SQL
considerarán el uso de un índice siempre que la sentencia SELECT contenga
cualquiera de las siguientes palabras clave o cláusulas: ORDER BY, DISTINCT,
GROUP BY o UNION.
Operación join: la operación join se presentará en un capítulo posterior. En este
momento, simplemente, afirmamos que la operación join puede ser difícil de
ejecutar y que los índices pueden reducir el coste de este proceso.

No hay límite en el número de índices que se pueden crear para una tabla
dada. Sin embargo, existe un coste asociado con cada índice que puede
contrarrestar sus ventajas.

No obstante, los índices también presentan algunas desventajas. Existen


dos factores de coste asociados con los índices de base de datos que prohíben su
uso ilimitado. Éstos son:
Espacio de disco usado por el índice: un índice, aunque sea más pequeño que la
tabla, puede ocupar una cantidad de espacio de almacenamiento considerable en el
disco. Una tabla con muchos registros significa que el índice tendrá muchas
entradas. Si la tabla tiene muchos índices, el espacio total del disco usado por todos
los índices podría exceder el tamaño de la tabla en sí misma.
Costes de actualización: mientras los índices facilitan el proceso de obtención de
registros, dificultan el proceso de actualización. Siempre que un nuevo registro se
inserte o se borre de una tabla, el sistema debe hacer el correspondiente cambio de
los índices. Si, por ejemplo, una tabla tiene cinco índices, entonces una operación
de inserción o de borrado obliga a una actualización de los cinco índices. Esto
podría afectar de una forma importante al tiempo de respuesta.

El optimizador puede decidir no usar un índice, incluso si se ha definido en


la columna apropiada. Esto puede ocurrir en varios casos. Algunos de éstos son:

diosestinta.blogspot.com
82 ACCESS 2010. CURSO PRACTICO © RA-MA

La tabla es muy pequeña: debido a que se emplea mucho tiempo en leer el índice,
el optimizador puede decidir qué es más rápido, simplemente, explorando toda la
tabla.

El índice no es lo suficientemente selectivo: el optimizador podría estimar que van


a ser seleccionados tantos registros que es más eficaz realizar una operación de
exploración para encontrar los registros deseados.

No hay forma de indicarle al sistema que use explícitamente un índice. La


decisión de usar un índice para acceder a los datos la toma el optimizador. (Sin
embargo, es posible modificar parte de la información del catálogo para influir en
el optimizador para que especifique un camino de acceso que use un índice. Esto
podría realizarlo el administrador de la base de datos o un programador de
aplicaciones que esté usando el SQL embebido en un programa que se ejecutará
muchas veces.)

La sentencia CREATE INDEX ofrece otras ventajas, además de las


especificadas anteriormente. Incluyendo palabras clave esenciales en la sentencia
(que se describirán en el capítulo correspondiente) puede crearse cualquiera de los
tipos especiales de índices siguientes:

Indice compuesto: un índice puede crearse sobre varios nombres de columna. Un


ejemplo simple de tal índice es un índice nombre-dirección (por ejemplo,
FNOMBRE-FADDR) para una tabla que contenga una columna para el nombre del
miembro del personal docente y otra para la dirección. Observemos que un índice
compuesto es, únicamente, un índice simple en el que la clave se compone de datos
que se encuentran en varias columnas. Destaquemos, también, que el orden de los
componentes del índice es significativo. Por ejemplo, un índice nombre-dirección
(FNOMBRE-FADDR) es diferente de un índice dirección-nombre (FADDR-
FNOMBRE). Las actuales versiones SQL permiten la especificación de hasta 16
columnas para un índice compuesto.

Indice único: un índice único es un índice que no puede contener valores


duplicados. La presencia de un índice único hace que el sistema rechace cualquier
actualización de la tabla que produzca valores duplicados en la(s) columna(s)
especificada(s) por el índice. Un índice único debe ser creado para la(s) columna(s)
de clave primaria. Aunque sólo se pueda especificar una clave primaria para una
tabla, sí es posible especificar un número indeterminado de índices únicos para una
tabla. Por ejemplo, si deseáramos que el sistema reforzara la unicidad de los
valores CNOMBRE, podríamos incluir la palabra clave “UNIQUE” en la sentencia
CREATE INDEX relativa a la figura 2-13.

diosestinta.blogspot.com
@ RA-MA ____________________ CAPÍTULO 2. CONCEPTOS, OBJETOS. OPERACIONES Y DISEÑO... 83

Índice agrupado: puede diseñarse un índice por tabla como índice agrupado.
Cuando se ejecuta la utilidad de carga o de reorganización, el sistema almacenará
los registros de la tabla en el orden físico, de acuerdo con la clave del índice
agrupado. Para ciertas consultas, el optimizador puede capitalizar el conocimiento
de los registros almacenados en una determinada secuencia. No existe aún una
secuencia en la que el sistema confíe. (Incluso, aunque las inserciones en la tabla
pueden hacer que los registros ignoren la secuencia, el optimizador puede encontrar
el camino de acceso para satisfacer cualquier consulta).
Estos tres tipos de índices no se excluyen mutuamente, siendo posible que
un único Índice tenga todas las características anteriores.

2.6.5 Tablas en una base de datos relacional


El primer punto a abordar en la generación de las tablas es establecer una
tabla “vacía”. Esta tarea se realiza, bien mediante un asistente o bien mediante el
comando CREATE TABLE de SQL. Posteriormente, se pueden almacenar
registros en la tabla, bien mediante asistentes proporcionados por las aplicaciones
de base de datos o bien ejecutando la sentencia INSERT de SQL. Estudiaremos las
sentencias CREATE TABLE, INSERT y otras órdenes de actualización
(UPDATE, DELETE, etc.) en próximos capítulos, limitándonos aquí a citar su
existencia y utilidad.
La sentencia CREATE TABLE crea un “objeto” (la tabla) dentro del
sistema. Hay otros objetos importantes en el sistema, como los índices, que se
establecen mediante asistentes o ejecutando la sentencia CREATE INDEX de
SQL. La mayoría de los sistemas gestores de bases de datos permiten crear tablas e
Índices.

Sin embargo, cada sistema contiene también otros objetos. Un índice es


una estructura interna que el sistema puede usar para encontrar uno o más registros
en una tabla de forma rápida (se crea para una columna o grupo de columnas). En
efecto, un índice de base de datos es, conceptualmente, similar a un índice
encontrado al final de cualquier libro de texto. De la misma forma que el lector de
un libro acudiría a un índice para determinar en qué páginas se encuentra un
determinado tema, un sistema de base de datos leerá un índice para determinar las
posiciones de registros seleccionados por una consulta SQL. En otras palabras, la
presencia de un índice puede ayudar al sistema a procesar algunas consultas de un
modo más eficiente.

Los objetivos más importantes de la creación de tablas mediante asistentes


o mediante la sentencia CREATE TABLE de SQL podrían enumerarse como
sigue:

diosestinta.blogspot.com
84 ACCESS 2010. CURSO PRÁCTICO © RA-MA

• Establecer nuevas tablas en la base de datos y asignarles un nombre.


• Asignar nombre a todas las columnas de cada tabla y definir sus tipos de datos
(caracteres, numéricos, enteros, decimales, coma flotante, cadenas de longitud
variable, tipos extensos, valores monetarios, fechas, etc.). Los nombres de
columna deben ser únicos dentro de una tabla dada, pero es posible que el
mismo nombre de columna aparezca especificado dentro de varias tablas. En
este caso, un nombre de columna debe ser calificado especificando el nombre
de su tabla como prefijo. Por ejemplo, se especificaría “CURSO.CNO” para
referenciar la columna CNO de la tabla CURSO y “MATRJCULA.CNO” para
referenciar la columna CNO de la tabla MATRÍCULA. Los tipos de datos
suelen especificarse después del nombre de la columna.

• Especificar la secuencia u orden de columnas por defecto.


• Especificar qué columnas no pueden aceptar valores nulos (valores que faltan,
son desconocidos o no son aplicables). El valor nulo no debe confundirse con
el valor O, pues O no es un valor nulo.
• Especificar la clave primaria (columna o combinación de columnas cuyos
valores identifican unívocamente cada fila en la tabla, es decir, la clave
primaria tiene un valor único, diferente para cada fila de una tabla, de modo
que no hay dos filas de una tabla con clave primaria que sean duplicados
exactos la una de la otra).
• Especificar las claves secundarias, externas o foráneas (una columna de una
tabla cuyo valor coincide con la clave primaria de alguna otra tabla de la base
de datos se denomina una clave secundaria, externa o foránea, de modo que
una tabla puede contener más de una clave secundaria si está relacionada con
más de una tabla adicional de la base de datos).

Para preservar la consistencia y corrección de los datos almacenados, un


DBMS relacional impone generalmente una o más restricciones de integridad de
datos. Estas restricciones restringen los valores que pueden ser insertados en la
base de datos o creados mediante una actualización de la base de datos. Varios
tipos diferentes de restricciones de integridad de datos suelen encontrarse en las
bases de datos relacionales, incluyendo determinados tipos de datos requeridos por
algunas columnas, chequeos de validez de los valores de las columnas, integridad
de entidad (la clave primaria de una tabla debe contener un valor único en cada fila,
diferente de los valores de todas las filas restantes) e integridad referencial (una
clave secundaria en una base de datos relacional enlaza cada fila de la tabla hijo
que contiene la clave foránea con la fila de la tabla padre que contiene el valor de
clave primaria correspondiente de modo que las actualizaciones y supresiones no
provoquen problemas).

diosestinta.blogspot.com
@ RA-MA CAPÍTULO 2. CONCEPTOS, OBJBTOS, OPERACIONES Y DISEÑO... 85

2.6.6 Un ejemplo de diseño de base de datos relacional


A modo de ejemplo se va a presentar el diseño de una base de datos en un
contexto educativo cuyas tablas se refieren a los cursos que van a ser impartidos en
distintas clases de un centro educativo por varios profesores pertenecientes a diversos
departamentos y en los que se matricularán distintos estudiantes. En el centro
educativo también existe personal no docente.
Las tablas de la base de datos son CURSO, DEPARTAMENTO, CLASE,
ESTUDIANTE, MATRÍCULA, CLAUSTRO y PERSONAL. En los párrafos
siguientes se definen las características de las tablas y el diseño de la base de datos.
En primer lugar consideramos la tabla de nombre CURSO, que va a definir
las características de los cursos que van a ser impartidos. Los nombres de los campos
y los tipos de datos se especifican a continuación:

Las longitudes de los campos son 3, 22, 50, entero largo y 4


respectivamente. Los datos de la tabla van a ser los siguientes:

En esta tabla CURSO puede tomarse CNO como la clave primaria, dado
que CNO toma valores distintos para todas las filas y no tiene valores faltantes.
Directamente relacionada con la tabla CURSO, vamos a considerar la tabla
DEPARTAMENTO, que tiene un registro por cada departamento académico al que
pertenecen los profesores que imparten cursos.

diosestinta.blogspot.com
86 ACCESS 2010. CURSO PRÁCTICO ______________________________________________________ © RA-MA

Sus campos van a ser el nombre identificativo de cada departamento, el


edificio al que pertenecen, el número de despacho en que están ubicados y el
número de identificación en el cuerpo docente del director del departamento. Los
nombres de los campos y el contenido de la tabla se especifican a continuación;

Las longitudes de los campos son respectivamente 4,2, entero largo y 3.

Vemos que el campo DEPT toma valores distintos para todas las filas y no
tiene valores faltantes. Además, según la política del centro educativo, cada curso debe
estar organizado por un departamento académico, lo que nos indica que debemos
tomar el campo DEPT como clave primaria de la tabla DEPARTAMENTO.

Para aumentar la integridad de la base de datos, especificamos el campo


CDEPT de la tabla CURSO como clave secundaria que referencie la tabla padre
DEPARTAMENTO (se restringen los valores CDEPT de la tabla CURSO a
aquéllos que se encuentran en la columna DEPT de la tabla DEPARTAMENTO).
La tabla CURSO es una tabla dependiente o tabla hijo de la tabla padre
DEPARTAMENTO.

Adicionalmente consideramos la tabla CLASE, que tiene un registro para


cada clase que ofrezca un curso. Los campos que contiene son: número de curso,
número de sección, número de identificación en el grupo de docentes del profesor,
día y hora, edificio y sala en la que se encuentra la clase. Los nombres de los
campos y el contenido de la tabla se especifican a continuación:

Nombre del campo Tipo de flatos Descripción


CNO Texto Número de curso
SEC Texto Número de sección
CINSTRFNO Texto Número de profesor
CDIA Texto Día de la semana
CHORA Texto Hora de la dase
CEDIF Texto Edificio de la clase
CDESPACHO Número Sala de la ciase

diosestinta.blogspot.com
©RA-MA _____________________ CAPITULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO... 87

Las longitudes de los campos son respectivamente 3, 2, 2, 2, 14, 2 y entero largo.


En esta tabla consideramos el par de campos (CNO, SEC) como clave
primaria. Además, sabemos que debido a la política del centro educativo, a cada
clase le corresponde algún curso, por lo que cada valor del campo CNO de la tabla
CLASE debe coincidir con algún valor CNO existente en la tabla CURSO. De esta
forma, CNO en la tabla CLASE es clave secundaria que referencia CURSO, con lo
que CURSO es tabla padre de CLASE, además de depender (ser tabla hijo) de
DEPARTAMENTO. Puesto que CLASE es dependiente de CURSO, que por su
parte es dependiente de DEPARTAMENTO, decimos que CLASE es tabla
descendente de DEPARTAMENTO.

Las relaciones existentes entre las tres tablas que llevamos definidas en
nuestra base de datos suelen representarse como se indica en la figura 2 -14.

Figura 2-14

Ahora se consideran las tablas MATRÍCULA (relativa a los datos


recogidos cuando un estudiante se matricula en un curso) y ESTUDIANTE (tiene
un registro para cada estudiante matriculado en el centro educativo). Los campos
de la tabla MATRÍCULA son: número de curso, número de sección, número de
estudiante, fecha y hora de matriculación del estudiante.

diosestinta.blogspot.com
88 ACCESS 2010. CURSO PRACTICO ___________________________________________________ ©RA-MA

Los campos que contiene la tabla ESTUDIANTE son: número de


estudiante, nombre, dirección, teléfono, fecha de nacimiento, número de
identificación de la escuela o facultad (centro educativo) y departamento. Los
nombres de los campos, los tipos de datos y el contenido de la tabla MATRÍCULA
se muestran a continuación:

Las longitudes de los tres primeros campos son 3, 2 y 3 respectivamente.

Los nombres de los campos, los tipos de datos y el contenido de la tabla


ESTUDIANTE se especifican a continuación:

diosestinta.blogspot.com
@ RA-MA _____________________ CAPITULO 2. CONCEPTOS. OBJETOS, OPERACIONES Y DISEÑO... 89

Las longitudes de los campos son 3, 30, 15, 12, 6, entero, 3 y 4


respectivamente.
La clave primaria de la tabla MATRÍCULA es una composición de tres
columnas (CNO, SEC, SNO). Para asegurar la integridad referencial,
especificaríamos dos claves secundarias en esta tabla. La clave secundaria
compuesta (CNO, SEC) referenciaría la tabla ESTUDIANTE. De esta forma,
MATRÍCULA es dependiente de dos tablas: CLASE y ESTUDIANTE.
Supongamos, también, que todos los estudiantes deben especializarse en una
asignatura correspondiente a algún departamento académico existente. Esto
significa que la sentencia CREATE TABLE para ESTUDIANTE especificaría
SESP (especialidad del estudiante) como clave secundaria que referencia la tabla
DEPARTAMENTO.
Por tanto, DEPARTAMENTO es padre de otras dos tablas: CURSO y
ESTUDIANTE. La clave primaria para la tabla ESTUDIANTE es el campo SNO
(número de estudiante). La figura 2-15 refleja la nueva visión del diseño de la base
de datos.

Figura 2-15

Consideremos ahora la tabla CLAUSTRO, que tiene un registro para cada


miembro del cuerpo docente del centro educativo (escuela universitaria o facultad) y
cuyos campos son: número de identificación de todos los profesores, nombre,
dirección, fecha de contratación, número de ayudantes o subordinados que dependen
de él, sueldo e identificación del departamento al que se encuentre adscrito. Los
nombres de los campos, los tipos de datos y el contenido de la tabla CLAUSTRO se
especifican a continuación:

diosestinta.blogspot.com
90 ACCESS 2010. CURSO PRÁCTICO ______________________________________________________ © RA-MA

Las longitudes de los campos son 3, 15, 20, entero, decimal (7,2) y 4
respectivamente.

El campo FNO es la clave primaria de la tabla CLAUSTRO. Las claves


secundarias pueden ser definidas de forma que se establezca una relación cíclica.
Supongamos que es norma de la escuela que a cada miembro del personal docente se le
asigne algún departamento académico. Entonces, la columna FDEPT, en la tabla
CLAUSTRO, se especificaría como clave secundaria, referenciando DEPARTAMENTO
(DEPARTAMENTO es la tabla padre y CLAUSTRO la tabla dependiente).
Supongamos, también, que el director de cada departamento es miembro del personal
docente. Entonces, el valor DCHFNO, en la tabla DEPARTAMENTO, se especifica
como clave secundaria que referencia CLAUSTRO. (Aquí, CLAUSTRO es la tabla
padre y DEPARTAMENTO es la tabla dependiente.) La figura 2-16 muestra esta
relación cíclica o ciclo.

Figura 2-16

Es posible también que una tabla sea padre y dependiente de sí misma,


dando lugar a un ciclo recursivo. En otras palabras, la tabla contiene una clave
secundaria que se referencia a sí misma.

diosestinta.blogspot.com
@ RA-MA _____________________ CAPÍTULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO... 91

Por ejemplo, supongamos que algunos cursos exigen, al menos, haber


cursado otro curso, que es requisito indispensable (es decir, los alumnos están
obligados a realizarlo) para matricularse en una clase del curso. Podríamos indicar el
curso que se exige como requisito para la matriculación en la tabla CURSO,
modificando esta tabla para incluir una nueva columna, PCNO, que contenga el
número del curso que se pidió como prerrequisito a la matriculación.
En ese caso, la orden CREATE TABLE para el curso contendría una cláusula
adicional de clave secundaria, especificando PCNO como clave secundaria que
referencia CURSO. Este ciclo de autoreferencia se llama, a veces, relación recursiva.
El tipo de datos y la extensión de cada componente de una clave secundaria
debe ser la misma que la clave primaria. Pero una clave secundaria, a diferencia de la
primaria, puede contener valores nulos (es decir, no es necesario especificar NOT
NULL para una columna que sea clave secundaria). Por ejemplo, existen muchos
cursos introductorios que no necesitan un curso como requisito previo. Los registros de
tales cursos podrían tener un valor nulo en la columna PCNO. Otro ejemplo es la
columna SESP en la tabla ESTUDIANTE. Si suponemos que algunos estudiantes no
tienen que declarar la especialidad, entonces los valores correspondientes de SESP
podrían ser nulos. Observemos, además, que si cualquier parte de una clave secundaria
compuesta es nula, entonces toda la clave secundaria se considera como nula.

En la base de datos existe una última tabla de nombre PERSONAL que tiene
un registro para cada empleado que no pertenezca al cuerpo docente de la escuela
universitaria o facultad. Sus campos son: nombre, título, sueldo e identificación del
departamento del que dependa. Estos campos no tienen relación con ninguna otra tabla.
Los nombres de los campos, los tipos de datos y el contenido de la tabla
PERSONAL se especifican a continuación (ENOMBRE es la clave primaria):

diosestinta.blogspot.com
92 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Las longitudes de los campos son 15, 10, entero largo y 4 respectivamente.

Una vez definidas todas las relaciones entre las tablas de la base de datos
podemos realizar ya un diagrama completo que refleje su diseño final (figura 2-17).

Figura 2-17

Hasta ahora, sólo hemos considerado el aspecto estructural de la integridad


referencial. Destacaremos, ahora, algunas de las reglas de procesamiento que
especifican la respuesta del sistema a la sentencia de manipulación de datos del SQL, la
cual referencia valores de clave primaria y/o secundaria. Estas sentencias (INSERT,
UPDATE y DELETE) se describirán en capítulos posteriores. Adicionalmente
tendremos en cuenta para la integridad referencial lo siguiente:

Inserción de la clave primaria: el sistema verificará que el valor de la clave


primaria es único. Si no lo es, la inserción será rechazada.

Inserción de la clave secundaria: el sistema verificará que cualquier clave


secundaria tenga el mismo valor que alguna clave primaria existente en la tabla
referenciada. Si esto no se cumple, la inserción será rechazada.

Actualización de la clave primaria: el sistema rechazará la actualización si existe


un registro dependiente que referencie la clave primaria.

diosestinta.blogspot.com
@ RA-MA ____________________ CAPÍTULO 2. CONCEPTOS. OBJETOS, OPERACIONES Y DISEÑO... 93

Actualización de la clave secundaria: el sistema verificará que el nuevo valor de la


clave secundaria coincida con alguna clave primaria existente en la tabla
referenciada. Si esto no ocurre, la actualización se rechazará.

Borrado de la clave primaria: se puede dirigir la respuesta del sistema a la


eliminación de un registro que tenga una clave primaria igual a alguna clave
secundaria correspondiente. Las opciones disponibles son: rechazar cualquier
operación de borrado (RESTRICT), sustituir automáticamente los valores nulos por
los valores correspondientes de la clave secundaria (SET NULL) y borrar
automáticamente cualquier registro dependiente que tenga una clave secundaria
igual a la primaria (CASCADE).

Borrado de una clave secundaria: no existen restricciones (a menos que la clave


secundaria sea parte de la primaria en la que se apliquen otras restricciones).

El diseñador de la base de datos debe prestar una cuidadosa atención a


estas reglas de procesamiento. Existen restricciones e implicaciones adicionales
para las tablas descendientes, especialmente aquéllas afectadas por relaciones
cíclicas.

El diseño completo de las relaciones existentes entre las tablas (figura 2-17)
y las restricciones de integridad son el corazón de una base de datos.

2.5 OBJETOS TÍPICOS EN BASES DE DATOS ACCESS


Por medio de Microsoft Access, puede administrar toda la información desde
un único archivo de base de datos. Dentro del archivo, puede dividir los datos en
contenedores de almacenamiento independientes denominados tablas; puede ver,
agregar y actualizar datos de las tablas por medio de formularios en pantalla; puede así
mismo buscar y recuperar sólo los datos que desee por medio de consultas y puede
analizar o imprimir datos con un diseño específico por medio de informes (figura 2-
18). Puede permitir a otros usuarios ver, actualizar o analizar datos de la base de datos
desde Internet o desde una intranet por medio de páginas de acceso a datos.

Para almacenar los datos, cree una tabla para cada tipo de información de la que
hace el seguimiento. Para reunir los datos de varias tablas en una consulta, formulario,
informe o página de acceso a datos, defina relaciones entre las tablas (figura 2-19).

Para buscar y recuperar tan sólo los datos que cumplen las condiciones
especificadas, incluyendo datos de varias tablas, cree una consulta (figura 2-20).
Una na consulta puede también actualizar o eliminar varios registros al mismo tiempo
y realizar cálculos predefinidos o personalizados en los datos.

diosestinta.blogspot.com
94 ACCESS 2010. CURSO PRÁCTICO ____________________________________________________ ©RA-MA

Figura 2-18

Figura 2-19

Figura 2-20

Para ver, escribir y cambiar datos de manera sencilla directamente en una


tabla, cree un formulario. Al abrir un formulario, Microsoft Access recupera los
datos de una o más tablas, y los muestra en la pantalla con el diseño elegido en el
Asistente para formularios, o con un diseño que cree desde el principio (figura 2-21).

diosestinta.blogspot.com
©RA-MA _____________________ CAPÍTULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO... 95

Figura 2-21

Para analizar los datos o presentarlos de cierta manera al imprimirlos, cree


un informe (figura 2-22). Por ejemplo, puede imprimir un informe que agrupe datos
y calcule totales, y otro informe de datos diferentes con formato para imprimir
etiquetas postales.

Figura 2-22

Microsoft Access permite trabajar con todos los objetos de la base de datos
(Tablas, Consultas, Formularios, Informes, Páginas, Macros y Módulos).

2.7.1 Consultas: definición y funcionamiento


Se utilizan consultas para ver, modificar y analizar datos de formas
diferentes (figura 2-23). También pueden utilizarse como el origen de registros
para formularios, informes y páginas de acceso a datos.

diosestinta.blogspot.com
96 ACCESS 2010. CURSO PRÁCTICO ____________________________________ © RA-MA

Figura 2-23

El tipo de consulta más habitual es una consulta de selección. Ésta


recupera datos de una o más tablas utilizando los criterios que especifique y
después los muestra en el orden que desee (figura 2-24).

Figura 2-24

Las consultas pueden crearse utilizando asistentes, en la vista diseño de


consultas (figura 2-25) o utilizando SQL, tal y como se verá en capítulos posteriores.

Figura 2-25

diosestinta.blogspot.com
@ RA-MA ____________________ CAPÍTULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO... 97

2.7.2 Formularios: definición y funcionamiento


Pueden utilizarse formularios con varios propósitos, tal y como se indica en la
figura 2-26. La mayor parte de la información de un formulario procede de un origen
de registros base. Parte de la información del formulario se almacena en el diseño del
mismo (figura 2-27). El vínculo entre un formulario y su origen de registros se crea por
medio de objetos gráficos denominados controles. El tipo de control más comúnmente
utilizado para mostrar y escribir datos es un cuadro de texto (figura 2-28).

Figura 2-26

Figura 2-27

Figura 2-28

diosestinta.blogspot.com
98 ACCESS 2010. CURSO PRÁCTICO _________________________________________________________ © RA-MA

2.7.3 Informes: definición y funcionamiento


Un informe es un método eficaz de presentar los datos en formato impreso.
Dado que tiene el control sobre el tamaño y el aspecto de todo el informe, puede
mostrar la información de la manera que desee verla (figura 2-29).

Figura 2-29
La mayor parte de la información de un informe procede de una tabla,
consulta o instrucción SQL base, que es el origen de los datos del informe. Parte de la
información del informe se almacena en el diseño del mismo (figura 2-30). El vínculo
entre el informe y su origen de registros se crea mediante controles (figura 2-31).

Figura 2-30

Figura 2-31

diosestinta.blogspot.com
© RA-MA _____________________ CAPÍTULO 2. CONCEPTOS, OBJETOS, OPERACIONBS Y DISEÑO... 99

2.7.4 Macros
Una macro es un conjunto de una o más acciones donde cada una realiza
una operación determinada, tal como abrir un formulario o imprimir un informe.
Las macros pueden ayudar a automatizar las tareas comunes. Por ejemplo, puede
ejecutar una macro que imprima un informe cuando el usuario haga clic en un
botón de comando (figura 2-32).

Figura 2-32

Una macro puede ser una macro compuesta de una secuencia de acciones, o
puede ser un grupo de macros. También se puede usar una expresión condicional para
determinar si se llevará a cabo una acción en algunos casos cuando se ejecute la macro.

La siguiente macro (figura 2-33) está compuesta de una serie de acciones.


Microsoft Access lleva a cabo estas acciones cada vez que se ejecuta la macro.
Para ejecutar esta macro se hace referencia al nombre de la macro Revisar
Productos.

Figura 2-33

2.7.5 Módulos
Un módulo es una colección de declaraciones y procedimientos de Visual
Basic para aplicaciones que se almacenan juntos como una unidad (figura 2-34).

diosestinta.blogspot.com
100 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Figura 2-34

Los módulos estándar (figura 2-35) contienen procedimientos generales


que no están asociados con ningún otro objeto y procedimientos usados con
frecuencia que pueden ser ejecutados desde cualquier parte de la base de datos.

Figura 2-35

La lista de módulos estándar de la base de datos se puede ver haciendo clic


en la opción Módulos, situada bajo la sección Objetos de la ventana Base de datos.
Los formularios, informes y módulos estándar se enumeran también en el
Examinador de objetos.

2.6 RELACIONES EN ACCESS


Una vez creadas tablas diferentes para cada tema de la base de datos de
Microsoft Access, necesitará una forma de indicarle a Microsoft Access cómo debe
volver a combinar esa información.

diosestinta.blogspot.com
© RA-MA CAPÍTULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO... 101

El primer paso de este proceso es definir relaciones entre las tablas. Una vez
realizada esta operación, puede crear consultas, formularios e informes para
mostrar información de varias tablas a la vez. Por ejemplo, el formulario de la
figura 2-36 incluye información de cinco tablas.

Figura 2-36

En el ejemplo anterior, los campos de las cinco tablas deben coordinarse de


modo que muestren información acerca del mismo pedido. Esta coordinación se
lleva a cabo mediante las relaciones entre las tablas. Una relación hace coincidir
los datos de los campos clave (normalmente un campo con el mismo nombre en
ambas tablas). En la mayoría de los casos, estos campos coincidentes son la clave
principal de una tabla, que proporciona un identificador único para cada registro, y
una clave externa de la otra tabla. Por ejemplo, los empleados pueden asociarse a
los pedidos de los que son responsables mediante la creación de una relación entre
la tabla Empleados y la tabla Pedidos a través de los campos Id. de empleado
(figura 2-37).

Figura 2-3 7

diosestinta.blogspot.com
102 ACCESS 2010. CURSO PRACTICO ___________________________________________________ ©RA-MA

2.8.1 Relación uno a varios


La relación uno a varios es el tipo de relación más común. En este tipo de
relación, un registro de la Tabla A (Proveedores) puede tener muchos registros
coincidentes en la Tabla B (Productos), pero un registro de la Tabla B sólo tiene un
registro coincidente en la Tabla A (figura 2-38).

Figura 2-38

2.8.2 Relación varios a varios


En una relación varios a varios, un registro de la Tabla A puede tener
muchos registros coincidentes en la Tabla B, y viceversa. Este tipo de relación sólo
es posible si se define una tercera tabla (denominada tabla de unión) cuya clave
principal consta de, al menos, dos campos; las claves externas de las Tablas A y B.
Por ejemplo, las tablas Pedidos y Productos tienen una relación varios a varios
definida mediante la creación de dos relaciones uno a varios con la tabla Detalles de
pedidos (figura 2-39).

Figura 2-39

diosestinta.blogspot.com
© RA-MA CAPITULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO... 103

2.8.3 Relación uno a uno


En una relación uno a uno, cada registro de la Tabla A sólo puede tener un
registro coincidente en la Tabla B, y viceversa. Este tipo de relación no es habitual,
debido a que la mayoría de la información relacionada de esta forma estaría en una sola
tabla. Puede utilizar la relación uno a uno para dividir una tabla con muchos campos,
para aislar parte de una tabla por razones de seguridad o para almacenar información
que sólo se aplica a un subconjunto de la tabla principal. Por ejemplo, puede crear una
tabla que registre los empleados participantes en un partido de fútbol benéfico (figura
2-40).

Figura 2-40

2.8.4 Definir relaciones


Para definir una relación, es necesario agregar a la ventana Relaciones las tablas
que se desea relacionar y, a continuación, arrastrar el campo clave de una tabla y
colocarlo en el campo clave de la otra tabla. También puede definir relaciones mediante
el teclado.

Figura 2-41

diosestinta.blogspot.com
104 ACCESS 2010. CURSO PRÁCTICO _________________________________________________ ©RA-MA

El tipo de relación que crea Microsoft Access (figura 2-41) depende de


cómo están definidos los campos relacionados.

• Se crea una relación uno a varios (1→∞) si uno de los campos relacionados es
una clave principal o tiene un índice único.

• Se crea una relación uno a uno si ambos campos relacionados son claves
principales o tienen índices únicos.

• Una relación varios a varios es, en realidad, dos relaciones uno a varios
con una tercera tabla cuya clave principal consta de dos campos; las claves
externas de las otras dos tablas.
Ejercicio 2-1. Consideramos una base de datos con cuatro tablas de nombres:
EMPLEADO (empleados de la empresa), OFICIOEMPLEADO (empleados con su
oficio), VIVIENDA (alojamiento de los empleados) y OFICIO (relación de oficios),
cuyos campos y registros se presentan inmediatamente después del enunciado del
ejercicio. En la tabla VIVIENDA tenemos como restricción de integridad que el
campo Alojamiento es clave única. En la tabla EMPLEADO tenemos que el campo
Nombre es clave única siendo el campo Alojamiento la clave externa de la tabla
VIVIENDA. En la tabla OFICIOEMPLEADO la clave única está formada por los
campos Nombre y Oficio simultáneamente. Por último, en la tabla OFICIO la clave
única está formada por los campos Oficio y Descripción simultáneamente. Realizar
un diseño adecuado para esta base de datos relacional.

Comenzamos presentando los campos y registros de todas las tablas del


enunciado del problema.

diosestinta.blogspot.com
© RA-MA ___________________ CAPITULO 2. CONCEPTOS, OBJETOS, OPERACIONES Y DISEÑO... 105

VIVIENDA

ALOJAMIENTO NOMBRECOMPLETO _____________________ RESPONSABLE __________________DIRECCION

PARACUELLOS PARACUELLOS JARAMA ALONSO TELLEZ ELIPA, 12


VALLECAS PUENTE VALLECAS EZQUERRO TOMÉ MUSAS, 1
PONCE PONCE LEÓN GONZÁLEZ LÓPEZ PONCE, 23
TOLEDO PUERTA TOLEDO JUÁREZ NORIEGA TOLEDO, 25
BARAJAS BARAJAS PUEBLO PÉREZ LÓPEZ ELOY, 2
BRASILIA PARQUE BRASILIA TEJERINA RUIZ BRASILIA, 3
PITIS ESTACIÓN PITIS VÁZQUEZ LÓPEZ PONCE, 46

OFICIO

OFICIO ______________________ DESCRIPCION

HERRERO HERRAR CABALLOS


CONDUCTOR CONDUCTOR DE AUTOBÚS
LEÑADOR TALAR ÁRBOLES
OBRERO TRABAJAR EN GENERAL
LABRADOR CULTIVAR LA TIERRA
PICADOR PICAR EN LOS TÚNELES DEL METRO

En la figura 2-42 se presenta la estructura de la base de datos relacional.

Figura 2-42

Ejercicio 2-2. Consideramos una base de datos con tablas de nombres DEPT
(departamentos de una empresa), EMP (empleados de la empresa) y SALGRADE
(nivel salarial de los empleados), cuyos campos y registros se presentan
inmediatamente después del enunciado del ejercicio. En la tabla DEPT tenemos
como restricción de integridad que el campo Deptno es clave primaria. En la tabla
EMP tenemos que el campo Empno es clave primaria. Además, la tabla EMP tiene
como clave foránea el campo Deptno referenciado con el mismo nombre en la tabla
DEPT. Realizar un diseño adecuado para esta base de datos relacional.

Comenzamos presentando los campos y registros de todas las tablas del


enunciado del problema.

diosestinta.blogspot.com
106 ACCESS 2010. CURSO PRACTICO ________________________________________________ © RA-MA

DEPTNO DNAME LOC

10 C ONT ABILIDAD NEW YOR K


20 INVEST IGAC IÓN DALLAS
30 VENT AS C HIC AGO
40 OP ER AC IONES BOSTON

EMPNO ENAME JOB MGR HIR EDAT E S AL COMM DEPT NO

7369 S M ITH OF IC INIST A 7902 17/12/1980 800 20


7499 ALLEN VENDEDOR 7698 20/02/1981 1600 300 30
7521 WAR D VENDEDOR 7698 22/02/1981 1250 500 30
7566 JONES MANAGER 7839 02/04/1981 2975 20
7654 MART IN VENDEDOR 7698 28/09/1981 1250 1400 30
7698 BLAKE MANAGER 7839 01/05/1981 2850 30
7782 C LAR K MANAGER 7839 09/06/1981 2450 10
7788 SC OTT ANALIS T A 7566 19/04/1987 3000 20
7839 KING PR ES IDENT E 17/11/1981 5000 10
7844 T UR NER VENDEDOR 7698 08/09/1981 1500 30
7876 ADAMS OF IC I NIST A 7788 23/05/1987 1100 20
7900 JAMES OF IC INIST A 7698 03/11/1981 950 30
7902 F OR D ANALIST A 7566 03/12/1981 3000 20
7934 MILLER OF IC INIST A 7782 23/01/1982 1300 10

GR ADE LOS AL HIS AL

1 700 1200
2 1201 1400
3 1401 2000
4 2001 3000
5 3001 9999

En la tabla DEPT (departamentos) el campo Deptno se refiere al número de


departamento y es numérico de longitud 2, el campo Dname se refiere al nombre
del departamento y es texto de longitud 14 y el campo Loe se refiere a la
localización física del departamento siendo de tipo texto con longitud 13.
En la tabla EMP (empleados) el campo Empno se refiere al número del
empleado y es numérico de longitud 4, el campo Ename se refiere al nombre del
empleado y es texto de longitud 10, el campo Job se refiere al trabajo del empleado
y es texto de longitud 9, el campo Mgr se refiere al código del oficio y es numérico
de longitud 4, el campo Hiredate se refiere a la fecha del contrato y es de tipo
fecha, el campo Sal se refiere al salario del empleado y es numérico de longitud 4,
el campo Comm se refiere a las comisiones de los empleados y es numérico de
longitud 4 y el campo Deptno se refiere al departamento del empleado siendo
numérico de longitud 2.
En la tabla SALGRADE (nivel salarial del empleado) el campo Grade se
refiere al nivel de salario y es numérico de longitud unitaria, el campo Losal se
refiere al salario mínimo y es numérico de longitud 4 y el campo Hisal se refiere al
salario máximo siendo numérico de longitud 4.

diosestinta.blogspot.com
©RA-MA _____________________ CAPITULO 2. CONCEPTOS. OBJETOS, OPERACIONES Y DISEÑO... 107

En la figura 2-43 se presenta la estructura de la base de datos relacional.

Figura 2-43

diosestinta.blogspot.com
Capítulo 3

CREACIÓN DE BASES DE DATOS, TABLAS,


RELACIONES, CLAVES E ÍNDICES

3.1 TAREAS PREVIAS A LA CREACION DE UNA BASE


DE DATOS
Antes de utilizar Microsoft Access para crear las tablas, los formularios y los
demás objetos que formarán la base de datos, es importante invertir algún tiempo en
diseñar la base de datos. Un buen diseño de la base de datos es la pieza clave para crear
una base de datos que realice las operaciones que desee de una forma efectiva, precisa
y eficaz.

En el capítulo anterior ya se ha estudiado la trayectoria genérica a seguir para


diseñar una base de datos. De esa trayectoria general, y particularizando ya a
Microsoft Access, se deduce que son pasos básicos en el diseño de una base de
datos los siguientes:

1. Determinar la finalidad de la base de datos.

2. Determinar las tablas que se necesitan en la base de datos.

3. Determinar los campos que se necesitan en las tablas.

4. Identificar los campos con valores exclusivos en cada registro.

5. Determinar las relaciones entre las tablas.

6. Perfeccionar el diseño.

diosestinta.blogspot.com
110 ACCESS 2010. CURSO PRACTICO © RA-MA

7. Introducir datos y crear otros objetos de la base de datos.


8. Utilizar las herramientas de análisis de Microsoft Access.
El primer paso para diseñar una base de datos es determinar su finalidad y
cómo utilizarla. Debe saber qué información desea obtener de la base de datos. A partir
de ahí, puede determinar sobre qué asuntos necesita almacenar hechos (las tablas) y
qué hechos necesita almacenar sobre cada asunto (los campos de las tablas). Hable con
los demás usuarios que utilizarán la base de datos. Piensen detenidamente en las
preguntas que desean que responda la base de datos. Realice bocetos de los informes
que desea que produzca. Reúna los formularios que utiliza actualmente para registrar
los datos. Examine bases de datos bien diseñadas similares a la que va a diseñar.

Determinar las tablas que se necesitan puede ser el paso más complicado del
proceso de diseño de la base de datos. Esto se debe a que los resultados que desea
obtener de la base de datos (los informes que desea imprimir, los formularios que desea
utilizar, las preguntas para las que desea respuestas) no proporcionan pistas
necesariamente acerca de la estructura de las tablas que los producen. No es necesario
que diseñe las tablas mediante Microsoft Access. De hecho, posiblemente sea más
conveniente realizar un boceto en papel de la base de datos y trabajar sobre el diseño
primero. Al diseñar las tablas, divida la información teniendo en cuenta los principios
de diseño fundamentales explicados en el capítulo anterior (normalización, etc.).

Determinar los campos que se necesitan es la siguiente tarea a tener en cuenta.


Cada tabla contiene información acerca del mismo asunto, y cada campo de una tabla
contiene hechos individuales sobre el asunto de la tabla. Por ejemplo, la tabla Clientes
puede incluir los campos del nombre de la compañía, la dirección, la ciudad, el país y
el número de teléfono. Al realizar bocetos de los campos para cada tabla, tenga en
cuenta estas sugerencias;

• Relacione cada campo directamente con el asunto de la tabla.

• No incluya datos derivados ni calculados (datos que son el resultado de una


expresión).

• Incluya toda la información que necesite.

• Almacene información en sus partes lógicas más pequeñas (por ejemplo,


Nombre y Apellidos, en lugar del Nombre completo).

• Defina de forma coherente los tipos de datos de los campos.

iQué tipo de datos utilizar para cada campo de cada tabla? Se trata de una
pregunta esencial. Decida qué tipo de datos va a utilizar para un campo teniendo en
cuenta las consideraciones siguientes:

diosestinta.blogspot.com
© RA-MA CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 111

• ¿Qué tipo de valores desea permitir en el campo? Por ejemplo, no se puede


almacenar texto en un campo cuyo tipo de datos es Numérico.

• ¿Cuánto espacio de almacenamiento desea utilizar para los valores del


campo?

• ¿Qué tipo de operaciones desea llevar a cabo con los valores del campo? Por
ejemplo, Microsoft Access puede sumar los valores de los campos Numérico y
Moneda, pero no los valores de los campos Texto u Objeto OLE.

• ¿Desea ordenar o indexar un campo? Los campos Objeto OLE no pueden


ordenarse ni indexarse.

• ¿Desea utilizar un campo para agrupar registros en consultas o informes?


Los campos Objeto OLE no pueden utilizarse para agrupar registros.

• ¿Cómo desea ordenar los valores de un campo? En un campo Texto, los


números se ordenan como cadenas de caracteres (1, 10, 100, 2, 20, 200,
etc.), no como valores numéricos. Utilice un campo Numérico o Moneda
para ordenar números como valores numéricos. Además, muchos formatos
de fecha tampoco se ordenan correctamente si se introducen en un campo
Texto. Utilice un campo Fecha/Hora para garantizar un orden correcto.

iQué campo o campos tienen valores únicos en cada registro! Estamos


ante otra pregunta fundamental. Para que Microsoft Access conecte información
almacenada en tablas independientes (por ejemplo, para conectar a un cliente con
todos los pedidos del cliente), cada tabla de la base de datos debe incluir un campo
o un conjunto de campos que identifiquen de forma exclusiva cada registro
individual de la tabla. Este campo o conjunto de campos ya sabemos que se
denomina clave principal.

La siguiente tarea crítica es determinar las relaciones entre las tablas. Ahora
que ha dividido la información en tablas y que ha identificado los campos de clave
principal, necesita una forma de indicar a Microsoft Access cómo volver a reunir
toda la información relacionada de un modo significativo. Para ello, debe definir
relaciones entre las tablas en una base de datos de Microsoft Access. Es fundamental
diseñar bien el esquema de relaciones entre los campos de las distintas tablas.

Una vez diseñadas las tablas, los campos y las relaciones que necesita, es el
momento de estudiar el diseño y detectar los posibles fallos que puedan quedar. Es más
sencillo cambiar el diseño de la base de datos ahora, que una vez que haya rellenado las
tablas con datos.

diosestinta.blogspot.com
112 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Utilice Microsoft Access para crear las tablas, especificar relaciones entre las
tablas e introducir suficientes datos de ejemplo en las tablas para poder comprobar el
diseño. Para probar las relaciones de la base de datos, compruebe si puede crear consultas
para obtener las respuestas que desee. Cree bocetos de los formularios e informes y
compruebe si muestran los datos que desea. Busque duplicaciones de datos innecesarias
y elimínelas. Si encuentra problemas, perfeccione el diseño.
Cuando considere que la estructura de las tablas cumple los principios de diseño
descritos anteriormente, es el momento de introducir datos y crear otros objetos de la
base de datos. Se comienza a agregar los datos existentes a las tablas y a continuación,
puede crear las consultas, formularios, informes, macros y módulos que desee.
Adicionalmente, Microsoft Access incluye herramientas que pueden
ayudarle a perfeccionar el diseño de la base de datos. Es posible analizar el diseño
de una tabla, proponer nuevas estructuras de tablas y relaciones si es conveniente y
dividir una tabla en nuevas tablas relacionadas si es necesario. También es posible
analizar el rendimiento de la base de datos completa y realizar recomendaciones y
sugerencias para mejorarla.

3.2 CREACIÓN DE BASES DE DATOS EN ACCESS 2010


Hay varias vías para crear una base de datos en Access 2010. Es posible
crear directamente una base de datos en blanco cuando se inicia el programa, crear
una base de datos a partir de una plantilla existente cuyo origen puede ser incluso
Microsoft Office Online y crear una base de datos en blanco desde el botón
Archivo. También es posible crear una base de datos web.
Para crear una nueva base de datos en blanco, inicie Access y en el botón
Archivo elija Nuevo y haga clic en Base de datos en blanco (figura 3-1) o en Base de
datos web en blanco si se crea la base en la web. Bajo el panel Base de datos en
blanco, en el cuadro Nombre de archivo, escriba un nombre de archivo (figura 3-2).
Por último, haga clic en Crear. Se crea la base de datos y se abre una tabla en la
vista Hoja de datos (figura 3-3) lo que permite crear ya las tablas.

Figura 3-1

diosestinta.blogspot.com
@ RA-MA CAPITULO 3. CREACION DE BASES DE DATOS... 113

Figura 3-2

Figura 3-3

Hemos visto que cuando se crea una nueva base de datos, se abre la tabla de
nombre Tabla1 (por defecto) en la vista Floja de datos. Es posible agregar
inmediatamente campos a la tabla haciendo clic sobre Haga clic para agregar en la
figura 3-3 y escribiendo su nombre. Se pulsa Intro y Haga clic para agregar se
desplaza a la siguiente columna a la derecha (figura 3-4). Para introducir un nuevo
campo en la tabla se vuelve a hacer clic en Haga clic para agregar y se escribe su
nombre y así sucesivamente se pueden ir añadiendo más campos hasta completar
todos los campos de la tabla (figura 3-5). La siguiente tarea será introducir los datos
en los campos como si se tratase de una hoja de cálculo (figura 3-6).

diosestinta.blogspot.com
114 ACCESS 2010. CURSO PRACTICO © RA-MA

De momento los tipos de datos y sus propiedades los asigna Access por
defecto de acuerdo a la información que vamos almacenando en la tabla. No
obstante, los tipos de datos podrán seleccionarse a medida tal y como veremos más
adelante.

Figura 3-4

Figura 3-5

Figura 3-6

Una vez completados los datos de una tabla, puede guardarse a través de la
opción Guardar del menú emergente que se obtiene al hacer clic con el botón
derecho del ratón sobre la ficha que contiene el nombre de la tabla (figura 3-7). La
primera vez que se guarda se obtiene la pantalla Guardar como en la que podemos
introducir un nombre para la tabla (figura 3-8). Al hacer clic en Aceptar se guarda
la tabla con ese nombre.

diosestinta.blogspot.com
@ RA-MA CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 115

Figura 3-7

Figura 3-8
Para guardar la base de datos se hace che en el Botón Archivo y a
continuación en Guardar base de datos como para elegir el formato adecuado al
guardar y el nombre adecuado para la base de datos. La opción Guardar guarda la
base de datos con el nombre y formato actuales.

Figura 3-9

diosestinta.blogspot.com
116 ACCESS 2010. CURSO PRÁCTICO ____________________________________________________© RA-MA

También es posible crear una nueva base de datos en blanco en la web


desde el botón Archivo. Para ello, inicie Access desde el menú Inicio o desde un
acceso directo. Haga clic en el Botón Archivo y elija Nuevo en la figura 3-2. Bajo
Plantillas disponibles haga clic en Base de datos web en blanco y en el cuadro
Nombre de archivo, escriba un nombre de archivo. Haga clic en Crear. Se crea una
nueva base de datos en formato web y se abre una nueva tabla en la vista Hoja de
datos. A partir de ahora se introducen los datos tal y como ya hemos vito
anteriormente.
Adicionalmente, también es habitual crear una base de datos a partir de una
plantilla. Para ello inicie Access, haga clic en el botón Archivo y a continuación en
Nuevo. Bajo Plantillas disponibles, haga clic en una categoría adecuada a sus
necesidades y, cuando aparezcan las plantillas de esa categoría, haga clic en la plantilla
que más se acomode a su finalidad. Por ejemplo, podemos elegir la categoría Plantillas
de ejemplos de la figura 3-10. En la figura 3-11 elegimos Base de datos web de
contactos ya que queremos elaborar una base de datos de contactos de la empresa
(clientes, socios, etc.). En el cuadro Nombre de archivo situado a la derecha, escriba un
nombre de archivo o use el nombre proporcionado por defecto (figura 3-11). Al hacer
clic en Crear, Access descarga automáticamente la plantilla, crea una nueva base de
datos a partir de esa plantilla y abre la base de datos. A continuación, al hacer clic en la
solapa Hoja de datos, ya se puede introducir la información en las tablas y usar los
objetos (figura 3-12) que podrán ser modificados y adecuados a nuestras necesidades
pudiendo cambiar incluso la propia plantilla.

Figura 3-10

diosestinta.blogspot.com
©RA-MA CAPITULO 3. CREACION DE BASES DE DATOS... 117

Figura 3-11

Figura 3-12

Además de las plantillas locales que se instalan por defecto en Access


2010, es posible utilizar plantillas adicionales que Microsoft pone a disposición de
los usuarios a través de Microsoft Office Online directamente desde la interfaz de
usuario de Access 2010. Para utilizar estas plantillas inicie Access, haga clic en el
Botón Archivo y elija Nuevo. En la figura 3-10, bajo Plantillas de Office.com, haga
clic en la plantilla que se desee (Activos). En el cuadro Nombre de archivo situado a
la derecha, escriba un nombre de archivo o use el nombre por defecto (figura 3 -13).
Al hacer clic en Descargar, después de introducir los datos de usuario, Access
incorpora la plantilla (figura 3-14).

diosestinta.blogspot.com
118 ACCESS 2010. CURSO PRÁCTICO __________________________________________________ ©RA-MA

Figura 3-13

Figura 3-14

Si en la figura 3-10 hacemos clic en Buscar plantillas en Office.com se


pueden utilizar plantillas adicionales de la web de Microsoft.

3.3 ABRIR Y CERRAR UNA BASE DE DATOS

Para abrir una base de datos se hace clic en el Botón Archivo y a


continuación en Abrir (figura 3-15). Cuando aparezca el cuadro de diálogo Abrir
(figura 3-16), escriba un nombre de archivo y, a continuación, haga clic en Abrir.
Se abrirá la base de datos (figura 3-17).

diosestinta.blogspot.com
© RA-MA CAPITULO 3. CREACION DE BASES DE DATOS... 119

Figura 3-15

Figura 3-16

diosestinta.blogspot.com
120 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Figura 3-17

Si la base de datos que desea abrir aparece en el panel derecho de la


opción Reciente del Botón Archivo bajo el epígrafe de Bases de datos recientes
(figura 3-18), haga clic sobre ella y se abrirá automáticamente. Así mismo, si la
base de datos a abrir ha sido usada recientemente y aparece directamente en la
lista de opciones del Botón Archivo, basta con hacer clic sobre ella para que se
abra inmediatamente.

Figura 3-18

Para cerrar la base de datos actual, haga clic en el Botón Archivo y


seleccione Cerrar base de datos (figura 3-19).

diosestinta.blogspot.com
©RA-MA CAPITULO 3. CREACION DE BASES DE DATOS... 121

Figura 3-19

3.4 VISTA HOJA DE DATOS. TRABAJO CON TABLAS


En los párrafos anteriores ya hemos visto cómo Access 2010 permite crear
directamente una tabla en la vista Hoja de datos al crear la base de datos. También
hemos visto cómo introducir registros en la tabla y guardarla con el nombre
deseado una vez finalizado el trabajo de introducción de datos. También hemos
visto cómo guardar la propia base de datos con el nombre adecuado. En este
apartado nos ocuparemos de la administración de las tablas de la base de datos ya
creada y del trabajo habitual con sus campos y registros.

3.4.1 Añadir nuevas tablas a una base de datos


Para agregar una nueva tabla a una base de datos se hace clic en Tabla en
la ficha Crear (figura 3-20). Se obtiene la vista Hoja de datos (figura 3-21) con la
nueva tabla de nombre Tabla1 por defecto en la que se puede introducir sus
campos y registros y guardarla por el mismo procedimiento utilizado para la tabla
CURSO creada anteriormente en el epígrafe de creación de bases de datos. De la
misma forma se completarán las sucesivas tablas de la base de datos.

Figura 3-20

diosestinta.blogspot.com
122 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Figura 3-21

Una vez completadas todas las tablas de la base de datos, cuyos datos ya
fueron expuestos en el diseño del capítulo anterior (figura 3-22), puede guardarse
la base de datos como una Base de datos de Access 2010 mediante la opción
Guardar base de datos como del Botón Archivo con el nombre EDUCA. El fichero
que se genera tiene de nombre EDUCA.ACCDB.

Si se quiere, también puede guardarse la base de datos en formatos de


versiones anteriores {Base de datos de Access 2002-2003 y Base de datos Access
2000) eligiendo la correspondiente opción del menú Guardar & Publicar del Botón
Archivo (figura 3-23). El fichero que se genera en estos dos últimos casos tiene de
nombre EDUCA.MDB. Obsérvese el cambio de extensión de los ficheros de base
de datos que se experimenta en la versión 2010 de Access.

Figura 3-22

diosestinta.blogspot.com
@ RA-MA ___________________________________ CAPITULO 3. CREACION DE BASES DE DATOS... 123

Figura 3-23

3.4.2 Añadir nuevos campos a las tablas de una base de datos


Podemos añadir nuevos campos a las tablas utilizando la opción Agregar
nuevo campo (figura 3-21) tal y como se ha hecho hasta ahora, pero cuando se crea
una tabla nueva en la base de datos, aparece la barra Herramientas de tabla, cuyas
fichas Campos y Tablas contienen grupos cuyas opciones permiten trabajar con
campos, registros, formatos, tipos de datos y relaciones (figuras 3-24 y 3-25).
Concretamente, las opciones del grupo Agregar y eliminar de la figura 3-24 permiten
agregar y eliminar todo tipo de campos a las tablas.

Figura 3-24

Figura 3-25

diosestinta.blogspot.com
124 ACCESS 2010. CURSO PRACTICO ©RA-MA

Para agregar campos a una tabla existente en la vista Hoja de datos puede
utilizarse la barra Herramientas de tabla. Para ello, en la ficha Campos, en el grupo
Agregar y eliminar de la figura 3-24, haga clic en el tipo de campo que desea
agregar. También utilizar la opción Más campos y seleccionar de la lista el tipo de
campo a crear (figura 3-26). El nuevo campo aparece en la hoja de datos (figura 3-27).
Posteriormente podrá cambiarse su nombre como veremos luego.

Figura 3-26

Figura 3-27

diosestinta.blogspot.com
©RA-MA CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 125

3.4.3 Insertar, eliminar y cambiar nombre a los campos


Las opciones Insertar campo. Eliminar campo y Cambiar nombre de campo
del menú emergente que se obtiene al hacer clic con el botón derecho del ratón sobre
un campo seleccionado en la tabla en la vista Hoja de datos (figura 3-28) permiten
insertar, eliminar y cambiar el nombre a los campos seleccionados en las tablas de la
base de datos.
Para insertar un campo en un lugar específico de una tabla, se selecciona el
campo situado a la derecha del punto de inserción deseado y a continuación se hace
clic en Insertar campo en el menú emergente de la figura 3-28. Se produce la
inserción del campo con el nombre Campo1 por defecto (figura 3-29), que
posteriormente puede ser cambiado.

Figura 3-28

Figura 3-29

diosestinta.blogspot.com
126 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Para cambiar el nombre a un campo de una tabla, se selecciona el campo y a


continuación se hace clic en Cambiar nombre de campo en el menú emergente de la
figura 3-28. A continuación se escribe el nuevo nombre de campo encima del antiguo
(figura 3-30). Los nombres de campo pueden contener un máximo de 64 caracteres
(letras y números) incluyendo espacios.

Figura 3-30

Para eliminar uno o varios campos de una tabla, se seleccionan los campos a
borrar y a continuación se hace clic en Eliminar campo en el menú emergente de la
figura 3-31. Se obtiene la pantalla de la figura 3-32 que pide la confirmación del
borrado. Al hacer clic en Sí, se produce la eliminación de los campos. En la figura 3-33
se observan ya los campos de la tabla sin incluir los borrados.

Figura 3-31

diosestinta.blogspot.com
©RA-MA CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 127

Figura 3-32

Figura 3-33

3.4.4 Tipos de datos, formatos y propiedades de campos


En Access 2010, en la vista Hoja de datos, podemos elegir el tipo de datos
a medida para un determinado campo. Para ello se selecciona el campo sobre la
tabla y en la barra Herramientas de tabla, en la ficha Campos, en el grupo
Formato, hacemos clic en Tipo de datos. En el desplegable de la figura 3-34 haga
clic en el tipo de datos que desee.

Figura 3-34

diosestinta.blogspot.com
128 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Existen determinados tipos de datos que admiten formato. Cuando el tipo


de datos elegido para un campo admite formato (por ejemplo el tipo Numérico), es
posible elegir dicho formato a medida. Para ello se selecciona el campo sobre la
tabla y en la ficha Campos, en el grupo Formato, haga clic en Formato. En el
desplegable de la figura 3-35 haga clic en el formato que desee.

Figura 3-35

Cada campo de una tabla tiene un grupo de propiedades (requerido,


indizado, etc.) que dependen del tipo de datos del campo. Para definir propiedades
de campos en la vista Hoja de datos haga clic en el campo para el que desea definir
la propiedad y en la ficha Campos, en el grupo Validación de campos (figura 3-36),
seleccione Unico para definir la propiedad de campo con valores únicos, Indizada
para campos indizados y Requerido para activar o desactivar el valor de la citada
propiedad para el campo.

También pueden restringirse mediante expresiones los valores a escribir en


un campo utilizando la opción Regla de validación de campo del grupo Validación
de campo de la ficha Campos de la barra de Herramientas de tabla (figura 3-37).

En la vista Diseño pueden precisarse mucho más los tipos de datos,


formatos y propiedades de los campos, tal y como veremos posteriormente.

Figura 3-36

diosestinta.blogspot.com
@ RA-MA CAPITULO 3. CREACION DE BASES DE DATOS... 129

Figura 3-37

3.4.5 Trabajar con registros


Las opciones del grupo Registros de la ficha Inicio (figura 3-38) permiten
trabajar con los registros de las tablas. Las opciones de este grupo permiten
acmalizar los registros de la tabla actual después de modificaciones {Actualizar
rodo), introducir nuevos registros al final de la tabla {Nuevo), guardar registros
I Guardar), eliminar los registros y columnas seleccionados {Eliminar), agregar la
fila totales para situar totales en los campos numéricos {Totales) tal y como se
observa en la figura 3-39, revisar la ortografía del contenido de los registros
i Revisión ortográfica) y otras opciones {Más) especificadas en la figura 3-40, como
ocultar las columnas seleccionadas, mostrar las columnas que se indiquen,
administrar el alto de fila (figura 3-41) y el ancho de columna (figura 3-42),
inmovilizar y liberar los registros seleccionados, trabajar con hojas secundarias de
datos e interrelacionar con Outlook.

Figura 3-38

diosestinta.blogspot.com
130 ACCESS 2010. CURSO PRÁCTICO ______________________________________________________ ©RA-MA

Figura 3-39

Figura 3-40

Figura 3-41 Figura 3-42


Las tareas típicas de formato de fuente de los registros (tipo, tamaño, resaltado,
sombreado, color, etc.) se realizan a través de las opciones del grupo Formato de texto
de la ficha Inicio (figura 3-43). Los iconos Negrita, Cursiva y Subrayado
realizan la función que su nombre indica aplicando negrita, cursiva y subrayado a la
selección. El icono Color de fuente permite aplicar color a la fuente de los
registros. El icono Color de relleno (o fondo) aplica el color seleccionado al
relleno o fondo. El icono Color de fondo (o relleno) aplica el color seleccionado al fondo o
relleno. El icono Líneas de división \ permite seleccionar
un tipo de líneas de división para la tabla (figura 3-44).

diosestinta.blogspot.com
© RA-MA ______________________________________ CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 131

La alineación del texto de los registros para dar formato óptimo a las tablas
se realiza a través de los iconos de Alinear el texto . Haciendo clic en los iconos de
alineación, se consigue que el texto quede alineado a la izquierda, centrado
o alineado a la derecha respectivamente.

Figura 3-43

Figura 3-44
El trabajo con sangrías, viñetas, dirección de texto y color de resaltado de texto
de los registros se realiza a través de las opciones restantes del grupo Formato de
texto de la ficha Inicio. Los iconos Disminuir sangría y Aumentar sangría
permiten retroceder y avanzar un espacio de tabulación la sangría del contenido de las
celdas. La sangría es el espacio que hay entre el margen izquierdo y las primeras letras
escritas en el párrafo. El icono Dirección del texto permite establecer la dirección
del texto que se muestra de izquierda a derecha. El icono Color de resaltado de texto
cambia el aspecto del texto cono si estuviese afectado por un marcador. Los iconos
Numeración y Viñetas permiten iniciar una lista numerada y con viñetas respectivamente.
El grupo Ordenar y filtrar de la ficha Inicio (figura 3-45) tiene opciones que
permiten ordenar de forma ascendente y descendente los registros, eliminar las
ordenaciones , filtrar los registros según determinados criterios (Filtro), seleccionar
registros en las tablas mediante condiciones (Selección), administrar filtros (Avanzadas) y
aplicar o quitar filtro según exista o no un filtro actualmente (Alternar filtro).

Figura 3-45

diosestinta.blogspot.com
132 ACCESS 2010. CURSO PRACTICO__________________________________________________________ ©RA-MA

Para realizar búsquedas en los registros se utilizan las opciones del grupo
Buscar de la ficha Inicio (figura 3-46) que contiene opciones que permiten buscar
en los registros el texto con las condiciones de búsqueda que se indican en la
pantalla Buscar y reemplazar que se obtiene al hacer clic en Buscar (figura 3-47),
reemplazar un contenido por otro especificados ambos y las condiciones de
búsqueda y reemplazo en la pantalla Buscar y reemplazar que se obtiene al hacer
clic en el icono (figura 3-48), ir a un registro concreto (primero, anterior,
siguiente, último o nuevo) elegido en la figura 3-49 que se obtiene al hacer clic en
el icono y seleccionar el registro donde se encuentra actualmente el cursor
(Seleccionar) o todos los registros (Seleccionar todos) según las opciones de la
figura 3-50 que se obtienen al hacer clic en el icono .

Figura 3-46

Figura 3-47

Figura 3-48

diosestinta.blogspot.com
© RA-MA CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 133

Figura 3-49 Figura 3-50

Las tareas habituales de cortar, copiar y pegar registros, así como la


escobilla de copiar estilo típica en las aplicaciones de Microsoft, se realizan a
través de las opciones del grupo Portapapeles (figura 3-51). La opción Pegar
presenta el menú desplegable de la figura 3-52, cuyas opciones permiten pegar
normalmente, pegado especial según distintas opciones de formato (texto, registros
de datos, CSV, etc.) y pegar datos anexados.

Figura 3-51

Figura 3-52

3.4.6 Tareas especiales con tablas. Exportar, importar,


cortar, copiar, pegar, eliminar y ocultar tablas
Es posible abrir, cambiar nombre, importar, exportar, ocultar, eliminar,
cortar, pegar y copiar tablas a través de las opciones del menú emergente que se
obtiene si hacemos clic con el botón derecho del ratón sobre la tabla afectada en el
panel de objetos en la vista Hoja de datos (figura 3-53). Los formatos desde los que
se puede importar se observan en la figura 3-54 y los formatos a los que se puede
exportar aparecen en la figura 3-55.

diosestinta.blogspot.com
134 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Figura 3-53

Figura 3-54

diosestinta.blogspot.com
©RA-MA CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 135

Figura 3-55

3.5 VISTA DISEÑO. CLAVES, ÍNDICES, TIPOS DE


DATOS Y PROPIEDADES
En la vista Diseño trabajamos únicamente con la estructura de las tablas
(nombres de campos, tipos de datos, propiedades, etc.), pero no con sus contenidos.
En la vista Hoja de datos normalmente trabajamos con los contenidos de la tabla,
es decir, con sus datos. Para pasar de la vista Hoja de datos a otra mientras una tabla
está abierta, haga clic sobre la flecha del botón Ver del grupo Vistas de la ficha
Inicio y en el desplegable de la figura 3-56 elija la vista que desee. Si elegimos Vista
Diseño se obtiene la tabla actual en la vista Diseño (figura 3-57). También podemos
alternar entre la vista Diseño, la vista Hoja de datos y otras vistas, eligiendo los
iconos correspondientes situados a la derecha de la barra de estado .

Figura 3-56

diosestinta.blogspot.com
136 ACCESS 2010. CURSO PRACTICO ©RA-MA

Figura 3-57

En la vista Diseño podemos ver y modificar la estructura fiindamental de la


tabla. Los nombres de los campos aparecen listados bajo la columna de la
izquierda, y el tipo de datos, la descripción y las propiedades de campo aparecen
también a lo largo de la tabla, pero los datos de la tabla no son visibles.
Al seleccionar una tabla en la vista Diseño aparece la barra Herramientas
de tabla con la ficha Diseño, cuyos grupos y opciones permiten la gestión del
diseño y se observan en la figura 3-58.

Figura 3-58

La opción Ver del grupo Vistas de la ficha Diseño permite cambiar entre tipos
de vistas para la tabla (figura 3-59). La opción Clave principal del grupo Herramientas
permite establecer o quitar como clave principal de la tabla el campo o grupo de
campos previamente seleccionados en la vista Diseño. La opción Probar reglas de
validación advierte si los datos existentes infringen una regla de validación. En un
principio se obtiene la advertencia de que se va a realizar la validación (figura 3-60) y
después de Aceptar se obtiene el resultado de la validación (figura 3-61).

diosestinta.blogspot.com
©RA-MA CAPITULO 3. CREACION DE BASES DE DATOS... 137

Las opciones Insertar filas y Eliminar filas añaden y quitan las filas
seleccionadas en la pantalla de la vista Diseño. La opción Columna de búsqueda
inserta una columna de búsqueda en el diseño. La opción Hoja de propiedades del
grupo Mostrar u ocultar inserta la citada hoja en el diseño (figura 3-62) y la opción
índices se utiliza para definir como índice en el diseño el campo o campos
seleccionados.

Figura 3-59

Figura 3-60

Figura 3-61

diosestinta.blogspot.com
138 ACCESS 2010. CURSO PRÁCTICO __________________________________________________________ ® RA-MA

Figura 3-62

3.5.1 Establecer y quitar la clave primaria


Para establecer o cambiar la clave principal o primaria de una tabla abra la
tabla en la vista Diseño, seleccione el campo o los campos que desea utilizar como
clave principal y en la ficha Diseño, en el grupo Herramientas, haga clic en Clave
principal Se agrega un indicador de clave a la izquierda del campo o campos que
ha especificado como clave principal.

En la figura 3-63 hemos definido los campos CNO y SEC como clave
principal para la tabla CLASE. Para seleccionar un campo, haga clic en el selector de
filas del campo que desee. Para seleccionar varios campos para una clave compuesta,
presione la tecla CTRL y haga clic en el selector de filas de cada campo. Access crea
automáticamente un índice para la clave principal, que permite agilizar las consultas
y otras operaciones. Access comprueba también que cada registro tiene un valor en el
campo de clave principal y que éste es siempre distinto.

No olvidemos que la clave primaria de una tabla consta de uno o varios


campos que identifican inequívocamente cada fila almacenada en la tabla (número de
identificación exclusivo Id., número de serie o un código).

diosestinta.blogspot.com
©RA-MA ______________________________________ CAPÍTULO 3. CREACION DE BASES DE DATOS... 139

Figura 3-63

Para quitar la clave principal de una tabla abra la tabla en la vista Diseño,
haga clic en el selector de filas de todos los campos de la clave principal actual y
en la ficha Diseño, en el grupo Herramientas, haga clic en Clave principal. El
indicador de clave se quita del campo o campos de la clave principal. Al intentar
guardar una tabla sin definir ninguna clave principal, Access le pedirá que cree
una. Si elige Sí, se crea un campo Id. con el tipo de datos Autonumérico como
clave principal, salvo que la tabla ya incluya un campo autonumérico, en cuyo caso
se utilizará como clave principal.

3.5.2 Establecer y quitar índices


Como ya sabemos, los índices se utilizan para buscar y ordenar registros
con mayor rapidez. Un índice almacena la ubicación de los registros basándose en
el campo o campos que se decidan indizar. Una vez que Access ha obtenido la
ubicación en el índice, puede recuperar los datos al ir directamente a la ubicación
correcta. De esta forma, utilizar un índice puede ser mucho más rápido que buscar en
todos los registros para encontrar los datos. Un índice puede utilizar uno o varios
campos. Habitualmente se utilizará un campo o grupo de campos como índice si se
prevé que se buscarán valores almacenados en esos campos o que se realizarán
ordenaciones por los valores de los campos. Es conveniente que los campos que
componen el índice tengan la mayoría de sus valores distintos.

diosestinta.blogspot.com
140 ACCESS 2010. CURSO PRÁCTICO _________________________________________________________________ ©RA-MA

Para crear un índice de un solo campo, muestre la tabla en la que desea crear
el índice en vista Diseño, haga clic en el Nombre de campo del campo que desea
indizar y en Propiedades del campo, haga clic en la ficha General. En la propiedad
Indizado, haga clic en Sí (con duplicados) si desea permitir duplicados o en Sí (sin
duplicados) para crear un índice único (figura 3-64). Para guardar los cambios, haga
clic en Guardar en la barra de herramientas de acceso rápido o presione CTRL+G.

Figura 3-64

Para crear un índice de varios campos muestre la tabla en la que desea crear
el índice en vista Diseño, y en la ficha Diseño, en el grupo Mostrar u ocultar, haga
clic en Indices (figura 3-65). Se obtiene la ventana índices (figura 3-66). En la
columna Nombre del índice, en la primera fila en blanco, escriba el nombre del
índice. Puede utilizar el nombre de uno de los campos del índice o cualquier otro
nombre. En la columna Nombre de campo, haga clic en la flecha y, a continuación,
en el primer campo que desee utilizar para el índice. En la siguiente fila, deje en
blanco la columna Nombre del índice y, a continuación, en la columna Nombre de
campo, haga clic en el segundo campo del índice. Repita estos pasos hasta que haya
seleccionado todos los campos que desee incluir en el índice. El orden
predeterminado de los valores de los campos es ascendente (para cambiar el orden de
los valores de un campo, en la columna Criterio de ordenación de la ventana índices,
haga clic en Ascendente o en Descendente). A continuación, en la ventana índices, en
Propiedades del índice (parte inferior de la figura 3-66), establezca las propiedades
del índice para la fila en la columna Nombre del índice que contiene el nombre del
índice. Para guardar los cambios, haga clic en Guardar en la barra de herramientas
de acceso rápido. Finalmente se cierra la ventana índices. Un índice puede incluir
hasta 10 campos.

diosestinta.blogspot.com
©RA-MA _____________________________________ CAPITULO 3. CREACION DE BASES DE DATOS... 141

Figura 3-65

Figura 3-66

Para eliminar un índice muestre la tabla en la que desea eliminar el índice


en vista Diseño y en la ficha Diseño, en el grupo Mostrar u ocultar, haga clic en
índices. En la ventana índices seleccione la fila o las filas que contienen el índice
que desea eliminar y, a continuación, presione SUPR. Para guardar los cambios,
haga clic en Guardar en la barra de herramientas de acceso rápido. Por último,
cierre la ventana Indices.
Para modificar un índice muestre la tabla en la que desea modificar el
índice en vista Diseño y en la ficha Diseño, en el grupo Mostrar u ocultar, haga
clic en índices. En la ventana índices vea y modifique los índices y las propiedades
de índice de modo que se acomoden a sus necesidades. Para guardar los cambios,
haga clic en Guardar en la barra de herramientas de acceso rápido. Por último,
cierre la ventana Indices.

diosestinta.blogspot.com
142 ACCESS 2010. CURSO PRACTICO ©RA-MA

3.5.3 Tipos de datos y formatos


En la vista Diseño podemos ver y modificar la estructura fundamental de la
tabla. Los nombres de los campos aparecen listados bajo la columna de la
izquierda, y el tipo de datos, la descripción y las propiedades de campo aparecen
también a lo largo de la tabla. Concretamente en la columna Tipo de datos se puede
hacer clic en la flecha situada a la derecha del tipo de datos de cualquier campo y
elegir un nuevo tipo de datos en el menú desplegable (figura 3-67).

Figura 3-67

Adicionalmente, en la parte inferior de la figura 3-67, en la zona de


Propiedades de campo, se puede elegir el formato preciso para el campo
seleccionado en la parte superior de la figura. En la figura 3-67 se observa que el
campo FSUELDO de la tabla CLAUSTRO es de tipo Numérico y concretamente
Decimal con 7 dígitos en total {Precisión) y 2 decimales {Escala), Del mismo
modo, la vista Diseño permite definir de forma muy concreta el tipo de datos y el
formato de cada campo de todas las tablas de la base de datos.
Los tipos de datos que se pueden asignar a un campo en Access se
presentan en la tabla siguiente:

diosestinta.blogspot.com
©RA-MA CAPÍTULO 3. CREACION DE BASES DE DATOS... 143

Tipo de datos Utilización Tamaño


Texto Texto 0 combinaciones de texto y números Hasta 255 caracteres. Access sólo
como, por ejemplo, direcciones. Así almacena los caracteres insertados en un
mismo, números que no requieren cálculos campo y no almacena espacios de
como, por ejemplo, números de teléfono, caracteres correspondientes a posiciones
números de pieza o códigos postales. no usadas en un campo Texto.
Memo Texto y números de gran longitud (más Hasta 1 gigabyte de caracteres o 2
de 255 caracteres) como, por ejemplo, gigabytes de almacenamiento (se usan
notas 0 descripciones. hasta 65.535 caracteres en un control).
Numérico Datos numéricos que se han de utilizar 1, 2, 4 u 8 bytes. 16 bytes para Id. de
para cálculos matemáticos, exceptuando réplica (GUID) exclusivamente.
los cálculos relacionados con dinero
(utilice en este caso el tipo Moneda).
Fecha/Hora Fechas y horas. 8 bytes.
Moneda Valores de moneda. Precisión de 15 dígitos 8 bytes.
a la izquierda del separador de decimales y
de 4 dígitos a la derecha del mismo.
Autonumérico Números secuenciales exclusivos (con 4 bytes. 16 bytes para Id. de réplica
incremento de una unidad) o números (GUID) exclusivamente.
aleatorios que se insertan automáticamente
cuando se agrega un registro.
Sí/No Campos que van a contener sólo uno de 1 bit.
dos valores posibles, como Sí/No,
Verdadero/Falso, Activado/Desactivado.
Objeto OLE Objetos creados en otros programas Hasta 1 gigabyte (limitado por el
mediante el protocolo OLE, que se espacio en disco).
pueden vincular a, o incrustar en, una
tabla de Microsoft Access.
Hipervínculo Campo que va a almacenar Hasta 1 gigabyte de caracteres o 2
hipervínculos. Un hipervínculo puede ser gigabytes de almacenamiento (se usan
una ruta UNC o una dirección URL. hasta 65.535 caracteres en un control).
Asistente para Crea un campo que permite elegir un El mismo tamaño que el campo de
búsquedas valor de otra tabla o de una lista de clave principal que también es el
valores mediante el empleo de un cuadro campo de búsqueda; normalmente 4
combinado. La elección de esta opción bytes.
en la lista de tipos de datos inicia un
asistente que realiza la definición
automáticamente.

3.5.4 Propiedades de campos


Las propiedades de los campos se utilizan para controlar la apariencia de la
información, impedir que se especifiquen entradas incorrectas, especificar valores
predeterminados, agilizar las operaciones de búsqueda y ordenación y controlar
otras características de la apariencia y del funcionamiento definiendo propiedades
de campo. Por ejemplo, puede aplicar formato a los números para facilitar su
lectura o puede definir una regla de validación que deba satisfacerse para la
información especificada en un campo.

diosestinta.blogspot.com
144 ACCESS 2010. CURSO PRACTICO ©RA-MA

Las propiedades de campo se sitúan en la parte inferior de la pantalla de la


vista Diseño en la sección Propiedades de campo (figura 3-68). En esta sección se
presentan las propiedades de campo relativas al campo seleccionado en la parte
superior de la pantalla.

Figura 3-68

Para definir una propiedad de campo para una tabla en la vista Diseño
abra la tabla en la vista Diseño y en la parte superior de la cuadrícula de diseño de
la tabla, haga clic en el campo para el que desea definir propiedades (o desplácese a
ese campo mediante las teclas de dirección). Access muestra las propiedades de
este campo en la parte inferior de la cuadrícula de diseño de la tabla (figura 3-68).
El tipo de datos del campo determina las propiedades que se pueden definir.

En la parte inferior de la ventana, bajo Propiedades del campo, haga clic en


el cuadro de la propiedad del campo que desea definir y especifique un valor para la
propiedad o, si aparece una fecha en el margen derecho del cuadro de propiedad,
haga clic en la flecha para seleccionar un valor de una lista de valores de la propiedad
(figura 3-69). Si va a especificar una máscara de entrada o una expresión de
validación y desea obtener ayuda, haga clic en situado junto al cuadro de
propiedad para mostrar el generador correspondiente (figura 3-70). Guarde los
cambios haciendo clic en Guardar en la Barra de herramientas de acceso rápido
o haciendo clic con el botón secundario del ratón en la ficha de documento de la tabla
y, a continuación, haciendo clic en Guardar en el menú contextual. También se
puede hacer clic en el Botón Microsoft: Office y, a continuación, en Guardar.

diosestinta.blogspot.com
@ RA-MA ______________________________________ CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 145

Figura 3-69

Figura 3-70

La tabla siguiente resume las propiedades de campos más importantes.

Utilice esta propiedad Para


TamañoDelCampo
De campo Definir el tamaño máximo de los datos almacenados con el tipo de
datos Texto, Número o Autonumérico.
Formato Personalizar el modo en que aparece el campo cuando se muestra o
imprime.
LugaresDecimales Especificar el número de posiciones decimales utilizadas al
mostrar números.
NuevosValores Indicar si el valor de un campo Autonumérico aumenta o recibe un
valor aleatorio.

diosestinta.blogspot.com
146 ACCESS 2010. CURSO PRACTICO ©RA-MA

MáscaraDeEntrada Mostrar caracteres de edición como guía para la entrada de datos.


Título Definir el texto que se muestra de forma predeterminada en las
etiquetas de los formularios, informes y consultas.
ValorPredeterminado Asignar automáticamente un valor predeterminado a un campo
cuando se agregan nuevos registros.
ReglaDeValidación Proporcionar una expresión que debe ser verdadera cuando se
agrega o cambia el valor del campo.
TextoDeValidación Especificar el texto que aparece cuando un valor infringe la
expresión ReglaDeValidación.
Requerido Exigir que se especifiquen datos en un campo. J
PermitirLongitudCero Permitir que se especifique (estableciendo la propiedad en Sí) una
cadena de longitud cero ("") en un campo Texto o Memo.
Indizado Agilizar el acceso a los datos de un campo mediante la creación y
utilización de un índice.
CompresiónUnicode Comprimir el texto almacenado en este campo cuando se
especifica una gran cantidad de texto (> 4.096 caracteres).
ModoIME Controlar la conversión de caracteres en la versión asiática de
Windows.
ModoDeOracionesIME Controlar la conversión de caracteres en la versión asiática de
Windows.
Etiquetasinteligentes Anexar una tarjeta inteligente al campo.
Sólo Anexar Permitir el control de versiones (estableciendo la propiedad en Sí)
de un campo Memo.
FormatoDeTexto Seleccionar Texto enriquecido para almacenar texto como HTML
y permitir el formato de texto enriquecido. Seleccionar Texto sin
formato para almacenar sólo texto.
AlineaciónDelTexto Especificar la alineación predeterminada del texto dentro de un
control.
Precisión Especificar el número total de dígitos permitidos, incluidos los que
aparecen a la derecha y a la izquierda de la coma decimal.
Escala Especificar el número máximo de dígitos que pueden almacenarse
a la derecha y a la izquierda de la coma decimal.

3.6 RELACIONES
Las relaciones entre las tablas de una base de datos tienen como finalidad
eliminar la duplicidad de datos (redundancia) y optimizar el diseño para conseguir
que la respuesta a las consultas sea lo más rápida posible, así como optimizar las
actualizaciones y el trabajo con formularios, informes que podrán utilizar
información de varias tablas a la vez. Pero quizá la finalidad más importante de las
relaciones es el mantenimiento de la integridad referencial en la base de datos. La
integridad referencial es un sistema de reglas que utiliza Microsoft Access para
garantizar que las relaciones entre los registros de tablas relacionadas sean válidas y
que no se eliminen ni modifiquen accidentalmente datos relacionados.

En el capítulo anterior ya habíamos visto que existen relaciones uno a uno, uno a
varios y varios a varios. En una relación uno a uno, cada registro de la primera tabla
sólo puede tener un registro coincidente en la segunda tabla y viceversa.

diosestinta.blogspot.com
©RA-MA CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 147

Este tipo de relación no es común porque, muy a menudo, la información


relacionada de este modo se almacena en la misma tabla. La relación uno a varios
es el tipo de relación más común. En este tipo de relación, un registro de la primera
tabla puede tener muchos registros coincidentes en la segunda tabla, pero un
registro de la segunda tabla sólo tiene un registro coincidente en la primera. En una
relación varios a varios, un registro de la primera tabla puede tener muchos
registros coincidentes en la segunda, y viceversa. Este tipo de relación sólo es
posible si se define una tercera tabla (denominada tabla de unión) cuya clave
principal consta de, al menos, dos campos: las claves externas de las dos tablas.

El tipo de relación que crea Microsoft Access depende de cómo están


definidos los campos relacionados. Se crea una relación uno a varios (1→∞) si uno
de los campos relacionados es una clave principal o tiene un índice único. Se crea
una relación uno a uno si ambos campos relacionados son claves principales o
tienen índices únicos. Una relación varios a varios es, en realidad, dos relaciones
uno a varios con una tercera tabla cuya clave principal consta de dos campos: las
claves externas de las otras dos tablas.

3.6.1 Definir relaciones entre tablas


Una vez creadas tablas diferentes para cada tema de la base de datos de
Microsoft Access, necesita una forma de indicarle al programa cómo debe volver a
combinar esa información. El primer paso de este proceso es definir relaciones
entre las tablas. Para ello se tendrá en cuenta lo siguiente:

1. Cierre todas las tablas que estén abiertas. No es posible crear ni modificar
relaciones entre tablas abiertas.

2. En la ficha Herramientas de base de datos, en el grupo Relaciones, haga


clic en Relaciones (figura 3-71). Se obtiene la pantalla Relaciones y la
barra Herramientas de relaciones aparece en la parte superior de la
pantalla con la ficha Diseño abierta.

3. Si la base de datos no tiene ninguna relación definida, se mostrará


automáticamente el cuadro de diálogo Mostrar tabla (figura 3-72). Si
necesita agregar las tablas que desea relacionar y no aparece el cuadro de
diálogo Mostrar tabla, haga clic en Mostrar tabla en el grupo Relaciones
de la ficha Diseño.

4. Haga doble clic en los nombres de las tablas que desea relacionar y, a
continuación, cierre el cuadro de diálogo Mostrar tabla (figura 3-73).

diosestinta.blogspot.com
148 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

5. Arrastre las tablas hasta conseguir una estructura similar a la del diagrama
de diseño de la base de datos (figura 3-74). Para arrastrar una tabla se hace
clic sobre su cabecera con el ratón y, sin soltarlo, se mueve el ratón hasta la
posición en que se quiere situar la tabla. Una buena estructura acorde al
diseño de la base de datos se presenta en la figura 3-75.

6. Para crear las relaciones entre campos arrastre el campo que desea
relacionar de una tabla al campo relacionado de la otra tabla. Para arrastrar
varios campos, presione la tecla CTRL y haga clic en cada campo antes de
arrastrarlo. En la mayoría de los casos, se arrastra el campo de clave
principal (mostrado en texto en negrita) de una tabla a un campo similar
(normalmente con el mismo nombre), denominado la clave externa de la
otra tabla. Los campos relacionados no tienen que tener los mismos
nombres, pero deben tener el mismo tipo de datos (con dos excepciones) y
deben contener el mismo tipo de información. Además, cuando los campos
coincidentes son campos Numéricos, deben tener el mismo valor de la
propiedad Tamaño del campo. Las dos excepciones a los tipos de datos
coincidentes son que se puede hacer coincidir un campo Autonumérico con
un campo Numérico cuya propiedad Tamaño del campo esté establecida a
Entero largor y que se puede hacer coincidir un campo Autonumérico con
un campo Numérico si ambos campos tienen la propiedad Tamaño del
campo establecida a Id. de réplica.

7. Aparecerá el cuadro de diálogo Modificar relaciones (figura 3-76).


Compruebe los nombres de los campos mostrados en las dos columnas
para asegurarse de que son correctos. Puede cambiarlos si es necesario. Si
es preciso, establezca las opciones de relación. Para obtener información
acerca de un elemento específico del cuadro de diálogo Relaciones, haga
clic en el botón de signo de interrogación ^ y, a continuación, haga clic
en el elemento. El botón Tipo de combinación controla el tipo de
combinación que desea utilizar de forma predeterminada cuando cree
consultas basadas en las tablas relacionadas (figura 3-77). El botón Crear
nueva... permite definir una nueva relación entre dos tablas. La casilla
Exigir integridad referencial permite aplicar integridad referencial para
esta relación, aunque sólo si el campo o campos coincidentes de la tabla
principal es una clave principal o tiene un índice único, los campos
relacionados tienen el mismo tipo de datos y ambas tablas están
almacenadas en la misma base de datos de Access (la integridad referencial
es un sistema de reglas que utiliza Microsoft Access para asegurar que las
relaciones entre los registros de las tablas relacionadas son válidos y que
no se eliminan o cambian los datos relacionados de forma accidental).

diosestinta.blogspot.com
©RA-MA CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 149

8. Desactive esta casilla de verificación para permitir cambios en las tablas


relacionadas que rompan las reglas de integridad referencial. Active la
casilla Exigir integridad referencial y, a continuación, Actualizar en
cascada los campos relacionados para actualizar automáticamente los
valores correspondientes de la tabla relacionada cuando se cambie un valor
de la clave principal en la tabla principal. Active la casilla Exigir
integridad referencial y desactive Actualizar en cascada los campos
relacionados para impedir que se realicen cambios en un valor de la clave
principal en la tabla principal, siempre que haya registros relacionados en
la tabla relacionada. Active la casilla Exigir integridad referencial, y a
continuación, Eliminar en cascada los registros relacionados para eliminar
automáticamente los registros relacionados en la tabla relacionada siempre
que se elimine un registro de la tabla principal. Active la casilla Exigir
integridad referencial y desactive Eliminar en cascada los registros
relacionados para impedir que se eliminen registros de la tabla principal
cuando existen registros relacionados en la tabla relacionada.
9. Haga clic en el botón Crear para crear la relación (figura 3-78) y repita los
pasos 5 a 9 para cada pareja de tablas que desee relacionar (figura 3-79).
Al cerrar la ventana Relaciones, Microsoft Access pregunta si desea
guardar el diseño. Tanto si lo guarda o no, las relaciones creadas se
guardan en la base de datos. En el ejemplo hemos activado siempre Exigir
integridad referencial.

Figura 3-71

Figura 3-72

diosestinta.blogspot.com
150 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Figura 3-73

Figura 3-74

diosestinta.blogspot.com
©RA-MA CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 151

Figura 3-75

Figura 3-76

Figura 3-77

diosestinta.blogspot.com
152 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Figura 3-78

Figura 3-79

diosestinta.blogspot.com
©RA-MA CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 153

Notas:

* Si necesita ver todas las relaciones definidas en la base de datos, haga clic en
Mostrar todas las relaciones en el grupo Relaciones de la ficha Diseño de la
barra Herramientas de relaciones. Para ver sólo las relaciones definidas para
una tabla determinada, haga clic en la tabla y, a continuación, en Mostrar
relaciones directas.
* Si necesita realizar un cambio en el diseño de una tabla, podrá hacer clic con el
botón secundario del ratón en la tabla que desea modificar y, a continuación,
hacer clic en Diseño de la tabla.
* Puede crear relaciones utilizando tanto consultas como tablas. Sin embargo, la
integridad referencial no se exige en las consultas.
* Para crear una relación entre una tabla y sí misma, agregue esta tabla dos
veces. Esto resulta útil en situaciones en las que necesita realizar una búsqueda
dentro de la misma tabla. Por ejemplo, en la tabla Empleados de la base de
datos de ejemplo Neptuno, se ha definido una relación entre los campos Id. de
empleado y Jefe, de modo que el campo Jefe pueda mostrar datos de los
empleados procedentes de un Id. de empleado coincidente.

3.6.2 Eliminar y modificar relaciones


Para eliminar una relación se tendrá en cuenta lo siguiente:

1. Cierre todas las tablas abiertas. No es posible eliminar relaciones entre


tablas abiertas.

2. En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar,


haga clic en Relaciones. Se obtiene la pantalla Relaciones y la barra
Herramientas de relaciones aparece en la parte superior de la pantalla con
la ficha Diseño abierta.
3. Si las tablas cuya relación desea eliminar no están mostradas en pantalla,
haga clic en Mostrar tabla en la ficha Herramientas de base de datos, en
el grupo Mostrar u ocultar y haga doble clic en cada tabla que desee
agregar para modificar o eliminar relaciones. A continuación, elija Cerrar.
4. Haga clic en la línea de relación correspondiente a la relación que desea
eliminar (la línea se mostrará en negrita al seleccionarla) y, a continuación,
presione la tecla SUPRIMIR. También se puede hacer clic con el botón
derecho del ratón sobre la línea de la relación y elegir Eliminar en el menú
emergente resultante (figura 3-80). La opción Borrar diseño del grupo
Herramientas de la ficha Diseño oculta todas las relaciones y tablas del diseño.

diosestinta.blogspot.com
154 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

5. Para modificar una relación elija Modificar en el menú emergente de la


figura 3-80 o haga doble clic sobre la línea de la relación. También se
puede hacer clic en la línea de relación y elegir Modificar relación en el
grupo Herramientas de la ficha Diseño.
6. Establezca las opciones de la relación en el cuadro de diálogo Relaciones
resultante (figura 3-81). Para obtener información acerca de un elemento
específico del cuadro de diálogo Relaciones, haga clic en el botón de signo
de interrogación y, a continuación, haga clic en el elemento.

Figura 3-80 Figura 3-81

3.6.3 Ver las relaciones de una base de datos


Para poder observar las relaciones de una base de datos desde la vista Diseño
haga clic en Relaciones en el grupo Relaciones de la ficha Diseño en Herramientas de
tabla (figura 3-82). Se abrirá la ventana Relaciones y se mostrarán las relaciones
existentes (figura 3-83). Para poder observar las relaciones de una base de datos desde
la vista Hoja de datos, en la ficha Herramientas de base de datos, en el grupo
Relaciones, haga clic en Relaciones (figura 3-71)

Figura 3-82
Cuando estamos situados en la ventana Relaciones, haga clic en Mostar
todas las relaciones en la ficha Diseño, en el grupo Relaciones (figura 3-84) para
mostrar todas las relaciones definidas en la base de datos (salvo las ocultas). La
opción Modificar relaciones del grupo Herramientas permite las modificaciones.

diosestinta.blogspot.com
©RA-MA CAPITULO 3. CREACION DE BASES DE DATOS... 155

Figura 3-83

Figura 3-84

diosestinta.blogspot.com
156 ACCESS 2010. CURSO PRACTICO ©RA-MA

La opción Informe de relación del grupo Herramientas de la ficha Diseño


(figura 3-84) crea un informe a modo de vista preliminar que muestra las relaciones
y tablas de la base de datos (figura 3-85).

Figura 3-85

El informe sólo muestra todas las relaciones y tablas que no están ocultas
en la ventana Relaciones. Desde la cinta de opciones de esta vista preliminar se
puede imprimir (grupo Imprimir), diseñar adecuadamente la página variando
tamaño, márgenes, vista horizontal o vertical, etc. (grupo Diseño de página) y
hacer zoom para mejorar la visualización (grupo Zoom). La opción Cerrar vista
preliminar cierra el informe de relaciones.

El botón Ocultar tabla del grupo Relaciones de la vista Diseño oculta la


tabla seleccionada y las relaciones que le afecten. El botón Mostrar tablas permite
mostrar todas las tablas ocultas y las relaciones entre ellas.

3.6.4 Integridad referencial


Ya sabemos que la integridad referencial es un sistema de reglas que utiliza
Microsoft Access para garantizar que las relaciones entre los registros de tablas
relacionadas sean válidas y que no se eliminen ni modifiquen accidentalmente
datos relacionados. Puede establecer la integridad referencial cuando se cumplen
todas las condiciones siguientes:

diosestinta.blogspot.com
©RA-MA ______________________________________ CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 157

• El campo coincidente de la tabla principal es clave principal o tiene índice único.


• Los campos relacionados tienen el mismo tipo de datos. Existen dos
excepciones: un campo Autonumérico puede estar relacionado con un
campo Numérico con la propiedad Tamaño del campo establecida a Entero
largo, y un campo Autonumérico con la propiedad Tamaño del campo
establecida a Id. de réplica puede estar relacionado con un campo
Numérico con la propiedad Tamaño del campo establecida a Id. de réplica.
• Ambas tablas pertenecen a la misma base de datos de Microsoft Access. Si
las tablas son vinculadas, deberán ser tablas en el formato de Microsoft
Access y deberá abrir la base de datos en la que están almacenadas para
poder establecer la integridad referencial. La integridad referencial no
puede exigirse para tablas vinculadas procedentes de bases de datos en
otros formatos.
Cuando se exige la integridad referencial, deben observarse las reglas
siguientes:
• No puede introducir un valor en el campo de clave externa de la tabla
relacionada que no exista en la clave principal de la tabla principal. No
obstante, puede introducir un valor Nulo en la clave externa, especificando
que los registros no están relacionados. Por ejemplo, no puede tener un
pedido asignado a un cliente que no existe, pero puede tener un pedido
asignado a nadie mediante la introducción de un valor Nulo en el campo
Id. de cliente.

• No puede eliminar un registro de una tabla principal si existen registros


coincidentes en una tabla relacionada. Por ejemplo, no puede eliminar un
registro de empleados de la tabla Empleados si existen pedidos asignados
al empleado en la tabla Pedidos.
• No puede cambiar un valor de clave principal en la tabla principal si ese
registro tiene registros relacionados. Por ejemplo, no puede cambiar el Id.
de un empleado en la tabla Empleados si existen pedidos asignados a ese
empleado en la tabla Pedidos.
Si desea que Microsoft Access exija esas reglas para una relación,
seleccione la casilla de verificación Exigir integridad referencial (figura 3-76) al
crear la relación. Si se exige la integridad referencial e infringe una de las reglas
con las tablas relacionadas, Microsoft Access muestra un mensaje y no permite el
cambio. Puede anular las restricciones sobre la eliminación o la modificación de
registros relacionados y aun así conservar la integridad referencial mediante la
activación de las casillas de verificación Actualizar en cascada los campos
relacionados y Eliminar en cascada los registros relacionados (figura 3-76).

diosestinta.blogspot.com
158 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Cuando la casilla de verificación Actualizar en cascada los campos


relacionados está activada, el cambio de un valor de clave principal en la tabla
principal actualiza automáticamente el valor coincidente en todos los registros
relacionados. Cuando la casilla de verificación Eliminar en cascada los registros
relacionados está activada, la eliminación de un registro en la tabla principal
elimina todos los registros relacionados en la tabla relacionada.

Para las relaciones en las que se exige la integridad referencial, puede


especificar si desea que Microsoft Access actualice en cascada y elimine en
cascada automáticamente los registros relacionados. Si establece estas opciones, las
operaciones de eliminación y actualización que normalmente impedirían la
integridad referencial se permitirán ahora. Al eliminar registros o al cambiar los
valores de clave principal de una tabla principal, Microsoft Access realizará los
cambios necesarios en las tablas relacionadas con el fin de conservar la integridad
referencial.

Si activa la casilla de verificación Actualizar en cascada los campos


relacionados al definir una relación, siempre que cambie la clave principal de un
registro de la tabla principal, Microsoft Access actualizará automáticamente la
clave principal con el nuevo valor en todos los registros relacionados. Por ejemplo,
si cambia un Id. de cliente en la tabla Clientes, el campo Id. de cliente de la tabla
Pedidos se actualizará automáticamente en cada uno de los pedidos de ese cliente,
de modo que la relación no se rompa. Microsoft Access actualiza en cascada sin
mostrar ningún mensaje.

Si la clave principal de la tabla principal es un campo Autonumérico, la


activación de la casilla de verificación Actualizar en cascada los campos
relacionados no tendrá ningún efecto, porque no puede cambiar el valor de un
campo Autonumérico. Si selecciona la casilla de verificación Eliminar en cascada
los registros relacionados al definir una relación, siempre que elimine registros de
la tabla principal, Microsoft Access eliminará automáticamente los registros
relacionados de la tabla relacionada. Por ejemplo, si elimina el registro de un
cliente de la tabla Clientes, todos los pedidos del cliente se eliminarán
automáticamente de la tabla Pedidos (esto incluye los registros de la tabla Detalles
de pedidos relacionados con los registros de Pedidos). Al eliminar registros de un
formulario u hoja de datos con la casilla de verificación Eliminar en cascada los
registros relacionados activada, Microsoft Access le avisa que es posible que
también se eliminen los registros relacionados. No obstante, al eliminar registros
mediante una consulta de eliminación, Microsoft Access elimina automáticamente
los registros de las tablas relacionadas sin mostrar un aviso.

diosestinta.blogspot.com
©RA-MA CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 159

También es muy interesante definir el tipo de combinación predeterminado


para una relación entre dos tablas. El botón Tipo de combinación de la figura 3-76
nos lleva a la pantalla Propiedades de la combinación de la figura 3-77 cuyas opciones
controlan el tipo de combinación que desea utilizar de forma predeterminada cuando
cree consultas basadas en las tablas relacionadas. La opción 1 define una combinación
interna (valor predeterminado), la opción 2 define una combinación externa por la
izquierda y la opción 3 define una combinación externa por la derecha. Una
combinación externa izquierda devuelve todas las filas de la tabla situada en el lado
izquierdo de la relación y sólo las filas que coinciden con las de la tabla a la derecha.
Una combinación externa derecha devuelve todas las filas de la derecha y sólo las
filas que coinciden con las de la izquierda. En este caso, “izquierda” y “derecha”
hacen referencia a la posición de las tablas en el cuadro de diálogo Modificar
relaciones y no en la ventana Relaciones. Una combinación interna devuelve las filas
donde los campos combinados de ambas tablas sean iguales.

Ejercicio 3-1. Consideramos una base de datos con cuatro tablas de nombres:
EMPLEADO (empleados de la empresa), OFICIOEMPLEADO (empleados con su
oficio), VIVIENDA (alojamiento de los empleados) y OFICIO (relación de oficios),
cuyas campos y registros ya fueron especificados en el Ejercicio 2-1 del capítulo
anterior. En la tabla VIHENDA tenemos como restricción de integridad que el
campo Alojamiento es clave única. En la tabla EMPLEADO tenemos que el campo
Nombre es clave única, siendo el campo Alojamiento la clave externa de la tabla
VIVIENDA. En la tabla OFICIOEMPLEADO la clave única está formada por los
campos Nombre y Oficio simultáneamente. Por último, en la tabla OFICIO la clave
única está formada por los campos Oficio y Descripción simultáneamente. Crear la
base de datos en Access con nombre PERSONAL que aloje estas tablas con el diseño
adecuado para esta base de datos relacional estudiado en el capítulo anterior.

Para crear una nueva base de datos en blanco, inicie Access y en Botón
Archivo seleccione Nuevo. Bajo Plantillas disponibles, haga clic en Base de datos
en blanco. A continuación, en la parte inferior del panel Base de datos en blanco,
en el cuadro Nombre de archivo, escriba un nombre de archivo (figura 3-86). Por
último, haga clic en Crear. Se crea la base de datos y se abre una tabla en la vista
Hoja de datos (figura 3-87) lo que permite crear ya las tablas.

Es posible agregar inmediatamente campos a la tabla haciendo clic sobre


Haga clic para agregar en las figura 3-87 y escribiendo su nombre. Al pulsar
ENTER, Haga clic para agregar se desplaza a la siguiente columna a la derecha.
Para introducir un nuevo campo en la tabla se vuelve a hacer clic en Haga clic para
agregar y se escribe su nombre y así sucesivamente se pueden ir añadiendo más
campos hasta completar todos los campos de la tabla (figura 3-88).

diosestinta.blogspot.com
160 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Figura 3-86

Figura 3-87

La siguiente tarea será introducir los datos en los campos como si se tratase
de una hoja de cálculo. De momento los tipos de datos y sus propiedades los asigna
Access por defecto de acuerdo a la información que vamos almacenando en la tabla.
Finalizada la tabla, se guarda a través de la opción Guardar del menú emergente
que se obtiene al hacer clic con el botón derecho del ratón sobre la ficha de la tabla
y se le asigna el nombre VIVIENDA. La figura 3-89 muestra la tabla con datos.

diosestinta.blogspot.com
©RA-MA CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 161

Figura 3-88

Figura 3-89

En cuanto a tipos de datos, formatos y propiedades de los campos, Access ha


elegido por defecto los más adecuados al introducir los datos. Pero podemos cambiarlos a
medida utilizando la vista Diseño. Para ello se hace chc en Vista Diseño en la opción Ver
del grupo Vistas y se obtiene la tabla en vista Diseño apta para cambiar las propiedades a
medida a todos sus campos. La primera tarea es seleccionar el campo Alojamiento y
hacer clic en Clave principal en el grupo de herramientas de la ficha Diseño para situar
sobre este campo la clave primaria (figuras 3-90). El resto de propiedades permanecen
como aparecen en la figura. En las figuras 3-91 a 3-93 se presentan el tipo, formato y
propiedades del resto de los campos de la tabla VIVIENDA.

Figura 3-90

diosestinta.blogspot.com
162 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Figura 3-91

Figura 3-92

diosestinta.blogspot.com
©RA-MA CAPITULO 3. CREACION DE BASES DE DATOS... 163

Figura 3-93

En la figura 3-94 se presenta la tabla EMPLEADO con sus campos y registros


en la vista Hoja de datos. La figura 3-95 muestra la clave primaria en vista Diseño y las
figuras 3-96 y 3-97 muestran el tipo, formato y propiedades del resto de los campos.

Figura 3-94

diosestinta.blogspot.com
164 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Figura 3-95

Figura 3-96

diosestinta.blogspot.com
©RA-MA CAPITULO 3. CREACION DE BASES DE DATOS... 165

Figura 3-97

En la figura 3-98 se presenta la tabla OFICIO con sus campos y registros


en la vista Hoja de datos. La figura 3-99 muestra la clave primaria en vista Diseño
(campos Oficio y Descripción) y la figura 3-100 muestra las propiedades del
campo restante.

Figura 3-98

diosestinta.blogspot.com
166 ACCESS 2010. CURSO PRACTICO ©RA-MA

Figura 3-99

Figura 3-100

En la figura 3-101 se presenta la tabla OFICIOEMPLEADO con sus campos y


registros en la vista Floja de datos. Las figuras 3-102 a 3-104 muestran las propiedades
de los campos. Los campos Nombre y Oficio forman la clave principal conjuntamente.

diosestinta.blogspot.com
©RA-MA ______________________________________ CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 167

Figura 3-101

Figura 3-102

diosestinta.blogspot.com
168 ACCESS 2010. CURSO PRÁCTICO @RA-MA

Figura 3-103

Figura 3-104

diosestinta.blogspot.com
©RA-MA CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 169

La siguiente tarea es construir las relaciones entre las tablas de la base de datos.
Para ello cierre todas las tablas que estén abiertas. No es posible crear ni
modificar relaciones entre tablas abiertas. Desde la vista Hoja de datos, en la ficha
Herramientas de base de datos, en el grupo Relaciones, haga clic en Relaciones. Se
obtiene la pantalla Relaciones y la barra Herramientas de relaciones aparece en la
parte superior de la pantalla con la ficha Diseño abierta. Si la base de datos no tiene
ninguna relación definida, se mostrará automáticamente el cuadro de diálogo Mostrar
tabla. Si necesita agregar las tablas que desea relacionar y no aparece el cuadro de
diálogo Mostrar tabla, haga clic en Mostrar tabla en el grupo Relaciones de la ficha
Diseño. Haga doble clic en los nombres de las tablas que desea relacionar y, a
continuación, cierre el cuadro de diálogo Mostrar tabla de la figura 3-105.

Figura 3-105

Arrastre las tablas hasta conseguir una estructura similar a la del diagrama de
diseño de la base de datos (figura 3-106). Para arrastrar una tabla se hace clic sobre su
cabecera con el ratón y, sin soltarlo, se mueve el ratón hasta la posición en que se
quiere situar la tabla. Una buena estructura acorde al diseño de la base de datos se
presenta en la figura 3-107.

diosestinta.blogspot.com
170 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Figura 3-106

Ejercicio 3-2. Consideramos una base de datos con tablas de nombres DEPT
(departamentos de una empresa), EMP (empleados de la empresa) y SALGRADE
(nivel salarial de los empleados) cuyos campos y registros ya fueron especificados en
el Ejercicio 2-2 del capítulo anterior. En la tabla DEPT tenemos como restricción de
integridad que el campo Deptno es clave primaria. En la tabla EMP tenemos que el
campo Empno es clave primaria. Además, la tabla EMP tiene como clave foránea el
campo Deptno referenciado con el mismo nombre en la tabla DEPT. Crear la base
de datos en Access con nombre EMPLEADOS que aloje estas tablas con el diseño
adecuado para esta base de datos relacional estudiado en el capítulo anterior.

diosestinta.blogspot.com
©RA-MA _______________________________________ CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 171

Para crear una nueva base de datos en blanco, inicie Access y en Botón
Archivo seleccione Nuevo. Bajo Plantillas disponibles, haga clic en Base de datos
en blanco. A continuación, en la parte inferior del panel Base de datos en blanco,
en el cuadro Nombre de archivo, escriba un nombre de archivo (figura 3-108). Por
último, haga clic en Crear. Se crea la base de datos y se abre una tabla en la vista
Hoja de datos (figura 3-109) lo que permite crear ya las tablas.

Figura 3-108

Figura 3-109

Es posible agregar inmediatamente campos a la tabla haciendo clic sobre


Haga clic para agregar en las figura 3-109 y escribiendo su nombre.
Inmediatamente Haga clic para agregar se desplaza a la siguiente columna a la
derecha. Para introducir un nuevo campo en la tabla se vuelve a hacer clic en
Agregar nuevo campo y se escribe su nombre y así sucesivamente se pueden ir
añadiendo más campos hasta completar todos los campos de la tabla.

diosestinta.blogspot.com
172 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

La siguiente tarea será introducir los datos en los campos como si se tratase
de una hoja de cálculo. De momento los tipos de datos y sus propiedades los asigna
Access por defecto de acuerdo a la información que vamos almacenando en la tabla.
Finalizada la tabla, se guarda a través de la opción Guardar del menú emergente
que se obtiene al hacer clic con el botón derecho del ratón sobre la ficha de la tabla
y se le asigna el nombre DEPT. La figura 3-110 muestra la tabla con datos.

Figura 3-110
A continuación, para crear nuevas tablas en la base de datos, se hace clic en
la opción Tabla del grupo Tablas de la ficha Crear (figura 3-111) y se crea una
nueva tabla vacía. Siguiendo los pasos anteriores se crea la tabla EMP y se
introducen sus datos (figura 3-112). Del mismo modo se crea la tabla SALGRADE y
se introducen sus datos (figuras 3-113).

Figura 3-111

Figura 3-112

diosestinta.blogspot.com
©RA-MA CAPÍTULO 3. CREACIÓN DE BASES DE DATOS... 173

Figura 3-113
En cuanto a tipos de datos, formatos y propiedades de los campos, Access
ha elegido por defecto los más adecuados al introducir los datos. Pero podemos
cambiarlos a medida utilizando la vista Diseño, cuestión en la que se profundizará
en el capítulo siguiente. La siguiente tarea es construir las relaciones entre las
tablas de la base de datos. Para ello cierre todas las tablas que estén abiertas. No es
posible crear ni modificar relaciones entre tablas abiertas. Desde la vista Hoja de
datos, en la ficha Herramientas de base de datos, en el grupo Relaciones, haga clic
en Relaciones. Se obtiene la pantalla Relaciones y la barra Herramientas de
relaciones aparece en la parte superior de la pantalla con la ficha Diseño abierta. Si
la base de datos no tiene ninguna relación definida, se mostrará automáticamente el
cuadro de diálogo Mostrar tabla. Si necesita agregar las tablas que desea relacionar
y no aparece el cuadro de diálogo Mostrar tabla, haga clic en Mostrar tabla en el
grupo Relaciones de la ficha Diseño.

Figura 3-114

diosestinta.blogspot.com
174 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Haga doble clic en los nombres de las tablas que desea relacionar y, a
continuación, cierre el cuadro de diálogo Mostrar tabla. Arrastre las tablas hasta
conseguir una estructura similar a la del diagrama de diseño de la base de datos (figura
3-114). Para arrastrar una tabla se hace clic sobre su cabecera con el ratón y, sin
soltarlo, se mueve el ratón hasta la posición en que se quiere situar la tabla. Una buena
estructura acorde al diseño de la base de datos se presenta en la figura 3-115.

Figura 3-115

diosestinta.blogspot.com
Capítulo 4

PROPIEDADES DE CAMPOS, FORMATOS Y


TIPOS DE DATOS. PERSONALIZACIÓN

4.1 PROPIEDADES DE LOS CAMPOS


Ya sabemos que cuando se muestra una tabla en vista Diseño, obtenemos la
pantalla de la figura 4-1 en la que podemos definir todos los campos de la tabla, sus
tipos y sus propiedades.

Figura 4-1

En la ficha General de la parte inferior derecha de la pantalla de la vista


Diseño se puede definir las siguientes propiedades de campo: Tamaño del campo, que

diosestinta.blogspot.com
176 ACCESS 2010. CURSO PRACTICO ©RA-MA

se usa para definir el máximo número de caracteres en el campo; Formato, que se


utiliza para definir la apariencia del campo; Máscara de entrada, que permite utilizar
un modelo de presentación para todos los datos de ese campo; Título, que se utiliza
para definir la etiqueta para el campo cuando se usa en un formulario; Valor
predeterminado, que es un valor automáticamente introducido en el campo para
nuevos registros; Regla de validación, que es una expresión que limita los valores que
pueden introducirse en el campo; Texto de validación, que es un mensaje de error que
aparece al introducir en el campo un valor prohibido por la regla de validación;
Requerido, que se utiliza para hacer obligatoria o no la entrada de valores en ese
campo; Permitir longitud cero, que se utiliza para permitir o no cadenas de longitud
cero en ese campo; Indexado, que se utiliza para indexar el campo; Compresión
Unicode, que permite la compresión en este campo; Modo IME, que especifica o
determina el IME Mode, de los campos de una tabla o los controles de un formulario
que cambia cuando se mueve el enfoque; Modo de oraciones IME, que especifica o
determina el IME Sentence Mode de los campos de una tabla o los controles de un
formulario que cambia cuando se mueve el enfoque; etc.; Etiquetas inteligentes, que
agrega una etiqueta inteligente al campo de la tabla (esta propiedad de campo no existe
en Access 2002 y todas las demás son las mismas en Access 2010, 2003 y 2002) y
Alineación de texto, que define el tipo de alineación de texto en los campos. En los
párrafos siguientes se profundiza en las propiedades de campo.

4.1.1 Tamaño de los campos (propiedad FieldSize)


Puede usar la propiedad Tamaño del campo en la figura 7-1 para establecer
el tamaño máximo de los datos almacenados en un campo de tipo Texto, Numérico o
Autonumérico. En cuanto a los posibles valores del tamaño se tendrá en cuenta lo siguiente:
Si la propiedad Tipo de datos tiene el valor Texto, escriba un número entre
0 y 255. El valor predeterminado es 50. Si la propiedad Tipo de datos tiene el valor
Autonumérico, en Tamaño del campo se puede establecer Entero largo o Id. de
réplica. Si la propiedad Tipo de datos tiene establecido Numérico, las opciones de
Tamaño del campo y sus valores se relacionarán de la siguiente forma:

Valor Descripción Precisión Tamaño de


decimal almacenam.

Byte Almacena números entre 0 y 255 (no admite fracciones). Ninguna 1 byte

Decimal Almacena números entre -10"'38 -1 y 10^38 -1 (.ADP). 28 12 bytes


Almacena números entre-10^28-1 y 10^28-1 (.MDB).

Entero Almacena números entre -32.768 y 32.767 (no Ninguna 2 bytes


fracciones).
Entero largo (Predeterminado) Almacena números entre Ninguna 4 bytes
-2.147.483.648 y 2.147.483.647 (no admite fracciones).

Almacena números entre -3,402823E38 y


Simple -1,401298E-45 para valores negativos, y entre 7 4 bytes
1,401298E-45 y 3,402823E38 para valores positivos.

diosestinta.blogspot.com
©RA-MA CAPÍTULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 177

Doble Almacena números entre -1,79769313486231E308 y 15 8 bytes


-4,94065645841247E-324 para valores negativos, y
entre 1,79769313486231E308 y 4,94065645841247E-
324 para valores positivos.
Id. de réplica Identificador global único (GUID). N/D 16 bytes

4.1.2 Formato de los campos (propiedad Format)


Puede utilizar la propiedad Formato (Format) para personalizar la forma
en que los números, las fechas, las horas y el texto se muestran e imprimen. Por
ejemplo, si ha creado un cuadro de texto de nombre Precio, podrá establecer su
propiedad Formato a Moneda y su propiedad LugaresDecimales (DecimalPlaces)
a 2 o a Auto. Si escribe 4321,678 en el control, el número se mostrará como
$4.321,68. Puede utilizar uno de los formatos predefinidos o bien puede crear un
formato personalizado mediante los símbolos de formato.

La propiedad Formato utiliza valores diferentes para tipos de datos


diferentes. Tenemos lo siguiente:

• Valores de Formato para Tipo de datos Fecha/Hora


La tabla siguiente muestra los valores predefinidos de la propiedad
Formato para el tipo de datos Fecha/Hora.

Valor Descripción |
Fecha general (Predeterminado) Si el valor es sólo una fecha, no se mostrará ninguna hora; si el
valor es sólo una hora, no se mostrará ninguna fecha. Este valor es una
combinación de los valores de Fecha corta y Hora larga.
Ejemplos: 3/4/93, 05:34:00 PM y 3/4/93 05:34:00 PM.
Fecha larga Igual que el valor de Fecha larga del cuadro de diálogo Propiedades de
Configuración regional del Panel de control de Windows.
Ejemplo: Sábado, 3 de Abril de 1993.
Fecha mediana Ejemplo: 3-Abr-93.
Fecha corta Igual que el valor de Fecha corta del cuadro de diálogo Propiedades de
Configuración regional del Panel de control de Windows.
Ejemplo: 3/4/93.
Atención: el formato Fecha corta asume que las fechas comprendidas entre el
1/1/00 y el 31/12/29 son fechas del siglo XXI (es decir, que los años están entre el
2000 y el 2029). Las fechas comprendidas entre el 1/1/30 y el 31/12/99 se asume
que son fechas del siglo XX (es decir, que los años están entre 1930 y 1999).
Hora larga Igual que el valor de la ficha Hora del cuadro de diálogo Propiedades de
Configuración regional del Panel de control de Windows.
Ejemplo: 5:34:23 PM.
Hora mediana Ejemplo: 5:34 PM.
Hora corta Ejemplo: 17:34.

diosestinta.blogspot.com
178 ACCESS 2010. CURSO PRACTICO © RA-MA

Puede crear formatos de fecha y hora personalizados mediante los


símbolos siguientes:

Símbolo Descripción
: (dos puntos) Separador de hora. Los separadores se establecen en el cuadro de diálogo
Propiedades de Configuración regional del Panel de control de Windows.
/ Separador de fecha.
c Igual que el formato predefinido Fecha general.
d Día del mes en uno o dos dígitos numéricos, según sea necesario (1 a 31).
dd Día del mes en dos dígitos numéricos (01 a 31).
ddd Tres primeras letras del día de la semana (Lun a Dom)
dddd Nombre completo del día de la semana (Lunes a Domingo).
ddddd Igual que el formato predefinido Hora corta.
dddddd Igual que el formato predefinido Fecha larga.
s Día de la semana (1 a 7).
ss Semana del año (I a 53).
m Mes del año en uno o dos dígitos numéricos, según sea necesario (1 a 12).
mm Mes del año en dos dígitos numéricos (01 a 12).
mmm Tres primeras letras del mes (Ene a Dic).
mmmm Nombre completo del mes (Enero a Diciembre).
t Fecha mostrada como trimestre del año (1 a 4).
a Número de día del año (I a 366).
aa Dos últimos dígitos del año (01 a 99).
aaaa Año completo (0100 a 9999).
h Hora en uno o dos dígitos, según sea necesario (0 a 23).
hh Hora en dos dígitos (00 a 23).
n Minuto en uno o dos dígitos, según sea necesario (0 a 59).
nn Minuto en dos dígitos (00 a 59).
s Segundo en uno o dos dígitos, según sea necesario (0 a 59).
ss Segundo en dos dígitos (00 a 59).
ttttt Igual que el formato predefinido llora larga.
AM/PM Reloj de 12 horas con las letras mayúsculas “AM” o “PM”, según sea
apropiado.
am/pm Reloj de doce horas con las letras minúsculas “am” o “pm”, según sea
apropiado.
A/P Reloj de doce horas con la letra mayúscula “A” o “P”, según sea apropiado.
a/p Reloj de doce horas con la letra minúscula “a” o “p”, según sea apropiado.
AMPM Reloj de doce horas con el designador de mañana/tarde apropiado establecido
en el cuadro de diálogo Propiedades de Configuración regional del Panel de
control de Windows.

• Valores de Formato para Tipos de datos Numérico y Moneda


Puede establecer la propiedad Formato a formatos numéricos predefinidos
o a formatos numéricos personalizados para los tipos de datos Numérico y
Moneda. Los posibles valores dependerán de si se trata de formatos predefinidos o
personalizados.

diosestinta.blogspot.com
© RA-MA CAPITULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 179

En cuanto a los formatos predefinidos, la tabla siguiente muestra los


valores predefinidos de la propiedad Formato para los números.

Valor Descripción
Número general (Predeterminado) Muestra el número tal como se introduce.
Moneda Use el separador de miles y aplique la configuración especificada en el
Panel de control de Windows, Configuración regional, para todo lo relativo
a importes negativos, símbolos decimales y de moneda y cifras decimales.
Euro Utilice el formato de moneda, con el símbolo del euro, sin tener en cuenta el
símbolo de moneda especificado en Configuración regional, en el Panel de
control de Windows.
Fijo Muestre al menos un dígito; aplique la configuración especificada en el
Panel de control de Windows, en Configuración regional, para todo lo
relativo a importes negativos, símbolos decimales y de moneda y cifras
decimales.
Estándar Utilice el separador de miles; aplique la configuración especificada en el
Panel de control de Windows, Configuración regional, para todo lo relativo
a importes negativos, símbolos decimales y de moneda y cifras decimales.
Porcentaje Multiplique el valor por 100 y agregue el signo de porcentaje (%); aplique
la configuración especificada en el Panel de control de Windows,
Configuración regional, para todo lo relativo a importes negativos,
símbolos decimales y de moneda y cifras decimales.
Científico Utiliza la notación científica estándar.

Los formatos numéricos personalizados pueden tener entre una y cuatro


secciones con signos de punto y coma (;) como separador de lista. Cada sección
contiene la especificación de formato para un tipo de número diferente.

Sección Descripción

Primera El formato para los números positivos.

Segunda El formato para los números negativos.

Tercera El formato para los valores cero.

Cuarta El formato para los valores Null.

Por ejemplo, puede utilizar el siguiente formato Moneda personalizado:

$#.## 0,00 [Ver de] ; ($ #.##0, 00) [Rojo] ;"Cero";" Null"

Este formato numérico contiene cuatro secciones separadas por signos de

punto y coma, y utiliza un formato diferente para cada sección.

Si utiliza varias secciones, pero no especifica un formato para cada

sección, las entradas para las que no hay ningún formato no mostrarán nada o

tomarán como valor predeterminado el formato de la primera sección.

diosestinta.blogspot.com
180 ACCESS 2010. CURSO PRACTICO ©RA-MA

Puede crear formatos numéricos personalizados mediante los símbolos


siguientes:

Símbolo Descripción
, (coma) Separador decimal. Los separadores se establecen haciendo doble clic en
Configuración regional en el Panel de control de Windows.
. (punto) Separador de miles.
0 Marcador de posición de dígitos. Muestra un dígito o 0.
# Marcador de posición de dígitos. Muestra un dígito o nada.
$ Muestra el carácter literal “$”.
% Porcentaje. El valor se multiplica por 100 y se le anexa un signo de porcentaje.
E- 0 e- Notación científica con un signo menos (-) junto a los exponentes negativos y nada
junto a los exponentes positivos. Este símbolo debe utilizarse con otros símbolos,
como en el ejemplo 0,00E-00 o 0,00E00.
E+ 0 e+ Notación científica con un signo menos junto a los exponentes negativos y un signo
más (+) junto a los exponentes positivos. Este símbolo debe utilizarse con otros
símbolos, como en el ejemplo 0,00E+00.

Puede utilizar la propiedad LugaresDecimales (DecimalPlaces) para anular


el número predeterminado de lugares decimales del formato predefinido
especificado para la propiedad Formato.
Los formatos predefinidos de moneda y de euro siguen la configuración
del Panel de control, en Configuración regional. Puede omitirla especificando su
propio formato de moneda.

• Valores de Formato para Tipos de datos Texto y Memo

Puede utilizar símbolos especiales para la propiedad Formato con el fin de


crear formatos personalizados para los campos Texto y Memo.
En cuanto a los posibles valores, puede crear formatos de Texto y Memo
personalizados mediante los siguientes símbolos.

Símbolo Descripción
Se necesita un carácter de texto (ya sea un carácter o un espacio).
& No se necesita un carácter de texto.
< Convertir todos los caracteres a minúsculas.
> Convertir todos los caracteres a mayúsculas.

Los formatos personalizados para los campos Texto y Memo pueden tener
hasta dos secciones. Cada sección contiene la especificación de formato para
diferentes datos de un campo.

Sección Descripción
Primera Formato para los campos con texto.
Segunda Formato para los campos con cadenas de longitud cero y valores nulos.

diosestinta.blogspot.com
@ RA-MA CAPITULO 4. PROPIRDADES DE CAMPOS. FORMATOS Y TIPOS DE DATOS... 181

Por ejemplo, si tiene un control de cuadro de texto en el que desea que


aparezca la palabra “Ninguno” cuando no exista ninguna cadena en el campo,
puede introducir el formato personalizado @; ""Ninguno” como el valor de la
propiedad Formato del control. El símbolo @ hace que se muestre el texto del
campo; la segunda sección hace que aparezca la palabra “Ninguno” cuando haya
una cadena de longitud cero o un valor nulo en el campo.
Puede usar la función Formato para retomar un valor para una cadena de
longitud cero y otro distinto para un valor Null, y puede usar de forma similar la
propiedad Formato para dar formato de forma automática a los campos en la vista
Hoja de datos de la tabla o a los controles en un formulario o informe.
• Valores de Formato para Tipo de datos Sí/No
Puede establecer la propiedad Formato a los formatos predefinidos Sí/No,
Verdadero/Falso o Activado/Desactivado o a un formato personalizado para el tipo
de datos Sí/No. En cuanto a los valores, Microsoft Access utiliza un control de
casilla de verificación como control predeterminado para el fipo de datos Sí/No.
Los formatos predefinidos y personalizados se ignoran cuando se utiliza un control
de casilla de verificación. Por tanto, estos formatos se aplican sólo a los datos
mostrados en un control de cuadro de texto.
La propiedad Formato dispone de los formatos predefinidos Sí/No,
Verdadero/Falso y Activado/Desactivado. Sí, Verdadero y Activado son
equivalentes entre sí, al igual que lo son No, Falso y Desactivado. Si especifica un
formato predefinido y, a continuación, introduce un valor equivalente, se mostrará
el formato predefinido del valor equivalente. Por ejemplo, si introduce Verdadero o
Activado en un control de cuadro de texto con su propiedad Formato establecida a
Sí/No, el valor se convierte automáticamente a Sí.
El tipo de datos Sí/No puede utilizar formatos personalizados que
contengan hasta tres secciones.

Sección Descripción
Primera Esta sección no tiene ningún efecto en el tipo de datos Si/No. No obstante, se
requiere un signo de punto y coma (;) como marcador de posición.
Segunda El texto para mostrar en lugar de los valores Sí, Verdadero o Activado.
Tercera El texto para mostrar en lugar de los valores No, Falso o Desactivado.

Para un control, puede establecer la propiedad Formato en la hoja de


propiedades del control. Para un campo, puede establecer la propiedad Formato en
la vista Diseño de la tabla (en la sección Propiedades del campo) o en la vista
Diseño de la ventana Consulta (en la hoja de propiedades Propiedades del campo).
También puede utilizar una macro o Visual Basic.

diosestinta.blogspot.com
182 ACCESS 2010. CURSO PRÁCTICO © RA-MA

La propiedad Formato afecta sólo a cómo se muestran los datos. No afecta


a cómo se almacenan los datos.

Puede utilizar los siguientes símbolos en formatos personalizados para


cualquier tipo de datos.

Símbolo Significado
(espacio) Muestra espacios como caracteres literales.
"ABC” Muestra todo el contenido de las comillas tipográficas como caracteres literales.
¡ Realiza la alineación a la izquierda en lugar de la alineación a la derecha.
* Rellena el espacio disponible con el siguiente carácter.
\ Muestra el siguiente carácter como un carácter literal. También puede mostrar
caracteres literales incluyéndolos entre comillas tipográficas.
[color] Muestra los datos con el color especificado entre los corchetes. Colores disponibles:
Negro, Azul, Verde, Aguamarina, Rojo, Fucsia, Amarillo, Blanco.

No puede mezclar los símbolos de formato personalizados para los tipos de


datos Numérico y Moneda con los símbolos de formato de los campos Fecha/Hora,
Sí/No, o Texto y Memo.

Cuando se ha definido una máscara de entrada y se ha establecido la


propiedad Formato para los mismos datos, la propiedad Formato tiene preferencia
al mostrar los datos, y la máscara de entrada se ignora. Por ejemplo, si crea una
máscara de entrada Contraseña en la vista Diseño de la tabla y también establece la
propiedad Formato para el mismo campo, ya sea en la tabla o en un control de un
formulario, la máscara de entrada Contraseña se ignora y los datos se muestran
según la propiedad Formato.

4.1.3 Máscara de entrada de los campos (propiedad


MáscaraDeEntrada o InputMask)

Puede utilizar la propiedad MáscaraDeEntrada (InputMask) para facilitar


la entrada de datos y para controlar los valores que los usuarios pueden introducir
en un control de cuadro de texto. Por ejemplo, puede crear una máscara de entrada
para un campo Número de teléfono que muestre exactamente cómo debe introducirse un
número nuevo: ( ) - . A menudo, es más fácil utilizar el
Asistente de máscaras de entrada para establecer la propiedad automáticamente.

La propiedad MáscaraDeEntrada puede contener hasta tres secciones


separadas por signos de punto y coma (;).

diosestinta.blogspot.com
©RA-MA CAPÍTULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 183

Sección Descripción
Segunda Específica si Microsoft Access almacena los caracteres de visualización literales
en la tabla al introducir datos. Si utiliza 0 para esta sección, todos los caracteres
de visualización literales (por ejemplo, el paréntesis de una máscara de entrada
de un número de teléfono) se almacenan con el valor; si introduce 1 o deja esta
sección en blanco, sólo se almacenan los caracteres introducidos en el control.
Tercera Especifica el carácter que Microsoft Access muestra para el espacio en el que el
usuario debe escribir un carácter en la máscara de entrada. Para esta sección
puede utilizar cualquier carácter; para mostrar una cadena en blanco, utilice un
espacio entre comillas (“”).

Tercera
Al crear una máscara de entrada, puede utilizar caracteres especiales para
hacer que la introducción de determinados datos (por ejemplo, el código de área de
un número de teléfono) sea obligatoria y que los demás datos sean opcionales
(como la extensión de teléfono). Estos caracteres especifican el tipo de datos, como
el número o el carácter que debe introducir para cada carácter de la máscara de
entrada. Puede definir una máscara de entrada mediante los siguientes caracteres.

Carácter Descripción
0 Dígito (0 a 9, entrada obligatoria, signos más [+] y menos [-] no permitidos).
9 Dígito 0 espacio (entrada no obligatoria, signos más y menos no permitidos).
Dígito 0 espacio (entrada no obligatoria; los espacios se muestran en blanco en el
# modo Edición, pero se eliminan cuando se guardan los datos; signos más y menos
permitidos).
L Letra (A a Z, entrada obligatoria).
? Letra (A a Z, entrada opcional).
A Letra o dígito (entrada obligatoria).
a Letra o dígito (entrada opcional).
& Cualquier carácter o un espacio (entrada obligatoria).
C Cualquier carácter o un espacio (entrada opcional).
Marcador de posición decimal y separadores de miles, hora y fecha (el carácter
.,:;-/ depende del valor del cuadro de diálogo Propiedades de Configuración regional en
el Panel de control de Windows).
< Hace que todos los caracteres se conviertan a minúsculas.
> Hace que todos los caracteres se conviertan a mayúsculas.
Hace que la máscara de entrada se muestre de derecha a izquierda, en lugar de
mostrarse de izquierda a derecha. Los caracteres introducidos en la máscara
!
siempre se rellenan de izquierda a derecha. Puede incluir el signo de exclamación
en cualquier lugar de la máscara de entrada.
Hace que el carácter siguiente se muestre como un carácter literal (por ejemplo, \A
\ se muestra sólo como A).

La tabla siguiente muestra algunas definiciones de máscara de entrada


útiles y ejemplos de valores que pueden introducirse en ellos.

diosestinta.blogspot.com
184 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Definición de máscara de entrada Ejemplos de valores


(000) 000-0000 (206) 555-0248
(999) 999-9999! (206) 555-0248
() 555-0248
(000) AAA-AAAA (206) 555-TELE
#999 -20
2000
>L????L?000L0 GREENGR339M3
MAYR452B7
>LOL OLO T2F 8M4
00000-9999 98115-
98115-3007
>L<?????????????? Elena
Manuel
ISBN 0-&&&&&&&&&-0 ISBN 1-55615-507-7
ISBN 0-13-964262-5
>LL00000-0000 DB51392-0493

Una máscara de entrada se utiliza en campos (en tablas y consultas) y en


cuadros de texto y cuadros combinados (en formularios) para dar formato a los
datos y para proporcionar algún control sobre qué valores pueden introducirse. Una
máscara de entrada está formada por caracteres literales (como espacios, puntos,
guiones y paréntesis) que separan los espacios en blanco para rellenar. La
configuración de la propiedad Máscara de entrada está formada por caracteres
literales junto con caracteres especiales que determinan el tipo de valor que puede
introducirse en un espacio en blanco en esa posición. Las máscaras de entrada se
utilizan principalmente en campos de Texto y de Fecha/Hora, pero también pueden
utilizarse en campos Numéricos o de Moneda.

Puede utilizar la propiedad MáscaraDeEntrada para crear una máscara de


entrada (en ocasiones denominada “plantilla de campo”) que utilice caracteres de
visualización literales para controlar cómo se especifican los datos en un campo o un
control. Por ejemplo, la siguiente máscara de entrada requiere que todas las entradas
de número de teléfono contengan exactamente los dígitos suficientes para formar un
código de área y un número de teléfono, y que sólo puedan especificarse dígitos en
cada espacio vacío. Solamente se podrán rellenar estos espacios.

-Si un c ampo t iene una


máscara de ent rada, los
dat os se introduc en en
los huec os.

diosestinta.blogspot.com
© RA-MA CAPÍTULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DA TOS... 185

El establecimiento de la propiedad MáscaraDeEntrada a la palabra


“Contraseña” crea un control de entrada de contraseña. Cualquier carácter
introducido en el control se almacena como el carácter pero se muestra como un
asterisco (*). Utilice la máscara de entrada de Contraseña para impedir que se
muestren los caracteres escritos en la pantalla.

Para un control, puede establecer esta propiedad en la hoja de propiedades


del control. Para un campo de una tabla, puede establecer esta propiedad en la vista
Diseño de la tabla (en la sección Propiedades del campo) o en la vista Diseño de la
ventana Consulta (en la hoja de propiedades Propiedades del campo).

También puede establecer la propiedad MáscaraDeEntrada mediante una


macro o Visual Basic.

Al introducir datos en un campo para el que se ha definido una máscara de


entrada, los datos siempre se introducen en el modo Sobrescribir. Si utiliza la tecla
RETROCESO para eliminar un carácter, éste se reemplazará por un espacio en blanco.

Si mueve texto desde un campo para el cual ha definido una máscara de


entrada hasta el Portapapeles, los caracteres de visualización literales se copiarán,
incluso si ha especificado que no se guarden con datos.

Sólo los caracteres introducidos directamente en un control o un cuadro


combinado se ven afectados por la máscara de entrada. Microsoft Access ignora las
máscaras de entrada al importar datos, al ejecutar una consulta de acción o al
introducir caracteres en un control estableciendo la propiedad Texto (Text) del
control en Visual Basic o mediante la acción Establecer valor en una macro.

Cuando se ha definido una máscara de entrada y se ha establecido la propiedad


Formato para el mismo campo, la propiedad Formato tiene preferencia cuando se
muestran los datos. Esto quiere decir que incluso aunque haya guardado una máscara
de entrada, ésta se ignora cuándo se da formato a los datos y se muestran en pantalla.
Los datos de la tabla base propiamente dicha no se modifican; la propiedad Formato
afecta sólo a cómo se muestran los datos.

Definir una máscara de entrada para un campo de una tabla

Se tendrán en cuenta los siguientes pasos:


1. Abra una tabla en la vista Diseño.
2. En la parte superior de la ventana, seleccione el campo para el cual desea definir una
máscara de entrada.

diosestinta.blogspot.com
186 ACCESS 2010. CURSO PRACTICO © RA-MA

3. En la parte inferior de la ventana, en la ficha General, seleccione Máscara


de entrada y haga clic en el botón Generar situado a la derecha (figura
4-2) para iniciar el Asistente para máscaras de entrada, situado al lado del
cuadro de la propiedad Máscara de entrada (InputMask) y siga las
instrucciones de los cuadros de diálogo del asistente (figura 4-3).

Figura 4-2 Figura 4-3

También puede introducir la definición de la máscara de entrada en la hoja


de propiedades sin utilizar el asistente (los textos a escribir en Máscara de Entrada
en este caso ya fueron analizados antes al hablar de la propiedad Máscara de
entrada (InputMask)). En la mayoría de los casos, resulta más sencillo utilizar el
asistente, pero para los campos Numérico y Moneda es necesario introducir la
definición de la máscara de entrada manualmente.

4.1.4 Título de los campos (propiedad Caption)


Puede usar la propiedad Título (Caption) para proporcionar información
útil al usuario relativa a títulos de objetos en distintas vistas:
• Los títulos de campos especifican el texto de las etiquetas adjuntas a los
controles creados al arrastrar un campo desde la lista de campos, y sirven como
encabezados de columna para los campos en la vista Hoja de datos de una tabla
o consulta.
• Los títulos de formularios especifican el texto que aparece en la barra de título
en la vista Formulario.
• Los títulos de informes especifican el título del informe en la Vista preliminar.

• Los títulos de botones y etiquetas especifican el texto que aparece en el


control.

diosestinta.blogspot.com
© RA-MA CAPITULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 187

La propiedad Título es una expresión de cadena que puede contener hasta


2.042 caracteres. Se truncarán los títulos de los formularios e informes que sean
demasiado largos para mostrarlos en la barra de título.
En el caso de los controles, puede establecer esta propiedad en la hoja de
propiedades. Para establecerla para los campos, utilice la hoja de propiedades en la
vista Diseño de tabla o en la ventana Consulta (en la hoja de propiedades
Propiedades del campo). También puede establecer esta propiedad con una macro o
con Visual Basic.
Si no especifica un título para un campo de una tabla, se usará el valor de
la propiedad Nombre del campo de ese campo como título de una etiqueta adjunta a
un control o como encabezado de columna en la vista Hoja de datos. Si no
especifica el título de un campo de una consulta, se usará el del campo de la tabla
base. Si no establece el título de un formulario, botón o etiqueta, Microsoft Access
le asignará un nombre único basándose en el tipo de objeto, como por ejemplo
“Formulario 1”.
Si crea un control arrastrando un campo desde la lista de campos y no ha
especificado un valor para la propiedad Título del mismo, se copiará el valor de la
propiedad Nombre del campo del campo en el cuadro de la propiedad Nombre
(Name) del control, y por ello aparecerá en la etiqueta del control creado.
El texto de la propiedad Título para un control etiqueta o botón de
comando es el texto de presentación de hipervínculo cuando se ha establecido la
propiedad SubdirecciónDeHipervínculo (HyperlinkSubAddress) o DirecciónDeHipervínculo
(HyperlinkÁddress) o del control.
Puede usar la propiedad Título para asignar una tecla de acceso a una
etiqueta o botón de comando. En el título, incluya un signo inmediatamente
antes del carácter que desee utilizar como tecla de acceso. Este carácter aparecerá
subrayado. Puede presionar ALT y el carácter subrayado del control para desplazar
el enfoque a dicho control en un formulario.
Si desea incluir un signo “&” en el título, escriba dos caracteres en el
título. Por ejemplo, para que aparezca “Guardar & Salir”, deberá escribir Guardar
&& Salir en el cuadro de la propiedad Título.

4.1.5 Valor predeterminado de campo (propiedad DefaultValue)


Puede usar la propiedad Valor Predeterminado (DefaultValue) para especificar
un valor que se introduce automáticamente en un campo cuando se crea un nuevo
registro. Por ejemplo, en la tabla Direcciones puede establecer el valor predeterminado
del campo Ciudad a Nueva York. Cuando los usuarios agregan un registro a la tabla,
pueden aceptar este valor o introducir el nombre de una ciudad diferente.

diosestinta.blogspot.com
188 ACCESS 2010. CURSO PRACTICO ©RA-MA

Notas:

• La propiedad ValorPredeterminado no se aplica a controles de casilla de


verificación, botón de opción o botón de alternar cuando se encuentran en un
grupo de opciones. Se aplica al grupo de opciones propiamente dicho.

• La propiedad ValorPredeterminado se aplica a todos los campos de la tabla


excepto a los campos con el tipo de datos Autonumérico u Objeto OLE.

La propiedad ValorPredeterminado especifica texto o una expresión que se


introduce automáticamente en un control o un campo cuando se crea un nuevo
registro. Por ejemplo, si establece esta propiedad en un control de cuadro de texto a
=Ahora (), el control muestra la fecha y la hora actual. La longitud máxima de un
valor de la propiedad ValorPredeterminado es 255 caracteres.

Para un control, puede establecer esta propiedad en la hoja de propiedades


del control. Para un campo, puede establecer esta propiedad en la vista Diseño de la
tabla (en la sección Propiedades del campo), en una macro o mediante Visual
Basic.

La propiedad ValorPredeterminado se aplica sólo cuando se agrega un


registro nuevo. Si se cambia esta propiedad, el cambio no se aplicará
automáticamente a los registros existentes.

Si establece la propiedad ValorPredeterminado para un control de un


formulario que depende de un campo que también tiene un valor de esta propiedad
definido en la tabla, el valor del control anulará al valor de la tabla.

Si crea un control arrastrando un campo desde la lista de campos, el valor


de la propiedad ValorPredeterminado del campo, tal como está definido en la
tabla, se aplicará al control del formulario aunque el valor de la propiedad
ValorPredeterminado del control permanezca en blanco.

Un control puede proporcionar el valor predeterminado para otro control.


Por ejemplo, si establece la propiedad ValorPredeterminado de un control a la
expresión siguiente, el valor predeterminado del control se establecerá al valor de
la propiedad ValorPredeterminado del control txtEnviarA.

=Forms!frmFactura!txtEnviarA

Si los controles están en el mismo formulario, el control que es el origen


del valor predeterminado deberá aparecer en el orden de fichas antes que el control
que contiene la expresión.

diosestinta.blogspot.com
© RA-MA CAPÍTULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 189

Definir un valor predeterminado que se inserte de forma automática en un


campo o control

Puede utilizar la propiedad Valor predeterminado de un campo para


especificar un valor que se inserta automáticamente en dicho campo al agregar un
nuevo registro.
Para definir un valor predeterminado en la vista Diseño de la tabla se
tendrá en cuenta lo siguiente:
1. Abra la tabla en la vista Diseño.

2. En la parte superior de la ventana, seleccione el campo para el cual desea


definir un valor predeterminado.
3. En la parte inferior de la ventana, en la ficha General (figura 4-1), haga
clic en el cuadro de la propiedad Valor predeterminado y, a continuación,
escriba el valor predeterminado (como por ejemplo Nueva York) o una
expresión (como Fecha()).
Notas:

• El establecimiento de la propiedad Valor predeterminado para un campo


no afecta a los datos existentes. Sin embargo, podrá reemplazarse el valor
actual de un campo con el valor predeterminado con sólo presionar
CTRL+ALT+BARRA ESPACIADORA.
• En caso de definir un valor predeterminado para un campo Sí/No de una
base de datos que será utilizada internacionalmente, deberá introducirse el
valor precedido por un signo igual (=) y Microsoft Access mostrará el
valor predeterminado en el idioma local. Por ejemplo, escriba =Si para que
Microsoft Access muestre “Ja” en alemán. Debe establecer la propiedad
Mostrar control de la ficha Búsqueda del campo a Cuadro de texto o a
Cuadro combinado para poder ver el valor.
Ejemplos de valores predeterminados de los campos

Campo Expresión Valor predeterminado


del campo
Cantidad 1 1
Región “MT” MT
Región “Nueva York, Nueva York, N.Y (tenga en cuenta que debe incluir el
N.Y.” valor entre comillas si incluye puntuación)
Fax Una cadena de longitud cero para indicar que de forma
predeterminada este campo debe estar en blanco
Fecha Pedido Fecha() Fecha actual

diosestinta.blogspot.com
190 ACCESS 2010. CURSO PRÁCTICO _______________________________________________________ © RA-MA

4.1.6 Reglas y textos de validación de campos. Propiedades


ReglaDeValidación (ValidationRule) y
TextoDeValidación (ValidationText)

Puede utilizar la propiedad ReglaDeValidación (ValidationRule) con el fin de


especificar requisitos para los datos introducidos en un registro, un campo o un control.
Cuando se introducen datos que infringen el valor de la propiedad ReglaDeValidación,
puede utilizar la propiedad TextoDeValidación (ValidationText) para especificar el
mensaje que se mostrará al usuario.

Las propiedades ReglaDeValidación y TextoDeValidación no se aplican a


controles de casilla de verificación, botón de opción o botón de alternar cuando se
encuentran en un grupo de opciones. Se aplican sólo al grupo de opciones
propiamente dicho.

En cuanto a los valores de reglas y textos de validación, introduzca una


expresión para el valor de la propiedad ReglaDeValidación y texto para el valor de
la propiedad TextoDeValidación. La longitud máxima del valor de la propiedad
ReglaDeValidación es de 2.048 caracteres. La longitud máxima del valor de la
propiedad TextoDeValidación es de 255 caracteres.

Para los controles, puede establecer la propiedad ReglaDeValidación a


cualquier expresión válida. Para las reglas de validación de campo y registro, la
expresión no puede contener funciones definidas por el usuario, funciones de agregado
de dominio o funciones agregadas, la función Eva o el método Usuario Actual
(CurrentUser), o referencias a formularios, consultas o tablas. Además, las reglas de
validación de campo no pueden contener referencias a otros campos. Para los registros,
las expresiones pueden incluir referencias a campos de esa tabla.

Puede establecer las propiedades ReglaDeValidación y TextoDeValidación


mediante:

• La sección Propiedades del campo de la vista Diseño de la tabla (para una


regla de validación de campo).

• La hoja de propiedades de una tabla; para ello, elija Propiedades en el


menú Ver en la vista Diseño de tabla (para una regla de validación de
registro).

• La hoja de propiedades de un control de un formulario.


• Una macro o Visual Basic. En Visual Basic, utilice una expresión de
cadena para establecer estas propiedades.

diosestinta.blogspot.com
© RA-MA CAPITULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 191

• Para los registros y los campos de tabla, también puede establecer estas
propiedades en Visual Basic mediante la propiedad ReglaDeValidación de
DAO.

Microsoft Access valida automáticamente valores según el tipo de datos de


un campo; por ejemplo, Microsoft Access no permite texto en un campo numérico.
Puede establecer reglas más específicas mediante la propiedad ReglaDeValidación.

Si establece la propiedad ReglaDeValidación pero no la propiedad


TextoDeVaUdación, Microsoft Access mostrará un mensaje de error estándar
cuando se infringe la regla de validación. Si establece la propiedad
TextoDeVaUdación, el texto introducido se mostrará como mensaje de error.

Por ejemplo, cuando se agrega un registro para un nuevo empleado, puede


introducir una propiedad ReglaDeValidación que requiera que el valor del campo
FechaInicio del empleado quede entre la fecha de fundación de la compañía y la
fecha actual. Si la fecha introducida no está en ese intervalo, podrá mostrar el
mensaje de la propiedad TextoDeVaUdación: “La fecha de inicio es incorrecta”.

Si crea un control arrastrando un campo desde la lista de campos, la regla


de validación del campo permanecerá en efecto, aunque no se mostrará en el
cuadro de la propiedad ReglaDeValidación del control en la hoja de propiedades.
Esto se debe a que la regla de validación del campo es heredada por un control
dependiente de ese campo.

Las reglas de validación de control, campo y registro se aplican de la forma


siguiente:

• Las reglas de validación establecidas para los campos y controles se


aplican cuando se editan los datos y el enfoque sale del campo o control.

• Las reglas de validación para los registros se aplican al moverse a otro registro.

• Si crea reglas de validación para un campo y un control dependiente del


campo, ambas reglas de validación se aplicarán cuando se editan los datos
y el enfoque sale del control.

La tabla siguiente contiene ejemplos de expresiones para las propiedades


ReglaDeValidación y TextoDeVaUdación.

diosestinta.blogspot.com
192 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Propiedad ReglaDeValidación Propiedad TextoDeValidación


(ValidationRule) (ValidationText)
<>0 La entrada debe ser un valor distinto de cero.
> 1000 O Es Nulo La entrada debe estar en blanco o ser mayor que 1000.
Como “A????” La entrada debe tener 5 caracteres y comenzar por la
letra
>=#1/1/96# Y <#1/1/97# La
“A”.entrada debe ser una fecha de 1996.
DBúsq(“IdCliente”, “Clientes”, “IdCliente La entrada debe ser un IdCliente exclusivo (las
= FormsIClientes! IdCliente”) Es Nulo funciones de agregado de dominio se permiten sólo
para la validación a nivel de formulario).

Si crea una regla de validación para un campo, Microsoft Access


normalmente no permitirá que se almacene un valor Null en el campo. Si desea
permitir un valor Null, agregue “Es Nulo” a la regla de validación, como en “o 8
O Es Nulo”, y asegúrese de que la propiedad Requerido (Required) está establecida
a No. No es posible establecer reglas de validación de campo o registro para las
tablas creadas fuera de Microsoft Access (por ejemplo, dBASE, Paradox, o SQL
Server). Para este tipo de tablas, puede crear reglas de validación sólo para
controles.

Definir reglas de validación para controlar qué valores se pueden insertar


en un campo
Microsoft Access proporciona diversas formas de controlar cómo se
especifican datos en una base de datos. Por ejemplo, es posible establecer una
limitación sobre los datos que se pueden especificar en un campo mediante la
definición de una regla de validación para ese campo. Si los datos especificados en
el campo rompen la regla, Microsoft Access mostrará un mensaje de error
indicando al usuario qué clases de entrada están permitidas. Otro método de
controlar la entrada de datos es crear una máscara de entrada para restringir los
fipos de valores que pueden especificarse en las posiciones de un campo. Estas
sencillas fijrmas de validación y restricción se pueden llevar a cabo mediante el
establecimiento de propiedades de campos en tablas o mediante el establecimiento
de propiedades de controles en formularios.

En la mayoría de los casos es preferible definir la restricción y la


validación de datos mediante la configuración de las propiedades de un campo en
la vista Diseño de la tabla. Esto supone un ahorro de tiempo, porque siempre que se
emplea ese campo en un formulario, la regla de validación del campo y otras
propiedades se aplican a las entradas de datos realizadas al utilizar el formulario.
No obstante, si los datos especificados en un control de un formulario no son
dependientes de un campo de una tabla y si es necesario restringir o validar la
entrada de datos, las propiedades deberán definirse en el formulario.

diosestinta.blogspot.com
© RA-MA CAPITULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 193

Además, existen situaciones en las cuales deben utilizarse macros o código


de Visual Basic para Aplicaciones junto con un formulario para realizar
validaciones más complejas. Por ejemplo, tal vez desee poder omitir la regla de
validación o comparar los valores de diferentes tablas. Para definir las reglas de
validación en la vista Diseño se tendrá en cuenta lo siguiente:

1. Abra una tabla en la vista Diseño.

2. En la parte superior de la ventana, seleccione el campo para el cual desea


definir una regla de validación.

3. En la parte inferior de la ventana, en la ficha General, haga clic en el


cuadro de la propiedad Regla de validación y, a continuación, escriba la
regla de validación o bien elija el botón Generar H (figura 4-4) para crear
la regla de validación mediante el Generador de expresiones. Por ejemplo,
puede definir la expresión de validación “>9” para un campo Cantidad con
el fin de impedir que un usuario realice un pedido de menos de 1 0
unidades.

4. En el cuadro de la propiedad Texto de validación, escriba el mensaje de


error que desea que se muestre cuando se viole una regla. Por ejemplo,
para la expresión de validación “>9”, puede utilizar el mensaje “Debe
realizar un pedido de 10 o más unidades”. Si se establece una regla de
validación en un campo que contiene datos, Microsoft Access preguntará si
se desea aplicar la nueva regla a los datos existentes al guardar la tabla.

Notas:

• Las reglas de validación de campo se imponen cada vez que se agregan o


modifican datos, ya sea a través de la vista Hoja de datos de la tabla, un
control de un formulario dependiente del campo, una consulta de datos
anexados, una consulta de actualización, código de Visual Basic para
aplicaciones o mediante la importación de datos de otra tabla.

• Para comprobar si los datos de una tabla cumplen las reglas de validación,
haga clic en Probar reglas de validación en el grupo Herramientas de la
ficha Diseño (figura 4-5).

diosestinta.blogspot.com
194 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Figura 4-4 Figura 4-5

4.1.7 Propiedad Requerido (Required) en los campos


Puede usar la propiedad Requerido para especificar si es necesario que
exista un valor en un campo. Si el valor de esta propiedad es Sí, al introducir datos
en un registro deberá especificar un valor en el campo en cualquier control
dependiente del mismo, y además el valor no podrá ser Nulo. Por ejemplo, es
posible que desee asegurarse de que el control Apellidos tenga siempre un valor en
todos los registros. Cuando desee permitir el valor Nulo en un campo, no sólo
deberá establecer No para la propiedad Requerido, sino que, si la propiedad
ReglaDeValidación tiene algún valor, deberá contener explícitamente
“regla_de_validación O Es Nulo”.

La propiedad Requerido no se aplica a los campos de tipo Autonumérico.


La propiedad Requerido puede tener los valores siguientes:

Valor Visual Basic Descripción


Sí True (-1) El campo requiere un valor.
No False (0) (Predeterminado) El campo no requiere un valor.

Puede establecer esta propiedad para todos los campos de una tabla
(excepto para los de tipo Autonumérico) en la hoja de propiedades de la tabla o
Visual Basic.

Para tener acceso a la propiedad Requerido de un campo en Visual Basic,


utilice la propiedad Required de DAO.

El motor de base de datos Access hace que se cumpla la propiedad Requerido a


nivel de tabla. Si establece Sí en esta propiedad, el campo deberá recibir un valor o
contenerlo ya cuando tenga el enfoque, cuando un usuario introduzca datos en una tabla
(o en un formulario u hoja de datos basado en ella), cuando una macro o Visual Basic
establezcan el valor del campo o cuando se importen datos a la tabla.

diosestinta.blogspot.com
©RA-MA CAPITULO 4. PROPIEDADES DE CAMPOS. FORMATOS Y TIPOS DE DATOS... 195

Puede usar las propiedades Requerido y Permitir longitud cero


(AllowZeroLength) para distinguir entre la inexistencia de información (indicada
por una cadena de longitud cero (“ ”) almacenada en el campo) y la información
que puede existir, pero que se desconoce (almacenada como un valor Nulo en el
campo). Si establece Sí en la propiedad Permitir longitud cero, una cadena de
longitud cero será una entrada válida en el campo, independientemente del valor de
la propiedad Requerido. Si establece Sí en Requerido y No en Permitir longitud
cero, deberá introducir un valor en el campo, y no será válida una cadena de
longitud cero.

Puede utilizar una máscara de entrada al introducir datos en un campo para


distinguir entre un valor Nulo y la de una cadena de longitud cero. Por ejemplo, puede
mostrarse la cadena “Ninguno” cuando se introduce una cadena de longitud cero.

En la tabla siguiente se indica el resultado de las combinaciones de los valores


de las propiedades Permitir longitud cero y Requerido.

Requerido Permitir Acción del usuario Valor almacenado


(Required) longitud cero
(AllowZeroLenth)
No No Presionar ENTRAR Nulo
Presionar BARRA ESPACIADORA Nulo
Introducir una cadena de longitud cero
(no permitido)
No Sí Presionar ENTRAR Nulo
Presionar BARRA ESPACIADORA Nulo
Introducir una cadena de longitud cero Cadena de longitud
cero
Sí No Presionar ENTRAR (no permitido)
Presionar BARRA ESPACIADORA (no permitido)
Introducir una cadena de longitud cero (no permitido)
Sí Sí Presionar ENTRAR (no permitido)
Presionar BARRA ESPACIADORA Cadena de longitud
Introducir una cadena de longitud cero cero
Cadena de longitud
cero

Si establece Sí en la propiedad Requerido de un campo de una tabla que ya


contiene datos, Microsoft Access le dará la opción de comprobar o no si el campo
tiene un valor en todos los registros existentes. Sin embargo, puede obligar a que se
especifique un valor para el campo en todos los registros nuevos incluso cuando
existan registros con el valor Nulo en él.

Para forzar una relación entre tablas que no admitan valores Nulo, establezca
Sí en la propiedad Requerido del campo clave externa de la tabla relacionada.

diosestinta.blogspot.com
196 ACCESS 2010. CURSO PRACTICO © RA-MA

El motor de base de datos Jet asegurará entonces que haya un registro


relacionado en la tabla principal antes de poder crear un registro en la tabla secundaria.
Si el campo clave externa forma parte de la clave principal de la tabla secundaria, esto
no es necesario, ya que una clave principal no puede contener el valor Nulo.

4.1.8 Permitir longitud cero en los campos. Propiedad


permitir longitud cero (AllowZeroLength)
Puede usar la propiedad Permitir longitud cero (AllowZeroLength) para
especificar si una cadena de longitud cero (“ ”) es una entrada válida para un
campo de una tabla. La propiedad Permitir longitud cero sólo se aplica a los
campos de tipo texto, memo e hipervínculo.
La propiedad Permitir longitud cero puede tener los valores siguientes:
Valor Visual Basic Descripción

Sí True (-1) Una cadena de longitud cero es una entrada valida.

No False (0) (Predeterminado) Una cadena de longitud cero es una entrada


valida.
Puede establecer esta propiedad en la hoja de propiedades de la tabla o con
Visual Basic.
Si desea que Microsoft Access almacene una cadena de longitud cero en
lugar del valor Nulo cuando se deja un campo en blanco, establezca en Sí las
propiedades Permitir longitud cero y Requerido.
Puede utilizar la propiedad Formato cuando introduce datos en un campo
para distinguir entre la presentación de un valor Nulo y la de una cadena de
longitud cero. Por ejemplo, puede mostrarse la cadena “Ninguno” cuando se
introduce una cadena de longitud cero.
La propiedad Permitir longitud cero es independiente de la propiedad
Requerido, que sólo determina si es válido el valor Nulo para el campo. Si Permitir
longitud cero tiene el valor Sí, será válida para el campo una cadena de longitud
cero, independientemente del valor de la propiedad Requerido.
Propiedades que controlan cómo se tratan los campos en blanco
Es posible controlar el modo en que se trata un campo en blanco mediante
el establecimiento de diversas combinaciones de las propiedades Requerido y
Permitir longitud cero del campo. La propiedad Permitir longitud cero sólo está
disponible para campos de Texto, Memo o Hipervínculo. La propiedad Requerido
determina si debe realizarse una entrada. Si la propiedad Permitir longitud cero se
ha establecido a Sí, Microsoft Access diferenciará entre dos tipos de valores en
blanco: valores nulos y valores de cadena de longitud cero.

diosestinta.blogspot.com
© RA-MA CAPÍTULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 197

Diferencia entre valores nulos y cadenas de longitud cero

Microsoft Access permite distinguir entre dos tipos de valores en blanco.


En determinadas situaciones, un campo puede dejarse en blanco porque la
información existe, pero se desconoce en ese momento, o porque el campo no se
aplica al registro. Por ejemplo, si una tabla tiene un campo Número, podrá dejarlo
en blanco si no está seguro del número de fax del cliente o de si el cliente tiene un
número de fax. Para una situación de este tipo, dejar el campo en blanco
introduciendo un valor nulo significa “desconocido”. La introducción de una
cadena de longitud cero escribiendo dobles comillas (" ") significa “conocida la
inexistencia de un valor”.

Cuándo permitir valores nulos en un campo

Si se desea dejar un campo en blanco sin necesidad de determinar la razón


por la cual dicho campo se deja en blanco, establezca las propiedades Requerido y
Permitir longitud cero a No. Éste es el valor predeterminado al crear un nuevo
campo Texto, Memo o Hipervínculo.

Cuándo no permitir valores nidos ni cadenas de longitud cero en un campo

Si no desea permitir que un campo quede en blanco, establezca la


propiedad Requerido a Sí y la propiedad Permitir longitud cero a No.

Cuándo permitir valores nulos y cadenas de longitud cero en un campo

Si desea poder distinguir entre un campo que se ha dejado en blanco por


desconocer la información y otro que se ha dejado en blanco por no ser aplicable,
deberá establecer la propiedad Requerido (Required) a No y la propiedad Permitir
longitud cero a Sí. En este caso, al agregar un registro se dejará el campo en blanco
(con lo que se introduce un valor nulo) si se desconoce la información. Por otra
parte, se introducirán dobles comillas (“”) sin espacio entre ellas para introducir
una cadena de longitud cero, indicando que el campo no se aplica al registro actual.

Cuándo permitir únicamente cadenas de longitud cero o algún valor en un campo

Si sólo desea dejar un campo en blanco cuando sabe que el campo no se


aplica a un registro, establezca la propiedad Requerido y la propiedad Permitir
longitud cero a Sí. En este caso, la única manera de dejar un campo en blanco es
escribir comillas dobles sin espacio entre ellas o presionar BARRA
ESPACIADORA para introducir una cadena de longitud cero.

diosestinta.blogspot.com
198 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Distinguir entre valores nulos y cadenas de longitud cero

Cuando ve datos en un campo que contiene valores nulos y cadenas de


longitud cero, los campos tienen el mismo aspecto, no contienen valores. Puede
distinguir los valores nulos de las cadenas de longitud cero utilizando una expresión
en un campo de consulta o en el origen del control de un control independiente de un
formulario, un informe o una página de acceso a datos.
La siguiente expresión devuelve “Unknown” en el campo que contiene Null
y “ZLS” si el campo contiene una cadena de longitud cero; de lo contrario, la
expresión devolverá el valor de ese campo:

=IIf(IsNull([rtom¿re£/ecaw/?o]),“Unknown”,Format([nombredecampo],“@;\ZLS”))

Localizar cadenas de longitud cero o valores nulos


Puede utilizar el comando Buscar del grupo Buscar de la ficha Inicio para
localizar valores nulos o cadenas de longitud cero. En la vista Hoja de datos o en la vista
Formulario, seleccione el campo en el que desea buscar. En el cuadro Buscar (figura 4-6),
escriba Nulo para localizar valores nulos o escriba comillas (“ ”) sin espacio entre ellas
para encontrar cadenas de longitud cero. En el cuadro Coincidir, seleccione Hacer
coincidir todo el campo y asegúrese de que la casilla de verificación Buscar los campos
con formato no está activada.

Figura 4-6

4.1.9 Campos indexados (propiedad Indexed)


Puede usar la propiedad Indexado para establecer un índice de un solo
campo. Los índices hacen que las consultas basadas en los campos indexados sean
más rápidas, y también aceleran las operaciones de ordenación y agrupación. Por
ejemplo, si busca empleados basándose en un campo llamado Apellidos, podrá
crear un índice para este campo para hacer más rápida la búsqueda.

diosestinta.blogspot.com
©RA-MA CAPÍTULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 199

La propiedad Indexado puede tener los valores siguientes:

Valor Descripción
No (Predeterminado) Sin índice.
Sí (Con duplicados) El índice admite valores duplicados.
Sí (Sin duplicados) El índice no admite valores duplicados.

Sólo puede establecer esta propiedad en la sección Propiedades del campo


de la vista Diseño de la tabla. Puede establecer un índice de un solo campo
estableciendo la propiedad Indexado en la sección Propiedades del campo de la
vista Diseño de tabla. Para establecer índices formados por varios campos, abra la
ventana índices haciendo clic en el comando índices del menú Ver.

Si agrega un índice de un solo campo en la ventana índices, Microsoft


Access establecerá Sí en la propiedad Indexado de ese campo.

Puede usar la propiedad Indexado para buscar y ordenar registros con un


solo campo de una tabla. Este campo puede contener valores únicos o no. Por
ejemplo, puede crear un índice con un campo llamado IdEmpleado para una tabla
Empleados en la que cada identificador de empleado sea único, o también un índice
con el campo Nombre, en el que algunos nombres pueden estar duplicados.

No es posible crear índices con los campos de tipo Memo, Hipervínculo u


Objeto OLE.

Puede crear tantos índices como precise. Los índices se crean al guardar la
tabla, y se actualizan automáticamente al modificar o agregar registros. En
cualquier momento puede agregar o eliminar índices en la vista Diseño de la tabla.

Puede especificar texto utilizado habitualmente al comienzo o al final de


un nombre de campo (como “Id”, “código” o “núm”) en la opción Autoindexar al
importar o crear de la ficha Tablas/Consultas, que aparece al hacer clic en el
comando Opciones del menú Herramientas. Al importar archivos de datos que
contengan ese texto en el nombre de sus campos, Microsoft Access creará un
índice de los mismos.

Si la clave principal de una tabla es un solo campo, Microsoft Access


establecerá automáticamente la propiedad Indexado de ese campo a Sí (Sin
duplicados).

Si desea crear índices con múltiples campos, utilice la opción Indices del
grupo Mostrar y ocultar de la ficha Diseño con la tabla en vista Diseño tal y como
ya se ha visto en el capítulo anterior.

diosestinta.blogspot.com
200 ACCESS 2010. CURSO PRÁCTICO © RA-MA

4.1.10 Comprimir los datos en un campo texto, memo o


hipervínculo (propiedad Unicode Compression)

Microsoft Access 2000 utiliza el esquema de codificación de caracteres


Unicode para representar los datos en un campo Texto, Memo o Hipervínculo. En
Unicode, cada carácter viene representado por dos bytes en lugar de un único byte.

Un esquema de codificación que almacena cada carácter en un byte le


limita a una sola página de códigos: un conjunto numerado que contiene un
máximo de 256 caracteres. Sin embargo, Unicode puede admitir un máximo de
65.536 caracteres, pues representa cada carácter con dos bytes. Por ello, los datos
de un campo Texto, Memo o Hipervínculo requieren un mayor espacio de
almacenamiento que en versiones anteriores de Access.

Puede compensar este efecto de la representación de caracteres de Unicode


y asegurar un óptimo funcionamiento estableciendo la propiedad Unicode
Compression del campo a Sí. Esta es la opción predeterminada cuando crea un
nuevo campo Texto, Memo o Hipervínculo. Cuando la propiedad Unicode
Compression de un campo está establecida a Sí, los caracteres cuyo primer byte es
O se comprimen al almacenarse y se descomprimen al recuperarse. Dado que el
primer byte de un carácter latino (perteneciente a un idioma de Europa Occidental,
como el inglés, español o alemán) es siempre O, la representación de caracteres de
Unicode no afecta al espacio de almacenamiento necesario para datos comprimidos
cuando éstos estén formados exclusivamente por caracteres latinos.

Se puede almacenar en un solo campo cualquier combinación de caracteres


admitida por Unicode. Sin embargo, si el primer byte de un carácter particular no
es O, ese carácter no se comprimirá.

Los datos de un campo Memo no se comprimen a menos que requiera


4.096 bytes o menos de espacio de almacenamiento tras la compresión. Por ello,
puede que el contenido de un campo Memo se comprima en un registro, pero no se
comprima en otro registro.

4.1.11 Resumen sobre propiedades de campos


En la tabla que se presenta a continuación se ofrece un resumen de la
utilización de las propiedades de los campos según el tipo de datos que contienen.
También se especifican los formatos adecuados.

diosestinta.blogspot.com
© RA-MA CAPÍTULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 201

l'sc rsia propiedad Con estos tipos


ili i.iinpn. de diitos...
Tamaño del campo Texto Establecer el tamaño máximo de los datos almacenados como tipo de
Número datos Texto, Número o Autonumérico.
Autonumérico
Más información acerca de los valores de la propiedad para estos tipos
de datos:

Texto

Especifique un valor entre 1 y 255. Los campos Texto pueden oscilar


entre 1 y 255 caracteres. En campos de texto mayores, use el tipo de
datos Memo. En el caso de los datos de un campo Texto, Access no
reserva más espacio del necesario para alojar los valores reale s. La
propiedad Tamaño del campo es el tamaño máximo del valor del
campo.

Número

Seleccione uno de los siguientes valores:

Byte: para enteros comprendidos entre 0 y 255. El requisito de


almacenamiento es un byte.

Entero: para enteros comprendidos entre -32.768 y +32.767. El


requisito de almacenamiento es dos bytes.

Entero largo: para enteros comprendidos entre -2.147.483.648 y


+2.147.483.647. El requisito de almacenamiento es cuatro bytes.
Use el tipo de datos Entero largo cuando cree una clave externa para
relacionar un campo con el campo de clave principal Autonumérico de
otra tabla.

Simple: para valores numéricos de punto flotante comprendidos entre


-3,4 × 10 38 y + 3,4 × 10 38 de hasta siete dígitos significativos. El
requisito de almacenamiento es cuatro bytes.

Doble: para valores numéricos de punto flotante comprendidos entre


-1,797 × 10 308 y +1,797 × 10 308 de hasta 15 dígitos significativos. El
requisito de almacenamiento es ocho bytes.

Id. de réplica: para almacenar un identificador único global necesar io


para la réplica. El requisito de almacenamiento es 16 bytes. Observe
que la réplica no se admite con el formato de archivo .accdb.

Decimal: para valores numéricos comprendidos entre -9,999... × 10 27 y


+9,999... × 10 27 . El requisito de almacenamiento es 12 bytes.

Autonumérico

Seleccione uno de los siguientes valores:

Entero largo: para valores numéricos exclusivos comprendidos entre 1


y +2.147.483.648 cuando la propiedad Nuevos valores esté establecida
en Incrementalmente, y entre -2.147.483.648 y +2.147.483.647 cuando
la propiedad Nuevos valores esté establecida en Aleatoriamente. El
requisito de almacenamiento es cuatro bytes.

diosestinta.blogspot.com
202 ACCESS 2010. CURSO PRACTICO ___________________________________________________ © RA-MA

Id. de réplica: para almacenar un identificador único global necesario


para la réplica. El requisito de almacenamiento es 16 bytes. Observe
que la réplica no se admite con el formato de archivo .accdb.
Para conseguir un rendimiento óptimo, especifique siempre el Tamaño
del campo más pequeño que sea suficiente.
Formato Texto Personalizar la forma en que el campo aparece de forma
Memo predeterminada cuando se visualiza o se imprime.
Número
Fecha/Hora Más información acerca de los valores de la propiedad para estos tipos
Moneda de datos:
Autonumérico
Sí/No Texto
Hipervínculo
Es posible definir un formato personalizado para un campo Texto tal y
como ya se ha visto anteriormente.

Número

Seleccione uno de los siguientes valores:

Número general: muestra el número tal y como se escribió. Por


ejemplo, 3456,789 se muestra como 3456,789.

Moneda', muestra el número mediante el separador de miles y aplica


los valores de Configuración regional y de idioma del Panel de control
para las cifras negativas, los símbolos decimales y de moneda y las
posiciones decimales. Por ejemplo, 3456,789 se muestra como
3.456.79 $.

Euro: muestra el número mediante el símbolo de moneda Euro,


independientemente del símbolo especificado en Configuración
regional y de idioma. Por ejemplo, 3456,789 se muestra como
3.456.79 € y 3 456,789 se convierte en 3 456,79 €.

Fijo-, muestra al menos un dígito y aplica los valores de Configuración


regional y de idioma del Panel de control para las cifras negativas, los
símbolos decimales y de moneda y las posiciones decimales. Por
ejemplo, 3456,789 se muestra como 3456,79.

Estándar: muestra el número mediante el separador de miles y aplica


los valores de Configuración regional y de idioma del Panel de control
para las cifras negativas, los símbolos decimales y las posiciones
decimales. Este formato no muestra un símbolo de moneda. Por
ejemplo, 3456,789 se muestra como 3.456,79.

Porcentaje: multiplica el valor por 100 y muestra el número con un


signo de porcentaje anexado al final. Aplica los valores de
Configuración regional y de idioma del Panel de control para las cifras
negativas, los símbolos y las posiciones decimales. Por ejemplo,
0,3456 se muestra como 35%.

Científico-, muestra el valor en notación científica estándar. Por


ejemplo, 3456,789 se muestra como 3,46E+03.

Fecha/Hora

Seleccione uno de los siguientes formatos de visualización


predefinidos:

diosestinta.blogspot.com
© RA-MA CAPITULO 4. PROPIEDADES DE CAMPOS. FORMATOS Y TIPOS DE DATOS... 203

Fecha general, muestra el valor mediante una combinación de los


valores Fecha corta y Hora larga.

Fecha larga', muestra el valor mediante el valor Fecha larga de


Configuración regional y de idioma del Panel de control.

Fecha mediana: muestra el valor mediante el formato dd-mmm-aa (14-


Jul-06, por ejemplo).

Fecha corta: muestra el valor mediante el valor Fecha corta de


Configuración regional y de idioma del Panel de control.

Hora larga: muestra el valor mediante el valor Hora larga de


Configuración regional y de idioma del Panel de control.

Hora mediana: muestra el valor mediante el formato HH:MM p.m.,


donde HH representa la hora, MM representa el minuto y p.m.
representa a.m. o p.m. El valor de hora puede oscilar entre 1 y 12, el de
minuto entre 0 y 59.

Hora corta: muestra el valor mediante el formato HH:MM, donde HH


es la hora y MM el minuto. La hora puede oscilar entre 0 y 23 y el
minuto entre 0 y 59.

Sí/No

Seleccione uno de los siguientes valores:

Verdadero/Falso: muestra el valor como Verdadero o Falso.

Si/No: muestra el valor como Sí o No.


Activado/Desactivado: muestra el valor como Activado o Desactivado.
Verdadero=SÍ=Activado y Falso=No=Desactivado

Posiciones Número Especificar el número de posiciones decimales que se va a usar a la


decimales Moneda
hora de mostrar números.
Nuevos valores Autonumérico Establecer si un campo Autonumérico se incrementa o recibe un valor
aleatorio cuando se agrega un nuevo registro.
Máscara de Texto Mostrar caracteres de edición para guiar la especificación de datos.
entrada Número
Fecha/Hora
Moneda
Título Todos los tipos Establecer el texto que aparece de forma predeterminada en los rótulos
de datos de los formularios, los informes y las consultas.
Valor Texto Asignar de forma automática el valor especificado a un campo cuando
predeterminado
Memo se agregue un nuevo registro.
Número
Fecha/Hora
Moneda
Sí/No
Hipervínculo
Regla de Texto Proporcionar una expresión que debe ser verdadera para agregar o
validación Memo modificar el valor de este campo.
Número
Fecha/Hora
Moneda
Sí/No
Hipervínculo

diosestinta.blogspot.com
204 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Texto de Texto Especificar el texto que aparece cuando un valor escrito en este campo
validación Memo infringe la expresión del cuadro Regla de validación.
Número
Fecha/Hora
Moneda
Sí/No
Hipervínculo
Requerido Todos los tipos Exigir que este campo contenga un valor en cada registro.
de datos
excepto
Autonumérico
Permitir longitud Texto Permitir la especificación (al establecerla en Sí) de una cadena de
cero Memo longitud cero (“”) en un campo Texto o Memo.
Hipervínculo
Indizado Texto Acelerar el acceso de lectura a los datos de este campo al crear y
Memo utilizar un índice. Los campos Memo e Hipervínculo son compatibles
Número con los índices únicamente en los primeros 255 caracteres del ca mpo.
Fecha/Hora Un índice de un campo hace que las operaciones de anexión,
Moneda eliminación y actualización tarden más, ya que el índice tiene que
Autonumérico actualizarse para reflejar los cambios.
Sí/No
Hipervínculo
Compresión Texto Comprimir los datos de este campo cuando haya menos de 4,096
Unicode
Memo caracteres almacenados (siempre es verdadera en un campo Texto). No
Hipervínculo tiene ningún efecto si hay más de 4.096 caracteres almacenados.
Modo IME Texto Controlar la conversión de caracteres en las versiones asiáticas de
Memo Windows.
Fecha/Hora
Hipervínculo
Modo de oraciones Texto Controlar la conversión de oraciones en las versiones asiáticas de
IME Memo Windows.
Fecha/Hora
Hipervínculo
Etiquetas Texto Adjuntar una etiqueta inteligente al campo.
inteligentes
Memo
Número
Fecha/Hora
Moneda
Autonumérico
Hipervínculo
Sólo anexar Memo Realizar un seguimiento del historial del valor del campo al establecer
Hipervínculo
la propiedad en Sí. Si se cambia a No, se borra el historial del valor del
campo. Cuando Sólo anexar se establece en Sí, Access realiza un
seguimiento de los cambios en los valores del campo. Para ver el
historial de un campo Sólo anexar, haga clic con el botón secundario
en un valor del campo y, a continuación, haga clic en Mostrar historial
de columna en el menú contextual. Access muestra un historial de
cambios en el valor del campo.
Formato del texto Memo Seleccionar Texto enriquecido para almacenar los datos del campo
como HTML y permitir la aplicación de formato enriquecido.
Seleccionar Texto sin formato para almacenar únicamente texto.
Alineación del Todos los tipos Especificar la alineación predeterminada del texto de un control.
texto de datos
excepto Datos
adjuntos
Mostrar el Fecha/Hora Especificar si Access muestra un selector de fecha (control de
Selector de fecha calendario) cuando los usuarios modifican el valor de un campo.

diosestinta.blogspot.com
©RA-MA _________ CAPÍTULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 205

4.2 PERSONALIZAR CAMPOS


Mover campos

Para mover un campo en la vista Diseño de la tabla se tendrá en cuenta lo


siguiente:
1. Abra la tabla en la vista Diseño.
2. Seleccione el campo o los campos que desea mover. Para seleccionar un campo,
haga clic en el selector de filas de ese campo. Para seleccionar un grupo de
campos, arrastre el puntero por encima de los selectores de filas de esos campos.
3. Presione y mantenga presionado el botón del ratón en el selector de filas de
nuevo. Microsoft Access muestra una barra horizontal fina justo por
encima de la última fila seleccionada.
4. Arrastre la barra horizontal a la fila situada justo debajo del lugar a donde
desea mover los campos.

Al cambiar el orden de los campos en la vista Diseño de tabla, se modifica


el orden en el que los campos se almacenan en la tabla y también se cambia el
orden de las columnas en la hoja de datos de la tabla.
Para mover columnas en la vista Hoja de datos:
1. Abra una tabla, consulta, formulario, vista o procedimiento almacenado en
la vista Hoja de datos.

2. Seleccione las columnas que desee mover. Para seleccionar una columna,
haga clic en el selector de campo de la columna. Para seleccionar columnas
contiguas, haga clic en el selector de campo de la columna y sin liberar el
botón del ratón, arrastre éste para extender la selección.
3. De nuevo, haga clic y mantenga presionado el botón del ratón en el
selector o selectores de campo.

4. Arrastre las columnas a una nueva posición.

Cambiar el nombre de los campos


Para cambiar el nombre de un campo en la vista Diseño se tendrá en cuenta
lo siguiente:

1 . Abra la tabla en la vista Diseño.


2 . Haga doble clic en el nombre del campo que desea cambiar.

diosestinta.blogspot.com
206 ACCESS 2010. CURSO PRÁCTICO _______________________________________________________ © RA-MA

3. Escriba el nuevo nombre del campo siguiendo las reglas para nombrar
objetos de Microsoft Access.
4. Haga clic en Guardar en la barra de herramientas de acceso rápido para
guardar los cambios.

Si tiene expresiones o código de Visual Basic para aplicaciones que


contengan referencias al campo cuyo nombre va a cambiar, deberá actualizar todas
esas referencias con el nuevo nombre.
Para cambiar el nombre de un campo en la vista Hoja de datos se tendrá en
cuenta lo siguiente:

1. Abra la tabla en la vista Hoja de datos.

2. Haga doble clic en el selector de campos del campo que desea cambiar. Si
la propiedad Título (Caption) se ha establecido para este campo, el texto
mostrado en el selector de campos podrá ser diferente del nombre del
campo real. En este caso, al hacer doble clic en el selector de campos, el
texto del título desaparecerá y se reemplazará por el nombre del campo. Si
continúa, editará el nombre del campo y, al presionar ENTRAR para
guardar este cambio, el texto del título se eliminará. Si no desea eliminar el
texto del título, presione ESC inmediatamente después de hacer doble clic
en el selector de campos para cancelar la edición.
3. Escriba el nuevo nombre del campo siguiendo las reglas para nombrar
objetos de Microsoft Access.
4. Presione ENTRAR para guardar el nuevo nombre.

Eliminar campos

Para eliminar un campo de una tabla en la vista Diseño se tendrá en cuenta


lo siguiente:
1. Abra la tabla en la vista Diseño.

2. Seleccione el campo o los campos que desea eliminar. Para elegir un campo,
haga clic en el selector de filas de ese campo. Para seleccionar un grupo de
campos, arrastre el puntero por encima de los selectores de filas de esos campos.
3. Haga clic en Eliminar filas en el grupo Herramientas de la ficha Diseño.

diosestinta.blogspot.com
©RA-MA CAPÍTULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 207

Notas:

• Si otros objetos de la base de datos contienen referencias a un campo


eliminado, deberá eliminar también esas referencias. Por ejemplo, si un
informe contiene un control dependiente de un campo eliminado,
Microsoft Access no podrá encontrar los datos del campo y generará un
mensaje de error.

• No es posible eliminar un campo que forma parte de una relación. Debe


eliminar primero la relación.

Para eliminar un campo de una tabla en la vista Hoja de datos se tendrá en


cuenta lo siguiente;

1. Abra la tabla en la vista Hoja de datos.


2. Haga clic en el selector de campos de la columna que desea eliminar con el
botón derecho del ratón.

3. En el menú emergente resultante seleccione Eliminar columna.

Cambiar el tipo de datos de los campos

Para cambiar el tipo de datos de un campo se tendrá en cuenta lo siguiente:


1. Si la tabla contiene datos, será conveniente realizar una copia de seguridad
de la tabla antes de cambiar los tipos de datos o el tamaño de los campos.

2. Abra la tabla en la vista Diseño.


3. Haga clic en la columna Tipo de datos del campo que desea cambiar, haga
clic en la flecha (figura 4-7) y, a continuación, seleccione el nuevo tipo de
datos.

4. Haga clic en Guardar en la barra de herramientas de acceso rápido.

Si la conversión del tipo de datos tuviera como resultado la pérdida de


valores, Microsoft Access mostrará un mensaje que indica que se han producido
errores durante la conversión antes de guardar realmente los cambios. Elija
Cancelar para cancelar los cambios y Aceptar para continuar y guardar los cambios
a pesar de todo. En tablas de gran tamaño, el cambio de un tipo de datos puede
llevar mucho tiempo. Si desea cancelar el proceso de conversión en cualquier
momento de su ejecución, presione CTRL+INTER y, a continuación, haga clic en
Aceptar.

diosestinta.blogspot.com
208 ACCESS 2010. CURSO PRACTICO © RA-MA

Figura 4-7

Consecuencias de cambiar el tipo de datos de un campo

Es posible que en algún momento necesite cambiar el tipo de datos de los


campos que ya contienen datos. Puede que haya importado datos y que Microsoft
Access no haya establecido el tipo de datos como deseaba, o bien puede que el tipo
de datos establecido para un campo ya no sea adecuado. Antes de convertir un tipo
de datos a otro, tenga en cuenta cómo afectará el cambio a la base de datos
completa. ¿Qué consultas, formularios e informes utilizan el campo que va a
convertir? Es posible que tenga que cambiar expresiones que dependan del campo
modificado. Los cambios de tipo de datos más comunes entran dentro de las cuatro
categorías siguientes: convertir a Texto desde otros tipos de datos, convertir de
Texto a Numérico, Moneda, Fecha/Hora o Sí/No, convertir entre Moneda y
Numérico o entre Texto y Memo y cambiar el valor de la propiedad Tamaño del
campo para los campos Numéricos.

Convertir a Texto desde otros tipos de datos

Aunque es aconsejable almacenar los números que se van a utilizar en


cálculos en un campo Numérico o Moneda, es posible que un campo que contenía
originalmente sólo números ahora requiera el uso de letras y otros caracteres no
numéricos.

Por ejemplo, supongamos que dispone de un campo Numérico que


contiene números de código. Si con el tiempo necesita incluir letras, guiones,
paréntesis u otros caracteres no numéricos como parte del código, deberá cambiar
el tipo de datos del campo a Texto. Microsoft Access convierte los valores
numéricos a texto mediante un formato Número general y los valores de fecha a
texto mediante un formato Fecha general. Los valores convertidos no incluyen
ningún símbolo de moneda ni otros caracteres de formato especiales especificados
en el campo.

diosestinta.blogspot.com
© RA-MA _________ CAPÍTULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 209

Convertir de Texto a Numérico, Moneda, Fecha/Hora o Si/No

Si tiene datos almacenados en un campo Texto y desea cambiar el campo a


otro tipo de datos, Microsoft Access puede convertir los valores que son
apropiados para el nuevo tipo de datos. Por ejemplo, si tiene números almacenados
en un campo Texto y desea llevar a cabo cálculos matemáticos con los datos, debe
convertir el campo al tipo de datos Numérico o Moneda. Siempre que todos los
datos almacenados en el campo sean solamente números, puede cambiar el tipo de
datos sin perder ningún dato. Para las conversiones de los tipos de datos Texto a
Numérico, las comas decimales y los separadores de millares se interpretan de la
forma apropiada.

Los símbolos de moneda se interpretan de acuerdo con la configuración


regional especificada al hacer doble clic en Configuración regional en el Panel de
control de Windows. Para las conversiones de Texto a Fecha/Hora, la mayoría de
los formatos de fecha y hora se convierten correctamente. Los formatos de fecha y
hora se interpretan de acuerdo con la configuración regional especificada al hacer
doble clic en Configuración regional en el Panel de control de Windows.

Para las conversiones de Texto a Sí/No, las palabras Sí, Verdadero o


Activado se convierten a un valor Sí, mientras que No, Falso o Desactivado se
convierten a un valor No. Para mostrar Sí o No, debe hacer clic en la ficha
Búsqueda en la vista Diseño de tabla y establecer la propiedad Mostrar control en
Cuadro de texto. También puede convertir del tipo de datos Numérico al tipo de
datos Sí/No: los valores cero o nulos se convierten a No y los valores distintos de
cero a Sí.

Convertir entre Moneda y Numérico o entre Texto y Memo

Siempre se puede convertir entre los tipos de datos Moneda y Numérico.


Es conveniente almacenar siempre los valores monetarios con el tipo de datos
Moneda para garantizar que los cálculos son correctos. También debe utilizar el
tipo de datos Moneda si desea realizar muchos cálculos en un campo que contiene
números entre uno y cuatro lugares decimales. El campo Moneda utiliza un método
de cálculo de coma fija que evita los errores de redondeo.

Siempre es posible convertir entre los tipos de datos Texto y Memo. Por
ejemplo, si desea almacenar valores de texto más largos de lo previsto inicialmente,
puede cambiar un campo al tipo de datos Memo. No obstante, si un campo no va a
contener más de 255 caracteres, deberá utilizar el tipo de datos Texto.

diosestinta.blogspot.com
210 ACCESS 2010. CURSO PRACTICO ©RA-MA

Cambiar el valor de la propiedad. TamañoDelCampo para campos de tipo


Numérico
En los campos con el tipo de datos Numérico, el valor de la propiedad Tamaño
del campo determina el tipo de número específico: Byte, Entero, Entero largo. Simple,
Doble, Decimal o Id. de réplica (GUID). Si convierte un campo al tipo Numérico,
tenga en cuenta si necesita cambiar el valor de Tamaño del campo para los valores
almacenados en el campo. Si cambia el valor de Tamaño del campo desde un tamaño
mayor, como Doble, a un tamaño menor, como Entero, deberá asegurarse de que los
valores almacenados en el campo caben en el nuevo tamaño del campo. Si cambia a un
valor de Tamaño del campo que no permite el número de lugares decimales incluidos
en los valores actuales, los números se redondearán. Por ejemplo, si cambia un campo
de Doble a Entero largo, los números decimales se redondearán al número entero más
cercano. Además, si los valores son demasiado grandes para almacenarse en el nuevo
tamaño, se eliminarán y se reemplazarán por valores Nulos.
A continuación se incluye una lista del resultado de la conversión de tipos
de datos comunes cuando la tabla contiene datos, así como de las consideraciones
que deben tenerse en cuenta.

Todos los Autonumérico Prohibida por Ninguna.


tipos de datos Microsoft Access
Texto Numérico, Moneda, Convierte el texto a Asegúrese de que los valores se
Fecha/Hora, Si/No los valores ajustan al nuevo tipo de datos; los
apropiados valores inapropiados se eliminan.
Memo Texto Conversión sencilla Los datos más largos que el valor de
Tamaño del campo se truncan.
Numérico Texto Convierte los Los números adoptan el formato
valores a texto Número general.
Numérico Moneda Convierte los Asegúrese de que los valores se
números a moneda ajustan al nuevo tipo de datos; los
valores inapropiados se eliminan.
Fecha/Hora Texto Convierte los Las fechas u horas adoptan el
valores a texto formato Fecha general.
Moneda Texto Convierte los El texto no incluye los símbolos de
valores a texto moneda, como $.
Moneda Numérico Conversión sencilla Asegúrese de que los valores se
ajustan al nuevo tipo de datos; los
valores inapropiados se eliminan.
Autonumérico Texto Convierte los Los valores pueden truncarse,
valores a texto dependiendo del valor de Tamaño del
campo.
Autonumérico Numérico Conversión sencilla Los valores pueden truncarse,
dependiendo del valor de Tamaño del
campo.
Si/No Texto Convierte los Ninguna.
valores a texto

diosestinta.blogspot.com
© RA-MA CAPÍTULO 4. PROPIEDADES DE CAMPOS. FORMATOS Y TIPOS DE DATOS... 211

Especificar un nombre diferente para mostrar un campo (columna) en la


vista Hoja de datos

Se tendrá en cuenta lo siguiente:

1. Abra la tabla en la vista Diseño.

2. En la parte superior de la ventana, seleccione el campo para el que desea


definir un nombre de columna diferente.

3. En la parte inferior de la ventana, en la ficha General (figura 4-1), haga


clic en el cuadro de la propiedad Título (Caption) y escriba el texto para el
nombre de la columna. El texto puede contener cualquier combinación de
letras, números, espacios y símbolos con una longitud de hasta 255
caracteres.

Notas:

• Esto resulta útil cuando desea que el encabezado de columna sea más largo
o más descriptivo que el nombre real del campo. Por ejemplo, puede que
desee nombrar un campo Apell para utilizarlo en las expresiones y en el
código de Visual Basic para aplicaciones, pero quiera mostrar el texto
“Apellidos” como encabezamiento de columna del campo.

• La propiedad Título de un campo también especifica el texto


predeterminado para las etiquetas adjuntas a los controles de formularios e
informes creados con un asistente o mediante el arrastre de un campo
desde la lista de campos.

• Si establece la propiedad Título de un campo y posteriormente cambia el


nombre de ese campo en la vista Hoja de datos, se eliminará el texto del
título del campo. En este caso, puede volver a definir el título del campo
como se ha descrito en este tema. Para evitar que suceda, cambie el
nombre del campo en la vista Diseño.

Especificar el control predeterminado (cuadro de lista, cuadro combinado o


casilla de verificación) para un campo

Se tendrá en cuenta lo siguiente:

1. Abra la tabla que contiene el campo en la vista Diseño.

2. Haga clic en la columna Tipo de datos de un campo Texto, Numérico o Sí/No.

diosestinta.blogspot.com
212 ACCESS 2010. CURSO PRACTICO ©RA-MA

3. Haga clic en la ficha Búsqueda en la parte inferior de la pantalla (figura 4-8).

4. En el cuadro de la propiedad Mostrar control, seleccione un control de la lista.

Notas:
• Puede especificar un tipo de control predeterminado para campos Texto,
Numérico y Sí/No. Al establecer el tipo de control predeterminado para un
campo, Microsoft Access muestra ese control en la hoja de datos de la
tabla y crea automáticamente ese tipo de control siempre que se agrega ese
campo a un formulario o informe. Para los campos Texto y Numérico, el
tipo de control predeterminado puede ser un cuadro de texto, un cuadro
combinado o un cuadro de lista (sólo formularios). Para los campos Sí/No,
el tipo de control predeterminado puede ser una casilla de verificación, un
cuadro de texto o un cuadro combinado.

• Si desea mostrar el campo como un cuadro combinado en la hoja de datos


de una tabla, pero como un cuadro de texto en la hoja de datos de una
consulta, podrá establecer la propiedad Mostrar control en la ficha
Búsqueda para el campo en la vista Diseño de la consulta además de en la
propiedad de la tabla.

Figura 4-8

Cambiar el tamaño de los campos Texto y Numérico

Es posible controlar el número máximo de caracteres que pueden


introducirse en un campo de Texto o el intervalo y el tipo de valores numéricos que
pueden introducirse en un campo Numérico. Para ello se tendrá en cuenta lo
siguiente:

diosestinta.blogspot.com
© RA-MA _________ CAPITULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 213

1. En la vista Diseño de la tabla, en la parte superior de la ventana, haga clic


en el campo cuya propiedad Tamaño del campo desee establecer.

2. En la parte inferior de la ventana, en la ficha General (figura 4-1), haga


clic en el cuadro de la propiedad Tamaño del campo.

3. Para un campo Texto, escriba el número máximo de caracteres que puede


admitir un campo (hasta 255 caracteres).

4. Para un campo Numérico, haga clic en la flecha y seleccione el tamaño del


campo que desee.

Definir el número de posiciones decimales que se van a mostrar en un


campo o un control

Puede utilizar la propiedad LugaresDecimales (DecimalPlaces) para


especificar el número de posiciones decimales que se van a mostrar en un campo
Numérico o Moneda o en un control con datos numéricos o de moneda. Puede
establecer la propiedad LugaresDecimales en la vista Diseño de la tabla, en la vista
Diseño de la consulta, en la vista Diseño del formulario o en la vista Diseño del
informe.

En la mayoría de los casos, probablemente desee establecer la propiedad del


campo en la vista Diseño de la tabla. De esta forma, el valor se aplica
automáticamente al campo en la vista Diseño de la consulta y a los controles de un
formulario o informe dependiente de ese campo (siempre que se creen los controles
después de establecer la propiedad en la vista Diseño de la tabla). No obstante, en
algunos casos puede que desee establecer la propiedad en la vista Diseño de la
consulta, del formulario o del informe.

Por ejemplo, es posible que desee que el número de posiciones decimales


de una hoja de datos de tabla sea diferente del de un informe. Podría establecer la
propiedad LugaresDecimales del campo en la vista Diseño de la consulta y
después basar el informe en la consulta. Si está utilizando un control independiente,
deberá establecer la propiedad LugaresDecimales en la vista Diseño del formulario
o en la vista Diseño del informe. Para establecer la propiedad LugaresDecimales en
la vista Diseño de la tabla tendremos en cuenta lo siguiente:

1. Abra una tabla en la vista Diseño.


2. En la parte superior de la ventana, seleccione el campo para el que desea
definir el número de lugares decimales.

diosestinta.blogspot.com
214 ACCESS 2010. CURSO PRÁCTICO __________________________________________________ ©RA-MA

3. En la parte inferior de la ventana, en la ficha General, haga clic en la flecha


situada al lado del cuadro de la propiedad Lugares decimales (figura 4-9)
y, a continuación, seleccione el número de posiciones decimales que desee.
La propiedad Lugares decimales proporciona un valor predeterminado
Automático y la opción de especificar entre O y 15 lugares decimales.
Cuando se establece a Automático, los campos con la propiedad Formato
establecida a Moneda, Fijo, Estándar, Porcentaje y Científico muestran
dos lugares decimales. La propiedad Lugares decimales no tiene ningún
efecto si no se ha establecido la propiedad Formato.
4. El valor de la propiedad Lugares decimales únicamente afecta al número
de lugares decimales que se muestran, no a cuántos lugares decimales se
almacenan. Por ejemplo, si establece la propiedad Lugares decimales a 2
para un campo Numérico cuya propiedad Tamaño del campo está
establecida a Entero, se mostrarán dos lugares decimales, pero como sólo
se guardarán valores de números enteros, los dos lugares decimales estarán
ocupados por ceros. Para cambiar el número de lugares decimales que se
almacenan, debe cambiar la propiedad Tamaño del campo de un campo
numérico.
Definir el formato en que se muestran los datos para un campo en la vista
Diseño de la tabla

Se tendrá en cuenta lo siguiente:

1. Abra una tabla en la vista Diseño.


2. En la parte superior de la ventana, seleccione el campo cuyo formato desea
definir.
3. En la parte inferior de la ventana, en la ficha General, haga clic en la flecha
situada al lado del cuadro de la propiedad Formato y, a continuación,
seleccione uno de los formatos predefinidos (figura 4-10) para formatos
Numérico, Autonumérico y Moneda, y figuras 4-11 y 4-12 para campos
Fecha/Hora y Sí/No. Si los formatos predefinidos no se ajustan a sus
necesidades, podrá escribir el nombre de un formato personalizado en el
cuadro de la propiedad Formato para cualquier tipo de datos de campo
excepto los Objetos OLE. Los nombres de formatos personalizados ya se
analizaron al tratar la propiedad Formato al principio de este capítulo.

diosestinta.blogspot.com
©RA-MA CAPITULO 4. PROPIEDADES DE CAMPOS. FORMATOS Y TIPOS DE DATOS... 215

Figura 4-9

Figura 4-10

Figura 4-11 Figura 4-12

diosestinta.blogspot.com
216 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

4.3 CAMPOS DE BÚSQUEDA Y DE LISTA DE VALORES


Mediante el Asistente para búsquedas, puede crear un campo (campo de
lista de búsqueda o campo de lista de valores) que permite buscar y mostrar en una
tabla uno o varios campos de otra tabla relacionada con ella o de una lista
previamente creada. Hay por tanto dos tipos de listas para facilitar la introducción
de datos:

• Lista de búsqueda que muestra valores buscados en una tabla o consulta


existente.
• Lista de valores que muestra un conjunto fijo de valores introducidos al
crear el campo.
Listas de búsqueda

La lista de búsqueda más común muestra en la tabla actual los valores


buscados en una tabla relacionada con ella. Por ejemplo, el campo Proveedor de la
tabla Productos de la base de datos de ejemplo Neptuno muestra esta lista de
búsqueda (figura 4-13):

Li st a de b ú squ eda

Figura 4-13

Esta lista se crea buscando los valores del campo Id. de proveedor en la
tabla Proveedores y mostrando en la tabla Productos los nombres del campo
Proveedor correspondientes. La selección de un valor de una lista de búsqueda
establece el valor de la clave externa del registro actual (Proveedor en la tabla
Productos) al valor de la clave principal del registro correspondiente de la tabla
relacionada (Id. de proveedor en la tabla Proveedores). De esta forma se crea una
asociación con la tabla relacionada para mostrar (pero no almacenar) los nombres
del campo Proveedor en el registro. La clave externa (IdProveedor) se almacena
pero no se muestra. Por ello, toda actualización realizada en los datos de la tabla
Proveedores se reflejará en la lista y en los registros de la tabla Productos. Debe
definir un campo de lista de búsqueda en la tabla que contendrá la clave externa y
que mostrará la lista de búsqueda. En este ejemplo, el campo de lista de búsqueda
se definiría en la tabla Productos.

diosestinta.blogspot.com
© RA-MA CAPÍTULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 217

Listas de valores

Una lista de valores tiene el mismo aspecto que una lista de búsqueda, pero
está formada por un conjunto fijo de valores escritos al crearla. Una lista de valores
sólo debe utilizarse para los valores que no cambian muy a menudo y que no
necesitan almacenarse en una tabla. Por ejemplo, una lista para un campo
Tratamiento que contenga Sr., Sra. o Srta. es una buena candidata para una lista de
valores. Al elegir un valor de una lista de valores se almacena ese valor en el
registro; no se crea una asociación a una tabla relacionada. Por ello, si
posteriormente cambia cualquiera de los valores originales de la lista de valores, el
cambio no se reflejará en los registros agregados antes de realizar este cambio.

Puede agregar un nuevo campo de lista de valores o de búsqueda tanto en


la vista Diseño como en la vista Hoja de datos de la tabla. No obstante, si el campo
que desea utilizar como clave externa para un campo de búsqueda ya existe, deberá
abrir la tabla de ese campo en la vista Diseño para definir el campo de búsqueda.
Por ejemplo, si dispone de una tabla Productos que ya tiene definido un campo
Proveedor y desea cambiarlo a un campo de búsqueda para que muestre los
nombres de proveedores de la tabla Proveedores, deberá abrir la tabla Productos en
la vista Diseño para cambiar Proveedor a un campo de búsqueda.

4.3.1 Campos de búsqueda en la vista Diseño


Para crear un campo que busque datos de otra tabla en la vista Diseño se
tendrá en cuenta lo siguiente:

1. En la vista Diseño, abra la tabla a la que desee agregar el campo de búsqueda.

2. Realice una de las siguientes operaciones:

• Para insertar un campo nuevo dentro de la tabla, haga clic en la fila


situada bajo el lugar en que desea agregar el campo y, a continuación,
haga clic en Insertar filas en el grupo Herramientas de la ficha
Diseño, o bien, para agregar un campo nuevo al final de la tabla, haga
clic en la primera fila en blanco. Escriba el nombre del campo en la
columna Nombre del campo siguiendo las reglas para nombrar objetos
de Microsoft Access.
• Si el campo que desea utilizar como clave externa para el campo
de búsqueda ya existe, haga clic en la fila de ese campo. Por
ejemplo, en la tabla Clase con un campo número de profesor
(CINSTRFNO) añadimos el campo FNOMBRE de la tabla
Claustro para ver los nombres de los profesores (figura 4-14).

diosestinta.blogspot.com
218 ACCESS 2010. CURSO PRACTICO © RA-MA

3 . En la columna Tipo de datos del campo añadido FNOMBRE, haga clic en


la flecha y seleccione Asistente para búsquedas (figura 4-15).
4 . Haga clic en la opción que indica que desea que el campo de búsqueda
busque los valores en una tabla o consulta (figura 4-16).
5 . Haga clic en Siguiente y siga las instrucciones de los restantes cuadros de
diálogo del Asistente para búsquedas. En la figura 4-17 se elige la tabla
(Claustro) que contiene el campo cuyos valores se van a buscar.
6 . En la figura 4-18 se elige el campo o campos de la tabla Claustro
(FNOMBRE) cuyos valores se van a incluir en el campo de búsqueda de la
tabla Clase.
7 . En la figura 4-19 se obtiene una pantalla para ordenar los registros del
campo de búsqueda en ascendente o descendente. En la figura 4-20 se
ajusta el ancho de la columna de búsqueda.

8 . En la figura 4-21 se define una etiqueta para el nombre de nuestro campo de


búsqueda (que puede ser el propio nombre del campo) y se pulsa Finalizar.
Microsoft Access crea el campo de búsqueda y establece determinadas
propiedades del campo según las selecciones realizadas en el asistente
haciendo advertencias sobre relaciones e integridad de datos (figuras 4-22 a
4- 24). Una vez creado un campo de lista de búsqueda, si pasamos la tabla a
vista Hoja de datos y hacemos clic en la flecha situada a la derecha de
cualquier registro del campo de búsqueda, podemos insertar en ese registro el
valor del campo origen que seleccionemos en el desplegable (figura 4-25).
También es posible agregar a una tabla un campo de búsqueda que muestre
valores de la misma tabla que contiene el campo de búsqueda.

Figura 4-14

diosestinta.blogspot.com
© RA-MA _________ CAPÍTULO 4. PROPIEDADES DK CAMPOS. FORMATOS Y TIPOS DE DATOS... 219

Figura 4-15

Figura 4-16 Figura 4-17

Figura 4-18 Figura 4-19

diosestinta.blogspot.com
220 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Figura 4-20 Figura 4-21

Figura 4-22

Figura 4-23

Figura 4-24

Figura 4-25

diosestinta.blogspot.com
© RA-MA CAPITULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 221

4.3.2 Campos de búsqueda en la vista Hoja de datos


Para crear un campo que busque datos de otra tabla en la vista Hoja de
datos se tendrá en cuenta lo siguiente:
1. En la vista Hoja de datos, abra la tabla a la que desee agregar el campo de
búsqueda.

2. Para insertar el campo de búsqueda dentro de la tabla, haga clic en la


columna situada a la derecha del lugar en que desea insertar el campo y, a
continuación, en el grupo Propiedades de la ficha Campos de la barra
Herramientas de tabla, haga clic en Modificar búsquedas (figura 4-26).

3. En el primer cuadro de diálogo del Asistente para búsquedas (figura 4-16),


seleccione la opción que indica que desea que el campo de búsqueda
busque los valores de una tabla o consulta.

4. Haga clic en Siguiente y siga las instrucciones de los restantes cuadros de


diálogo del Asistente para búsquedas que coinciden con los ya presentados
en las figuras 4-17 a 4-24 para el caso de la vista Diseño. Cuando el
Asistente para búsquedas ha terminado, el campo de búsqueda se agrega a
la hoja de datos (figura 4-25). De forma predeterminada, el nuevo campo
de búsqueda recibe un nombre en la hoja de datos, “Campo#”, donde # es
un número, salvo que lo hayamos etiquetado con un nombre específico en la
figura 4-21.

Figura 4-26

diosestinta.blogspot.com
222 ACCESS 2010. CURSO PRACTICO ©RA-MA

4.3.3 Campos de lista de valores en la vista Diseño


Para crear un campo de lista de valores en la vista Diseño se tendrá en
cuenta lo siguiente:

1. Abra la tabla en la vista Diseño.

2. Para insertar el campo dentro de la tabla, haga clic en la fila situada debajo
del lugar donde desea agregar el campo y, a continuación, haga clic en
Insertar filas en el grupo Herramientas de la ficha Diseño. Para agregar el
campo al final de la tabla, haga clic en la primera fila en blanco.

3. En la columna Nombre del campo, escriba el nombre del campo siguiendo


las reglas para nombrar objetos de Microsoft Access.

4. En la columna Tipo de datos, haga clic en la flecha y seleccione Asistente


para búsquedas (figura 4-27).

5. En el primer cuadro de diálogo del Asistente para búsquedas (figura 4-28),


haga clic en la opción que indica que escribirá los valores que desee.

6. Haga clic en Siguiente y siga las instrucciones de los restantes cuadros de


diálogo del Asistente para búsquedas. En el siguiente paso (figura 4-29) el
asistente pide que declaremos el número de columnas a incluir en la lista y
que escribamos los valores que se desee en cada celda de las columnas.

7. En el siguiente paso el asistente pide una etiqueta para la columna de


búsqueda. Si no se ha especificado nombre para el campo columna de
búsqueda antes de ejecutar el asistente, la etiqueta por defecto será Coll
(figura 4-30). Al pulsar Finalizar se obtiene el campo de lista de valores.
Nota: cuando se utiliza el Asistente para búsquedas para crear una lista de valores
fijos, Microsoft Access establece determinadas propiedades del campo según las
selecciones realizadas en el asistente. Una vez creado el campo, si agrega el campo
a un formulario, Microsoft Access copia su definición al formulario. El cuadro
combinado o el cuadro de lista se crea automáticamente para el formulario. No
obstante, si cambia la definición del campo de lista de valores de la tabla después
de agregarlo a un formulario, esos cambios no se reflejarán en el formulario.

diosestinta.blogspot.com
© RA-MA CAPITULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 223

Figura 4-27 Figura 4-28

Figura 4-29 Figura 4-30

Una vez creado un campo de lista de búsqueda, si pasamos la tabla a vista


Hoja de datos y hacemos clic en la flecha situada a la derecha de cualquier registro
del campo de búsqueda, podemos insertar en ese registro el valor del campo origen
que seleccionemos en el desplegable (figura 4-31).

Figura 4-31

diosestinta.blogspot.com
224 ACCESS 2010. CURSO PRÁCTICO © RA-MA

4.3.4 Campos de lista de valores en la vista Hoja de datos


Para crear un campo de lista de valores en la vista Hoja de datos se tendrá
en cuenta lo siguiente:
1. Abra la tabla en la vista Hoja de datos.
2. Para insertar el campo de búsqueda dentro de la tabla, haga clic en la
columna situada a la derecha del lugar en que desea insertar el campo y, a
continuación, en el grupo Propiedades de la ficha Campos de la barra
Herramientas de tabla, haga clic en Modificar búsquedas (figura 4-26).

3. En el primer cuadro de diálogo del Asistente para búsquedas (figura 4-28),


seleccione la opción que indica que escribirá los valores que desea utilizar.

4. Haga clic en Siguiente y siga las instrucciones de los restantes cuadros de


diálogo del Asistente para búsquedas (figuras 4-29 y 4-30). Cuando el
Asistente para búsquedas ha terminado, el campo de lista de valores se
agrega a la hoja de datos (figura 4-31). De forma predeterminada, el nuevo
campo de lista de valores recibirá un nombre en el formulario, “Campo#”,
donde # es un número. Puede cambiar este nombre si lo desea situando una
etiqueta en la figura 4-30.

4.4 CAMPOS AUTONUMÉRICOS Y RÉPLICAS DE UNA


BASE DE DATOS
Si tiene previsto replicar la base de datos, deberá tener en cuenta qué
tamaño de campo es apropiado para el campo Autonumérico utilizado como clave
principal de una tabla. Si utiliza un campo Autonumérico como clave principal de
una tabla en la base de datos replicada, establezca su propiedad Tamaño del campo
(FieldSize) a Entero largo o a Id. de réplica.
• Si se suelen agregar menos de 100 registros entre la sincronización de
réplicas, utilice un valor Entero largo para la propiedad Tamaño del campo
con el fin de ocupar menos espacio en disco.
• Si se suelen agregar más de 100 registros entre la sincronización de
réplicas, utilice el valor Id. de réplica para la propiedad Tamaño del campo
con el fin de impedir que los registros se asignen al mismo valor de clave
principal en cada réplica. Tenga en cuenta, no obstante, que un campo
Autonumérico con un tamaño de campo Id. de réplica produce un valor de
128 bits que requiere más espacio en disco.

diosestinta.blogspot.com
© RA-MA__________ CAPÍTULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 225

Ejercicio 4-1. Consideramos una base de datos con tablas de nombres: DEPT
(departamentos de una empresa), EMP (empleados de la empresa) y SALGRADE
(nivel salarial de los empleados) ci^os campos y registros ya fueron especificados en
el Ejercicio 2-2 del Capítulo 2. En la tabla DEPT tenemos como restricción de
integridad que el campo Deptno es clave primaria. En la tabla EMP tenemos que el
campo Empno es elave primaria. Además, la tabla EMP tiene como clave foránea el
campo Deptno referenciado con el mismo nombre en la tabla DEPT. Crear la base
de datos en Access con nombre EMPLEADOS que aloje estas tablas con el diseño
adecuado para esta base de datos relacional estudiado en el Capítulo 2.

Para crear una nueva base de datos en blanco, inicie Access, haga clic en el
Botón Archivo y elija Nuevo. Bajo Plantillas disponibles, haga clic en Base de datos en
blanco. A continuación, en el panel Base de datos en blanco, en el cuadro Nombre de
archivo, escriba un nombre de archivo (figura 4-32). Por último, haga clic en Crear.
Se crea la base de datos y se abre una tabla en la vista Hoja de datos (figura 4-33)
lo que permite crear ya las tablas.

Figura 4-32

diosestinta.blogspot.com
226 ACCESS 2010. CURSO PRACTICO ©RA-MA

Figura 4-33
Es posible agregar inmediatamente campos a la tabla haciendo clic sobre
Haga clic para agregar en las figura 4-33 y escribiendo su nombre. Inmediatamente
Haga clic para agregar se desplaza a la siguiente columna a la derecha. Para
introducir un nuevo campo en la tabla se vuelve a hacer clic en Haga clic para
agregar y se escribe su nombre y así sucesivamente se pueden ir añadiendo más
campos hasta completar todos los campos de la tabla. A continuación se introducen
los datos en la tabla y finalizada la misma, se guarda a través de la opción Guardar
del menú emergente que se obtiene al hacer clic con el botón derecho del ratón
sobre la ficha de la tabla y se le asigna el nombre DEPT (figura 4-34). Los tipos de
datos los asigna Access automáticamente. De igual forma se crean las tablas EMP
(figura 4-35) y SALGRADE (figura 4-36).

Figura 4-34

Figura 4-35

diosestinta.blogspot.com
© RA-MA CAPITULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 227

Figura 4-36
No obstante, la definición de las tablas exige asignar formatos precisos
diferentes a los que Access asigna por defecto. Para ello se utilizará la vista Diseño
de las tablas. En la tabla DEPT (departamentos) el campo Deptno se refiere al
número de departamento y es numérico de longitud 2 (figura 4-37), el campo Dname
se refiere al nombre del departamento y es texto de longitud 14 (figura 4-38) y el
campo Loe se refiere a la localización física del departamento siendo de tipo texto
con longitud 13 (figura 4-39).

Figura 4-37 Figura 4-38

Figura 4-39

diosestinta.blogspot.com
228 ACCESS 2010. CURSO PRÁCTICO © RA-MA

En la tabla EMP (empleados) el campo Empno se refiere al número del


empleado y es numérico de longitud 4 (figura 4-40), el campo Ename se refiere al
nombre del empleado y es texto de longitud 12 (figura 4-41), el campo Job se
refiere al trabajo del empleado y es texto de longitud 12 (figura 4-42), el campo
Mgr se refiere al código del oficio y es numérico de longitud 4 (figura 4-43), el
campo Hiredate se refiere a la fecha del contrato y es de tipo fecha (figura 4-44),
el campo Sal se refiere al salario del empleado y es numérico de longitud 4
(figura 4-45), el campo Comm se refiere a las comisiones de los empleados y es
numérico de longitud 4 (figura 4-46) y el campo Deptno se refiere al
departamento del empleado siendo numérico de longitud 2 (figura 4-47).

Figura 4-40 Figura 4-41

Figura 4-42 Figura 4-43

diosestinta.blogspot.com
©RA-MA CAPITULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 229

Figura 4-44 Figura 4-45

Figura 4-46 Figura 4-4 7

En la tabla SALGRADE (nivel salarial del empleado) el campo Grade se


refiere al nivel de salario y es numérico de longitud unitaria (figura 4-48), el
campo Losal se refiere al salario mínimo y es numérico de longitud 4 (figura 4-49)
y el campo Hisal se refiere al salario máximo siendo numérico de longitud 4
(figura 4-50).

diosestinta.blogspot.com
230 ACCESS 2010. CURSO PRACTICO ___________________________________________________ ©RA-MA

Figura 4-48 Figura 4-49

Figura 4-50

La tarea siguiente es seleccionar el campo Deptno como clave primaria de la


tabla DEPT haciendo clic en dicho campo en la vista Diseño y haciendo clic a
continuación en Clave principal en el grupo herramientas de la ficha Diseño. De forma
similar se sitúa el campo Empno como clave principal de la tabla EMP.

La siguiente tarea es construir las relaciones entre las tablas de la base de


datos. Para ello cierre todas las tablas que estén abiertas. No es posible crear ni
modificar relaciones entre tablas abiertas. En la ficha Herramientas de base de datos,
en el grupo Relaciones, haga clic en Relaciones. Se obtiene la pantalla Relaciones y la
barra Herramientas de relaciones aparece en la parte superior de la pantalla con la
ficha Diseño abierta. Si la base de datos no tiene ninguna relación definida, se mostrará
automáticamente el cuadro de diálogo Mostrar tabla.

diosestinta.blogspot.com
©RA-MA __________ CAPITULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 231

Si necesita agregar las tablas que desea relacionar y no aparece el cuadro de


diálogo Mostrar tabla, haga clic en Mostrar tabla en el grupo Relaciones de la ficha
Diseño. Haga doble clic en los nombres de las tablas que desea relacionar y, a
continuación, cierre el cuadro de diálogo Mostrar tabla.

Arrastre las tablas hasta conseguir una estructura similar a la del diagrama de
diseño de la base de datos.

Para arrastrar una tabla se hace clic sobre su cabecera con el ratón y, sin
soltarlo, se mueve el ratón hasta la posición en que se quiere situar la tabla. En nuestro
caso arrastramos el campo Deptno de la tabla DEPT hasta el campo Deptno de la tabla
EMP. Se obtiene la pantalla Modificar relaciones de la figura 4-51 en la que se definen
los campos origen y destino de la relación y las propiedades de la relación. En nuestro
caso se exige integridad referencial.

En la figura 4-52 se presenta la estructura de relaciones acorde al diseño de la


base de datos que se presenta en la figura 4-53.

Figura 4-51

diosestinta.blogspot.com
232 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Figura 4-52

Ejercicio 4-2. Consideremos la base de datos EDUCA y el campo CRED (créditos


que vate un curso) de la tabla CURSO, Introducir una regla de validación que
obligue a que los cursos valgan entre 3 y 6 créditos. Asociar esta regla de
validación al siguiente texto de validación: Debe introducir un número entre 0 y 6 .

diosestinta.blogspot.com
© RA-MA _________ CAPITULO 4. PROPIEDADES DH CAMPOS, FORMATOS Y TIPOS DE DATOS... 233

Comenzamos cerrando los objetos y la base de datos actual mediante Botón


Microsoft Office → Cerrar base de datos y abriendo a continuación la base de datos
EDUCA mediante Microsoft Office → Abrir. Se selecciona la tabla CURSO y se pulsa
vista Diseño. Se selecciona el campo Cred y se hace clic en el símbolo situado a la
derecha de Regla de validación. Se obtiene la pantalla Generador de expresiones que
se rellena con la expresión de la regla de validación (figura 4-54). Se hace clic en
Aceptar y la regla de validación se traslada a la vista Diseño en el campo Regla de
validación. Por último se rellena el campo Texto de validación tal y como se indica en
la figura 4-55 y se guarda la tabla.

Figura 4-54

Figura 4-55

diosestinta.blogspot.com
234 ACCESS 2010. CURSO PRÁCTICO _____________________________________________________ ©RA-MA

Si posteriormente, en la vista Hoja de datos, intentamos introducir en el


campo CRED un valor menor que 3 o mayor que 6 , al intentar guardar la tabla,
obtendremos el mensaje de la figura 4-56.

Figura 4-56

Ejercicio 4-3. Consideremos la base de datos EDUCA y el campo CTARIFA (valor


de la tarifa de laboratorio) de la tabla CURSO. Introducir un formato decimal
(5,2) para los valores de este campo numérico. Este formato consiste en que los
números aparezcan con un total de 5 cifras, dos de las cuales son decimales.

Comenzamos abriendo la base de datos EDUCA, seleccionando la tabla


CURSO y pulsando vista Diseño.

Se selecciona el campo Ctarifa y se hace clic en la flecha de la derecha de


la propiedad Tamaño de campo (figura 4-57). Se elige Decimal y posteriormente se
rellena la propiedad Precisión con el valor 5, la propiedad Escala con el valor 2 y
la propiedad Formato con el valor Estándar (figura 4-58).

Se guarda la tabla para memorizar los cambios.

Si ahora se muestra la tabla CURSO en la vista Hoja de datos, el aspecto


del campo Ctarifa es el especificado en la figura 4-59.

diosestinta.blogspot.com
© RA-MA CAPÍTULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 235

Figura 4-57 Figura 4-58

Figura 4-59

Ejercicio 4-4. Consideremos la base de datos EDUCA y los campos FEC_MA T


(fecha de matriculación) y HORA MAT (hora de matriculación) de la tabla
MATRÍCULA. Introducir un formato a medida de modo que la hora se presente
completa en formato digital separando horas, minutos segundos por dos puntos,
y que la fecha aparezca completa con día, mes, año y día de la semana.

diosestinta.blogspot.com
236 ACCESS 2010. CURSO PRACTICO ©RA-MA

Comenzamos abriendo la base de datos EDUCA, seleccionando la tabla


MATRÍCULA y pulsando vista Diseño. Se selecciona el campo HORA MAT y se
rellena la propiedad Formato como se indica en la figura 4-60. A continuación se
selecciona el campo FECHA MAT y se rellena la propiedad Formato como se
indica en la figura 4-61. Se guardan los cambios y el aspecto que presenta la tabla
en la vista Hoja de datos es ahora el de la figura 4-62.

Figura 4-60 Figura 4-61

Figura 4-62

Ejercicio 4-5. Consideremos la base de datos EDUCA y el campo STLFNO (n° de


teléfono) de la tabla ESTUDIANTE. Introducir una máscara a medida de modo
que el número de teléfono presente las tres cifras del prefijo entre paréntesis.
Introducir una máscara que efectúe la operación anterior y que separe los
números en grupos de la forma habitual.

diosestinta.blogspot.com
©RA-MA CAPÍTULO 4. PROPIEDADES DE CAMPOS, FORMATOS Y TIPOS DE DATOS... 237

Abrimos la base de datos EDUCA, seleccionamos la tabla ESTUDIANTE


y pulsamos vista Diseño. Se selecciona el campo STLFNO y se hace clic en el
símbolo situado a la derecha de la propiedad Máscara de entrada. Se elige
Número de teléfono en la pantalla del Asistente para máscaras de entrada (figura 4-62) y se
pulsa Siguiente. En la figura 4-64 se elige la máscara de entrada
especificada y se pulsa Siguiente. En la figura 4-65 se elige la opción especificada,
que sirve para separar el número de teléfono en grupos de cifras separadas por
guiones. Se pulsa Siguiente y finaliza el Asistente para máscaras de entrada
(figura 4-66). Al pulsar Finalizar se inserta en la vista Diseño la máscara de entrada
de la figura 4-67. Se guarda la tabla y la figura 4-68 muestra el aspecto que
presenta la tabla en la vista Hoja de datos.

Figura 4-63

Figura 4-64 Figura 4-65

diosestinta.blogspot.com
238 ACCESS 2010. CURSO PRACTICO ©RA-MA

Figura 4-66

Figura 4-67

Figura 4-68

diosestinta.blogspot.com
Capítulo 5

CONSULTAS A TRAVES DE LA INTERFAZ DE


ACCESS 2010

5.1 CONCEPTOS Y TIPOS DE CONSULTAS


Las consultas se utilizan para revisar, agregar, cambiar o eliminar datos de su
base de datos. Al utilizar una consulta, puede responder a preguntas muy específicas
acerca de sus datos que serían difíciles de responder mirando directamente la tabla de
datos. Puede usar las consultas para filtrar los datos, realizar cálculos con ellos y
resumirlos. También puede usar consultas para automatizar muchas tareas de
administración de datos y revisar los cambios realizados en los datos antes de
confirmarlos.

Una consulta es una solicitud de los resultados de los datos, de las acciones de
los datos o de ambos. Puede usar una consulta para responder a una pregunta sencilla,
realizar cálculos, combinar datos de diferentes tablas o incluso para agregar, cambiar o
eliminar datos de una tabla. Las consultas que se utilizan para recuperar datos de una
tabla o realizar cálculos se denominan consultas de selección. Las consultas que
agregan, cambian o eliminan datos se denominan consultas de acción.

También puede utilizar una consulta para proporcionar datos para un


formulario o informe. En una base de datos debidamente diseñada, los datos que desea
presentar mediante un formulario o informe se encuentran a menudo en varias tablas.
Al utilizar una consulta, puede reunir los datos que desee usar antes de diseñar su
formulario o informe.

diosestinta.blogspot.com
240 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Puede que en ocasiones desee ejecutar una consulta que sólo se diferencie
ligeramente de otra existente. Puede cambiar la consulta original para usar su nuevo
criterio, pero si desea ejecutar con frecuencia variaciones de una consulta concreta,
considere la posibilidad de usar una consulta de parámetros. Cuando ejecuta una
consulta de parámetros, la consulta solicita los valores de los campos y, a continuación,
usa los valores especificados para crear los criterios de la consulta.

Microsoft Office Access 2010 proporciona una nueva característica, la fila


Total, que permite revisar los datos agregados en cualquier hoja de datos. La fila Total
de una hoja de datos es muy útil, pero para preguntas más complejas se utiliza un a
consulta de totales. Una consulta de totales es una consulta de selección que permite
agrupar y resumir los datos.

Otro tipo de consultas muy utilizado son las consultas de tabla de referencias
cruzadas. Este tipo de consultas calculan una suma, promedio, recuento u otro tipo de
total en registros y, a continuación, agrupan el resultado en dos tipos de información:
uno vertical en el lado izquierdo de la hoja de datos y otro horizontal en la parte
superior.

Las consultas de acción suelen clasificarse en consultas de actualización,


consultas de eliminación, consultas de creación de tabla y consultas de datos anexados.

Puede usar una consulta de actualización para cambiar los datos de las tablas y
para escribir los criterios con los que especificar las filas que deben actualizarse. Una
consulta de actualización permite revisar los datos actualizados antes de realizar la
actualización.

Puede usar una consulta de eliminación para eliminar datos de las tablas o para
escribir los criterios que especifiquen las filas que se deben eliminar. Una consulta de
eliminación permite revisar las filas que se eliminarán antes de realizar la eliminación.

También puede usar una consulta de creación de tabla para crear una nueva
tabla a partir de datos almacenados en otras tablas.

Así mismo, puede utilizar una consulta de datos anexados para recuperar datos
de una o varias tablas y agregar dichos datos a otra tabla.

Otro tipo de consultas son las realizadas a través del lenguaje SQL. Este es el
tipo de lenguaje estándar (Structure Query Language) para realizar consultas en bases de
datos relacionales. Access 2010 implementa el SQL estándar y se acomoda a su
sintaxis habitual en las grandes bases de datos como SQL Server, Oracle, DB2, etc.

diosestinta.blogspot.com
© RA-MA CAPÍTULO 5. CONSULTAS A TRAVÉS DE LA INTERFAZ DE ACCESS 2010 241

5.2 CONSULTAS DE SELECCION


Ya sabemos que una consulta de selección recupera datos de una o más
tablas utilizando los criterios que se especifiquen y después los muestra en el orden
que se desee. Este tipo de consulta obtiene los datos de una o más tablas y muestra
los resultados en una hoja de datos. También es posible utilizar una consulta de
selección para agrupar los registros y calcular sumas, cuentas, promedios y otros
tipos de funciones resumen.

Una consulta de selección es un tipo de objeto de base de datos que muestra


información en una vista Hoja de datos. Una consulta puede obtener sus datos de una
tabla o de varias, de consultas existentes, o de una combinación de ambas opciones.
Las tablas o las consultas de las que una consulta obtiene sus datos se conocen como su
origen de registros.

Se pueden crear consultas de selección sencillas mediante un asistente o


trabajando en la vista Diseño. En ambos casos, los pasos son, en esencia, los mismos.
Debe elegir el origen de registros que desea utilizar y los campos que desea incluir en
la consulta. Opcionalmente, puede especificar criterios para depurar los resultados. Una
vez creada la consulta de selección, puede ejecutarla para ver los resultados. Las
consultas de selección son muy fáciles de ejecutar abriéndolas en la vista Hoja de
datos. Las consultas de selección pueden reutilizarse siempre que se necesite; por
ejemplo, como origen de registros para un formulario, un informe u otra consulta.

5.2.1 Consultas de selección sencillas mediante asistente


Como ejemplo construimos una consulta en la base de datos EDUCA que
selecciona la tarifa de los cursos, los créditos que aportan y el departamento que los
organiza, así como el día, hora, edificio y sala en que se imparten. Observamos que se
trata de una consulta que implica los campos ctarifa, cred y cdept de la tabla CURSO y
los campos cdia, chora, cedif y cdespacho de la tabla CLASE.

Para crear la consulta con el asistente comenzamos abriendo la base de datos


EDUCA en la que se construirá la consulta y en la ficha Crear, en el grupo Consultas,
hacemos clic en Asistente para consultas (figura 5-1).

Figura 5-1

diosestinta.blogspot.com
242 ACCESS 2010. CURSO PRACTICO ©RA-MA

En el cuadro de diálogo Nueva consulta, haga clic en Asistente para consultas


sencillas y, a continuación, haga clic en Aceptar (figura 5-2). En Tablas y consultas,
haga clic en la tabla que contiene los datos que desea usar. En este caso, haga clic en
CLASE. Recuerde que una consulta también puede usar otra consulta como origen de
registros. En Campos disponibles, haga doble clic en los campos cdia, chora, cedif y
cdespacho para agregarlos a la lista Campos seleccionados (figura 5-3). Haga clic en
una tabla o consulta adicional si desea introducirla en la consulta (CURSO) y, a
continuación, seleccione los campos afectados (ctarifa, cred y cdept). Se tienen así
todos los campos que van a estar implicados en la consulta (figura 5-4). A continuación
haga clic en Siguiente para obtener la pantalla de la figura 5-5 en la que se decide si los
resultados de la consulta van a ser detallados con todos sus campos y registros o si sólo
se presenta un resumen. Elegimos la primera opción y pulsamos Siguiente. En la
pantalla de la figura 5-6 introducimos un nombre para la consulta y elegimos Abrir la
consulta para ver información. Al hacer clic en Finalizar se obtiene el resultado de la
consulta en la vista Hoja de datos (figura 5-7).

Figura 5-2

Figura 5-3

diosestinta.blogspot.com
© RA-MA CAPITULO 5. CONSULTAS A TRAVES DE LA INTERFAZ DE ACCESS 2010 243

Figura 5-4

Figura 5-5

Figura 5-6

diosestinta.blogspot.com
244 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Figura 5-7

Podemos ver la consulta en vista Diseño haciendo clic en el botón (figura 4-8). La
consulta puede guardarse haciendo clic con el botón derecho del ratón en su ficha de la
consulta y eligiendo Guardar (figura 5-9). La consulta que acabamos de
construir es un objeto más de la base de datos y como tal objeto se incorpora al panel
de exploración (figura 5-10).
Si en el menú emergente de la figura 5-9 elegimos Vista SQL obtenemos la
sintaxis SQL relativa a la consulta realizada con el asistente (figura 5-11).

Figura 5-8

diosestinta.blogspot.com
© RA-MA CAPÍTULO 5. CONSULTAS A TRAVÉS DE LA INTERFAZ DE ACCESS 2010 245

Figura 5-9

Figura 5-10

Figura 5-11

diosestinta.blogspot.com
246 ACCESS 2010. CURSO PRÁCTICO © RA-MA

5.2.2 Consultas de selección sencillas en la vista Diseño

La consulta creada en el apartado anterior mediante el asistente puede


construirse directamente sobre la vista Diseño. Para ello abra la base de datos en la que
se construirá la consulta (EDUCA) y en la ficha Crear, en el grupo Consultas, haga clic
en Diseño de consulta (figura 5-12). Se obtiene la figura 5-13 que presenta todas las
tablas de la base de datos actual. Haga clic sobre cada una de las tablas que intervengan
en la consulta y éstas aparecerán en la parte superior de la consulta (figura 5-14). En
cada tabla elija los campos cuyos datos desea recuperar (figura 5-15). Guarde la
consulta haciendo clic con el botón derecho del ratón en la ficha de la consulta y
eligiendo Guardar (figura 5-16). Si en el grupo Resultados de la ficha Diseño hacemos
clic en Ver y elegimos Vista Hoja de datos (figura 5-17), vemos el resultado de la
consulta (figura 5-18). También podemos hacer clic en vista Hoja de datos en el
desplegable de la figura 5-16. Si la consulta resultante no es exactamente como
deseaba, podrá volver a cambiarla pasándola a la vista Diseño mediante el botón
de la barra de estado.

Figura 5-12

Figura 5-13

diosestinta.blogspot.com
© RA-MA CAPITULO 5. CONSULTAS A TRAVES DK LA INTERFAZ DE ACCESS 2010 247

Figura 5-1

Figura 5-15

Figura 5-16

diosestinta.blogspot.com
248 ACCESS 2010. CURSO PRACTICO ©RA-MA

Figura 5-17

Figura 5-18

5.2.3 Utilizar varias tablas en consultas


El poder de las consultas reside en su capacidad para combinar datos de más
de una tabla o consulta o para realizar acciones con ellos. Por ejemplo, puede ser
necesario ver la información de un cliente junto con los pedidos que ha realizado. Para
ver esta información se necesitan datos de las tablas Clientes y Pedidos.

Cuando se agrega más de una tabla o consulta a una consulta, es necesario


asegurarse de que sus listas de campos están relacionadas entre sí con una línea de
combinación (figura 5-19) de forma que Microsoft Access pueda saber cómo vincular
la información. Si las tablas de una consulta no están combinadas unas con otras, ya
sea directa o indirectamente, Microsoft Access no sabrá qué registros están asociados
entre sí, por lo que presenta todas las combinaciones de registros entre las dos tablas (lo
que se denomina “producto cruzado” o “producto cartesiano”). Por tanto, si cada tabla
tiene 10 registros, el resultado de la consulta contendrá 100 registros (10 x 10). Esto
también implica que la consulta puede tardar mucho tiempo en ejecutarse y finalmente
producir resultados de menor interés.

diosestinta.blogspot.com
©RA-MA CAPÍTULO 5. CONSULTAS A TRAVES DE LA INTERFAZ DE ACCESS 2010 249

Si previamente ha creado relaciones entre las tablas en la ventana Relaciones,


Microsoft Access mostrará automáticamente líneas de combinación al agregar tablas
relacionadas en la vista Diseño de la consulta. Si se exige la integridad referencial,
Microsoft Access también mostrará un “1” sobre la línea de combinación para indicar
qué tabla es la parte “uno” de una relación uno a varios y un símbolo de infinito para
indicar qué tabla es la parte “varios”. Incluso si no ha creado relaciones, Microsoft
Access crea combinaciones de forma automática si se agregan dos tablas a una
consulta y cada una de las tablas tiene un campo con el mismo tipo de datos o con un
tipo de datos compatible y si uno de los campos combinados es una clave principal.
Los símbolos “uno” y “varios” no se muestran en este caso porque no se exige la
integridad referencial.
A veces, las tablas que se agregan a la consulta no incluyen ningún campo que
pueda combinarse. En este caso, es necesario agregar una o varias tablas o consultas
adicionales con el único objetivo de que sirvan como puente entre las tablas cuyos
datos desea utilizar. Por ejemplo, si agrega las tablas Clientes y Detalles de pedidos a
una consulta, estas tablas no presentarán una línea de combinación entre ellas, porque
no tienen ningún campo que pueda combinarse. Pero la tabla Pedidos sí está
relacionada con ambas tablas, por lo que puede incluir la tabla Pedidos en su consulta
para proporcionar una conexión entre las otras dos (figura 5-20).

Figura 5-19 Figura 5-20

Una vez combinadas las tablas y las consultas y una vez agregados los
campos de ambas tablas o consultas a la cuadrícula de diseño en la vista Diseño, la
combinación predeterminada indica a la consulta que busque los valores coincidentes
en los campos combinados, lo que se denomina combinación interna en la
terminología de bases de datos. Cuando encuentra coincidencias, combina esos dos
registros y los presenta como uno solo en el resultado de la consulta. Si una tabla o
consulta no tiene un registro coincidente en la otra tabla o consulta, ninguno de los
registros aparecerá en el resultado de la consulta. Si desea que la consulta seleccione
todos los registros de una tabla o consulta con independencia de si existen registros
coincidentes en la otra tabla o consulta, podrá cambiar el tipo de combinación.
Si desea que la consulta seleccione registros basados en el valor del campo
combinado que sea mayor que, menor que, distinto de, mayor o igual que, o menor
o igual que el valor del otro campo combinado, tendrá que crear una instrucción
SQL en la vista SQL.

diosestinta.blogspot.com
250 ACCESS 2010. CURSO PRACTICO _____________________________________________________ @ RA-MA

Tipos de combinación y cómo afectan a los resultados de una consulta

Ya sabemos que una línea de combinación entre tablas o consultas en una


consulta muestra a Microsoft Access cómo están relacionados los datos (figura 5-21).
El tipo de combinación indica qué registros selecciona la consulta o sobre cuáles
realiza una acción.

diosestinta.blogspot.com
© RA-MA CAPITULO 5. CONSULTAS A TRAVES DE LA IN TERFAZ DE ACCESS 2010 251

Figura 5-21
Microsoft Access crea automáticamente líneas de combinación (combinación
automática o predeterminada) entre tablas cuya relación (asociación entre campos
comunes) se ha definido anteriormente (figura 5-22). Si las relaciones no se han
definido anteriormente, podrá crear usted mismo la línea de combinación arrastrando
un campo de una tabla al campo equivalente de la otra tabla.

Figura 5-22
El tipo de combinación predeterminado selecciona tan sólo los registros de las
tablas o consultas combinadas que tengan los mismos valores en los campos
combinados. Cuando los valores sean iguales, la consulta combinará los dos registros
coincidentes y los mostrará como un solo registro en los resultados de la consulta. Pero
cuando una tabla no tiene registros coincidentes en la otra tabla, no aparecerá ningún
registro en los resultados de la consulta. Una combinación en la que los registros de dos
tablas se combinan y se agregan a los resultados de una consulta sólo si los valores de
los campos combinados cumplen una condición especificada se llama combinación
interna (figura 5-23). Si cuando una tabla no tiene registros coincidentes en la otra
tabla, la consulta mostrará celdas vacías donde no había registros coincidentes de la
otra tabla, estamos ante una combinación externa (figura 5-24).

diosestinta.blogspot.com
252 ACCESS 2010. CURSO PRÁCTICO __________________________________________________ ©RA-MA

Figura 5-23

Figura 5-24

En todo caso, siempre es posible cambiar los tipos de combinación, tal y


como se indica en la figura 5-25.

Figura 5-25

diosestinta.blogspot.com
©RA-MA ______________ CAPITULO 5. CONSULTAS A TRAVES DE LA INTERFAZ DE ACCESS 2010 253

Activar o desactivar combinaciones automáticas entre tablas y consultas en


consultas

Incluso si no ha creado relaciones entre las tablas, Microsoft Access crea


automáticamente combinaciones agregando dos tablas a una consulta y las tablas
tienen cada una un campo con el mismo tipo de datos o con un tipo de datos
compatible y si uno de los campos combinados es una clave principal. Puede
activar o desactivar estas combinaciones automáticas como sigue:

1. En el Botón Archivo, haga clic en Opciones.


2. En la pantalla Opciones de Access haga clic en Diseñadores de objetos.
3. Bajo Diseño de la consulta active o desactive la casilla de verificación
Habilitar la Autocombinación (figura 5-26).

Notas:
• Aunque desactive las combinaciones automáticas, todavía tendrá la
posibilidad de crear combinaciones manualmente.

• Esta configuración se aplica sólo a las nuevas consultas.

Figura 5-26

diosestinta.blogspot.com
254 ACCESS 2010. CURSO PRACTICO ©RA-MA

Combinar varias tablas y consultas en una consulta

• En la vista Diseño de la consulta, arrastre un campo desde la lista de


campos de una tabla o consulta hasta el campo equivalente (un campo del
mismo tipo de datos o de un tipo de datos compatible que contenga datos
similares) de la lista de campos de la otra tabla o consulta (figura 5-27).
Con este tipo de combinación, Microsoft Access selecciona registros de
ambas tablas o consultas sólo cuando los valores de los campos
combinados son iguales.
Notas:

• La combinación de campos numéricos debe realizarse sólo si el valor de la


propiedad TamañoDelCampo (FieldSize) para ambos campos es Byte,
Entero o Entero largo.
• Puede cambiar el tipo de combinación, de forma que Microsoft Access
seleccione todos los registros de una tabla o consulta con independencia de
si tiene registros coincidentes o no en la otra tabla o consulta.

Figura 5-27

Combinar dos copias de la misma tabla en una consulta

Al combinar dos copias de la misma tabla, se crea una autocombinación que


combina registros de la misma tabla cuando existen valores coincidentes en los
campos combinados. Por ejemplo, supongamos que tiene una tabla Empleados en
la que el campo Informar a, en el registro de cada empleado, muestra el código de
su jefe en lugar del nombre del jefe. Puede utilizar una autocombinación para
mostrar en el registro de cada empleado el nombre del jefe en lugar del código. Los
pasos a tener en cuenta son los siguientes:
1. En la vista Diseño de la consulta, agregue la tabla dos veces a la consulta.
Microsoft Access anexa “_1” al nombre de la tabla en la segunda lista de
campos. Por ejemplo, si agrega dos veces la tabla Empleados, la primera
lista de campos se llamará “Empleados” y la segunda se llamará
“Empleados 1”. Puede cambiar el nombre de la tabla para hacerlo más
descriptivo mediante el establecimiento de la propiedad Alias (Alias) de la
lista de campos.

diosestinta.blogspot.com
© RA-MA CAPITULO 5. CONSULTAS A TRAVES DE LA INTERFAZ DE ACCESS 2010 255

2. Cree la combinación arrastrando un campo de la lista de campos de la


primera tabla hacia el campo de la segunda lista de campos con el que
desea relacionarlo. En nuestro ejemplo cree la combinación arrastrando el
campo Informar a de la lista de campos de la primera tabla al campo
CódigoEmpleado de la lista de campos de la segunda tabla. Agregue a la
cuadrícula de diseño los campos Apellidos, Nombre y Cargo de la primera
lista de campos y agregue también el campo Apellidos de la segunda lista
de campos a la cuadrícula de diseño.

Cambiar el tipo de combinación entre tablas y consultas en una consulta

1. Abra una consulta en la vista Diseño.

2. Haga doble clic en la línea de combinación entre las listas de campos de las
tablas o consultas (figura 5-28).

3. En el cuadro de diálogo Propiedades de la combinación (figura 5-29), haga clic


en la opción de combinación que desee y, a continuación, haga clic en Aceptar.

Figura 5-28

Figura 5-29

diosestinta.blogspot.com
256 ACCESS 2010. CURSO PRACTICO ___________________________________________________ © RA-MA

Definir el tipo de combinación predeterminado para una relación entre dos


tablas

1. Si se encuentra en otra ventana, cámbiese a la ventana Relaciones. Para


ello haga clic en Relaciones en el grupo Mostrar u ocultar de la ficha
Herramientas de base de datos. Se obtiene la figura 5-30.
2. Desde la vista Hoja de datos también se abre la ventana Relaciones haciendo
clic en Relaciones en el grupo Relaciones de la ficha Hoja de datos.
3. Haga doble clic en la sección central de una línea de combinación entre dos
tablas para abrir el cuadro de diálogo Relaciones (figura 5-31).
4. Haga clic en el botón Tipo de combinación y, a continuación, haga clic en
el tipo de combinación deseado en la figura 5-32. La opción 1 define una
combinación interna (éste es el valor predeterminado), la opción 2 define
una combinación externa por la izquierda y la opción 3 define una
combinación externa por la derecha.

Nota: el botón Tipo de combinación no estará activado si las tablas son vinculadas.
Si las tablas están en el formato de Microsoft Access, podrá abrir la base de datos
en la que están almacenadas para establecer el tipo de combinación. La definición
del tipo de combinación para una relación en la ventana Relaciones no afecta a la
relación propiamente dicha; establece el tipo de combinación que se utilizará de
forma predeterminada al crear consultas basadas en las tablas relacionadas.
Siempre es posible anular el tipo de combinación predeterminada más adelante al
definir una consulta.

diosestinta.blogspot.com
© RA-MA CAPÍTULO 5. CONSULTAS A TRAVÉS DE LA INTERFAZ DE ACCESS 2010 257

Figura 5-30

Figura 5-31 Figura 5-32

Eliminar una línea de combinación entre tablas y consultas en una consulta

• En la vista Diseño de la consulta, seleccione la línea de combinación


(figura 5-33) y presione la tecla SUPR.

Figura 5-33

Mostrar u ocultar nombres de tablas en la cuadrícula de diseño de la


consulta de forma predeterminada

1. En el botón Microsoft Office, haga clic en Opciones de Access.

2. En la pantalla Opciones de Access haga clic en Diseñadores de objetos.

diosestinta.blogspot.com
258 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

3. Bajo Diseño de la consulta active o desactive la casilla de verificación


Mostrar nombres de tablas (figura 5-26).
Nota: esta configuración se aplica sólo a las nuevas consultas.

5.2.4 Crear una consulta de Autobúsqueda que rellene los


datos automáticamente
Puede diseñar una consulta de tablas múltiples para que se rellenen
automáticamente determinados valores de campo para un nuevo registro. Cuando
introduce un valor en el campo combinado de la consulta o en un formulario, informe
o página de acceso a datos basados en la consulta, Microsoft Access busca y rellena
la información existente relacionada con ese valor. Por ejemplo, si conoce el valor
del campo combinado entre una tabla Clientes y una tabla Pedidos (generalmente un
identificador de cliente, como puede ser un CódigoCliente), puede introducir el
código del cliente y dejar que Microsoft Access introduzca el resto de la información
de ese cliente (figura 5-34). Si no se encuentra información coincidente, Microsoft
Access presentará un mensaje de error cuando se retira el enfoque del registro.

Figura 5-34
Para que Autobúsqueda funcione con registros nuevos, deberán cumplirse las
condiciones siguientes:
• La consulta tiene que estar basada en más de una tabla y las tablas tienen que
tener una relación uno a varios (no se ha de exigir la integridad referencial).
• El campo combinado del lado “uno” de la relación tiene que tener un
índice único. Un índice único significa que el campo es una clave principal
o que su propiedad Indexado (Indexed) en la vista Diseño de la tabla está
establecida a Sí (Sin duplicados).
• El campo combinado que se agrega a la cuadrícula de diseño tiene que
proceder de la tabla del lado “varios” de la relación uno a varios (es decir, es
la clave externa de esa tabla). Para que Autobúsqueda funcione, este campo
no podrá ser una clave principal y su propiedad Indexado (Indexed) no puede
estar establecida a Sí (Sin duplicados). Por ejemplo, en una consulta que
incluya las tablas Clientes y Pedidos, arrastre a la cuadricula de diseño el
campo CódigoCliente de la tabla Pedidos, no el de la tabla Clientes.

diosestinta.blogspot.com
©RA-MA CAPITULO 5. CONSULTAS A TRAVES DE LA INTERFAZ DE ACCESS 2010 259

• El valor que se introduzca en el campo combinado del lado “varios” tiene


que existir ya en el campo combinado del lado “uno”.
Cuando se agrega o modifica el valor del campo combinado del lado “varios”
de la relación en un registro, Microsoft Access busca y muestra automáticamente los
valores asociados de la tabla del lado “uno” de la relación. Mientras que siempre es
posible actualizar el campo combinado del lado “varios” de una relación, el campo
combinado del lado “uno” sólo puede actualizarse si la opción de actualización en
cascada se activó cuando se definió la relación entre las tablas. De todas formas,
cuando se actualizan los datos, Microsoft Access vuelve a calcular automáticamente
cualquier total o expresión de la consulta que dependa de los datos actualizados.
Para crear una consulta con Autobúsqueda que rellene los datos
automáticamente se tendrá en cuenta lo siguiente;
1. Cree una consulta de selección; para ello, agregue dos tablas que tengan
una relación uno a varios.
2. Agregue a la cuadrícula de diseño los campos para la consulta (figura 5-35). Es
necesario incluir el campo combinado del lado “varios” de la relación uno a
varios.
3. Si lo desea, especifique criterios en la fila Criterios para seleccionar
registros específicos.
4. Para ver el resultado de la consulta, haga clic en vista Hoja de datos .
Cuando introduzca nuevos datos en el campo combinado del lado “varios”
de la relación, Microsoft Access buscará e introducirá automáticamente los
datos correspondientes al lado “uno”.

Figura 5-35

5.2.5 Criterios y expresiones para recuperar datos


Los criterios son restricciones impuestas en una consulta o en un filtro
avanzado para identificar los registros específicos con los que se desea trabajar. Por
ejemplo, en lugar de ver todos los proveedores que utiliza su compañía, puede ver
solamente los proveedores de Japón. Para ello, especifique criterios que limiten los
resultados a los registros cuyo campo País contenga el valor “Japón”.

diosestinta.blogspot.com
260 ACCESS 2010. CURSO PRÁCTICO ____________________________________________________ ©RA-MA

Para especificar criterios para un campo en la cuadrícula de diseño, escriba


una expresión en la celda Criterios de ese campo. La expresión del ejemplo anterior
será “Japón”. No obstante, puede utilizar expresiones más complicadas, como “Entre
1000 y 5000”. Si su consulta incluye tablas vinculadas, los valores que especifique
en el criterio de los campos de las tablas vinculadas podrán distinguir mayúsculas de
minúsculas (los valores deben coincidir con los de la tabla base).

Puede introducir criterios adicionales para el mismo campo o para campos


diferentes. Al introducir expresiones en más de una celda Criterios, Microsoft
Access las combina empleando el operador Y (And) o el operador O (Or). Si las
expresiones están en celdas diferentes de la misma fila, Microsoft Access utilizará el
operador Y (And), que indica que sólo se devolverán los registros que cumplan los
criterios de todas las celdas. Si las expresiones están en filas diferentes de la
cuadrícula de diseño, Microsoft Access usará el operador O (Or), que indica que se
devolverán los registros que cumplan los criterios de cualquiera de las celdas.
También puede especificar criterios que afecten a los resultados de un cálculo. Al
agregar criterios, puede limitar los grupos para los que se va a realizar un cálculo,
limitar los registros incluidos en el cálculo o bien limitar los resultados mostrados
una vez realizado el cálculo.

En la figura 5-36 se presenta una consulta que recupera los pedidos enviados
mediante QUICK-Stop en fecha 4 de julio de 1995.

Figura 5-36

Dónde especificar los criterios que determinan cuándo se realizan los cálculos

El lugar donde especifique los criterios en la cuadrícula de diseño de la


consulta determina cuándo se realiza el cálculo. Aunque los siguientes ejemplos sólo
muestran consultas que calculan “totales”, estas directrices son también aplicables a
los campos calculados.

• Para devolver sólo determinados resultados seleccionados después de que se


realice algún cálculo, especifique los criterios en el campo que contiene el
cálculo (figura 5-37). Esta regla es aplicable tanto si está llevando a cabo el
cálculo sobre cada registro, sobre grupos de registros o sobre todos los
registros.

diosestinta.blogspot.com
© RA-MA CAPITULO 5. CONSULTAS A TRAVES DE LA INTERFAZ DE ACCESS 2010 261

Figura 5-3 7

• Para limitar los grupos antes de realizar cálenlos sobre grupos de registros,
especifique los criterios en los campos Agrupar por (figura 5-38).

Figura 5-38

Para limitar los registros antes de que estén agrupados y antes de que se
realice el cálculo, agregue a la cuadrícula de diseño los campos cuyos
registros desee limitar y, después, especifique los criterios en la celda
Criterios del campo. Si está calculando totales en la misma consulta,
establezca la celda Total del campo que contiene el criterio a Dónde. Esta
regla es aplicable tanto si está calculando el total sobre todos los registros o
sobre grupos de registros. (Microsoft Access desactiva automáticamente la
casilla de verificación Mostrará) El ejemplo siguiente (figura 5-39) utiliza
dos veces el campo PrecioConDescuento, una para limitar los registros y
otra para calcular el total. No obstante, puede utilizar un campo diferente
para limitar los registros arrastrando ese campo a la cuadrícula de diseño y
estableciendo su celda Total a Dónde.

diosestinta.blogspot.com
262 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Figura 5-39

Ejemplos de expresiones que usan valores de texto como criterios

Campo Expresión Descripción


CiudadEnvío “Londres” Muestra ios pedidos enviados a Londres.
CiudadEnvío “Londres” O “Hedge End” Utiliza el operador 0 (Or) para mostrar los
pedidos enviados a Londres o a Fledge
FechaEnvío Entre #5-Ene-95# Y #10-Ene- End.
Utiliza el operador Entre...Y
95# (Between...And) para mostrar los pedidos
enviados no antes del 5-Ene-95 ni después
del 10-Ene-95.
FechaEnvío #2/2/95# Muestra los pedidos enviados el 2-Feb-95.
PaísEnvío En(“Canadá”, “Reino Unido”) Utiliza el operador En (In) para mostrar los
pedidos enviados a Canadá o al Reino
PaísEnvio Negado “EE.UU.” Unido. el operador Negado (Not) para
Utiliza
mostrar los pedidos enviados a países
distintos de EE.UU.
NombreEnvío Como “S*” Muestra los pedidos enviados a los
clientes cuyo nombre empieza por S.
NombreCompañía >=“N” Muestra los pedidos enviados a compañías
cuyo nombre comienza por las letras N a
IdPedido Der([ldPedido], 2)= “99” Z.
Utiliza la función Der (Right) para
mostrar los pedidos con valores de
IdPedido que terminan en 99.
NombreCompañía Longitud([NombreCompañía]) Utiliza las funciones Longitud (Len) y Val
>Val(30) (Val) para mostrar los pedidos de las
compañías cuyo nombre tiene más de 30
caracteres.

diosestinta.blogspot.com
© RA-MA_____________ CAPITULO 5. CONSULTAS A TRAVES DE LA INTERFAZ DE ACCESS 2010 263

Ejemplos de expresiones que calculan o manipulan fechas y a continuación


usan el resultado como criterio

Campo Expresión Descripción


FechaRequerida Entre Fecha() Y Utiliza el operador Entre...Y (Between...And) y las
AgregFecha(“m”, 3, Fecha()) funciones AgregFecha (DateAdd) y Fecha (Date)
para mostrar pedidos cuya fecha requerida está
entre el día de hoy y dentro de tres meses.
FechaPedido < Fecha()- 30 Utiliza la función Fecha (Date) para mostrar los
pedidos con una antigüedad de más de 30 días.
FechaPedido Año([FechaPedido])=1996 Utiliza la función Año (Year) para mostrar los
pedidos con fechas de entrega en 1996.
FechaPedido ParcFecha(“q”, Utiliza la función ParcFecha (DatePart) para
[FechaPedido])=4 mostrar los pedidos de) cuarto trimestre.
FechaPedido SerieFecha(Año Utiliza las funciones SerieFecha (DateSerial),
([FechaPedido]), Año (Year) y Mes (Month) para mostrar los
Mes([FechaPedido])+l, 1)-1 pedidos del último día de cada mes.
FechaPedido Año([FechaPedido])= Utiliza las funciones Año (Year) y Mes (Month)
Afio(Ahora()) Y y el operador Y (And) para mostrar los pedidos
Mes([FechaPedido])= del año y el mes actual.
Mes(Ahora())

Ejemplos de expresiones que usan un valor de campo vacío (Null o cadena


de longitud cero) como criterio

Campo Expresión Descripción


RegiónEnvío Es Nulo Muestra los pedidos de los clientes cuyo campo RegiónEnvío es
Null (está vacío).
RegiónEnvío No es Nulo Muestra los pedidos de los clientes cuyo campo RegiónEnvío
contiene un valor.
Fax Muestra los pedidos de los clientes que no tienen una máquina de
fax, lo que se indica mediante un valor de cadena de longitud cero
en el campo Fax en lugar de un valor Null (vacío).

Ejemplos de expresiones que usan parte del valor de un campo como criterio

Campo Expresión Muestra


NombreDestinatario Como “S*” Pedidos enviados a los clientes cuyos nombres
empiezan por la letra S.
NombreDestinatario Como Pedidos enviados a los clientes cuyos nombres
“*Importaciones” terminan por la palabra “Importaciones”.
NombreDestinatario Como “[A-D]*” Pedidos enviados a los clientes cuyos nombres
empiezan de la A a la D.
NombreDestinatario Como “*ar*” Pedidos enviados a los clientes cuyos nombres
incluyen la secuencia de letras “ar”.
NombreDestinatario Como “Casa Dewe?” Pedidos enviados al cliente con “Casa” como
primera parte del nombre y un segundo nombre
de 5 letras, de las cuales las cuatro primeras son
“Dewe” y la última se desconoce.

diosestinta.blogspot.com
264 ACCESS 2010. CURSO PRACTICO © RA-MA

Ejemplos de expresiones que usan el resultado de una función de agregado


de dominio como criterio

Campo Expresión Descripción


Carga >(DDesvEst(“[Carga]”, “Pedidos”) + Utiliza las funciones DProm (DAvg) y
DProm(“[Carga]”, “Pedidos”)) DDesvEst (DStDev) para mostrar todos los
pedidos para los que el coste de carga queda
por encima de la media más la desviación
estándar del coste de carga.
Cantidad >DProm(“[Cantidad]”, “Detalles de Utiliza la función DProm (DAvg) para
pedidos”) mostrar los productos pedidos en cantidades
superiores a la cantidad de pedido media.

Ejemplos de expresiones que usan el resultado de las subconsultas como criterio

Campo Expresión Muestra


PrecioUnitario (SELECT [PrecioUnitario] FROM Productos cuyo precio es el
[Productos] WHERE [NombreProducto] = mismo que el del Sirope de
“Sirope de regaliz”) regaliz.
PrecioUnitario >(SELECT AVG([PrecioUnitario]) FROM Productos que tienen un precio
[Productos]) unitario por encima de la media.
Salario > ALL (SELECT [Salario] FROM Salario de cada comercial cuyo
[Empleados] WHERE ([Cargo] LIKE salario es mayor que el de los
“*Director*”) OR ([Cargo] LIKE empleados con el cargo
“*Vicepresidente*”)) “Director”
TotalPedido: > ALL (SELECT AVG([PrecioUnitario] * 0 “Vicepresidente”.
Pedidos cuyos totales son
[PrecioUnitario]* [Cantidad]) FROM [Detalles de pedidos]) mayores que el valor de pedido
[Cantidad] medio.

Cómo usar varios criterios en uno o más campos de una consulta

También es posible utilizar más de un criterio en cualquier campo al


realizar una consulta. Para esta función se emplea la celda o situada en la última
línea de la cuadrícula de diseño de la consulta. La figura 5-40 ilustra la utilización
de la celda o en una consulta.

Figura 5-40

diosestinta.blogspot.com
© RA-MA CAPITULO 5. CONSULTAS A TRAVES DE LA INTERFAZ DE ACCESS 2010 265

5.2.6 Formas comunes de usar criterios


Recuperar registros que contienen valores entre, >, <, >=, < = o <> como
valores especificados

1. En la vista Diseño de consulta, cree una consulta. Agregue las tablas cuyos
registros desea utilizar y, a continuación, agregue a la cuadrícula de diseño
de la consulta los campos que desea incluir en los resultados.
2. En una expresión de la celda Criterios del campo adecuado, identifique un
intervalo utilizando el operador Entre... Y o los operadores de comparación
(<, >, o, <= y >=). Por ejemplo, puede buscar pedidos realizados después
del 1-Ene-93 (figuras 5-41 y 5-42) o productos que tengan entre 10 y 35
unidades en stock (figuras 5-43 y 5-44). La tabla siguiente muestra algunos
ejemplos de operadores empleados en expresiones.

Expresión Significado
>234 Números mayores que 234
Entre #2/2/93# Y #1/12/93# Fecha desde el 2-Feb-93 hasta el l-Dic-93
<1200,45 Números menores que 1200,45
>=“Callahan” Todos los nombres desde Callaban hasta el final del alfabeto

Nota: las fechas y los números se muestran en la cuadrícula de diseño de la consulta


con el formato adecuado para el país seleccionado en la Configuración regional del
Panel de control de Windows. Por ejemplo, la secuencia de fecha es mes/día/año para
Estados Unidos, día/mes/año para el Reino Unido y año/día/mes para Suecia.

Figura 5-41 Figura 5-42

Figura 5-43 Figura 5-44

diosestinta.blogspot.com
266 ACCESS 2010. CURSO PRÁCTICO _____________________________________________________ © RA-MA

Utilizar caracteres comodín al realizar búsquedas de valores parciales o de


coincidencia

Se utilizan los caracteres comodín como sustitutos de otros caracteres


cuando se especifica un valor que se desea buscar y:

• Sólo se conoce parte del valor.


• Se buscan valores que empiezan con una cierta letra o que coinciden con un modelo.
En una base de datos de Microsoft Access, se pueden utilizar los siguientes
caracteres en los cuadros de diálogo Buscar y Reemplazar o en consultas, comandos
y expresiones para encontrar valores de campos, registros o nombres de archivos:

Carácter Uso Ejemplo


* Hace coincidir cualquier número de caracteres. qu* encuentra quién, queso y quieto
Puede ser utilizado como el primero o el último
carácter de la cadena de caracteres.
? Hace coincidir cualquier carácter alfabético B?l encuentra bala, bola y billete
individual.
[] Hace coincidir cualquier carácter individual B[ao]l encuentra bala y bola pero
situado entre los corchetes. no billete
! Hace coincidir cualquier carácter que no se b[!ao]l encuentra billete y bulto
encuentre entre los corchetes. pero no bala
- Hace coincidir cualquier carácter de un b[a-c]d encuentra bad, bbd y bcd
intervalo
de caracteres. Debe especificar el intervalo en
# orden
Hace ascendente (A a Z, no carácter
coincidir cualquier Z a A). numérico 1#3 encuentra 103, 113 y 123
individual.

Notas:
• Los caracteres comodín están concebidos para ser utilizados con datos de
tipo texto, aunque a veces pueden emplearse con éxito con otros tipos de
datos, como los de tipo fecha, si no se cambia la propiedad Configuración
regional de estos tipos de datos.

• Cuando utilice caracteres comodín para buscar un asterisco (*), una


interrogación de cierre (?), un signo de número (#), un corchete de apertura ([)
o un guión (-), debe escribir dichos caracteres entre corchetes. Por ejemplo,
para buscar una interrogación de cierre, escriba [?] en el cuadro de diálogo
Buscar. Si busca un guión junto con otros caracteres, escriba el guión antes o
después de todos los demás caracteres dentro de los corchetes (sin embargo, si
hay una exclamación de cierre (!) después del corchete de apertura, escriba el
guión después de la exclamación). Si busca una exclamación de cierre (!) o un
corchete de cierre (]), no será necesario escribirlos entre corchetes.

diosestinta.blogspot.com
© RA-MA CAPITULO 5. CONSULTAS A TRAVES DE LA INTERFAZ DE ACCESS 2010 267

• No se pueden buscar al mismo tiempo un corchete de apertura y uno de


cierre ([ ]) ya que Microsoft Access interpreta esta combinación como una
cadena de longitud cero. Debe escribir entre corchetes los corchetes de
apertura y cierre ([[ ]]).

• Un proyecto de Microsoft Access utiliza caracteres comodín diferentes de los


que utiliza una base de datos de Access. Para obtener más información, busque
“wildcard characters” (caracteres comodín) en el índice de los manuales en
línea de Microsoft SQL Server. Si busca valores en otros orígenes de datos,
puede que necesite utilizar caracteres comodín diferentes. Compruebe la
documentación de ese origen de datos para obtener más información.

Recuperar registros que no coinciden con un valor mediante una consulta

1. En la vista Diseño de consulta, cree una consulta. Agregue las tablas cuyos
registros desee utilizar y, a continuación, agregue a la cuadrícula de diseño
de la consulta los campos que desee incluir en los resultados.
2. En la celda Criterios del campo adecuado, introduzca una expresión
empleando el operador Not. Por ejemplo, puede escribir la expresión Not
T* en la celda Criterios del campo NombreCompañia para buscar todos los
clientes cuyos nombres no comiencen por T (figuras 5-45 y 5-46), o Not 2
en el campo IdEnvío para buscar proveedores cuyo Id. no sea 2. La
consulta Not T* escrita en la celda Campo la transforma Access
internamente en la sintaxis Negado Como "T*”.

Figura 5-45 Figura 5-46

Recuperar registros salvo los que contienen valores nulos


1. En la vista Diseño de consulta, cree una consulta. Agregue las tablas cuyos
registros desee utilizar y, a continuación, añada a la cuadrícula de diseño
de la consulta los campos que desee incluir en los resultados.

diosestinta.blogspot.com
268 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

2. En la celda Criterios del campo adecuado, escriba la expresión Negado


Nulo o Es Negado Nulo. Por ejemplo, para ver una lista de los proveedores
que tienen número de fax de una tabla que contiene información del
proveedor, escriba Negado Nulo o Es Negado Nulo en la celda Criterios
del campo Número de fax (figuras 5-47 y 5-48).

Figura 5-47 Figura 5-48


Recuperar registros que no contienen valores utilizando una consulta
1. En la vista Diseño de consulta, cree una consulta. Agregue las tablas cuyos
registros desee utilizar y, a continuación, agregue a la cuadrícula de diseño
de la consulta los campos que desee incluir en los resultados.
2. En la celda Criterios del campo adecuado, escriba la expresión Not Es Negado
Nulo. Por ejemplo, para ver una lista de los proveedores que no tienen número de
fax de una tabla que contiene información del proveedor, escriba Not Es Negado
Nulo en la celda Criterios del campo Número de fax (figuras 5-49 y 5-50).

Figura 5-49 Figura 5-50

Recuperar registros que contienen la fecha actual mediante una consulta


La fecha actual es la fecha del sistema que Microsoft Access toma del reloj
del equipo. Los pasos a seguir son los siguientes:

diosestinta.blogspot.com
© RA-MA _____________ CAPITULO 5. CONSULTAS A TRAVES DE LA INTERFAZ DE ACCESS 2010 269

1. En la vista Diseño de consulta, cree una consulta. Agregue las tablas cuyos
registros desee utilizar y, a continuación, agregue a la cuadrícula de diseño
de la consulta los campos que desee incluir en los resultados.
2. En la celda Criterios del campo adecuado, escriba Fecha() (Date()), sin espacios
entre los paréntesis. Por ejemplo, puede buscar todos los pedidos que se enviaron
en la fecha actual escribiendo Fecha() (Date()) en el campo FechaEnvío.

Recuperar registros que incluyen un valor de una lista de valores utilizando


una consulta

1. En la vista Diseño de consulta, cree una consulta. Agregue las tablas cuyos
registros desee utilizar y, a continuación, agregue a la cuadrícula de diseño
de la consulta los campos que desea incluir en los resultados.
2. En la celda Criterios del campo adecuado, escriba una expresión que utilice
el operador En. Por ejemplo, para buscar proveedores situados en Francia,
Alemania o Japón, escriba la siguiente expresión en la celda Criterios del
campo País de la tabla Proveedores: In(Francia,Alemania,Japón). También
puede introducir: Francia O Alemania O Japón.

Extraer parte de los valores de texto existentes mediante un campo calculado

1. En la vista Diseño de consulta, cree una consulta. Agregue las tablas cuyos
registros desea utilizar.

2. Para buscar valores en parte de un campo, utilice la función Izq, Der o


Medio en una expresión en una celda en blanco de la fila Campo de la
cuadrícula de diseño de la consulta. La sintaxis de estas funciones es la
siguiente: Izq(expresiónDeCadena,n), DQr(expresiónDeCadena,n) y
Medio(expresiónDeCadena,inicio,n). El argumento expresiónDeCadena
puede ser un nombre de campo (entre paréntesis) o una expresión de texto;
n es el número de caracteres que desea extraer; inicio es la posición del
primer carácter que desea extraer. La tabla siguiente muestra ejemplos de
estas funciones:

Si el valor en
IdPieza es Esta expresión Devuelve
BA-7893-R12 Izq([IdPieza],2) BA
BA-7893-R12 Der([IdPieza],3) R12
BA-7893-R12 Medio([IdPieza],4,4) 7893

3. Agregue a la cuadrícula de diseño de la consulta otros campos que desee


incluir en la consulta.

diosestinta.blogspot.com
270 ACCESS 2010. CURSO PRÁCTICO ___________________________________________________ © RA-MA

Extraer parte de los valores de fecha existentes mediante un campo calculado

1. En la vista Diseño de consulta, cree una consulta. Agregue las tablas cuyos
registros desee utilizar.

2. Utilice la función ParcFecha en una expresión en una celda en blanco de


la fila Campo en la cuadrícula de diseño de la consulta. La sintaxis de
esta función es: ParcFecha(porciónDeFecha,Fecha). El argumento
porciónDeFecha es la abreviatura de la parte de la fecha que desea
devolver. Ejemplos son “aaaa” para un año de cuatro dígitos y “t” para un
trimestre de calendario. El argumento fecha es un nombre de campo con el
tipo de datos Fecha/hora o una fecha literal como “7-Nov-93”. La tabla
siguiente muestra ejemplos de expresiones que aplican la función
ParcFecha al campo FechaDePedido de la tabla Pedidos.

Si el valor de Esta expresión Devuelve


FechaDePedido es
3-Jun-93 ParcFecha(“m”JFechaDePedidol) 6 (mes del año)
28-Mar-92 ParcF echa(“yyyy”,[F ecliaDePedido]) 1992 (número de año con
cuatro dígitos)

3. Agregue a la cuadrícula de diseño de la consulta otros campos que desee


incluir en la consulta.

Especificar criterios o un orden cuando se usa el asterisco en la cuadrícula


de diseño

1. Abra una consulta en la vista Diseño.


2. Arrastre el asterisco (*) desde la lista de campos hasta la fila Campo de la
cuadrícula de diseño.
3. Agregue los campos que desee ordenar o para los que desee establecer
criterios arrastrándolos desde la lista de campos hasta la fila Campo.
4. Seleccione un orden en la celda Orden de los campos que desea ordenar.
5. Introduzca criterios en la fila Criterios de los campos apropiados.
6. Desactive la casilla de verificación Mostrar para todos los campos excepto
el asterisco; de lo contrario esos campos aparecerán dos veces en el
resultado de la consulta.

7. Haga clic en vista Hoja de datos en la barra de estado o en la opción


Ver del grupo Resultados de la ficha Diseño para ver el resultado.

diosestinta.blogspot.com
©RA-MA _____________ CAPITULO 5. CONSULTAS A TRAVES DE LA INTERFAZ DE ACCESS 2010 271

Insertar o eliminar una fila de criterios de una consulta o filtro avanzado


• Para insertar una fila de criterios, en la vista Diseño de consulta o en la
ventana Filtro u orden avanzado, haga clic en la fila que está debajo de
donde desee que aparezca la nueva fila, y luego haga clic en Insertar filas
en el grupo Configuración de consultas de la ficha Diseño. Se inserta
una nueva fila encima de la fila en la que hizo clic.
• Para borrar una fila de criterios, haga clic en cualquier parte de la fila, y
luego haga clic en Eliminar filas en el grupo Configuración de
consultas de la ficha Diseño.
Dónde insertar expresiones en consultas y filtros
Puede utilizar expresiones (en la cuadrícula de diseño de una consulta o en la
ventana Filtro u orden avanzado, en una instrucción SQL de la vista SQL de una consulta
o en la ventana Filtro por formulario) para especificar criterios que identifiquen los
registros con los que desea trabajar. En las consultas, también puede utilizar expresiones
para actualizar los valores de un grupo de registros o para crear campos calculados. En la
cuadrícula de diseño, la expresión debe introducirse en lugares diferentes dependiendo
de la operación que se desee realizar (la tabla siguiente muestra dónde pueden
introducirse expresiones). Después de introducir una expresión en la cuadrícula de
diseño y de presionar la tecla ENTRAR, Microsoft Access muestra la expresión
utilizando la sintaxis que comprende este programa. Si no incluye un operador en la
expresión de la cuadrícula, Microsoft Access asumirá que debe utilizarse el operador =.
Por ejemplo, si escribe Dinamarca como criterio en un campo País, Microsoft Access
muestra “Dinamarca” e interpreta la expresión como País=“Dinamarca”. Si incluye
referencias a nombres de campos en la expresión, los campos deberán estar incluidos
en una de las tablas agregadas a la consulta (a no ser que esté utilizando la función
DBúsq (DLookup) o una subconsulta). No obstante, no es posible arrastrar los campos
a la expresión de la cuadrícula de diseño.

Para hacer esto Escriba la expresión en


Especificar criterios para una consulta de Una celda Criterios de la cuadrícula de diseño de
selección, de tabla de referencias cruzadas o una consulta o filtro avanzado.
de acción, o bien para un filtro avanzado
Crear un campo calculado Una celda Campo de la cuadrícula de diseño de
una consulta o filtro avanzado.
Actualizar registros según los resultados de la Una celda Actualizar a de la cuadrícula de diseño
expresión (sólo consultas de actualización) de una consulta de actualización.
Especificar los registros con los que desea Una instrucción SQL en la vista SQL.
trabajar, cómo se agrupan, los criterios para
las
agrupaciones o cómo
Especificar los se ordenan
criterios los se
cuando registros
utiliza Un campo de la ventana Filtro por formulario de
Filtro por formulario una expresión personalizada. También puede
seleccionar una expresión de la lista del campo.

diosestinta.blogspot.com
272 ACCESS 2010. CURSO PRACTICO © RA-MA

Nota: puede ver cómo Microsoft Access evalúa las expresiones de las consultas
cambiando a la vista SQL de una consulta para mostrar sus instrucciones SQL
base. Para mostrar una consulta en la vista SQL, haga clic en la flecha situada junto
al botón Vista en la barra de herramientas y, a continuación, haga clic en Vista
SQL. Si su consulta incluye tablas vinculadas, los valores que especifique en el
criterio de los campos de las tablas vinculadas podrán distinguir mayúsculas de
minúsculas (los valores deben coincidir con los de la tabla base).

5.2.7 Especificar varios criterios en una consulta


En las figuras 5-51 a 5-55 se presentan ejemplos de la utilización de varios
criterios en una consulta usando los operadores Y y O adecuadamente. La consulta
de la figura 5-51 presenta un campo que utiliza O, la de la figura 5-52 presenta un
campo que utiliza Y, la consulta de la figura 5-53 presenta dos campos que utilizan
O, la de la figura 5-54 presenta dos campos que utilizan Y y la de la figura 5-55
presenta tres campos que utilizan Y y O.

Figura 5-51

Figura 5-52 Figura 5-53

diosestinta.blogspot.com
© RA-MA CAPITULO 5. CONSULTAS A TRAVES DE LA INTERFAZ DE ACCESS 2010 273

Figura 5-54 Figura 5-55

5.2.8 Usar una subconsulta para definir un campo o definir


criterios para un campo

Puede utilizar subconsultas para, por ejemplo, comprobar la existencia de


resultados para la subconsulta, buscar valores en la consulta principal que sean
iguales, mayores o menores que valores devueltos por la subconsulta, o para crear
subconsultas dentro de subconsultas.

1. Cree una nueva consulta.

2. En la vista Diseño de consulta, agregue los campos que desee a la cuadrícula de


diseño, incluyendo los campos que se quieren utilizar para la subconsulta.

3. Si está utilizando una subconsulta para definir un criterio para un campo,


escriba una instrucción SELECT en la celda Criterios del campo para el
que desea establecer un criterio. Coloque la instrucción SELECT entre
paréntesis (figura 5-56). Si está utilizando una subconsulta para definir una
celda de campo, escriba una instrucción SELECT encerrada entre
paréntesis en una celda de campo. Cuando salga de la celda, Microsoft
Access insertará automáticamente “Expr1:”, “Expr2:”, etc., delante de la
instrucción SELECT. Para disponer de más espacio donde introducir la
instrucción SELECT dentro de una celda Campo o Criterios, presione
MAYÚSCULAS + F2 e introduzca la instrucción en el cuadro Zoom
(figura 5-57). Para cambiar el nombre del campo, sustituya “Expr1:” con
un nombre de campo, por ejemplo, “Categoría”.
4. Para ver los resultados, haga clic en vista Hoja de datos en la barra de
estado o en la opción Ver del grupo Resultados de la ficha Diseño.

diosestinta.blogspot.com
274 ACCESS 2010. CURSO PRÁCTICO _____________________________________________________ © RA-MA

Notas:
• No se puede utilizar un campo que se define con una subconsulta para
agrupar registros.

• La sentencia SELECT de una subconsulta no puede definir una consulta de


unión o de referencias cruzadas.

Figura 5-56

Figura 5-57

Ejemplos de expresiones que usan el resultado de las subconsultas como


criterio

Campo Expresión Muestra


PrecioUnitario (SELECT [PrecioUnitario] FROM Productos cuyo precio es el
[Productos] WHERE [NombreProducto] = mismo que el del Sirope de
“Sirope de regaliz”) regaliz.
PrecioUnitario >(SELECT AVG([PrecioUnitario]) FROM Productos que tienen un precio
[Productos]) unitario por encima de la media.

Salario > ALL (SELECT [Salario] FROM Salario de cada comercial cuyo
[Empleados] WHERE ([Cargo] LIKE salario es mayor que el de los
“*Director*”) OR ([Cargo] LIKE empleados con el cargo “Director”
“*Vicepresidente*”)) 0 “Vicepresidente”.
TotalPedido: > ALL (SELECT AVG([PrecioUnitario] * Pedidos cuyos totales son mayores
[PrecioUnitario]* [Cantidad]) FROM [Detalles de pedidos]) que el valor de pedido medio.
[Cantidad]

diosestinta.blogspot.com
©RA-MA CAPÍTULO 5. CONSULTAS A TRAVÉS DE LA INTERFAZ DE ACCESS 2010 275

5.2.9 Mostrar sólo los valores más altos o más bajos en los
resultados de la consulta

La consulta puede mostrar, por ejemplo, los registros que tengan los 10
valores mayores o menores en un campo específico o los registros con los valores
mayores o menores del 10% en el campo. Los pasos a tener en cuenta son los
siguientes:

Abra la consulta en la vista Diseño.

1. Agregue a la cuadrícula de diseño los campos que desee mostrar en el


resultado de la consulta, incluyendo el campo del que desea mostrar los
valores superiores.

2. En la celda Orden del campo del que desea mostrar los valores superiores,
haga clic en Descendente para mostrar los valores mayores o Ascendente
para mostrar los valores menores. Si, además, ha ordenado otros campos en
la cuadrícula de diseño de la consulta, dichos campos deberán estar a la
derecha del campo de valores superiores.

3. Haga clic en el cuadro Valores superiores en la barra de


herramientas.

4. Introduzca el porcentaje o número de valores mayores o menores que desee


que muestre el resultado de la consulta. Para mostrar un porcentaje,
introduzca un número seguido de un signo de porcentaje (%).

5. Para ver los resultados, haga clic en vista Hoja de datos en la barra de
estado o en la opción Ver del grupo Resultados de la ficha Diseño.

Nota: el establecimiento de la propiedad ValoresSuperiores en la hoja de


propiedades de la consulta funciona igual que la utilización del botón Valores
superiores en la barra de herramientas.

5.2.10 Usar el asterisco en la cuadrícula de diseño de una consulta


• La selección del asterisco (*) en una consulta tiene una ventaja sobre la
selección de todos los campos. Cuando utiliza el asterisco, los resultados
de la consulta incluyen automáticamente cualquier campo que se haya
adjuntado a la tabla o consulta base después de haberse creado la consulta;
y excluyen de forma automática los campos que se hayan borrado.

diosestinta.blogspot.com
276 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

• Cuando utilice el asterisco, no puede ordenar los registros o especificar los


criterios de los campos, a menos que agregue esos campos al mismo
tiempo que los asteriscos a la cuadricula de diseño.
• Si introduce un asterisco en la fila Campo en vez de arrastrarlo, debe introducir
también el nombre de la tabla. Por ejemplo, escriba Clientes. * .

5.2.11 Trabajar con campos vacíos en consultas


Cuando un campo no contiene ningún valor, contiene un valor Null o, para
campos de tipo Texto, Memo o Hipervínculo, un valor Null o una cadena de
longitud cero. Si existen valores Null en un campo, podrá afectar a los resultados
de la consulta. A continuación se indican algunas pautas que debe seguir para
trabajar con las consultas con valores Null y cadenas de longitud cero.
Combinar campos que contienen valores Null
Al combinar tablas en una consulta, el resultado incluirá únicamente los
registros que no contengan valores Null en los campos coincidentes. Por ejemplo,
para ver una lista de Proveedores y Clientes que viven en la misma región, cree una
consulta que incluya las tablas Proveedores y Clientes, y las tablas se combinarán
por el campo Región. Cuando vea los resultados, sólo verá los valores de los
registros que contengan un valor en el campo Región de ambas tablas.
Buscar valores Null o cadenas de longitud cero
Si utiliza una consulta para buscar valores Null o cadenas de longitud cero,
escriba Es Nulo en la celda Criterios para buscar los valores Null, o escriba dos
signos de dobles comillas (“”) en la celda Criterios para buscar cadenas de longitud
cero (no escriba ningún espacio en blanco dentro de las comillas).
Entender cómo los valores Null afectan a los cálculos numéricos
Si está utilizando una función agregada para calcular la suma, promedio,
cuenta o cualquier otra cantidad sobre los valores de un campo, los registros d e ese
campo que tengan valores Null no se incluirán en el cálculo. Esto es verdad tanto si
calcula la función agregada mediante la fila Total de la cuadrícula de diseño de la
consulta, el Asistente para consultas sencillas o una expresión personalizada. Po r
ejemplo, si utiliza la función Cuenta (Count) para contar el número de valores de
un campo, devolverá una suma de todos los registros cuyos valores no son Null. Si
desea encontrar el número total de registros, incluyendo los valores Null, utilice
Cuenta (Count) con el carácter comodín asterisco (*) .

Si en una expresión (como [UnidadesEnExistencia]+[UnidadesEnPedido])


utiliza un operador aritmético (como +, -, *, /), y uno de los campos de la expresión
contiene un valor Null, el resultado de toda la expresión será un valor Null.

diosestinta.blogspot.com
© RA-MA CAPITULO 5. CONSULTAS A TRAVES DE LA INTERFAZ DE ACCESS 2010 277

Convertir valores Null a cero


Cuando tenga campos que contengan valores Null, es posible crear una
expresión que convierta los valores Null a cero. Puede hacerlo si desea que los
registros que contengan valores Null se incluyan en el cálculo agregado o si desea
evitar que una expresión dé como resultado un valor Null cuando uno de los
campos de la expresión contenga valores Null. Utilice la función Nz, por ejemplo,
para convertir valores Null a cero: Nz([Subtotal],0)+Nz([Flete],0).

Combinar campos Texto que contengan valores Null


Si está utilizando una expresión para combinar dos campos que contienen
valores de texto y uno o ambos de los campos contienen valores Null, utilice el
operador & en lugar del operador + para combinar los valores. El operador &
combinará los valores aunque éstos contengan valores Null, mientras que el
operador + devolverá un valor Null si alguno de los dos valores es Null. Por
ejemplo: NombreCompleto: [Apellido] & & [Nombre],

Ordenar por campos que contengan valores Null y cadenas de longitud cero
Cuando ordena un campo en sentido ascendente, cualquier registro en el que
ese campo contiene un valor Null se muestra primero. Si un campo contiene tanto
valores Null como cadenas de longitud cero, los valores Null aparecen primero en el
criterio de ordenación, seguidos inmediatamente de las cadenas de longitud cero.

Utilizar el carácter comodín asterisco (*) para devolver valores no Null


Si utiliza una expresión como al definir los criterios de la consulta para
un campo, los resultados de la consulta incluirán las cadenas de longitud cero de
ese campo, pero no los valores Null.

5.2.12 Funciones agregadas y otras opciones de la fila total


Nueve de las doce opciones en la fila Total de la cuadrícula de diseño de la
consulta son funciones agregadas. Todas, excepto las funciones Primero y Ultimo,
se explican en la siguiente tabla. Las otras tres opciones de la lista se explican en la
segunda tabla.
Elija Para encontrar el Utilice con estos tipos de datos de campos

Suma Total de los valores de un campo. Número, Fecha/Hora, Moneda y AutoNumérico


Prom Promedio de los valores de un campo. Número, Fecha/Hora, Moneda y AutoNumérico
Mín Menor valor de un campo. Texto, Número, Fecha/Hora, Moneda y
AutoNumérico
Máx Mayor valor de un campo. Texto, Número, Fecha/Hora, Moneda y
AutoNumérico
Cuenta Número de valores de un campo, sin Texto, Memo, Número, Fecha/Hora, Moneda,
contar los valores Null (vacío). AutoNumérico, Sí/No y Objeto OLE

DesvEst Desviación estándar de valores de Número, Fecha/Hora, Moneda y AutoNumérico


campo.
Var Varianza de los valores de un campo. Número, Fecha/Hora, Moneda y AutoNumérico

diosestinta.blogspot.com
278 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Elija Para
Agrupar Definir los grupos para los que desea realizar los cálculos. Por ejemplo, para mostrar las
por ventas totales por categoría, seleccione Agrupar por para el campo NombreCategoría.
Expresión Crear un campo calculado que incluya una función agregada en su expresión.
Normalmente, creará un campo calculado cuando desee utilizar múltiples funciones
en una expresión.
Donde Especificar los criterios de un campo que no esté utilizando para definir los grupos. Si
selecciona esta opción para un campo, Microsoft Access ocultará el campo en los
resultados de la consulta desactivando la casilla de verificación Mostrar.

Nota: las funciones agregadas no incluirán registros que contengan valores en


blanco (Null) en sus cálculos. Por ejemplo, la función Cuenta (Count) devuelve la
suma de todos los registros sin valores Null. Hay una forma de contar los valores
Null y es posible convertir los valores Null a ceros en un cálculo.

5.3 ENCONTRAR REGISTROS O VALORES DE CAMPO


DUPLICADOS EN UNA TABLA MEDIANTE UN
ASISTENTE PARA CONSULTAS
A partir de los resultados de una Consulta de buscar duplicados, puede
determinar si existen registros duplicados en una tabla o determinar qué registros de
una tabla comparten el mismo valor. Por ejemplo, puede buscar valores duplicados en
un campo de dirección para determinar si existen registros duplicados para el mismo
proveedor, o bien puede buscar valores duplicados en un campo de ciudad para ver qué
proveedores se encuentran en la misma ciudad. Microsoft Access puede eliminar
automáticamente todos los registros duplicados de una tabla, aunque no es posible
utilizar el Asistente para consultas de buscar duplicados para ello. La búsqueda de
duplicados con asistente precisa de los siguientes pasos:

Para crear la consulta con el asistente comenzamos abriendo la base de datos


NEPTUNO en la que se construirá la consulta y en la ficha Crear, en el grupo
Consultas, hacemos clic en Asistente para consultas (figura 5-58).

Figura 5-58

En el cuadro de diálogo Nueva consulta, haga clic en Asistente para consultas


de búsqueda de duplicados y, a continuación, haga clic en Aceptar (figura 5-59).

diosestinta.blogspot.com
© RA-MA CAPITULO 5. CONSULTAS A TRAVES DE LA INTERFAZ DE ACCESS 2010 279

En el primer cuadro de diálogo del asistente (figura 5-60) especifique la tabla


o consulta en la que va a buscar los duplicados. Para este ejemplo utilizamos la tabla
Empleados de la base de datos NEPTUNO (previamente cargada). Se pulsa
Siguiente, y en el segundo cuadro de diálogo (figura 5-61) seleccionamos los
campos en los que vamos a buscar los duplicados. Como en nuestro ejemplo vamos
a buscar los empleados contratados en la misma fecha, seleccionamos solamente el
campo FechaContratación. Se pulsa Siguiente, y en el tercer cuadro de diálogo
(figura 5-62) seleccionamos otros campos para visualizar junto a los duplicados,
que en nuestro caso serán Apellido y Nombre de los empleados. Se pulsa Siguiente
y aparece el cuadro de diálogo final (figura 5-63). En el último cuadro de diálogo,
puede seleccionar si desea ejecutar la consulta o ver la estructura de la consulta en la
vista Diseño. Si la consulta resultante no es exactamente como desea, podrá volver a
ejecutar el asistente o cambiar la consulta en la vista Diseño. Al pulsar Finalizar se
obtienen ya los registros duplicados (figura 5-64).

Figura 5-59

Figura 5-60

diosestinta.blogspot.com
280 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Figura 5-61

Figura 5-62

Figura 5-63

diosestinta.blogspot.com
©RA-MA CAPITULO 5. CONSULTAS A TRAVES DE LA INTERFAZ DE ACCESS 2010 281

Figura 5-64

5.4 ASISTENTE PARA BÚSQUEDA DE NO COINCIDENTES


Este asistente ayuda a buscar registros no relacionados con otra tabla de la
misma base de datos. Por ejemplo, en la base de datos NEPTUNO podemos estar
interesados en buscar los clientes que no tienen pedidos.

Para ello abra la base de datos NEPTUNO en la que se construirá la consulta


y en la ficha Crear, en el grupo Consultas, haga clic en Asistente para consultas (figura 5-58).
En el cuadro de diálogo Nueva consulta, haga clic en Asistente para búsqueda
de no coincidentes y, a continuación, haga clic en Aceptar (figura 5-65). En el primer
cuadro de diálogo del asistente (figura 5-66) especifique la tabla o consulta en la que
va a buscar los duplicados. Para este ejemplo utilizamos la tabla Clientes de la base
de datos NEPTUNO (previamente cargada). Se pulsa Siguiente, y en el segundo
cuadro de diálogo (figura 5-67) seleccionamos la tabla o consulta relacionada para
que no coincidan. En nuestro ejemplo utilizamos la tabla Pedidos. Se pulsa
Siguiente, y el asistente ofrece los campos relacionados de ambas tablas (figura 5-
6 8 ). El campo similar en ambas tablas es ClienteId. Se pulsa Siguiente, y en el
cuadro de diálogo resultante (figura 5-69) seleccionamos los campos para
visualizar en la consulta. Como en nuestro ejemplo se trata de conocer los clientes
que no hacen pedidos será conveniente seleccionar los campos NombreCompañia,
NombreContacto y Teléfono. Se pulsa Siguiente y aparece el cuadro de diálogo
final (figura 5-70), en el que se nombra la consulta y se puede seleccionar si desea
ejecutar la consulta o ver la estructura de la consulta en la vista Diseño. Al pulsar
Finalizar se obtienen ya los registros no coincidentes (figura 5-71).

diosestinta.blogspot.com
282 ACCESS 2010. CURSO PRACTICO _____________________________________________________ ©RA-MA

Figura 5-65

Figura 5-66

Figura 5-67

diosestinta.blogspot.com
© RA-MA CAPITULO S. CONSULTAS A TRAVES DE LA INTERFAZ DE ACCESS 2010 283

Figura 5-68

Figura 5-69

Figura 5-70

diosestinta.blogspot.com
284 ACCESS 2010. CURSO PRACTICO @ RA-MA

Figura 5-71

5.5 PERSONALIZAR UNA CONSULTA


Puede personalizar una consulta en vista Diseño de consulta. A partir de
esta vista, puede hacer varios tipos de cambios como se indica en la figura 5-72.

Agregue tablas o consultas

Agregue o quite campos

Elija un cálculo

Especifique un orden

Especifique criterios de consulta

Figura 5-72

Se puede agregar una tabla o consulta a la consulta actual si los datos que
necesita no están en la consulta. Después, añada los campos con los que desea
trabajar a la cuadrícula de diseño de la consulta (figura 5-73).

diosestinta.blogspot.com
©RA-MA CAPITULO 5. CONSULTAS A TRAVES DE LA INTERFAZ DE ACCESS 2010 285

Figura 5-73
Se puede agregar los valores en un campo o hacer otros cálculos con los
datos especificando el tipo de cálculo que se va a realizar (figura 5-74). Para llevar
a cabo un cálculo predefinido con los valores de un campo, haga clic en Totales
en el grupo Registros de la ficha Inicio.

Figura 5-74
Se puede limitar los registros que se ven en los resultados de la consulta o
los registros incluidos en un cálculo especificando los criterios (figura 5-75).

Figura 5-75

diosestinta.blogspot.com
286 ACCESS 2010. CURSO PRÁCTICO ____________________________________________________ ©RA-MA

Se puede ordenar los resultados de la consulta especificando una


ordenación en la cuadrícula de diseño (figura 5-76).

Figura 5-76

5.6 DISEÑAR O MODIFICAR UNA CONSULTA


En la vista Diseño de consulta, puede llevar a varios procedimientos para
completar el diseño de una nueva consulta que acaba de crear, o modificar una
consulta ya existente. También puede utilizar estos procedimientos para modificar
una Instrucción SQL que sea el origen de los registros de un formulario, informe o
página de acceso a datos. Los cambios que lleve a cabo en la vista Diseño de
consulta quedan reflejados en la instrucción SQL.
Agregar una tabla o consulta a una consulta

1. Abra una consulta en la vista Diseño.


2. En el grupo Configuración de consultas de la fichaDiseño en la barra
Herramientas de consulta, haga clic en Mostrar tabla

3. En el cuadro de diálogo Mostrar tabla, haga clic en la ficha que lista los
objetos con cuyos datos desea trabajar. Si la tabla que necesita está en otra
base de datos o aplicación, vincule primero la tabla a la base de datos activa.
4. Haga clic en el nombre del objeto que desee agregar a la consulta.
Para
seleccionar objetos adicionales de uno en uno, mantenga presionada CTRL que hace
clic en el nombre de cada objeto. Para seleccionar un
bloque de objetos, haga clic en el primer nombre de la lista, mantenga
presionada MAYUS y luego haga clic en el último nombre del bloque.
5. Haga clic en Agregar y luego haga clic en Cerrar.

Notas:

• También puede agregar una tabla o consulta a una consulta arrastrando el


nombre de la tabla o consulta desde el panel de exploración a la parte
superior de la vista Diseño de consulta.

diosestinta.blogspot.com
©RA-MA ______________ CAPITULO 5. CONSULTAS A TRAVÉS DE LA INTERFAZ DE ACCESS 2010 287

• Cuando tenga múltiples tablas o consultas en una consulta, deberán estar


combinadas.

Quitar una tabla o consulta de una consulta

1. Abra una consulta en la vista Diseño.

2. En la parte superior de la vista Diseño de consulta, seleccione la tabla o


consulta que desee borrar haciendo clic en cualquier parte de su lista de
campos, y, a continuación, presione la tecla SUPR. Los campos que haya
arrastrado desde la lista de campos a la cuadrícula de diseño también son
borrados de la consulta. Sin embargo, la tabla o consulta no es borrada de la
base de datos.

Agregar, seleccionar, eliminar, mover e insertar campos en la cuadrícula


de diseño de una consulta

En una consulta, agregue sólo aquellos campos cuyos datos desee


visualizar, establecer con ellos los criterios, agrupar por, actualizar u ordenar. Los
pasos a tener en cuenta para agregar campos en la cuadrícula de diseño de una
consulta son los siguientes:

1. Abra la consulta en la vista Diseño.

2. En una consulta, asegúrese de que la lista de campos de la tabla o consulta


que contiene los campos que desea agregar aparece en la parte superior de
la ventana. Puede agregar una tabla o consulta si la lista de campos que
necesita no está en la consulta.

3. Seleccione uno o más campos de la lista de campos y arrástrelos a las


columnas de la cuadrícula.

Seleccionar los campos que se desea agregar a la cuadrícula de diseño de


una consulta o filtro avanzado

Para seleccionar Haga esto


Un campo Haga clic en el nombre del campo.
Un bloque de campos Haga clic en el primer campo del bloque, mantenga presionada la tecla
MAYUS y haga clic en el último campo.
Campos no contiguos Mantenga presionada CTRL mientras hace clic en los campos.
Todos los campos Haga doble clic en la barra pequeña de la lista de campos o haga c lic
en el asterisco (*).

diosestinta.blogspot.com
288 ACCESS 2010. CURSO PRÁCTICO ____________________________________________________ © RA-MA

Notas:

• Una vez seleccionados los campos de la lista, debe arrastrarlos a la


cuadrícula de diseño.

• Cuando arrastra más de un campo a la vez, Microsoft Access coloca cada


campo en una columna separada. Si arrastra el asterisco a la cuadrícula,
Microsoft Access colocará el nombre de la tabla o consulta en una columna y
adjunta un punto y un asterisco al nombre (por ejemplo, Categorías.*).
Después de cualquiera de estas operaciones, la hoja de datos tiene el mismo
aspecto.

• En vez de arrastrar, también puede agregar campos haciendo doble clic en


el nombre de la lista de campos o seleccionando directamente un campo
del cuadro de la lista de la fila Campo de la cuadrícula.

Quitar un campo de la cuadrícula de diseño de una consulta

1. Abra una consulta en la vista Diseño.

2. Seleccione el campo haciendo clic en su selector de columna, y luego


presione la tecla SUPR.

Nota: cuando borra un campo de la cuadrícula de diseño, sólo lo está borrando del
diseño de la consulta. No está borrando el campo y sus datos de la tabla base.

Mover un campo de la cuadrícula de diseño de una consulta

1. Abra una consulta en la vista Diseño.

2. Seleccione la columna que desea mover (figura 5-77).


• Para seleccionar una columna, haga clic en el selector de su columna.
• Para seleccionar más de una columna adyacente, arrastre a través de
sus selectores de columna.

3. Haga clic de nuevo en el selector de cualquiera de las columnas


seleccionadas y luego arrastre el campo o campos a su nueva localización.
El campo desplazado y todos los campos a su derecha se mueven a la
derecha.

diosestinta.blogspot.com
© RA-MA CAPITULO 5. CONSULTAS A TRAVÉS DB LA INTERFAZ DE ACCESS 2010 289

Figura 5-77

Insertar un campo en la cuadrícula de diseño de una consulta

1. Abra una consulta en la vista Diseño.


2. Arrastre el campo desde la lista de campos hacia la columna de la
cuadrícula de diseño donde desee insertarlo.

Cambiar el nombre de un campo

Al cambiar el nombre de un campo en la cuadrícula de diseño de la consulta,


cambia el título de la columna en la vista Hoja de datos de la consulta. Además, si crea un
nuevo objeto, como un nuevo formulario, informe o página de acceso a datos, basado en
la consulta, el nuevo objeto utilizará el nuevo nombre del campo. Por ejemplo, si crea un
control para mostrar el campo al que ha cambiado el nombre, el nuevo nombre del campo
se utilizará en el nombre del control y en su título de etiqueta. Sin embargo, el nombre del
campo en la tabla base no cambia, como tampoco cambia en los formularios e informes
que estuvieron basados en la consulta antes de cambiar el nombre del campo.
El cambio del nombre de un campo en la cuadrícula de diseño de la consulta
actual no tiene efecto en la vista Hoja de datos de la consulta si la propiedad Título
(Caption) del campo se ha establecido en la tabla o consulta base. Si desea que el nuevo
nombre del campo se utilice solamente en las columnas de las hojas de datos o en los
títulos de los formularios, informes y páginas de acceso a datos, podrá establecer la
propiedad Título (Caption) del campo en lugar de cambiar el nombre en la cuadrícula de
diseño.
Cambiar el nombre de un campo en una consulta

1. Abra una consulta en la vista Diseño.


2. Coloque el punto de inserción a la izquierda de la primera letra del nombre
del campo en la cuadrícula de diseño.
3. Escriba el nuevo nombre seguido de dos puntos.

diosestinta.blogspot.com
290 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Nota: si está cambiando el nombre del campo Exprl (o Expr2, y así sucesivamente)
que Microsoft Access le asignó de forma automática, cambie sólo el nombre, no la
expresión que sigue a los dos puntos.

Cambiar el título de un campo en una consulta

1. Abra una consulta en la vista Diseño.


2. En la cuadrícula de diseño, haga clic en cualquier parte de la columna del

campo del cual desea cambiar el título y haga clic en Propiedades en


la barra de herramientas.
3. En el cuadro de la propiedad Título (Caption), escriba el título del campo.

Mostrar u ocultar un campo del resultado de una consulta

Puede agregar a la cuadrícula de diseño de la consulta un campo que utilice


para establecer los criterios o el criterio de ordenación y, sin embargo, no mostrar
los datos de ese campo particular en el resultado de la consulta.

• En la vista Diseño de consulta, seleccione el cuadro Mostrar de la


cuadrícula de diseño para mostrar el campo o desactive la casilla Mostrar
para ocultar el campo.
Notas:

• Si desea crear un formulario, informe o página de acceso a datos basado en


la consulta y la propiedad MostrarTodosLosCampos de la consulta está
establecida a No, debe mostrar los campos para los que va a crear controles
dependientes en el formulario, informe o página de acceso a datos.

• Cuando cierra una consulta, Microsoft Access mueve los campos ocultos a
las columnas más a la derecha de la cuadrícula de diseño.

Establecer las propiedades para una consulta, sus campos o sus listas de
campos

Puede establecer las propiedades de consultas, listas de campos de una


consulta y de los campos que agregue a la cuadrícula de diseño de una consulta.
1. Abra una consulta en la vista Diseño.

2. Seleccione el campo, la lista de campos o la consulta.

diosestinta.blogspot.com
© RA-MA CAPÍTULO 5. CONSULTAS A TRAVÉS DE LA INTERFAZ DE ACCESS 2010 291

• Para seleccionar un campo, haga clic en la celda de la fila Campo.

• Para seleccionar una lista de campos, haga clic en cualquier parte


de la lista.

• Para seleccionar la consulta completa, haga clic en cualquier parte


de la vista Diseño de consulta excepto en la cuadrícula de diseño y
en las listas de campos.
3. Haga clic en Hoja de propiedades en el grupo Mostrar u ocultar de la
ficha Diseño en la barra Herramientas de consulta para mostrar la hoja de
propiedades del objeto seleccionado.

4. En la hoja de propiedades, haga clic en la propiedad que desee establecer y


después haga una de las siguientes cosas:

• Si aparece una flecha en el cuadro de propiedades, haga clic en la


flecha y haga también clic en un valor de la lista.

• Escriba una configuración o expresión en el cuadro de


propiedades.

• Si aparece un botón Generar al lado del cuadro de


propiedades, haga clic en él para mostrar un generador. Si necesita
más espacio para introducir o editar la configuración de una
propiedad, presione MAYÚSCULAS+F2 para abrir el cuadro
Zoom.

Sugerencia: para obtener más información sobre las propiedades y sus


configuraciones, haga clic sobre la propiedad objetivo en la hoja de propiedades y
presione F1.

Cambiar el ancho de una columna en la cuadrícula de diseño de una


consulta y borrar cuadrícula

1. En la vista Diseño de consulta, mueva el puntero al borde derecho del


selector de columna de la columna que desea cambiar, hasta que el puntero
se convierta en una flecha de dos sentidos (figura 5-78).

2. Arrastre el borde hacia la izquierda para hacer la columna más estrecha o


hacia la derecha para hacerla más ancha (o haga doble clic para ajustar el
ancho a la entrada más larga visible en la cuadrícula de diseño).

diosestinta.blogspot.com
292 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Notas:

• Para ajustar el ancho de varias columnas a la vez, seleccione las columnas


arrastrando a través de sus selectores de columna y luego utilice el
procedimiento anterior.
• El ajuste del ancho de las columnas en la vista Diseño o en la ventana
Filtro u orden avanzado no tiene ningún efecto en el ancho de la columna
de la consulta o la hoja de datos filtrada.
Borrar la cuadrícula de diseño de una consulta

• En la vista Diseño de consulta y en el menú Edición elija Borrar


cuadricula.

Figura 5-78

Agregar o eliminar filas o columnas en la cuadrícula de diseño de una


consulta

1. Haga clic en cualquier parte de la columna (fila) a la izquierda de la cual


(encima) desea agregar una nueva columna (fila).
2. En el grupo Configuración de consultas de la ficha Diseño haga clic en
Insertar filas o Insertar columnas.
3. Para eliminar filas o columnas se seleccionan y, en el grupo Configuración de
consultas de la ficha Diseño, haga clic en Eliminar filas o Eliminar columnas.

5.7 CREAR UNA CONSULTA DE SELECCIÓN SIN


ASISTENTE DE PRINCIPIO A FIN
Puede seguir los pasos que se citan a continuación como guía para crear
una consulta de selección de principio a fin. Utilizará muchos de estos pasos para
crear cada consulta. Los demás los utilizará al diseñar una consulta que especifique
los criterios que se van a utilizar para seleccionar información, realizar cálculos o
establecer un orden. Sólo tendrá que seguir los pasos que sean relevantes respecto a
los datos que desee recuperar en cada consulta en particular. Todos los pasos han
sido explicados ya a lo largo de este capítulo. Para otras tareas relacionadas con la
creación de consultas, utilice el Asistente para Ayuda. Los pasos son los siguientes:

diosestinta.blogspot.com
©RA-MA CAPÍTULO S. CONSULTAS A TRAVÉS DE LA INTERFAZ DE ACCESS 2010 293

1. Agregar una tabla a una consulta

• Modos de agrupar datos de varias tablas o consultas en una consulta.

• Agregar una tabla o una consulta a una consulta.

• Combinar varias tablas y consultas en una consulta.


• Cambiar el tipo de combinación entre las tablas y consultas de una
consulta.
2. Agregar campos a una consulta

• Agregar campos a la cuadrícula de diseño de una consulta.

• Agregar una columna a la cuadrícula de diseño de una consulta.

3. Establecer los criterios de consulta para seleccionar determinada


información
• Utilizar criterios en consultas para recuperar determinados registros.

• Incluir criterios en una consulta para recuperar determinados registros.

• Insertar o eliminar una fila de criterios de una consulta para recuperar


determinados registros.

4. Realizar cálculos en una consulta

• Crear un campo que realice cálculos personalizados o manipule los


valores de los campos de una consulta.
5. Optimizar una consulta

• Establecer las propiedades de una consulta, sus campos o sus listas de


campos.
• Ordenar registros mediante la cuadrícula de diseño de una consulta.
• Crear una consulta de búsqueda automática que rellene datos
automáticamente.
• Consultas de búsqueda automática que rellenan datos automáticamente.

diosestinta.blogspot.com
294 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Ejercicio 5-1. En la base de datos EDUCA, para cada curso con una tarifa superior a
175, mostrar el nombre del curso, tarifa y número de facultativo del jefe responsable
del curso, visualizando la salida en orden ascendente por nombre de curso.
A continuación se presenta la consulta y su resultado.

Ejercicio 5-2. Para cada departamento que ofrece servicios de tutoría, visualizar el
identificador de departamento junto con la tarifa media de los cursos que éste ofrece
y el sueldo medio de los miembros del personal que pueden autorizar dichos cursos.
Clasificar la salida por identificador de departamento.
A continuación se presenta la consulta y su resultado.

diosestinta.blogspot.com
©RA-MA CAPÍTULO 5. CONSULTAS A TRAVÉS DE LA INTERFAZ DE ACCESS 2010 295

Ejercicio 5-3. Para cualquier curso que tenga un miembro del personal disponible
para ser tutor, visualizar el número, nombres y cargos de los miembros del personal
que pueden servir de tutores para ese curso, y la ubicación de sus respectivos
edificios y despachos. Clasificarla salida por nombre de los miembros del personal y
número de curso.

A continuación se presenta la consulta y su resultado.

diosestinta.blogspot.com
296 ACCESS 2010. CURSO PRACTICO ©RA-MA

Ejercicio 5-4. Visualizar el nombre y cargo de cada miembro del personal que
trabaje en el edificio de Humanidades.

A continuación se presenta la consulta y su resultado.

Ejercicio 5-5. Para cada departamento que ofrezca cursos determinar el valor
medio de la tarifa de todos los cursos que tengan tres créditos ofrecidos por cada
departamento. Visualizar la salida en secuencia ascendente por identificación de
departamento.

A continuación se presenta la consulta y su resultado.

diosestinta.blogspot.com
©RA-MA CAPITULO 5. CONSULTAS A TRAVES DE LA INTERFAZ DE ACCESS 2010 297

Ejercicio 5-6. Para cada valor distinto de tarifa determinar el número total de
créditos para los cursos que tengan ese valor de tarifa. Ordenar el resultado en
secuencia descendente por tarifa.

A continuación se presenta la consulta y su resultado.

diosestinta.blogspot.com
298 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Ejercicio 5-7. Para todos los departamentos excepto el de Teología, que tengan una
tarifa media de sus cursos mayor que 100, obtener su identificación y su tarifa
media.

A continuación se presenta la consulta y su resultado.

Ejercicio 5-8. Hallar las tarifas media, máxima y mínima por crédito dentro de cada
departamento sólo para aquellos grupos con tarifa mínima positiva.

A continuación se presenta la consulta y su resultado.

diosestinta.blogspot.com
© RA-MA CAPITULO 5. CONSULTAS A TRAVÉS DE LA INTERFAZ DE ACCESS 2010 299

Ejercicio 5-9. Hallar la tarifa media para aquellos departamentos en los que dicha
tarifa media sea mayor que 100 y que ofrezcan menos de seis cursos.

A continuación se presenta la consulta y su resultado.

diosestinta.blogspot.com
300 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Ejercido 5-10. Obtener el número, nombre y tarifa de los cursos con tarifa menor
que la media.

A continuación se presenta la consulta y su resultado.

diosestinta.blogspot.com
Capítulo 6

CONSULTAS DE REFERENCIA CRUZADA, DE


PARÁMETROS Y DE ACCIÓN. CÁLCULOS

6.1 REALIZAR CALCULOS EN CONSULTAS.


FUNCIONES AGREGADAS

Existen muchos tipos de cálculos que se pueden llevar a cabo en una


consulta. Por ejemplo, puede calcular la suma o el promedio de los valores de un
campo, multiplicar los valores de dos campos o calcular la fecha de tres meses a
partir de la fecha actual. Cuando se muestran los resultados de un cálculo en un
campo, realmente no se almacenan en la tabla base. En su lugar, Microsoft Access
ejecuta de nuevo los cálculos cada vez que ejecuta la consulta, de forma que los
resultados están siempre basados en los datos más actuales de la base de datos. Por
tanto, no es posible actualizar de forma manual los resultados calculados.

Para presentar en un campo los resultados de un cálculo, puede utilizar el


cálculo predefinido que proporciona Microsoft Access o los cálculos
personalizados que se definan. Utilice los cálculos predefinidos, llamados
“totales”, si desea calcular las siguientes cantidades para grupos de registros o para
todos los registros combinados: suma, promedio, cuenta, mínimo, máximo,
desviación estándar o varianza. Se elige un cálculo de totales para cada uno de los
campos que desee calcular.

Se pueden realizar cálculos sobre todos los registros o sobre un grupo de


registros (figura 6-1).

diosestinta.blogspot.com
302 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Figura 6-1
Puede calcular algunos tipos de totales mediante el Asistente para
consultas sencillas. O bien, puede calcular todos los tipos de totales mediante la fila
Total de la cuadrícula de diseño de la consulta, donde selecciona la función
agregada del cálculo que desee llevar a cabo en un campo. En la cuadrícula de
diseño de la consulta también puede especificar los criterios para limitar los grupos
sobre los que calcular totales, limitar los registros incluidos en el cálculo o limitar
los resultados que se presentan después de que se haya realizado el cálculo.
Un cálculo personalizado le permite llevar a cabo en cada registro cálculos
numéricos, de fechas y de texto utilizando los datos de uno o más campos. Por
ejemplo, con un cálculo personalizado puede multiplicar los valores de un campo
por una determinada cantidad, encontrar la diferencia entre dos fechas almacenadas
en distintos campos, combinar varios valores de un campo Texto o crear
subconsultas. Mediante las opciones de la fila Total en la cuadrícula de diseño, es
posible llevar a cabo el cálculo en grupos de registros y calcular sumas, promedios,
cuentas u otro tipo de totales en el campo calculado. Para cálculos personalizados,
necesita crear un nuevo campo calculado en la cuadrícula de diseño. Para crear un
campo calculado, escriba una expresión en una celda en blanco Campo en la
cuadrícula de diseño de la consulta

La expresión puede constar de cálculos múltiples; por ejemplo,


Suma([UnidadesEnExistencia]+[UnidadesEnPedido]). También puede especificar
los criterios por los que un campo calculado puede afectar a los resultados del
cálculo. No obstante, no es necesario mostrar los resultados de un cálculo en un
campo. En su lugar, es posible utilizarlos como criterios para determinar los
registros que debe seleccionar la consulta o para determinar sobre qué registros se
debe llevar a cabo la acción. Por ejemplo, puede especificar la siguiente expresión
(figura 6-2) en la fila Criterios para decir a la consulta que devuelva sólo los
registros que en el campo FechaEntrega tengan valores comprendidos entre la
fecha de hoy y tres meses a partir de la fecha de hoy.
También puede utilizar un cálculo para actualizar los datos desde una
consulta de actualización. Por ejemplo, puede escribir la siguiente expresión (figura
6-3) en la celda Actualizar a para incrementar todos los valores del campo
PrecioUnidad en un 5%.

diosestinta.blogspot.com
© RA-MA CAPITULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARÁMETROS Y... 303

Figura 6-2 Figura 6-3

Resumiendo, podemos decir lo siguiente:


1. Puede realizar cálculos en una consulta mediante:
• Cálculos predefinidos, denominados “totales”, para calcular las
siguientes cantidades a partir de grupos de registros o a partir de todos
los registros combinados en la consulta: suma, promedio, cuenta,
mínimo, máximo, desviación estándar o varianza.

• Un cálculo personalizado para llevar a cabo cálculos numéricos, de


fechas y de texto en cada registro, utilizando los datos de uno o más
campos. Necesita crear un nuevo campo calculado directamente en la
cuadrícula de diseño para estos tipos de cálculos.

2. En vez de presentar los resultados del cálculo, puede utilizarlos:


• Como criterios para determinar los registros que va a seleccionar la consulta
o para determinar sobre qué registros se ha de llevar a cabo una acción.
• Para actualizar los datos desde una consulta de actualización.

diosestinta.blogspot.com
304 ACCESS 2010. CURSO PRACTICO © RA-MA

Además de Primero y Último, las funciones agregadas que se utilizan


como “totales” son las siguientes:

Elija Para encontrar el Utilice con estos tipos de datos de campos


Suma Total de los valores de un campo. Número, Fecha/Hora, Moneda y AutoNumérico
Prom Promedio de los valores de un Número, Fecha/Hora, Moneda y AutoNumérico
Mín campo.
Menor valor de un campo. Texto, Número, Fecha/Hora, Moneda y
AutoNumérico
Máx Mayor valor de un campo. Texto, Número, Fecha/Hora, Moneda y
AutoNumérico
Cuenta Número de valores de un campo, sin Texto, Memo, Número, Fecha/Hora, Moneda,
contar los valores Null (vacío). AutoNumérico, Si/No y Objeto OLE
DesvEst Desviación estándar de los valores Número, Fecha/llora, Moneda y AutoNumérico
de un campo.
Var Varianza de los valores de un campo. Número, Fecha/Hora, Moneda y AutoNumérico

Las funciones agregadas no incluirán registros que contengan valores en


blanco (Null) en sus cálculos. Por ejemplo, la función Cuenta (Count) devuelve la
suma de todos los registros sin valores Null. De todas formas, ya sabemos que es
posible buscar y contar los valores Null, pero también es posible convertir los valores
Null a ceros en un cálculo, lo que solucionaría el problema de su uso en cálculos.

Cuando tenga campos que contengan valores Null, es posible crear una
expresión que convierta los valores Null a cero. Puede hacerlo si desea que los
registros que contengan valores Null se incluyan en el cálculo agregado o si desea
evitar que una expresión dé como resultado un valor Null cuando uno de los
campos de la expresión contenga valores Null. Por ejemplo, la expresión 2 +
varX devolverá siempre un valor Null cuando la variable varX sea Null. Sin
embargo, 2 + Nz (varX) devolverá 2.

6.2 INCLUIR FUNCIONES AGREGADAS EN UNA


CONSULTA MEDIANTE UN ASISTENTE

El Asistente para consultas sencillas crea consultas que recuperan datos de


los campos especificados en una o más tablas o consultas. Si lo desea, el asistente
también podrá sumar, contar y obtener el promedio de los valores de grupos de
registros o de todos los registros y calculará el valor mínimo o máximo de un
campo. No obstante, no es posible limitar los registros recuperados mediante el
establecimiento de criterios. Los pasos a tener en cuenta son los siguientes;
1. Abra la base de datos NEPTUNO en la que se construirá la consulta y en la
ficha Crear, en el grupo Consultas, haga clic en Asistente para consultas (figura
6-4).

diosestinta.blogspot.com
© RA-MA ________ CAPITULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARAMETROS Y... 305

2. En el cuadro de diálogo Nueva consulta, haga clic en Asistente para


consultas sencillas y elija Aceptar (figura 6-5).

3. Haga clic en el nombre de la tabla (Detalles de pedidos) o consulta en la


que desea basar la consulta y, a continuación, seleccione los campos
(IdPedido y PrecioUnidad) cuyos datos desea recuperar (figura 6-6).

4. Haga clic en una tabla o consulta adicional si lo desea y, a continuación,


seleccione los campos que desea utilizar de ella. Repita este paso hasta que
disponga de todos los campos que necesite.

5. Al pulsar Siguiente el asistente muestra la ventana resumen de la figura


6-7, cuya opción Detalle permite mostrar todos los campos y registros.
Pero a nosotros nos interesa ahora el botón Resumen, que permite activar el
botón Opciones de resumen, que al ser seleccionado muestra la pantalla
Opciones de resumen (figura 6-8) que contiene cada campo de tipo
Número y Moneda de los seleccionados en la figura 6-6 y las funciones
agregadas Suma, Promedio, Mínimo y Máximo. En la pantalla Opciones
de resumen se señalarán las casillas de verificación correspondientes a las
funciones agregadas que vayamos a mostrar en la consulta. También puede
seleccionarse la opción Incluir registros en los campos para ver la cuenta
en el resultado de la consulta. Se pulsa Aceptar y Siguiente.

6. Se obtiene ya la típica pantalla final del asistente (figura 6-9) donde, aparte
de nombrar la consulta, se puede seleccionar si desea ejecutar la consulta o
ver la estructura de la consulta en la vista Diseño. Al pulsar Finalizar, se
obtienen ya los resultados de la consulta (figura 6-10). Hay que tener
presente que la tabla Detalles de pedido contiene registros múltiples para
cada valor IdPedido. La consulta combina los valores PrecioUnidad para
cada valor IdPedido y devuelve la media, el mínimo y el máximo de todos
esos valores en los campos Promedio De PrecioUnidad, Mín De
PrecioUnidad y Max De PrecioUnidad.

Figura 6-4

diosestinta.blogspot.com
306 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Figura 6-5

Figura 6-6

Figura 6-7

diosestinta.blogspot.com
©RA-MA CAPITULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARAMETROS Y... 307

Figura 6-8

Figura 6-9

Figura 6-10

diosestinta.blogspot.com
308 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

6.3 INCLUIR FUNCIONES AGREGADAS EN UNA


CONSULTA MEDIANTE LA CUADRÍCULA DE DISEÑO
Utilizando la fila Total en la vista Diseño de consulta (que se obtiene
haciendo clic en el botón Totales del grupo Mostrar u ocultar en Herramientas
de consulta) puede calcular la suma, promedio, cuenta, mínimo, máximo, varianza
o desviación estándar de los valores de uno o más campos, para todos los registros
de una consulta o para uno o más grupos de registros. Mediante la fila Criterios
también puede agregar criterios que afecten a los resultados del cálculo.
Calcular una suma, promedio, cuenta u otro total sobre todos los registros
de una consulta

1. Cree una consulta de selección en la vista Diseño. Agregue las tablas cuyos
registros desee utilizar en el cálculo y, después, agregue los campos sobre
los que desee llevar a cabo los cálculos y especificar los criterios.
2. Haga clic en el botón Totales del grupo Mostrar u ocultar en
Herramientas de consulta. Microsoft Access presentará la fila Total de la
cuadrícula de diseño.
3. Por cada campo de la cuadrícula de diseño (figura 6-11), haga clic en su
celda de la fila Total y, después, haga clic en una de las siguientes
funciones agregadas: Suma. Promedio, Mín, Máx, Cuenta, DesvEst o Var.
4. Si lo desea, especifique criterios que afecten a los resultados del cálculo.
5. Si lo desea, ordene los resultados.

6. Haga clic en el botón Vista de la barra de herramientas para ver los


resultados.
Notas:

• Cuando utiliza una función agregada en un campo, Microsoft Access


combina los nombres de la función y del campo para dar nombre al campo
de la hoja de datos (por ejemplo, MedDeCarga).
• Si agrega un campo calculado que incluya una o más funciones agregadas a
una consulta en la que esté calculando totales sobre todos los registros, deberá
establecer la celda Total del campo calculado a Expresión (figura 6-12).

Figura 6-11

diosestinta.blogspot.com
©RA-MA CAPITULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARAMETROS Y... 309

Figura 6-12

Calcular una suma, promedio, cuenta u otro total a partir de grupos de


registros de una consulta

1. Cree una consulta de selección en la vista Diseño. Agregue las tablas cuyos
registros desee utilizar en el cálculo y, después, agregue los campos sobre los
que desee llevar a cabo los cálculos, defina los grupos (con Agrupar por) y
especifique los criterios.

2. Haga clic en el botón Totales del grupo Mostrar u ocultar en


Herramientas de consulta. Microsoft Access presentará la fila Total de la
cuadrícula de diseño.
3. Por cada campo de la cuadrícula de diseño (figura 6-13), haga clic en su
celda de la fila Total y, después, haga clic en una de las siguientes
funciones agregadas: Suma, Promedio, Mín, Máx, Cuenta, DesvEst o Var.
4. Si lo desea, especifique criterios que afecten a los resultados dcl cálculo.

5. Si lo desea, ordene los resultados.


6. Haga clic en el botón Vista de la barra de herramientas para ver los
resultados.

Figura 6-13

La consulta Ventas por categoría para 1995 de la base de datos de ejemplo


Neptuno tiene un ejemplo de cálculo de una suma de grupos de registros. Para ver
esta consulta, abra la base de datos Neptuno y, a continuación, abra la consulta
Ventas por categoría en la vista Diseño (figura 6-14).

diosestinta.blogspot.com
310 ACCESS 2010. CURSO PRACTICO ____________________________________________________ © RA-MA

Figura 6-14

6.4 CREAR UN CAMPO CALCULADO EN UNA CONSULTA


Puede crear un nuevo campo que muestre los resultados de un cálculo
definido con una expresión. Los pasos a tener en cuenta son los siguientes:
1. Abra la consulta en la vista Diseño.
2. Realice una de las siguientes operaciones:

• Escriba una expresión en una celda en blanco de la fila Campo. Si


la expresión incluye un nombre de campo, deberá incluirlo entre
corchetes .

• Si necesita ayuda para crear la expresión, utilice el Generador de


expresiones. Para mostrarlo, haga clic con el botón secundario del
ratón en la celda Campo en la que desee agregar el campo
calculado (figura 6-15) y, a continuación, haga clic en Generar
(figura 6-16) y genere la expresión. Al presionar ENTRAR o al
moverse a otra celda, Microsoft Access introduce el nombre de
campo predeterminado ExprN, donde N es un número entero que
se incrementa con cada nuevo campo de expresión de la consulta.
El nombre aparece antes de la expresión y va seguido por dos
puntos , En una hoja de datos, este nombre
es el encabezado de la columna. Puede seleccionar ExprN y
escribir un nombre más descriptivo, como NuevoPrecio.

diosestinta.blogspot.com
©RA-MA ________ CAPITULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARAMETROS Y... 311

3. Si la expresión incluye una o más funciones agregadas (Suma (Sum), Promedio


(Avg), Cuenta (Count), Min (Min), Máx (Max), DesvEst (StDev) o Var (Var)) y
si la cuadrícula de diseño incluye otro campo o campos que desee utilizar para
agrupar, haga clic en Totales en la barra de herramientas (a no ser que la fila
Total ya esté mostrada). Deje Agrupar por en la celda Total del campo de
agrupación y, en el campo calculado, cambie Agrupar por a Expresión

4. Si lo desea, realice una de las acciones siguientes para completar la


consulta:

• Introduzca criterios que afecten al cálculo.


• Ordene los resultados.
• Establezca las propiedades del campo, como por ejemplo Formato
(Format) (dado que el campo no hereda las propiedades de la tabla
base). Para ello puede utilizarse la opción Propiedades del menú
desplegable de la figura 6-15 obtenido al hacer clic con el botón
derecho del ratón sobre el campo en la cuadrícula de la consulta.

Figura 6-15

diosestinta.blogspot.com
312 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Figura 6-16

Para introducir o ver una expresión completa sin necesidad de desplazar la


visualización, presione MAYÚS+F2 para mostrar el cuadro Zoom.

La consulta Subtotales por pedido contiene un ejemplo de un campo


calculado denominado Subtotal que realiza cálculos con un grupo de registros. Para
ver esta consulta abra la base de datos Neptuno y, a continuación, abra la consulta
Subtotales por pedido en la vista Diseño (figura 6-17). La figura 6-18 presenta los
resultados de la consulta calculada con agrupación por Id. de pedido.

Figura 6-17 Figura 6-18

diosestinta.blogspot.com
© RA-MA CAPÍTULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARÁMETROS Y... 313

6.5 EXPRESIONES
Cuando se crea una expresión, se combinan identificadores, valores y
operadores en una unidad que produce un resultado. Las expresiones pueden ser
tan sencillas como una expresión aritmética del tipo (1 + 1), que produce el
resultado numérico 2.

También pueden realizar operaciones complejas en datos, como la siguiente


expresión de validación que genera un error si el valor del campo País es Francia,
Italia o España y el campo CódigoPostal contiene un número de caracteres superior
o inferior a los cinco caracteres establecidos: = [País] En (“Francia”, “Italia”,
“España”) y Len([CódigoPostal])<>5.

Las expresiones son un componente fundamental de numerosas


operaciones en Microsoft Access. Una expresión es una combinación de símbolos
(identificadores, operadores y valores) que produce un resultado.

Por ejemplo, puede utilizar la expresión siguiente en un control de un


formulario o de un informe para mostrar la suma de los valores de los controles
Subtotal y Transporte: = [Subtotal] + [Transporte]. Estos son algunos ejemplos de
operaciones comunes en las que se utilizan expresiones:

• Establecer una propiedad que define un control calculado, o bien una regla
de validación o bien un valor predeterminado de un campo.

• Introducir una expresión de criterio, crear un campo calculado o actualizar


los registros de una consulta o filtro.

• Establecer una condición para realizar una acción o serie de acciones de


una macro, o especificar argumentos para varias acciones.

• Especificar argumentos para funciones, instrucciones y métodos de


procedimientos de Visual Basic para aplicaciones.

• Editar una consulta SQL en la vista SQL de la ventana Consulta o utilizar


una instrucción SQL como valor de una propiedad o como argumento.

Se puede crear una expresión utilizando el Generador de expresiones, o se


puede crear manualmente combinando los elementos de la expresión para realizar
lo que se desee.

diosestinta.blogspot.com
314 ACCESS 2010. CURSO PRACTICO __________________________________________________ ©RA-MA

6.5.1 Crear una expresión con el Generador de expresiones


Para iniciar el Generador de expresiones haga clic con el botón secundario
en una celda Campo o Criterios de la vista Diseño de consulta (en el lugar donde
desee insertar la expresión) y en el menú contextual resultante haga clic en
Generar (figura 6-15).

El Generador de expresiones consta de tres secciones (figura 6-19):

Figura 6-19

• En la sección superior del generador se encuentra un cuadro en el que se


genera la expresión. Utilice la sección inferior para crear los elementos de
la expresión, y luego insértelos en el cuadro para formarla. También puede
escribir componentes de la expresión directamente en este cuadro.
• En la sección intermedia del generador hay botones que corresponden a los
operadores más comunes. Al hacer clic en uno de ellos, el Generador de
expresiones insertará el operador en el lugar del cuadro de expresiones
donde se encuentre el punto de inserción. Si desea consultar una lista
completa de los operadores que se pueden emplear en expresiones, haga
clic en la carpeta Operadores situada en el cuadro inferior izquierdo, y en la
categoría de operadores que corresponda en el cuadro intermedio. En el cuadro
de la derecha aparecerán todos los operadores de la categoría seleccionada.
• En la sección inferior del generador hay tres cuadros:
- El cuadro situado a la izquierda contiene carpetas que muestran los
objetos tabla, consulta, formulario e informe de la base de datos,
las funciones incorporadas y las definidas por el usuario, las
constantes, los operadores y las expresiones comunes.

diosestinta.blogspot.com
©RA-MA CAPÍTULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARÁMETROS Y... 315

- El cuadro intermedio muestra los elementos específicos o las


categorías de elementos que corresponden a la carpeta
seleccionada en el cuadro de la izquierda. Por ejemplo, al hacer
clic en Funciones incorporadas en el cuadro de la izquierda, en el
cuadro intermedio aparecen las categorías de funciones de Access.

- En el cuadro de la derecha aparecen los valores que corresponden a


los elementos seleccionados en los cuadros izquierdo e intermedio.
Por ejemplo, al hacer clic en Funciones incorporadas en el cuadro
de la izquierda y una categoría de funciones en el cuadro
intermedio, en el cuadro de la derecha aparecerán todas las
funciones incorporadas de la categoría.
Notas:
• Para ver los nombres de los campos nuevos en el Generador de
expresiones, primero es necesario guardar la tabla o consulta que contiene
tales campos.

• Si un objeto o una función no aparece en la sección inferior del Generador de


expresiones, no será válido en el contexto en que se ha iniciado el generador.
Por ejemplo, no es posible hacer referencia a otros campos y controles en la
regla de validación de un campo en la vista Diseño de tabla, por lo que las
carpetas Tablas, Consultas, Formularios e Informes no estarán disponibles
cuando se inicie el Generador de expresiones desde la propiedad
ReglaDeValidación (ValidationRule) de un campo en la vista Diseño de tabla.
• Al insertar un identificador en la expresión, el Generador de expresiones
sólo pegará los componentes del mismo que sean necesarios en el contexto
actual. Por ejemplo, si inicia el Generador de expresiones desde la hoja de
propiedades del formulario Clientes e inserta en la expresión el
identificador de la propiedad Visible del formulario, el Generador de
expresiones sólo insertará el nombre de la propiedad: Visible. Si utiliza esta
expresión fuera del contexto del formulario, deberá especificar el
identificador completo: Forms! [Clientes].Visible.
Para crear una consulta con el generador de expresiones se tendrá en cuenta
lo siguiente:

1. Inicie el Generador de expresiones. Puede iniciar el Generador de


expresiones en una celda Campo o Criterios de la vista Diseño de consulta
o en la columna Condición de la ventana Macro haciendo clic con el botón
secundario en el lugar donde desee insertar la expresión y en el menú
contextual, haciendo clic en Generar.

diosestinta.blogspot.com
316 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

2. Para iniciar el Generador de expresiones en una hoja de propiedades haga


clic en el cuadro de la propiedad y luego haga clic en el botón Generar
situado junto al cuadro de la propiedad o argumento. Si una propiedad
tiene asociado más de un generador, Microsoft Access mostrará el cuadro
de diálogo Elegir generador, haga clic en Generador de expresiones y
luego en Aceptar.

3. En el cuadro inferior izquierdo del Generador de expresiones, haga clic o


doble clic en la carpeta que contenga el elemento deseado.

4. En el cuadro inferior intermedio, haga doble clic en un elemento para


pegarlo en el cuadro de la expresión, o bien haga clic en una categoría de
elementos.

5. Si ha seleccionado una categoría en el cuadro inferior intermedio,


aparecerán valores en el cuadro inferior derecho. Haga doble clic en uno de
ellos para pegarlo en el cuadro de la expresión. También puede escribir
cualquier parte de la expresión directamente en el cuadro de la expresión.

6. Pegue los operadores que desee en la expresión situando el punto de


inserción en el lugar del cuadro de la expresión donde desee colocar el
operador y haciendo clic en uno de los botones de operadores que se
encuentran en el centro del Generador.

7. Cuando la expresión esté terminada, haga clic en Aceptar. Microsoft Access


copiará la expresión en el lugar donde se inició el Generador de expresiones.
Si ya existía un valor la nueva expresión reemplazará al valor o al texto
existente.

6.5.2 Crear una expresión sin utilizar el Generador de


expresiones

Puede crear una expresión combinando identificadores, operadores y


valores para obtener el resultado que desee. Por ejemplo, la expresión siguiente
incrementa en un 10% el valor mostrado en el control Transporte del formulario
Pedidos: = [Formularios]![Pedidos]![Transporte] * 1,1. En esta expresión se
tiene:

• Formularios![Pedidos]¡[Transporte] es un identificador que hace


referencia al valor del control Transporte del formulario Pedidos.

diosestinta.blogspot.com
© RA-MA CAPITULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARÁMETRO S Y... 317

• * es el operador de multiplicación.

• 1,1 es el valor por el que Microsoft Access multiplica el valor del control
Transporte.

Dependiendo del resultado buscado, puede combinar los identificadores,


operadores y valores de diversas formas. Puede usar expresiones para combinar
cadenas de texto, sumar o multiplicar valores numéricos, llamar a funciones, hacer
referencia a objetos y sus valores y realizar muchas otras operaciones. Algunas
expresiones producen un resultado verdadero o falso. Por ejemplo, si introduce una
expresión en la columna Condición de una macro, Microsoft Access llevará a cabo
la acción especificada solamente cuando la expresión dé un resultado verdadero. La
expresión siguiente sólo es verdadera cuando el valor mostrado en el control País
del formulario Empleados sea Reino Unido: Formularios![Empleados]![País] =
‘‘Reino Unido

6.5.3 Introducir expresiones en la cuadrícula de diseño de


una consulta o en una hoja de propiedades

Si va a introducir una expresión más larga que el área de escritura estándar


de una hoja de propiedades o de la cuadrícula de diseño, puede escribirla en el
cuadro Zoom. Para abrir el cuadro Zoom, presione MAYÚSCULAS+F2 cuando el
enfoque se encuentre en el lugar donde desea introducir la expresión. Al introducir
una expresión en una hoja de propiedades o en la cuadrícula de diseño de una
consulta, Microsoft Access:

• Reconoce los nombres de funciones, propiedades y separadores de lista


específicos de cada región para las versiones internacionales.

• Inserta determinados caracteres cuando cambia el enfoque. Dependiendo


del lugar donde se introduce la expresión, Microsoft Access inserta
automáticamente los caracteres siguientes:

- Corchetes ([ ]) que incluyen los nombres de formularios, informes,


campos o controles.

- Símbolos (#) que incluyen las fechas.


- Comillas dobles (") que incluyen el texto.
- Las expresiones de los controles calculados siempre van precedidas
de un signo de igualdad (=).

diosestinta.blogspot.com
318 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Escribir nombres de objetos

Los corchetes ([ ]) en tomo a un campo, control o propiedad en un


identificador indican que el elemento es el nombre de una tabla, consulta, formulario,
informe, campo o control. Al escribir el nombre de un objeto en un identificador,
debe hacerlo entre corchetes cuando contenga un espacio o un carácter especial,
como el subrayado (J). Si el nombre no contiene espacios ni caracteres especiales,
podrá escribirlo sin corchetes. Microsoft Access inserta los corchetes
automáticamente (con las dos excepciones indicadas más abajo). Por ejemplo, puede
escribir la expresión siguiente como valor de la propiedad OrigenDelControl
(ControlSource) para calcular la suma de los valores de los campos Transporte e
ImportePedido: = Transporte + ImportePedido. Microsoft Access mostrará la
expresión de la siguiente manera: = [Transporte] + [ImportePedido].

En el valor de una propiedad ReglaDeValidación (ValidationRule) o en la


celda Criterios de la cuadrícula de diseño de una consulta, Microsoft Access no
inserta siempre automáticamente corchetes en tomo a los nombres. Si especifica el
nombre de un objeto, asegúrese de incluir los corchetes. En caso contrario,
Microsoft Access puede suponer que se trata de texto e insertar comillas dobles.

Escribir valores de fecha/hora

Los símbolos (#) que incluyen un elemento de una expresión indican que se
trata de un valor de fecha/hora. Microsoft Access evalúa automáticamente los valores
indicados entre símbolos (#) como fecha/hora y permite escribirlos en cualquier
formato común de fecha u hora. No es necesario que escriba los símbolos (#) que
incluyen los valores de fecha/hora en las expresiones de validación o de criterio
basadas en campos cuyo tipo de datos sea Fecha/Hora. Puede escribir el valor en
cualquier formato común de fecha u hora y Microsoft Access insertará
automáticamente estos símbolos.

Microsoft Access muestra el valor según la configuración del cuadro de


diálogo Propiedades de Configuración regional del Panel de control de Windows.
Puede cambiar el formato de resultados de una fecha mediante la propiedad Formato
(Format).

Escribir texto

Las comillas dobles que incluyen un elemento de una expresión indican


que se trata de texto. Al escribir texto en una expresión de validación o de criterio,
puede hacerlo sin indicar las comillas dobles. Microsoft Access las insertará
automáticamente. Por ejemplo, si escribe la expresión París, Microsoft Access la
mostrará como sigue: "París”.

diosestinta.blogspot.com
© RA-MA ________ CAPÍTULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARÁMETROS Y... 319

6.5.4 Utilizar valores en expresiones


Puede especificar un valor en una expresión utilizando un valor literal, una
constante, una función o un identificador;

• Un valor literal representa algo como un número, una cadena o una fecha
que Microsoft Access evalúa exactamente como está escrito. “Nueva
York”, 100 y #l-Ene-94# son ejemplos de valores literales. Las fechas se
escriben entre símbolos (#) y las cadenas entre comillas dobles (").

• Una constante representa un valor que no cambia. Verdadero, Falso y Nulo


son ejemplos de constantes que Microsoft Access define automáticamente.
También puede definir sus propias constantes en Visual Basic para
aplicaciones y utilizarlas en los procedimientos de Visual Basic.

• Una función devuelve un valor basado en el resultado de un cálculo u otra


operación. Microsoft Access cuenta con numerosas funciones
incorporadas, como por ejemplo las siguientes:

- La función Fecha (Date) devuelve la fecha actual.

- La función Suma (Sum) devuelve la suma de un conjunto de


valores de campos.
- La función DBúsq (DLookup) devuelve el valor de un campo
específico.

• Un identificador hace referencia al valor de un campo, de un control o de una


propiedad. Por ejemplo, el identificador siguiente hace referencia a la propiedad
Valor Predeterminado (DefaultValue) del control FechaPedido del formulario
Pedidos: Formularios! [Pedidos]! [FechaPedido]. Valor Predeterminado.
Puede combinar el valor de un campo, control o propiedad con una cadena
literal utilizando el operador de concatenación &. Por ejemplo, la siguiente expresión
combina la cadena literal “[IdCategoria] =” con el valor del control IdCategoría del
formulario Productos: “[IdCategoría] =” & Formularios![Productos]![IdCategoría].
En algunas circunstancias (por ejemplo, en las funciones agregadas de
dominio, como DBúsq (DLookup)) el valor del campo, control o propiedad debe
indicarse entre comillas simples (') o dobles ("). La forma más sencilla de hacerlo es
agregar una comilla simple a la cadena literal y luego combinar la expresión con otra
cadena literal formada por una comilla sencilla tras el valor del campo, control o
propiedad: “[IdCategoría] = ‘” & Formularios![Productos]![IdCategoría] & “’”.

diosestinta.blogspot.com
320 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Es posible que las aplicaciones para Access ya existentes usen operadores barra
vertical (| |) en lugar de la combinación que abre y cierra comillas dobles y operadores &
de esta forma; “[IdCategoría] = '\Formularios![Productos]![IdCategoría]Sin
embargo, no es recomendable utilizar barras verticales, pues pueden producir
resultados inesperados en algunas circunstancias.
Si desea que una expresión produzca una cadena entre comillas dobles,
podrá indicar la cadena anidada entre comillas sencillas o con tres pares de
comillas dobles. Por ejemplo, las expresiones siguientes son equivalentes:
Formularios![Contactos]![Ciudad].ValorPredeterminado = ' “París” '.
Formularios![Contactos]![Ciudad]. ValorPredeterminado = “““París” ” ”.

6.5.5 Usar los operadores ! y . (punto) en las expresiones


Puede utilizar los operadores ! y . (punto) en un identificador para indicar el
tipo de elemento que va inmediatamente a continuación. El operador ! indica que el
elemento siguiente ha sido definido por el usuario (un elemento de una colección).
Por ejemplo, puede usar el operador ! para hacer referencia a un formulario abierto, a
un informe abierto o a un control de un formulario o informe abierto.

Identificador Hace referencia a


Formularios! [Pedidos] El formulario abierto Pedidos
Informes! [Factura] El informe abierto Factura
Formularios! [Pedidos]! [IdPedido] El control IdPedido de! formulario abierto Pedidos

Normalmente, el operador . (punto) indica que lo que sigue es un elemento


definido por Microsoft Access. Por ejemplo, puede usar el operador . (punto) para
hacer referencia a una propiedad de un formulario, informe o control. También puede
usar el operador . (punto) para hacer referencia al valor de un campo en una
instrucción SQL, en un método de Visual Basic para aplicaciones o en una colección.
Por ejemplo, el identificador Formularios![Pedidos].Controles hace referencia a la
colección Controles del formulario Pedidos. Sin embargo, debido a que Controles es
la colección predeterminada de los formularios e informes, normalmente no es
necesario hacer referencia a ella explícitamente.

6.5.6 Ejemplos de expresiones en campos calculados


Ejemplos de cómo manipular valores de texto en campos calculados

La expresión debe introducirse en la celda Campo de la cuadrícula de


diseño de la consulta. Los campos a los que se hace referencia en la expresión
proceden de las tablas o consultas de la consulta actual.

diosestinta.blogspot.com
© RA-MA CAPITULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARÁMETROS Y... 321

Expresión Descripción
NombreCompleto: [Nombre] & “ ” & Muestra el valor de los campos Nombre y
[Apellidos] Apellidos, separados por un espacio, en el
campo NombreCompleto.
Dirección2: [Ciudad] & “ ” & [Región] & “ ” & Muestra el valor de los campos Ciudad, Región
[CódigoPostal] y CódigoPostal, separados por espacios, en el
campo Dirección2.
Productolnicial: lzq([NombreProducto], 1) Utiliza la función Izq (Left) para mostrar en el
campo Productolnicial el primer carácter del
valor del campo NombreProducto.
TipoCódigo: Der([CódigoVentaja], 2) Utiliza la función Der (Right) para mostrar en el
campo TipoCódigo los dos últimos caracteres
del valor del campo CódigoVentaja.
CódigoÁrea: Medio(|Teléfono],2,3) Utiliza la función Medio (Mid) para mostrar en
el campo CódigoÁrea los tres caracteres que
comienzan por el segundo carácter del valor del
campo Teléfono.

Ejemplos de operaciones aritméticas en campos calculados

Expresión Descripción
CargaPrincipal: [Carga] * 1 . 1 Muestra en el campo CargaPrincipal los gastos de
la carga más un 10%.
CantidadPedido: [Cantidad] * [PrecioUnitario] Muestra en el campo CantidadPedido el producto
de los valores de los campos Cantidad y
PrecioUnitario.
PlazoEntrega: [FechaRequerida] - [FechaEnvío] Muestra en el campo PlazoEntrega la diferencia
entre
los valores de los campos FechaRequerida y
StockTotal: FechaEnvío.
Muestra en el campo StockTotal la suma de los
[UnidadesEnStock]+[UnidadesEnPedido] valores de los campos UnidadesEnStock y
UnidadesEnPedido.
PorcentajeCarga: Muestra en el campo PorcentajeCarga el porcentaje
Suma([Carga])/Suma([Subtotal]) *100 de los gastos de carga de cada subtotal, mediante la
división de la suma de los valores del campo Carga
por la suma de los valores del campo Subtotal (este
ejemplo utiliza la función Suma (Sum)). La fila
Total de la cuadrícula de diseño debe estar
mostrada en pantalla y la celda Total de este campo
debe establecerse a Expresión. Si la propiedad
Formato (Format) del campo está establecida a
Porcentaje, no incluya *100.

Cuando se utiliza un operador aritmético (+, -, *, /) en una expresión y el


valor de uno de los campos de la expresión es Nulo, el resultado de la expresión
completa es Nulo. Si varios registros de uno de los campos utilizados en la expresión
pudieran tener un valor Nulo, se podrá convertir el valor Nulo a cero mediante la
función Nz; por ejemplo: Nz([UnidadesEnStock])+Nz([UnidadesEnPedido],0).

diosestinta.blogspot.com
322 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Ejemplos de cómo manipular y calcular fechas en campos calculados

Expresión Descripción
TiempoRetraso: DifFecha(“d”, [FechaPedido], Utiliza la función Di/Fecha (DateDiff) para
[FechaEnvío]) mostrar en el campo TiempoRetraso el número
de días transcurridos entre la fecha de pedido y
la Techa de envío.
AfioContratación; Utiliza la función ParcFecha (DatePart) para
ParcFecha(“yyyy”,[FechaContratación]) mostrar en el campo AñoContratación el año en
que se contrató a cada empleado.
Fecha()- 30 Utiliza la función Fecha (Date) para mostrar la
fecha 30 días anterior a la fecha actual.

Ejemplos de cómo utilizar funciones SQL y funciones agregadas de dominio


en campos calculados

Expresión Descripción
Cuenta(*) Utiliza la función Cuenta (Count) para contar el número
de registros de la consulta, incluidos los registros con
campos Null (vacío).
PorcentajeCarga: Muestra en el campo PorcentajeCarga el porcentaje de los
Suma([Carga])/Suma([Subtotal]) * 100 gastos de carga de cada subtotal, dividiendo la suma de
los valores del campo Carga por la suma de los valores
del campo Subtotal (este ejemplo utiliza la función Suma
(Sumf). La fila Total de la cuadrícula de diseño debe estar
mostrada en pantalla y la celda Total de este campo debe
establecerse a Expresión. Si la propiedad Formato
(Format) del campo está establecida a Porcentaje, no
incluya el *100.
PromedioCarga: DProm(“[Carga|”, Utiliza la función DProm (DAvg) para mostrar en el campo
“[Pedidos]”) PromedioCarga el descuento medio otorgado a todos los
pedidos combinados en una consulta de totales.

Las funciones agregadas de dominio proporcionan información estadística


sobre conjuntos de registros (un dominio). Por ejemplo, puede usar una función
agregada para contar el número de registros de un conjunto determinado de registros
o para determinar el promedio de los valores de un campo determinado.
Los dos tipos de funciones agregadas, las funciones agregadas de dominio y
las funciones agregadas de SQL, proporcionan una funcionalidad similar pero se
usan en situaciones diferentes. Las funciones agregadas de SQL pueden incluirse en
la sintaxis de una instrucción SQL, pero no es posible llamarlas directamente desde
Visual Basic. A la inversa, las funciones agregadas de dominio sí que pueden
llamarse directamente desde el código Visual Basic. También pueden incluirse en
una instrucción SQL, pero una función agregada de SQL suele ser más eficiente.

diosestinta.blogspot.com
©RA-MA CAPITULO 6. CONSULTAS DE REFERENCIA CRUZADA. DE PARAMETROS Y... 323

Si está realizando cálenlos estadísticos desde dentro de un código, deberá


usar las funciones agregadas de dominio. También puede utilizar las funciones
agregadas de dominio para especificar criterios, actualizar valores o crear campos
calculados en una expresión de consulta. Puede usar las funciones agregadas de SQL
o las funciones agregadas de dominio en un control calculado de un formulario o
informe. Las funciones agregadas de dominio incluyen: DProm (DAvg), DCont
(DCount), DBúsq (DLookup), DPrim (DFirst), DÚltimo (DLast), Dmín, (DMin),
DMáx (DMax), DDesvEst (DStDev), DDesvEstP (DStDevP), DSuma (DSum), DVar
y DvarP.

Ejemplos de cómo trabajar con valores nulos al utilizar campos calculados

Expresión Descripción
PaísActual: Silnm(EsNulo([Paísl), “ ”, [País]) Utiliza las funciones SiInm (IIf) y EsNulo
(IsNull) para mostrar una cadena en blanco
en el campo PaísActual si el campo País es
nulo; de lo contrario, muestra el contenido
del campo País.
Utiliza las funciones SiInm (IIf) y EsNulo
(IsNull) para mostrar en el campo
PlazoEntrega: SiInm(EsNulo([FechaRequerida] - PlazoEntrega el mensaje “Compruebe si
[FechaEnvío]), “Compruebe si falta una fecha”, falta una fecha” “ ” si el valor de los
[FechaRequerida] - [FechaEnvío]) campos FechaRequerida o FechaEnvío es
nulo; de lo contrario, muestra la diferencia.
VentasSemestrales: Nz([VentasTrimestrel],0) + Muestra en el campo VentasSemestrales el
Nz([VentasTrimestre2],0) total de los valores de los campos de ventas
del primer y segundo trimestre combinados
y utiliza la función Nz para convertir
primero los valores nulos a cero.
SiInm(EsNulo([PrecioUnitario]),0,[PrecioUnitario]) Cambia un valor nulo a un cero (0) en el
campo PrecioUnitario.

Ejemplo de una subconsulta en un campo calculado

Expresión Descripción
Cat: (SELECT [NombreCategoría] Muestra el NombreCategoría si
FROM [Categorías] el IDCategoría de la tabla
WHERE Productos].[IDCategoría]=[Categorías].[IDCategoría]) Categorías es el mismo que el
IDCategoría de la tabla
Productos.

6.5.7 Operadores típicos a utilizar en expresiones


Operadores aritméticos: utilice los siguientes operadores aritméticos para ejecutar
las operaciones matemáticas básicas como suma, resta o multiplicación, combinar
números y generar resultados numéricos.

diosestinta.blogspot.com
324 ACCESS 2010. CURSO PRACTICO ©RA-MA

Operador
aritmético Significado Ejemplo
+ (signo más) Suma 3+3
- (signo menos) Resta 3-1
Negación -1
* (asterisco) Multiplicación 3*3
/ (barra oblicua) División 3/3
% (signo de porcentaje) Porcentaje 20%
(acento circunflejo) Exponencial 3^2 (el mismo que 3*3)

Operadores de comparación: utilice los siguientes operadores para comparar dos


valores. Cuando se comparan dos valores utilizando estos operadores, el resultado
es un valor lógico: VERDADERO o FALSO.

Operador de Significado Ejemplo


comparación
= (signo igual) Igual a A=B
> (signo mayor que) Mayor que A>B
< (signo menor que) Menor que A<B
>= (signo igual o mayor que) Igual 0 mayor que A>=B
<= (signo igual o menor que) Igual 0 menor que A<=B
<> (signo distinto de) Distinto de A<>B

Operadores lógicos: utilice los siguientes operadores lógicos:

Operador lógico Significado Ejemplo

Y (And) (Conjunción) Intersección A Y B (A And B)


O (Or) (Disyunción) Unión A 0 B (A Or B)
Negado (Not) (Negación) Complementario Not A (Negado A)

Operadores clásicos del lenguaje de bases de datos: los operadores más comunes
son/«, Like (Como) y Between...And (Entre...Y).
Operador Significado Sintaxis

Determina si el valor de una expresión es


In igual (o no) a cualquiera de los diversos expresión [Not] In(valorl, valor2,...)
valores de una lista especificada
Like (Como) Compara una expresión de cadena con un expresión Like "modelo"
modelo en una expresión
Between...And Determina si el valor de una expresión se expresión [Not] Between valor1 And
(Entre ...Y) encuentra (o no) entre un intervalo de valor!
valores especificado

diosestinta.blogspot.com
©RA-MA_________ CAPÍTULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARÁMETROS Y... 325

6.5.8 Orden de los operadores en las expresiones


Si se combinan varios operadores en una sola expresión, Access ejecutará las
operaciones en el orden que se indica en la tabla que se muestra a continuación. Si una
fórmula contiene operadores con el mismo precedente (por ejemplo, si una fórmula
contiene un operador de multiplicación y otro de división), Access evaluará los
operadores de izquierda a derecha. Para cambiar el orden de evaluación, escriba entre
paréntesis la parte de la fórmula que se calculará en primer lugar.

Operador Descripción
% Porcentual
^ Exponencial
*y/ Multiplicación y división
+y- Suma y resta
= < > < = > = <> Comparación

6.6 CONSULTAS DE REFERENCIAS CRUZADAS


Una consulta de tabla de referencias cruzadas mejora los resultados de
una consulta de selección que resume los datos mediante funciones de agregado
aplicadas a columnas (figura 6-20). La mejora consiste en la posibilidad de aplicar
funciones de agregado también a filas. Una consulta de tabla de referencia cruzada
agrupa la información mediante valores resumidos (sumas, cuentas, promedios y
cualquier función de agregado) tanto horizontal como verticalmente de manera que
la hoja de datos resultante es más completa (figura 6-21). De esta forma se pueden
utilizar las hojas de datos como auténticas hojas de cálculo.

Figura 6-20

Figura 6-21
Al crear una consulta de tabla de referencias cruzadas se especifica que
campos contienen encabezados de fila, qué campo contiene encabezados de
columna y qué campo contiene valores que resumir con funciones de agregado.
Sólo puede utilizar un campo cuando especifique encabezados de columna y
valores que resumir. Puede usar hasta tres campos cuando especifique encabezados
de fila. También puede usar una expresión para producir los encabezados de fila,
encabezados de columna o valores que resumir.

diosestinta.blogspot.com
326 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

6.6.1 Crear una consulta de tabla de referencias cruzadas


mediante un asistente
1. En la ficha Crear, en el grupo Consultas, haga clic en Asistente para consultas.
A continuación, en el cuadro de diálogo Nueva consulta, haga clic en
Asistente para consultas de tablas de referencias cruzadas (figura 6-22) y
elija Aceptar. En nuestro ejemplo se usa la base de datos Neptuno.

2. El primer cuadro de diálogo del asistente (figura 6-23) permite seleccionar


la tabla o consulta que contiene los datos a incluir en la consulta. En
nuestro caso utilizaremos la tabla Pedidos de la base de datos Neptuno, ya
que vamos a cruzar fechas de envío de los pedidos (campo FechaEnvío)
con países destinatarios de los envíos (campo PaísDestinatario) según los
valores del coste total de transporte (campo Cargo).

3. Se pulsa Siguiente y en la figura 6-24 se elige el campo (o campos) que


aparecerá en filas (FechaEnvío). El panel de la parte inferior de la figura
nos da una idea de cómo se va construyendo el resultado de la consulta.

4. Se pulsa Siguiente y en la figura 6-25 se elige el campo (o campos) que


aparecerá en columnas (PaísDestinatario). En el panel de la parte inferior
de la figura se ve cómo se va construyendo el resultado de la consulta.

5. Se pulsa Siguiente y en la figura 6-26 se selecciona el campo por el que se


quieren resumir los valores del cruce (Cargo) y la función utilizada para el
resumen (Suma). También puede decidirse aquí la inclusión o no de suma
de filas. El panel de la parte inferior de la figura sigue dando una idea de
cómo se va construyendo el resultado de la consulta.

6. Se pulsa Siguiente y en el último cuadro de diálogo (figura 6-27), además


de nombrar la consulta, puede seleccionar si desea ejecutar la consulta o si
desea ver la estructura de la consulta en la vista Diseño.

7. Al pulsar Finalizar se obtiene el resultado de la consulta (figura 6-28). Se


observa que el campo Total de carga ofrece el coste total de transporte por
fecha y las columnas restantes dividen el coste total de transporte por
países.

diosestinta.blogspot.com
© RA-MA _______ CAPÍTULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARÁMETROS Y... 327

Figura 6-22

Figura 6-23

diosestinta.blogspot.com
328 ACCESS 2010. CURSO PRACTICO © RA-MA

Figura 6-24

Figura 6-25

Figura 6-26

diosestinta.blogspot.com
© RA-MA CAPÍTULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARÁMETROS Y... 329

Figura 6-27

Figura 6-28

También es posible mostrar los datos de una tabla de referencias cruzadas


sin necesidad de crear una consulta independiente en la base de datos, mediante el
Asistente para tablas dinámicas en un formulario (ya se verá en un capítulo
posterior). Con un formulario o una lista de tabla dinámica, puede cambiar los
encabezados de fila y de columna según desee para analizar los datos de distintos
modos.

diosestinta.blogspot.com
330 ACCESS 2010. CURSO PRÁCTICO ____________________________________________________ © RA-MA

6.6.2 Ordenar o limitar los encabezados de columnas en una


consulta de referencias cruzadas

En los encabezados de columna que contienen, por ejemplo, los meses del
año, puede mostrar los meses de forma cronológica, en lugar de alfabéticamente, y
también puede mostrar columnas de Enero a Junio. Los pasos son los siguientes:

1. Diseñe la consulta de tabla de referencias cruzadas.


2. Muestre la consulta en la vista Diseño.
3. Haga clic con el botón derecho del ratón en el fondo de la vista Diseño de
consulta, fuera de la cuadrícula de diseño y de la lista de campos.
4. En el menú emergente resultante, haga clic en Propiedades para
presentar la hoja de propiedades de la consulta (figura 6-29). También
puede hacer clic en la opción Hoja de propiedades del grupo Mostrar u
ocultar de la ficha Diseño.

5. En el cuadro de la propiedad Encabezados de columna, escriba los


encabezados de las columnas que desee mostrar, en el orden en que desea
que aparezcan (figura 6-30). Entre los encabezados de columnas, escriba
una coma (,) o el separador de listas de su país. (Para determinar cuál es el
separador de listas de su país, haga doble clic en Configuración regional
del Panel de control de Windows.) Los encabezados de columnas que
escriba tienen que coincidir exactamente con los encabezados de columna
de la hoja de datos de la consulta. Por ejemplo, si un encabezado de
columna en la hoja de datos es “USA”, debe escribir el encabezado de
columna como “USA” y no como “US”. (Después de presionar ENTRAR
o mover el puntero o otra ubicación, Microsoft Access coloca comillas
alrededor de cada encabezado.)
6. Para ver los resultados de la consulta, haga clic en el botón Vista de la
barra de estado. También puede hacer clic en el mismo botón del grupo
Resultados de la vista Diseño.

Notas:
• Si ejecuta con mucha frecuencia una consulta de tabla de referencias
cruzadas o si la usa como base para un formulario, informe o página de
acceso de datos, puede acelerar la consulta si utiliza el procedimiento
anterior para especificar encabezados de columna fijos.

diosestinta.blogspot.com
© RA-MA ________ CAPITULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARAMETROS Y... 331

• Si usa con frecuencia los mismos encabezados de columna en diferentes


consultas, considere la posibilidad de crear un campo de texto para almacenar
los encabezados de columna. Abra entonces la tabla y copie los encabezados al
cuadro de la propiedad Encabezados de columna, según los necesite.

Figura 6-29

Figura 6-30

diosestinta.blogspot.com
332 ACCESS 2010. CURSO PRÁCTICO _____________________________________________________ © RA-MA

6.6.3 Crear una consulta de referencias cruzadas sin asistente


1. Comenzaremos abriendo la base de datos Neptuno. A continuación, en el
grupo Consultas de la ficha Crear de la cinta de opciones haga clic en
Diseño de consulta y en el cuadro de diálogo Mostrar tabla (figura 6-31),
haga clic en la ficha que relaciona las tablas o consultas con cuyos datos
desea trabajar (en nuestro ejemplo la tabla Clientes).

2. Haga clic en Cerrar y sobre la tabla Clientes haga doble clic en el nombre
de cada objeto que desee agregar a la consulta (NombreCompañía y
NombreContacto). A continuación agregue campos a la fila Campos
(campo Región) en la cuadrícula de diseño y pulse en Cerrar. Especifique
los criterios que crea convenientes (figura 6-32).

3. A continuación, en la ficha Diseño, grupo Tipo de consulta, haga clic en el


botón General (figura 6-33) para especificar que se trata de una Consulta
de tabla de referencias cruzadas. Access incluye en la cuadrícula de diseño
las filas Total y Tab ref cruz.

4. Así mismo, para el campo o los campos cuyos valores desea que aparezcan
como encabezados de fila, haga clic en la fila Tab ref cruz y, después, haga
clic en Encabezado de fila (figura 6-34). Tiene que mantener el Agrupar
por predeterminado en la fila Total de esos campos.

5. Para el campo cuyos valores desee que aparezcan como encabezados de


columnas, haga clic en la fila Tab ref cruz y, después, haga clic en
Encabezado de columna (figura 6-35). Puede elegir Encabezado de
columna para un solo campo y debe mantener Agrupar por en la fila Total
de ese campo. De forma predeterminada, los encabezados de columnas se
presentan en orden alfabético o numérico. Si desea que aparezcan en un
orden diferente o si desea limitar las columnas que muestren encabezados,
establezca la propiedad EncabezadosDeColumna (ColumnHeadings) de la
consulta.

6. En el campo cuyos valores desee utilizar en la tabla de referencia cruzada,


haga clic en la fila Tab ref cruz y, después, haga clic en Valor (figura
6-36). Sólo un campo puede establecerse a Valor. En la fila Total de este
campo (figura 6-37), haga clic en el tipo de función agregada que desea
para la referencia cruzada (como Suma, Promedio o Cuenta).

diosestinta.blogspot.com
© RA-MA CAPÍTULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARÁMETROS Y... 333

7. Para especificar criterios que limiten los encabezados de filias antes de que se
realice el cálculo, escriba una expresión en la fila Criterios de un campo con
Encabezado de fila en la celda Tab reficruz. Esto permite, por ejemplo, presentar
los totales de ventas de productos de ciertas categorías, como carne y pescado.
Para especificar criterios que limiten los registros antes de que se agrupen
los encabezados de fila y antes de que se realicen las referencias cruzadas,
agregue el campo para el que desee establecer criterios en la cuadricula de
diseño, haga clic en Dónde en la celda Total, deje en blanco la celda Tab
ref cruz y escriba una expresión en la fila Criterios. (Los resultados de la
consulta no presentarán campos que contengan Dónde en la fila Total.)
8. Para ver los resultados de la consulta completa (figura 6-38), haga clic en
el botón Vista de la barra de estado (figura 6-39). Para detener la
consulta después de haberla iniciado, presione CTRL+ENTER.

Notas:
• Si incluye un campo en la cuadrícula de diseño de la consulta pero hace clic en
la opción {Sin mostrar) en la celda Tab ref cruz y establece Agrupar por en la
celda Total, Microsoft Access agrupará según la misma como Encabezado de
fila, pero no presentará la fila en los resultados de la consulta.
• Los valores del campo Encabezado de columna pueden incluir caracteres que no
están permitidos en los nombres de campos, como decimales. En tal caso,
Microsoft Access los reemplaza por el carácter de subrayado en la hoja de datos.

Figura 6-31

diosestinta.blogspot.com
334 ACCESS 2010. CURSO PRÁCTICO _____________________________________________________ ©RA-MA

Figura 6-32 Figura 6-33

Figura 6-34 Figura 6-35

Figura 6-36 Figura 6-37

diosestinta.blogspot.com
© RA-MA ________ CAPITULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARAMETROS Y... 335

Figura 6-38 Figura 6-39

6.7 CONSULTAS DE PARAMETROS


Cuando se desea que una consulta pida un valor cada vez que se ejecuta, se
puede crear una consulta de parámetros. Por tanto, una consulta de parámetros es
una consulta en la que un usuario especifica interactivamente uno o más valores de
criterio. Una consulta de parámetros no es un tipo diferente de consulta; más bien,
extiende la flexibilidad de una consulta.

6.7.1 Crear una consulta de parámetros que solicite criterios


cada vez que se ejecute
Como ejemplo construiremos una consulta de parámetros que permita
encontrar los pedidos solicitados (IdPedido y FechaEntrega) para una fecha
determinada introducida a voluntad por el usuario. Para ello tendremos en cuenta lo
siguiente:

1. Cree la consulta de selección adecuada. Para ello abra la base de datos


Neptuno. A continuación, en el grupo Consultas de la ficha Crear de la cinta
de opciones haga clic en Diseño de consulta y en el cuadro de diálogo
Mostrar tabla (figura 6-40), haga clic en la ficha que relaciona las tablas o
consultas con cuyos datos desea trabajar (en nuestro ejemplo la tabla
Pedidos).

2. En la vista Diseño de consulta, arrastre los campos desde la lista de campos


de la consulta a la cuadrícula de diseño de la consulta (figura 6-41).

diosestinta.blogspot.com
336 ACCESS 2010. CURSO PRACTICO ______________________________________________________ ©RA-MA

3. En la celda Criterios, para cada campo que desee utilizar como parámetro,
escriba el texto que desee que aparezca en la solicitud del dato entre
corchetes (figura 6-42). El texto de la solicitud debe ser diferente del
nombre del campo, aunque puede incluir el nombre del campo.

4. Para ver los resultados, haga clic en el botón Ver en la barra de estado y
escriba el valor del parámetro (figura 6-43). Al hacer clic en Aceptar se
obtienen los resultados de la consulta (figura 6-44).

Figura 6-40

Figura 6-41 Figura 6-42

diosestinta.blogspot.com
© RA-MA CAPÍTULO 6. CONSULTAS DE REFERENCIA CRUZADA, DH PARÁMETROS Y... 337

Figura 6-43 Figura 6-44

6.7.2 Especificar el tipo de datos de un parámetro en una


consulta de parámetros

1. En la vista Diseño de consulta tras crear una consulta de parámetros, haga


clic en Parámetros en el grupo Mostrar u ocultar de la ficha Diseño en
Herramientas de consultas (figura 6-45).

2. En la primera celda Parámetro, escriba el primer texto de solicitud que


introdujo en la cuadrícula de diseño de la consulta.

3. En la celda Tipo de datos de la derecha, haga clic en el tipo de dato que


desee (figura 6-46).

4. Repita los pasos 2 y 3 para cada parámetro que desee especificar un tipo de
dato.

diosestinta.blogspot.com
338 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Figura 6-45

Figura 6-46

diosestinta.blogspot.com
©RA-MA ________ CAPÍTULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARAMETROS Y... 339

6.8 CONSULTAS DE ACCION


Consultas de acción son las que realizan alguna acción sobre los datos de las
tablas de la base de datos. Al contrario que las consultas de selección y de
referencia cruzada, que simplemente visualizan los datos seleccionados, las
consultas de acción permiten crear nuevas tablas en la base de datos {consultas de
creación de tabla), actualizar los datos existentes en las tablas {consultas de
actualización), agregar registros de una o más tablas al final de una tabla existente
{consultas de datos anexados) y eliminar registros de una o más tablas existentes
{consultas de eliminación).

6.8.1 Consultas de creación de tabla


Para crear una nueva tabla a partir de los resultados de una consulta de
selección mediante una consulta de creación de tabla se tendrá en cuenta lo siguiente;

1. Cree una consulta, para lo cual deberá seleccionar las tablas o consultas
que contienen los registros que desea incluir en la nueva tabla. Por
ejemplo, en la base de datos Neptuno construiremos una tabla nueva de
nombre Clientes 1 que contenga los campos IdCliente, NombreCompañia,
Teléfono y Fax de la tabla Clientes. Esta tabla podría utilizarse a modo de
agenda telefónica de los clientes. Para ello abra la base de datos Neptuno y
a continuación, en el grupo Consultas de la ficha Crear de la cinta de
opciones haga clic en Diseño de consulta y en el cuadro de diálogo Mostrar
tabla (figura 6-40), haga clic en la tabla Clientes y luego en Cerrar. En la
vista Diseño de consulta, arrastre los campos citados anteriormente a la
cuadrícula de diseño de la consulta (figura 6-47).

2. En la ficha Diseño en el grupo Tipo de consulta, haga clic en Crear tabla y


aparecerá el cuadro de diálogo Crear tabla (figura 6-48). En el cuadro
Nombre de tabla, escriba el nombre de la tabla que desea crear o
reemplazar. Haga clic en Base de datos activa para incluir la tabla nueva
en la base de datos abierta actualmente. También puede hacer clic en Otra
base de datos y escribir el nombre de otra base de datos en la que desea
incluir la tabla nueva. Si es necesario, escriba la ruta de acceso. Elija
Aceptar.
3. Para crear la tabla nueva, haga clic en Ejecutar en el grupo de Resultados de
la ficha Diseño. Haga clic en Sí para confirmar la operación (figura 6-49). Para
detener una consulta una vez iniciada, presione CTRL+ENTER.

diosestinta.blogspot.com
340 ACCESS 2010. CURSO PRÁCTICO © RA-MA

4. Si hacemos clic en Mostrar tabla en el grupo Configuración de consulta de la


ficha Diseño vemos ya la nueva tabla Clientes 1 (figura 6-50). Al hacer clic
sobre la nueva tabla, ésta se coloca sobre la vista Diseño de consulta
observándose sus campos (figura 6-51). Los datos de la tabla nueva que acaba
de crear no heredan las propiedades de los campos ni la configuración de clave
principal de la tabla original.

Figura 6-47

Figura 6-48

Figura 6-49

diosestinta.blogspot.com
© RA-MA CAPITULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARÁMETROS Y... 341

Figura 6-50

Figura 6-51

diosestinta.blogspot.com
342 ACCESS 2010. CURSO PRÁCTICO © RA-MA

6.8.2 Consultas de actualización


Para crear una consulta que actualice los datos existentes en las tablas se
tendrá en cuenta lo siguiente:

1. Cree una consulta, para lo cual debe seleccionar las tablas o consultas que
incluyen los registros que desea actualizar y los campos que desea utilizar
para establecer criterios (utilizando Diseño de consulta en el grupo
Consultas de la ficha Crear). En nuestro caso aumentaremos en una unidad
el campo IdCliente de la tabla Clientes1, por lo que utilizaremos solamente
esta tabla en la consulta.

2. Haga clic en Actualizar en el grupo Tipo de consulta de la ficha Diseño


(figura 6-52).

3. Arrastre desde la lista de campos hasta la cuadrícula de diseño de la


consulta los campos que desea actualizar o para los que desea especificar
criterios, en nuestro caso IdCliente. En la celda Criterios, especifique los
criterios si es necesario y en la celda Actualizar a de los campos que desea
actualizar, escriba la expresión o el valor que desea utilizar para cambiar
los campos, como muestra la figura 6-53.
4. Haga clic en Ejecutar en el grupo Resultados de la ficha Diseño para
actualizar los registros. Se obtiene la pantalla de la figura 6-54 que nos
avisa de la actualización de los registros. Al hacer clic en Sí se realiza el
proceso de actualización.

Figura 6-52 Figura 6-53

diosestinta.blogspot.com
© RA-MA CAPITULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARAMETROS Y... 343

Figura 6-54

6.8.3 Consultas de datos anexados


Una consulta de datos anexados agrega un grupo de registros de una o más
tablas al final de otra u otras tablas. Por ejemplo, supongamos que consigue nuevos
dientes y una base de datos que contiene una tabla con información acerca de estos
clientes. Para anexar esta información a la tabla Clientes de la que ya disponemos
evitaremos tener que reescribir toda esta información utilizando una consulta de
datos anexados. Las consultas de datos anexados también son útiles para anexar
campos basados en criterios. Por ejemplo, es posible que desee anexar sólo los
nombres y las direcciones de los clientes con pedidos de un tamaño considerable y
para anexar registros cuando algunos de los campos de una tabla no existen en la
otra tabla. Una consulta de datos anexados anexará los datos de los campos
coincidentes e ignorará el resto.
Para crear una consulta de datos anexados se tendrá en cuenta lo siguiente;

1. Cree una consulta que contenga la tabla cuyos registros desea anexar a otra
tabla. En nuestro ejemplo, anexaremos a la tabla Clientes 1 los registros de la
tabla Clientes. En la ficha Diseño, en el grupo Tipo de consulta, haga clic en
Anexar (figura 6-55).
2. Aparecerá el cuadro de diálogo Anexar (figura 6-56). En el cuadro Nombre
de tabla, escriba el nombre de la tabla a la que desea anexar registros.
Haga clic en Base de datos activa si la tabla se encuentra en la base de
datos abierta actualmente. De lo contrario, haga clic en Otra base de datos
y escriba el nombre de la base de datos donde esté almacenada la tabla.
Escriba la ruta de acceso si es necesario. También puede introducir una
ruta de acceso a una base de datos de Microsoft FoxPro, Paradox o dBASE
o bien una cadena de conexión a una base de datos SQL. Elija Aceptar.

diosestinta.blogspot.com
344 ACCESS 2010. CURSO PRACTICO ©RA-MA

3. Arrastre, desde la lista de campos hasta la cuadrícula de diseño de la consulta,


los campos que desee anexar (si no lo ha hecho ya al definir la consulta inicial) y
cualquier campo que desee utilizar para establecer criterios. Además, es posible
que desee o no agregar el campo de clave principal si su tipo de datos es
Autonumérico. Si todos los campos de ambas tablas tienen los mismos nombres,
simplemente arrastre el asterisco (*) a la cuadricula de diseño de la consulta. No
obstante, si está trabajando con una réplica de base de datos, necesitará agregar
todos los campos en lugar de arrastrar el asterisco.

4. Si los campos seleccionados tienen el mismo nombre en ambas tablas,


Microsoft Access rellenará automáticamente el nombre coincidente en la
fila Anexar a (figura 6-57). Si los campos de las dos tablas no tienen el
mismo nombre, en la fila Anexar a escriba los nombres de los campos de la
tabla a la que está anexando. En la celda Criterios de los campos
arrastrados a la cuadricula, escriba el criterio según el cual deben realizarse
las anexiones.

5. Haga clic en Ejecuten ' en el grupo Resultados de la ficha Diseño para


agregar los registros. Se obtiene la pantalla de la figura 6-58 que nos avisa
de la anexión. Al hacer clic en Sí se realiza el proceso de agregación.

Figura 6-55

diosestinta.blogspot.com
© RA-MA CAPITULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARAMETROS Y... 345

Figura 6-56

Figura 6-5 7

Figura 6-58

diosestinta.blogspot.com
346 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

6.8.4 Consultas de eliminación


Una consulta de eliminación elimina un grupo de registros de una o más
tablas. Con las consultas de eliminación, siempre se eliminan registros enteros, no
sólo campos seleccionados dentro de los registros. Puede utilizar una única
consulta de eliminación para suprimir registros de una sola tabla, de varias tablas
en una relación uno a uno o de varias tablas en una relación uno a varios, si está
activada la eliminación en cascada. No obstante, si necesita incluir la tabla “varios”
junto con la tabla “uno” con el fin de agregar criterios, deberá ejecutar la consulta
dos veces, ya que una consulta no puede eliminar registros de la tabla principal y
de las tablas relacionadas al mismo tiempo.

Para eliminar registros de una o varias tablas de una relación uno a uno se tendrá
en cuenta lo siguiente:

1. Cree una consulta nueva que contenga las tablas de las cuales desea
eliminar registros y en la ficha Diseño, en el grupo Tipo de consulta, haga clic
en Eliminar (figura 6-59).

2. Para las tablas de las que desee eliminar registros, arrastre el asterisco (*)
desde la lista de campos hasta la cuadrícula de diseño de la consulta.
Aparecerá Desde en la celda Eliminar situada bajo estos campos, como
muestra la figura 6-60. Para especificar criterios para eliminar registros,
arrastre a la cuadrícula de diseño los campos en los que desea establecer los
criterios. Aparecerá Dónde en la celda Eliminar situada bajo estos campos,
como muestra la figura 6-61. En la celda Criterios de los campos
arrastrados a la cuadrícula, escriba los criterios (figura 6-60).

3. Haga clic en Ejecutar en el grupo Resultados de la ficha Diseño.

Figura 6-59

diosestinta.blogspot.com
©RA-MA CAPITULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARAMETROS Y... 347

Figura 6-60 Figura 6-61

Es posible eliminar registros mediante una consulta que incluya sólo la


tabla “uno” de una relación uno a varios. Al ejecutar una consulta de eliminación
en la tabla “uno” de una relación uno a varios, y si está activada la eliminación en
cascada para esta relación, Microsoft Access también eliminará los registros
relacionados del lado “varios”. El proceso de eliminación es el mismo que en el
caso anterior, salvo que se comienza creando una consulta nueva que contenga la
tabla “uno” de la cual desea eliminar los registros.

También es posible eliminar registros mediante una consulta que incluya


ambas tablas de una relación uno a varios. Para ello se tendrá en cuenta lo
siguiente:

1. Cree una nueva consulta que contenga las tablas en las cuales desea
eliminar registros o establecer criterios y en la ficha. Diseño, en el grupo Tipo
de consulta, haga clic en Eliminar.

2. En la tabla con registros relacionados (en el lado “varios” de la relación uno


a varios), arrastre el asterisco (*) desde la lista de campos hasta la
cuadricula de diseño de la consulta. Aparecerá Desde en la celda Eliminar
situada bajo estos campos, como muestra la figura 6-61. En la tabla
principal (en el lado “uno” de la relación uno a varios), arrastre a la
cuadrícula de diseño los campos en los que desea establecer los criterios.
Aparecerá Dónde en la celda Eliminar situada bajo estos campos, como
muestra la figura 6-61. En la celda Criterios de los campos arrastrados a la
cuadrícula, escriba los criterios (figura 6-61).
3. Al hacer clic en Ejecutar en el grupo Resultados de la ficha Diseño se
eliminan los registros. A continuación, en la tabla principal (en el lado “uno”
de la relación uno a varios), arrastre a la cuadrícula de diseño los campos
en los que desea establecer los criterios. Cuando sólo quede la tabla principal
en la consulta y el campo en el que desea establecer criterios en la cuadrícula
de diseño, haga clic de nuevo en Ejecutar y Access eliminará los registros
especificados de la tabla “uno”.

diosestinta.blogspot.com
348 ACCESS 2010. CURSO PRACTICO ©RA-MA

Consideraciones al utilizar una consulta que elimina registros

• Una vez eliminados registros mediante una consulta de eliminación, no


será posible deshacer la operación. Por tanto, debe ver una vista previa de
los datos que ha seleccionado la consulta para su eliminación antes de
ejecutar la consulta. Para ello, haga clic en Vista en la barra de estado
y muestre la consulta en la vista Hoja de datos.

• Debe conservar constantemente copias de seguridad de los datos. De esta


forma, si elimina registros incorrectos, podrá recuperarlos a partir de las
copias de seguridad.

• En algunos casos, al ejecutar una consulta de eliminación, pueden


eliminarse registros de las tablas relacionadas, aunque no estén incluidas
en la consulta. Esto puede suceder cuando la consulta sólo contiene la tabla
que está en el lado “uno” de una relación uno a varios y se ha activado la
eliminación en cascada para esa relación. Al eliminar registros de la tabla
“uno”, también se eliminarán registros de la tabla “varios”.

• Cuando una consulta de eliminación contiene más de una tabla, como por
ejemplo una consulta que elimina registros duplicados de una de las tablas,
la propiedad RegistrosÚnicos (UniqueRecords) de la consulta debe
establecerse como Sí.

Ejercicio 6-1. En la base de datos NEPTUNO, crear una consulta que calcule los
subtotales de los productos basándose en los datos de la tabla Detalles de pedido.

Se tendrán en cuenta los pasos siguientes:

1. Abra la base de datos NEPTUNO y en el grupo Consultas de la ficha


Crear, haga clic en Diseño de consulta. En el cuadro de diálogo Mostrar
tabla, en la ficha Tablas, haga doble clic en Detalles de pedido (figura
6-62). Cierre el cuadro de diálogo Mostrar tabla.

2. En la tabla Detalles de pedido, haga doble clic en Id. de producto para


agregar este campo a la primera columna de la cuadrícula de diseño de la
consulta.

diosestinta.blogspot.com
© RA-MA ________ CAPÍTULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARAMETROS Y... 349

3. En la segunda columna de la cuadrícula, haga clic con el botón secundario


del ratón en la fila Campo y, a continuación, haga clic en Zoom en el menú
contextual (figura 6-63).
4. En el cuadro Zoom, escriba lo siguiente: Subtotal: ([Cantidad] * [Precio])-
([Cantidad]*[Precio]*[Descuento]) tal y como se observa en la figura
6-64 y haga clic en Aceptar. Se obtiene la consulta de la figura 6-65
(también se podría haber escrito directamente en la consulta la expresión
del subtotal). Se observa que el campo calculado multiplica la cantidad de
cada producto por el precio de dicho producto, multiplica la cantidad de
cada producto por el precio y el descuento de dicho producto y, a
continuación, resta el descuento total del precio total.
5. En el grupo Resultados de la ficha Diseño, haga clic en Ejecutar. Se
ejecuta la consulta y, a continuación, se muestra una lista de productos y
subtotales, por pedido (figura 6-66).

Figura 6-62 Figura 6-63

Figura 6-64

diosestinta.blogspot.com
350 ACCESS 2010. CURSO PRÁCTICO @RA-MA

Figura 6-65

Figura 6-66

Ejercicio 6-2. Agregue una fila Total a los dos campos de la consulta que ofrece los
subtotales de productos del ejercicio anterior.
Los pasos a tener en cuenta son los siguientes:

1. Partiendo de la consulta anterior en la vista Diseño (figura 6-65), en la


ficha Inicio, en el grupo Registros, haga clic en Totales. Aparecerá una
nueva fila en la parte inferior de la hoja de datos con la palabra Total en la
primera columna (figura 6-67).

diosestinta.blogspot.com
© RA-MA CAPITULO 6. CONSULTAS DR REFERENCIA CRUZADA, DE PARAMETROS Y... 351

2. Haga clic en la celda de la fila Total de la columna IdProducto. Observe


que aparecerá una flecha a la derecha de la celda. Haga clic en la flecha
para ver las funciones de agregado disponibles. Como la columna contiene
datos de texto, seleccione Cuenta (figura 6-68).
3. De modo similar haga clic en la celda adyacente (la segunda columna
relativa a Subtotales). Observe que aparecerá una flecha en la celda. Haga
clic en la flecha y, a continuación, en Suma (figura 6-69).
4. La figura 6-70 muestra el aspecto final de la consulta con totales. Al
ejecutar la consulta se obtiene el resultado de la figura 6-71.

Figura 6-67

Figura 6-68 Figura 6-69

diosestinta.blogspot.com
352 ACCESS 2010. CURSO PRACTICO _____________________________________________________ © RA-MA

Figura 6-70

Figura 6-71

Ejercicio 6-3. Se desea comprobar los subtotales de los productos, pero también se
desea agregar por mes, de modo que cada fila muestre los subtotales de un producto
y cada columna muestre los subtotales de producto de un mes. Construir la consulta
de tabla de referencias cruzadas que devuelva filas con los subtotales de producto y
columnas con los subtotales mensuales.

A continuación se presenta la consulta y su resultado.

1. Partimos de la consulta en vista Diseño que da los subtotales por producto


construida en el Ejercicio 6-1 (figura 6-72).

2. Como necesitamos subtotales mensuales y la tabla Detalles de pedidos no


tiene información de meses, tenemos que agregar a la consulta la tabla
Pedidos que contiene el campo FechaPedido. Para ello, en el grupo
Configuración de consultas de la ficha Diseño haga clic en Mostrar tabla y
en el cuadro de diálogo Mostrar tabla, haga doble clic en Pedidos (figura
6-73). A continuación, haga clic en Cerrar.

3. En el grupo Tipo de consulta de la ficha Diseño, haga clic en General. En


la cuadrícula de diseño, la fila Mostrar se ocultará y se muestra la fila Tab
ref cruz (figura 6-74).

diosestinta.blogspot.com
© RA-MA CAPÍTULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARAMETROS Y... 353

4. En la tercera columna de la cuadrícula de diseño, haga clic con el botón


secundario del ratón en la fila Campo y, a continuación, haga clic en Zoom
en el menú contextual (figura 6-75). Se abrirá el cuadro Zoom en el que
escribimos lo siguiente: Mes: “Mes “ & ParcFecha(“m”; [FechaPedido])
tal como se indica en la figura 6-76. Haga clic en Aceptar. Se obtiene la
consulta de la figura 6-77.
5. En la fila Tab ref cruz, seleccione los valores siguientes en la lista
desplegable: Encabezado de fila para la primera columna. Valor para la
segunda columna y Encabezado de columna para la tercera columna. En la
fila Total elija Suma en la segunda columna (figura 6-78).
6. En el grupo Resultados de la ficha Diseño, haga clic en Ejecutar. Se
ejecuta la consulta y se muestran los subtotales de producto, agregados por
mes (figura 6-79).

Figura 6-72

Figura 6-73

diosestinta.blogspot.com
354 ACCESS 2010. CURSO PRÁCTICO ____________________________________________________ © RA-MA

Figura 6-74

Figura 6-75

Figura 6-76

diosestinta.blogspot.com
©RA-MA ________ CAPITULO 6. CONSULTAS DE REFERENCIA CRUZADA, DE PARAMETROS Y... 355

Figura 6-77

Figura 6-78

Figura 6-79

diosestinta.blogspot.com
356 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Ejercicio 6-4. Construir una consulta de doble parámetro sobre la tabla Pedidos de la
base de datos NEPTUNO que permita listar los pedidos cuyas fechas de entrega están
entre dos fechas dadas e introducidas a voluntad del usuario.
Ya que se trata de una consulta de parámetros, comenzamos creando la
consulta de selección correspondiente, es decir, una consulta que encuentre los pedidos
solicitados para una fecha determinada (figura 6-80). En la celda Criterios, para cada
campo que desee utilizar como parámetro (solamente FechaEntrega), escriba el
texto o textos a solicitar entre corchetes (figura 6-81). Microsoft Access mostrará
estos textos cuando se ejecute la consulta pidiendo sus valores (como parámetros
que son) para devolver el resultado adecuado. El texto de la solicitud debe ser
diferente del nombre del campo, aunque puede incluir el nombre del campo.

Figura 6-80 Figura 6-81

Para ver los resultados, haga clic en el botón Ver en la barra de estado y
escriba los valores de los parámetros (figuras 6-82 y 6-83). Al pulsar Aceptar
después de introducir el segundo parámetro se obtiene el resultado de la consulta
(figura 6-84). Para volver a la vista Diseño de consulta, haga clic de nuevo en el
botón Ver en la barra de estado.

Figura 6-82 Figura 6-83

Figura 6-84

diosestinta.blogspot.com
Capítulo 7

LENGUAJE SQL DE ACCESS 2010

7.1 BASES DE DATOS RELACIONALES Y LENGUAJE


SQL

El modelo relacional de base de datos fue propuesto por E. F. Codd en


1970. Sin embargo, los productos comerciales no aparecieron en el mercado hasta
los primeros años de la década de los ochenta. Las desventajas de los modelos
jerárquico y en red condujeron a un intenso interés en el nuevo modelo de datos
relacional cuando fue escrito por primera vez por el Dr. Codd. El modelo
relacional era un intento de simplificar la estructura de las bases de datos.
Eliminaba las estructuras explícitas padre/hijo de la base de datos, y en su lugar
representaba todos los datos en la base de datos como sencillas tablas fila/columna
de valores de datos.

Una base de datos relacional ha de cumplir al menos dos objetivos. El


primero es que el sistema debe presentar al usuario los datos en diversas tablas
relacionadas entre sí. Una sola fila en una tabla corresponde a un registro, y una
columna en una tabla corresponde a un solo campo en un registro. De hecho, a
menudo, utilizaremos con frecuencia los términos fila y registro como sinónimos.
De la misma forma, emplearemos indistintamente los términos columna y campo.
Hay que destacar que, a diferencia del anterior diseño de red, no existe un diagrama
esquemático explícito entre las tablas. Esta observación podría conducir a la
conclusión errónea de que una base de datos relacional es simplemente una
presentación simplificada para el usuario del concepto clásico de archivo. Sin
embargo, esto no es así.

diosestinta.blogspot.com
358 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Otra característica esencial de cualquier base de datos relacional es que


acepte el lenguaje de consulta “set-at-a-time”. Con los sistemas tradicionales, el
lenguaje de consulta estaba orientado “record-at-a-time”. Esto implicaba que el
lenguaje de consulta sólo era capaz de expresar una pregunta para obtener un solo
registro. Por tanto, si el programador deseaba obtener un conjunto de registros,
tenía que escribir la orden para ejecutar la pregunta varias veces. Por ejemplo, si
quisiéramos obtener datos sobre todos los empleados del departamento de proceso
de datos, y existieran doscientos empleados que cumplieran esta condición, la
consulta tendría que ser ejecutada 200 veces. Cada ejecución aportaría un registro y
lo devolvería al programa de aplicaciones.

Con un sistema relacional el proceso es bastante más sencillo, ya que el


lenguaje de consulta es mucho más potente. El lenguaje es suficientemente potente
para pedir cualquier subconjunto de filas y columnas. Cuando el usuario asigna una
pregunta, el sistema recoge todos los datos y los devuelve al usuario. El usuario
realiza sólo una pregunta (sin iteraciones múltiples) y el sistema devuelve todos los
datos deseados.

Otro punto importante es que los lenguajes relacionales para los productos de
bases de datos son relativamente fáciles de aprender. No es necesario ser un
programador profesional para acceder a la base de datos. Un usuario iniciado en
informática puede utilizar un terminal o un microordenador e introducir una orden en el
lenguaje de consulta. El sistema extraerá las filas deseadas y hará que aparezcan en
pantalla.

Se ha desarrollado un gran número de lenguajes de consulta de base de


datos. El más conocido de estos lenguajes es el SQL. Se trata de un lenguaje de
base de datos “set-at-a-time” simple pero muy completo. Microsoft Access 2010
incorpora el lenguaje SQL, cuyas características se estudiarán en este capítulo.

7.2 EL LENGUAJE SQL DE MICROSOFT ACCESS 2010


El lenguaje SQL de Microsoft Access 2010 se adecúa en gran parte al
estándar definido por la American National Standards Institute (ANSI) y la
International Standards Organization (ISO). Access utiliza el SQL (Structured
Query Language), lenguaje de base de datos para administrar, almacenar y
recuperar información. Incluye las siguientes categorías de sentencias:

diosestinta.blogspot.com
© RA-MA CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 359

• DDL (Data Definition Language o Lenguaje de Definición de Datos)

Utilizadas para crear, alterar, o borrar objetos de base de datos, tales como
tablas, columnas y vistas. Como ejemplos característicos tenemos las instrucciones
o comandos CREATE, ALTER y DROP.

• DML {Data Modifiication Language o Lenguaje de Modifiicación de Datos)

Utilizadas en la interrogación y manipulación de datos en esquemas ya


existentes. Como ejemplos característicos tenemos los comandos SELECT,
INSERT, UPDATE y DELETE.

• TCL (Transaction Control Language o Lenguaje de Control de Transacciones)

Utilizadas para confirmar o restaurar transacciones de base de datos, que


son unidades de trabajo que realizan una o más sentencias SQL relacionadas entre
sí. Como ejemplos característicos tenemos los comandos COMMIT y
ROLLBACK.

• DCL {Data Control Language o Lenguaje de Control de Datos)

Utilizadas en el control de acceso a datos en la base de datos. Como


ejemplos característicos tenemos los comandos GRANT y REVOKE.

7.3 ELEMENTOS DE SQL DE ACCESS 2010


Entre los elementos más importantes del lenguaje SQL de Microsoft
Access 2010 tenemos los tipos de datos, los operadores, las expresiones, las
palabras reservadas y las funciones.

7.3.1 Tipos de datos de SQL Access, sinónimos y su relación


con SQL ANSI y SQL Server

A continuación se presenta una tabla con los tipos de datos de SQL de


Microsoft Access 2010, sus sinónimos y su relación con el estándar SQL ANSI y
TRANSACT SQL de Microsoft SQL Server.

Tipo de datos Sinónimo Tipo de datos de Tipo de datos


SQL de Microsoft SQL ANSI SQL
Microsoft Server
Access
BINARY VARBINARY, BINARY, BIT, BIT VARYING
VARBINARY
BINARY VARYING
BIT VARYING
BIT BOOLEAN, LOGICAL, BIT Incompatible
LOGICALl, YESNO

diosestinta.blogspot.com
360 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

TINYINT INTEGER], BYTE TINYINT Incompatible


COUNTER AUTOINCREMENT Incompatible
MONEY MONEDA MONEY Incompatible
DATETIME DATE, TIME DATETIME DATE, TIME,
TIMESTAMP
UNIQUEIDENTI GUID UNIQUEIDENTIFIER Incompatible
FIER
DECIMAL NUMERIC, DEC DECIMAL DECIMAL
REAL SINGLE, FLOAT4, IEEESINGLE REAL REAL
FLOAT DOUBLE, FLOAT8, FLOAT DOUBLE
PRECISION, FLOAT
IEEEDOUBLE, NUMBER
SMALLINT SHORT, INTEGER2 SMALLINT SMALLINT
INTEGER LONG, INT, INTEGER4 INTEGER INTEGER
Incompatible Incompatible INTERVAL
IMAGE LONGBINARY, GENERAL, IMAGE Incompatible
OLEOBJECT
TEXT LONGTEXT, LONGCHAR, TEXT Incompatible
MEMO, NOTE, NTEXT
CHAR TEXT(n), ALPHANUMERIC, CHARACTER,
CHARACTER, STRING, CHARAC1 ER
VARCHAR, CHARACTER VARYING,
VARYING, NCHAR, NATIONAL NATIONAL
CHARACTER, NATIONAL CHARACTER,
CHAR, NATIONAL NATIONAL
CHARACTER VARYING, CHARACTER
NATIONAL VARYING

Las características más importantes de los tipos de datos SQL de Access


son las siguientes:

BINARY: permite almacenar cualquier clase de datos y no se realiza ninguna


conversión de datos (por ejemplo, a texto). El tamaño de almacenamiento es de un
byte por carácter.

BIT: permite almacenar valores Sí y No y campos que contienen uno o dos


valores. El tamaño de almacenamiento es de un byte por carácter.

TINYINT: permite almacenar valores enteros entre 0 y 255. El tamaño de


almacenamiento es de un byte por carácter.

MONEY: permite almacenar valores enteros escalados entre


- 922.337.203.685.477,5808 y 922.337.203.685.477,5807. El tamaño de
almacenamiento es de 8 bytes por carácter.

DATETIME: permite almacenar valor de fecha u hora entre los años 100 y 9999.
El tamaño de almacenamiento es de 8 bytes por carácter.

diosestinta.blogspot.com
@ RA-MA _______________________________________ CAPÍTULO 7. LENGUAJE SQL DE ACCESS 2010 361

UNIQUEIDENTIFIER: permite almacenar números de identificación exclusivos


utilizados en llamadas a procedimientos remotos. El tamaño de almacenamiento
es de 128 bytes por carácter.

REAL: permite almacenar valores de punto flotante de precisión simple con un


intervalo de - 3,402823E38 a - l,401298E-45 para valores negativos, 1,401298E-
45 a 3,402823E38 para valores positivos, y 0. El tamaño de almacenamiento es de
4 bytes por carácter.

FLOAT: permite almacenar valores de punto flotante de precisión doble con un


intervalo de - 1,79769313486232E308 a - 4,94065645841247E-324 para valores
negativos, 4,94065645841247E-324 a 1,79769313486232E308 para valores
positivos, y 0. El tamaño de almacenamiento es de 8 bytes por carácter.

SMALLINT: permite almacenar valores enteros cortos entre ~ 32.768 y 32.767. El


tamaño de almacenamiento es de 2 bytes por carácter.

INTEGER; permite almacenar valores enteros largos entre - 2.147.483.648 y


2.147.483.647. El tamaño de almacenamiento es de 4 bytes por carácter.

DECIMAL: permite almacenar tipos de datos numéricos exactos que mantienen


valores desde 1028 - 1 hasta - 1028 - 1. Puede definir la precisión (1 - 28) y la
escala (0 - precisión definida). La precisión y escala predeterminadas son 18 y 0
respectivamente. El tamaño de almacenamiento es de 17 bytes por carácter.

TEXT: permite almacenar valores de cero a un máximo de 2,14 gigabytes. El


tamaño de almacenamiento es de 2 bytes por carácter.

IMAGE: permite almacenar valores de 0 a un máximo de 2,14 gigabytes. Se


utiliza para objetos OLE. El tamaño de almacenamiento es según se requiera.

CHARACTER: permite almacenar valores de 0 a 255 caracteres. El tamaño de


almacenamiento es de 2 bytes por carácter.

7.3.2 Operadores de SQL Access


Un operador es un signo o símbolo que especifica el tipo de cálculo que se
debe llevar a cabo en una expresión. Existen operadores matemáticos, de comparación,
lógicos y de referencia. Access admite una gran variedad de operadores, entre los que
se incluyen operadores aritméticos como +, -, multiplicar (*) y dividir (/), así como
operadores de comparación para comparar valores, operadores de texto para concatenar
texto y operadores lógicos para determinar valores verdaderos o falsos. A continuación
se presentan los tipos de operadores de Access SQL.

diosestinta.blogspot.com
362 ACCESS 2010. CURSO PRÁCTICO _____________________________________________________ ©RA-MA

Operadores aritméticos

Los operadores aritméticos se utilizan para calcular un valor a partir de dos


o más números o para cambiar el signo de un número de positivo a negativo, o
viceversa.

Operador Finalidad Ejemplo


+ Sumar dos números. [Subtotal]+[ImpuestoVentas]

- Hallar la diferencia entre dos números o indicar el [Precio]-[Descuento]


valor negativo de un número.

* Multiplicar dos números. [Cantidad]*[Precio]

/ Dividir el primer número por el segundo número. [Total]/[NúmeroArticulos]

Redondear ambos números a enteros, dividir el [Registrados]\[Habitaciones]


\
primer número por el segundo y convertir el
resultado en un número entero.

Dividir el primer número por el segundo y [Registrados]Residuo[Habitaciones]


Residuo
devolver sólo el resto.

Elevar un número a la potencia de un exponente. Número ^ Exponente


^

Operadores de comparación

Los operadores de comparación se utilizan para comparar valores y


devolver un resultado verdadero, falso o nulo.

Operador Finalidad Ejemplo


< Devuelve Verdadero si el primer valor es menor que el segundo valor. Valor1 < Valor2

<= Devuelve Verdadero si el primer valor es igual o menor que el segundo Valorl <=Valor2
valor.

> Devuelve Verdadero si el primer valor es mayor que el segundo valor. Valorl > Valor2

Devuelve Verdadero si el primer valor es igual o mayo r que el segundo Valorl >=Valor2
>=
valor.

= Devuelve Verdadero si el primer valor es igual al segundo valor. Valorl = Valor2

Devuelve Verdadero si el primer valor no es igual al segundo valor. Valorl <> Valor2
<>

Nota: en todos los casos, si el primer o el segundo valor es nulo, el


resultado también es nulo. Como un valor nulo representa un valor desconocido, el
resultado de cualquier comparación con un valor nulo también es un resultado
desconocido.

diosestinta.blogspot.com
© RA-MA CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 363

Operadores lógicos

Los operadores lógicos se utilizan para combinar dos valores booleanos y


devolver un resultado verdadero, falso o nulo. Los operadores lógicos se
denominan también operadores booleanos.

Operador Finalidad Ejemplo


Y (AND) Devuelve Verdadero si Exprl y Expr2 son verdaderos. Exprl Y Expr2

0(0R) Devuelve Verdadero si Exprl o Expr2 es verdadero. Exprl O Expr2

Eqv Devuelve Verdadero si Exprl y Expr2 son verdaderos, o si Exprl Eqv Expr2
tanto Exprl como Expr2 son falsos.

No (NOT) Devuelve Verdadero si Expr no es verdadero. No Expr

OEx Devuelve Verdadero si Exprl es verdadero o Expr2 es Exprl OEx Expr2


verdadero, pero no ambos.

Operadores de concatenación

Los operadores de concatenación se utilizan para combinar dos valores de


texto en uno.

Operador Finalidad Ejemplo

& Combina dos cadenas para formar una sola. cadañal & cadena2

+ Combina dos cadenas para formar una cadena y propaga los cadenal + cadena2
valores nulos (si un valor es nulo, toda la expresión se evalúa
como nula).

Operadores especiales

Los operadores especiales se utilizan para devolver un resultado verdadero


o falso, como se describe en la tabla siguiente.

Operador Finalidad Ejemplo

Es nulo 0 No es nulo - IS NULL Determina si un valor es nulo o no. Campol No es nulo

Como “modelo” - LIKE Busca valores de cadena mediante los Campol Como “instrucc*”
operadores comodín ? y *.

Entre valí Y val2 - BETWEEN Determina si un valor numérico o de Campol Entre 1 Y 10


fecha está dentro de un intervalo. Campol Entre #07-01-07#
Y #12-31-07#

En(vall,val2...)-IN Determina si un valor se encuentra en un Campol En


conjunto de valores. (“rojo”,“verde”,“azul”)
Campol En (1,5,7,9)

diosestinta.blogspot.com
364 ACCESS 2010. CURSO PRACTICO © RA-MA

7.3.3 Funciones de SQL Access


Access SQL incorpora diferentes tipos de funciones entre las que se
encuentran las funciones numéricas, las funciones de fecha y hora, las funciones de
cadena y las funciones de agregado. Las funciones numéricas realizan un cálculo
sobre valores de entrada proporcionados como parámetros de la función y
devuelven un valor numérico. Las funciones de fecha y hora realizan una operación
sobre un valor de entrada de fecha y hora y devuelven un valor de cadena,
numérico o de fecha y hora. Las funciones de cadena realizan operaciones sobre
cadenas y devuelven un valor de cadena o numérico. Las funciones de agregado
realizan cálculos estadísticos con los datos. A continuación se presenta la sintaxis
de las funciones más importantes de cada grupo en Access SQL.

Funciones numéricas

ABS(x) Valor absoluto de la expresión numérica x.


SIN(x) Seno del ángulo x en radianes.
COS(x) Coseno del ángulo x en radianes.
TAN(x) Tangente del ángulo x en radianes.
COT(x) Cotangente del ángulo x en radianes.
EXP(x) Devuelve ex.
LOG(x) Logaritmo neperiano de x.
POWER(x,y) Devuelve xy.
RANDO Número aleatorio entre 0 y 1.
RAND(x) Número aleatorio entre 0 y 1 y semilla x.
SQRT(x) Raíz cuadrada de x.
CEILING(x) Menor entero mayor o igual que x.
FLOOR(x) Mayor entero menor o igual que x.
ROUND(x,l) Redondeo de x a la longitud 1.
SIGN(x) Signo de x (+, - o 0).

Funciones de fecha y hora

DAYNAME(fecha) Devuelve una cadena con el día de la semana


relativo a la fecha.
DA YOFMONTH(fecha) Devuelve un número entre 1 y 31 relativo al día del mes
para la fecha.
DAYOFYEAR(fecha) Devuelve un número entre 1 y 366 relativo al día del
año para la fecha.
DAYOFWEEK(fecha) Devuelve un número entre 1 y 7 relativo al día de la
semana para la fecha.

diosestinta.blogspot.com
© RA-MA ____________________________________ CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 365

HOUR(hora) Devuelve un entero entre 0 y 23 que representa la parte


entera de la hora especificada.
MINUTE(hora) Devuelve un entero entre 0 y 59 que representa los
minutos de la hora especificada.
SECOND(hora) Devuelve un entero entre 0 y 59 que representa los
segundos de la hora especificada.
MONTH(fecha) Devuelve un entero entre 1 y 12 que representa el mes
de la fecha especificada.
MONTHNA ME(fecha) Devuelve una cadena con el nombre del mes de la
fecha especificada.
QUARTER(fecha) Devuelve un entero entre 1 y 4 que representa el
trimestre de la fecha dada.
WEEK(fecha) Devuelve un entero entre 0 y 52 que representa la
semana de la fecha dada (las semanas empiezan en
domingo).
YEAR(fecha) Devuelve un entero entre 1000 y 9999 que representa
el año de la fecha dada.
NOW() Da una cadena con la fecha y la hora actual en formato
AAAAMMDDhhmmss.
DATE() Da una cadena con la fecha actual en formato AAAA-
MM-DD.
TIME() Da una cadena con la hora actual en formato hhmmss.

Funciones de cadena

ASCII(cadena) Devuelve el código ASCII del carácter más a la


izquierda de la cadena.
CHAR(n) Devuelve el carácter cuyo código ASCII es n.
CHAR(n,m...) Devuelve y concatena los caracteres de códigos
ASCII n, m...
BIN(n) Devuelve n en forma binaria.
CONCAT(cadena1,cadena2...) Concatena las cadenas dadas.
LCASE(cadena) Devuelve la cadena en minúsculas.
UCASE(cadena) Devuelve la cadena en mayúsculas.
LEFT(cadena,n) Da los n elementos más a la izquierda de la
cadena.
RIGHT(cadena,n) Da los n elementos más a la derecha de la cadena.
LOCATE(subcadena, Da la posición de la primera ocurrencia de la
cadena, n) subcadena en la cadena empezando a buscar a
partir de la posición n en la cadena. Si n no se
especifica, se empieza a buscar en la primera
posición de la cadena.

diosestinta.blogspot.com
366 ACCESS 2010. CURSO PRÁCTICO ________________________________________ © RA-MA

LTRIM(cadena) Devuelve la cadena después de quitar los espacios


en blanco a la izquierda.
RIGHT(cadena, n) Devuelve los n caracteres más a la derecha de la
cadena.
RTRIM(cadena) Devuelve una cadena de caracteres después de
truncar todos los espacios en blanco a la derecha.
SPACE(n) Devuelve una cadena de espacios en blanco
repetidos n veces.
SUBSTRING(cadena, n) Devuelve la parte de la cadena que va desde la
posición n hasta su final.
SUBSTRING(cadena, n, m) Devuelve m caracteres de la cadena a partir del
enésimo.

Funciones de agregado

AVG(expresión) Calcula la media aritmética de un conjunto de


valores especificado en la cadena expresión que
identifica el campo que contiene los datos numéricos
de los que desea obtener la media o una expresión
que ejecuta un cálculo con los datos de ese campo.
Los operandos de expresión pueden incluir el
nombre de un campo de tabla, una constante o una
función (que a su vez puede ser intrínseca o definida
por el usuario, pero ninguna de las demás funciones
de agregado de SQL). La función AVG no incluye
ningún campo Null en el cálculo.
COUNT(expresión) Calcula el número de registros devueltos por una
consulta. Los operandos de expresión pueden
incluir un nombre de campo de una tabla o una
función. Puede contar cualquier tipo de datos,
incluido tipo texto. Aunque expresión puede ejecutar
un cálculo en un campo, la función Count
simplemente cuenta el número de registros. No
importan los valores que están almacenados en los
registros. La función Count no cuenta registros que
tengan campos Null a menos que expresión sea el
carácter comodín asterisco (*). Si utiliza un asterisco,
la función Count calculará el número total de
registros, incluidos los que contienen campos Null.
Count(*) es considerablemente más rápido que
Count([Nombre de columna]). No escriba el asterisco
entre comillas ('').

diosestinta.blogspot.com
© RA-MA CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 367

STDEV(expresión) Devuelve la desviación típica del conjunto de


valores especificado en la cadena expresión que
identifica el campo que contiene los datos
numéricos de los que desea obtener la desviación
típica o una expresión que ejecuta un cálculo con
los datos de ese campo.
STDEVP (expresión) Devuelve la cuasidesviación típica del conjunto de
valores especificado en la cadena expresión que
identifica el campo que contiene los datos
numéricos de los que desea obtener la
cuasidesviación típica o una expresión que ejecuta
un cálculo con los datos de ese campo.
VAR(expresión) Devuelve la varianza del conjunto de valores
especificado en la cadena expresión que identifica
el campo que contiene los datos numéricos de los que
desea obtener la varianza o una expresión que
ejecuta un cálculo con los datos de ese campo de la
cadena que va desde la posición n hasta su final.
VARP(expresión) Devuelve la cuasivarianza del conjunto de valores
especificado en la cadena expresión que identifica
el campo que contiene los datos numéricos de los
que desea obtener la cuasivarianza o una expresión
que ejecuta un cálculo con los datos de ese campo
de la cadena que va desde la posición n hasta su
final.
MAX(expresión) Devuelve el máximo del conjunto de valores
especificado en la cadena expresión que identifica
el campo que contiene los datos numéricos de los
que desea obtener el máximo o una expresión que
ejecuta un cálculo con los datos de ese campo.
MIN(expresión) Devuelve el mínimo del conjunto de valores
especificado en la cadena expresión que identifica
el campo que contiene los datos numéricos de los
que desea obtener el mínimo o una expresión que
ejecuta un cálculo con los datos de ese campo de la
cadena que va desde la posición n hasta su final.
FIRST(expresión) Devuelve el valor del campo del primer registro
del conjunto de resultados devuelto por una
consulta especificada en expresión.
LAST(expresión) Devuelve el valor del campo del último registro
del conjunto de resultados devuelto por una
consulta especificada en expresión.

diosestinta.blogspot.com
368 ACCESS 2010. CURSO PRACTICO © RA-MA

SUM(expresión) Devuelve la suma de un conjunto de valores


contenidos en un campo especificado de una
consulta. El marcador de posición expresión
representa una expresión de cadena que identifica
el campo con los datos numéricos que desea sumar
o una expresión que ejecuta un cálculo con los
datos de ese campo.

7.4 ENTORNO DE SQL EN ACCESS 2010. VISTA SQL


Los pasos a seguir para habilitar el entorno de edición de SQL en Access
son los siguientes:

1. Haga clic en la opción Diseño de consulta del grupo Consultas de la ficha


Crear (figura 7-1).

2. A continuación cierre el cuadro Mostrar tabla de la Figura 7-2 y haga clic


en el icono Vista SQL de la barra de estado (o se elige Vista SQL en el
menú Ver) para situamos sobre el editor de consultas SQL (figura 7-3)
habilitándose la ficha Herramientas de consulta con la subficha Diseño.

3. Escriba la consulta en el editor y haga clic en Ejecutar en el grupo Resultados


(figura 7-4) para obtener los resultados de la consulta (figura 7-5).

4. Para diseñar una nueva consulta SQL vuelva a hacer clic en el icono Vista
SQL de la barra de estado o se elige Vista SQL en el menú Ver (figura
7-6).

Figura 7-1

diosestinta.blogspot.com
© RA-MA CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 369

Figura 7-2

Figura 7-3

Figura 7-4

diosestinta.blogspot.com
370 ACCESS 2010. CURSO PRÁCTICO _________________________________ © RA-MA

Figura 7-5

Figura 7-6

diosestinta.blogspot.com
© RA-MA ______________________________________CAPÍTULO 7. LENGUAJE SQL DE ACCESS 2010 371

7.5 LENGUAJE DE DEFINICIÓN DE DATOS DDL


Las sentencias SQL de definición de datos son utilizadas para crear
(CREATE), alterar (ALTER) o borrar (DROP) objetos de base de datos, tales como
tablas, columnas y vistas.

7.5.1 Sentencia CREATE TABLE


Esta sentencia se utiliza para crear nuevas tablas en una base de datos
existente. Su sintaxis es la siguiente:
CREATE [TEMPORARY] TABLE tabla (
Campo1 tipo [(tamaño)] [NOT NULL] [WITH COMPRESSION] [índice1] [,
campo2 tipo [(tamaño)] [NOT NULL] [Índice2] [, ...]] [,
CONSTRAINT índicedevarioscampos [, ...]])

Donde tabla es el nombre de la tabla que se va a crear. Los argumentos


campo1, campo2... son los nombres de los campos que se van a crear en la nueva
tabla. Debe crear al menos un campo. El argumento tipo define el tipo de datos de
campo de la nueva tabla. El argumento tamaño define el tamaño del campo en
caracteres (sólo en campos de texto y campos binarios). Los argumentos índice1,
índice2... son índices simples que habitualmente pueden definirse con la cláusula
CONSTRAINT que define un índice de un solo campo o de varios campos como
en el caso del argumento índicedevarioscampo, así como otras restricciones. Los
corchetes indican que las opciones son optativas y no aparecen en la sintaxis real.

Si se especifica NOT NULL en un campo, se requiere que los nuevos


registros tengan datos válidos en ese campo. Una cláusula CONSTRAINT
establece varias restricciones en un campo y se puede utilizar para establecer la
clave principal, que es uno o más campos (columnas) cuyos valores identifican de
manera exclusiva cada registro de una tabla. Una clave principal no puede permitir
valores Nulo y debe tener siempre un índice exclusivo. Una clave principal se
utiliza para relacionar una tabla con claves externas de otras tablas. También puede
utilizar la instrucción CREATE INDEX para crear una clave principal o índices
adicionales en tablas existentes.

El atributo TEMPORARY para una tabla indica que ésta es visible sólo en la
sesión en la cual se ha creado y se elimina automáticamente cuando se termina la
sesión. A las tablas temporales pueden obtener acceso varios usuarios. El atributo
WITH COMPRESSION puede utilizarse sólo con los tipos de datos CHARACTER
y MEMO (conocidos también como texto) y sus sinónimos. Si se define una columna
CHARACTER con este atributo, los datos se comprimirán automáticamente cuando
se almacenen y se descomprimirán cuando se recuperen de la columna.

diosestinta.blogspot.com
372 ACCESS 2010. CURSO PRÁCTICO ___________________________________________________ ©RA-MA

La cláusula CONSTRAINT se utiliza en las instrucciones CREATE TABEE


y ALTER TABEE para crear o eliminar restricciones. Hay dos tipos de cláusulas
CONSTRAINT, una para crear una restricción en un único campo y otra para crear
una restricción en más de un campo. Sus sintaxis habituales son las siguientes:

Restricción de un único campo:


CONSTRAINT nombre {PRIMARY KEY | UNIQUE | NOT NULL |
REFERENCES tablaexterna [(campoexterno1, campoexterno2)]
[ON UPDATE CASCADE | SET NULL]
[ON DELETE CASCADE | SET NULL]}

Restricción de varios campos:


CONSTRAINT nombre
{PRIMARY KEY (principal1[, principal2 [, ...]]) |
UNIQUE (única1[, única2 [, ...]]) |
NOT NULL (nonulo1[, nonulo2 [, ...]]) |
FOREIGN KEY [NO INDEX] (ref1[, ref2 [, ...]]) REFERENCES tablaexterna
[(campoexterno1 [, campoexterno2 [, ...]])]
[ON UPDATE CASCADE | SET NULL]
[ON DELETE CASCADE | SET NULL]}

El argumento nombre indica el nombre de la restricción que se va a crear.


Los argumentos principal1, principal2... indican el nombre del campo o campos
que se van a designar como clave principal. Los argumentos única1, única2...
indican el nombre del campo o campos que se van a designar como clave única.
Los argumentos nonulo1, nonulo2... indican el nombre del campo o campos que se
van a restringir a valores no nulos. Los argumentos ref1, ref2... indican el nombre
del campo o campos de clave externa que hacen referencia a campos de otra tabla.
El argumento tablaexterna indica el nombre de la tabla externa que contiene el
campo o campos especificados en campoexterno. Los argumentos campoexterno1,
campoexterno2... indican el nombre del campo o campos de tablaexterna
especificados en ref1, ref2... Puede omitir esta cláusula si el campo al que se hace
referencia es la clave principal de tablaexterna.

La cláusula CONSTRAINT tiene como finalidad esencial definir las restricciones de


integridad.
Para diseñar las tablas, es necesario identificar los valores válidos para cada
columna y decidir cómo se debe exigir la integridad de los datos de la columna. SQL
proporciona varios mecanismos para exigir la integridad de los datos de una
columna, entre los que destacan restricciones PRIMARY KEY, restricciones
FOREIGN KEY, restricciones UNIQUE y permitir o no valores NULL.

diosestinta.blogspot.com
©RA-MA CAPITUI.O 7. LF.NGUAJF. SQL DE ACCESS 2010 373

Se denomina clave principal o clave primaria de una tabla a una columna o


una combinación de columnas cuyos valores identifican de forma única cada fila de
la tabla (valores únicos que no pueden repetirse). Una clave principal se crea
mediante la definición de una restricción PRIMARY KEY cuando cree o modifique
una tabla. Una tabla sólo puede tener una restricción PRIMARY KEY, y ninguna
columna a la que se aplique una restricción PRIMARY KEY puede aceptar valores
NULL. Si especifica una restricción PRIMARY KEY en una tabla, SQL exige la
exclusividad de los datos mediante la creación de un índice único para las columnas
de clave principal. Este índice también permite un acceso rápido a los datos cuando
se utiliza la clave principal en las consultas. Si se define una restricción PRIMARY
KEY para más de una columna, puede haber valores duplicados dentro de la misma
columna pero cada combinación de valores de todas las columnas de la definición de
la restricción PRIMARY KEY debe ser única.

Como ejemplo (figura 7-7) definiremos sobre el entorno SQL de Access 2010
en la base de datos PRUEBA la tabla EMPLEO con los campos NOMBRE (carácter de
longitud 25 sin admitir nulos), EDAD (numérico) y ALOJAMIENTO (carácter de
longitud 15) siendo la clave primaria (EDAD, ALOJAMIENTO).

Figura 7-7
Una clave externa o clave foránea (FK) es una columna o combinación de
columnas que se utiliza para establecer y exigir un vínculo entre los datos de dos
tablas. Se crea un vínculo entre dos tablas al agregar en una tabla la columna o
columnas que contienen los valores de la clave principal de la otra tabla. Esta
columna se convierte en una clave externa para la segunda tabla. Puede crear una
clave externa mediante la definición de una restricción FOREIGN KEY cuando
cree o modifique una tabla. No es necesario que una restricción FOREIGN KEY
esté vinculada únicamente a una restricción PRIMARY KEY de otra tabla; también
puede definirse para que haga referencia a las columnas de una restricción
UNIQUE de otra tabla.

diosestinta.blogspot.com
374 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Una restricción FOREIGN KEY puede contener valores NULL, pero si


alguna columna de una restricción FOREIGN KEY compuesta contiene valores
NULL, se omitirá la comprobación de la restricción FOREIGN KEY. Una
restricción FOREIGN KEY puede hacer referencia a columnas de tablas de la
misma base de datos o a columnas de una misma tabla (tablas con referencia a sí
mismas). Aunque el propósito principal de una restricción FOREIGN KEY es el
de controlar los datos que pueden almacenarse en la tabla de la clave externa,
también controla los cambios realizados en los datos de la tabla de la clave
principal y asegura que no se puedan realizar cambios en los datos de la tabla de
la clave principal si esos cambios anulan el vínculo con los datos de la tabla de la
clave externa. Si se intenta eliminar la fila de una tabla de la clave principal o
cambiar un valor de clave principal, la acción no progresará si el valor de la clave
principal cambiado o eliminado corresponde a un valor de la restricción
FOREIGN KEY de otra tabla. Para cambiar o eliminar una fila de una restricción
FOREIGN KEY, antes debe eliminar los datos de la clave externa de la tabla de
la clave externa o bien cambiar los datos de la clave externa en la tabla de la
clave externa y vincular, de ese modo, la clave externa con otros datos de clave
principal.

Como ejemplo (figura 7-8) crearemos sobre el entorno SQL de Access


2010 en la base de datos PRUEBA la tabla PROBLEMA con los campos
CIUDAD (carácter de tamaño 15), FECHAMUESTRA (tipo fecha sin admitir
valores nulos), MEDIODÍA (numérico) y MEDIANOCHE (numérico) utilizando
como clave externa de la clave primaria (MEDIANOCHE, CIUDAD) las
columnas (EDAD, ALOJAMIENTO) de la tabla EMPLEO creada en el ejemplo
anterior. Usamos la cláusula CONSTRAINT para nombrar todas las restricciones,
incluida la clave primaria.

Figura 7-8

diosestinta.blogspot.com
© RA-MA CAPÍTULO 7. LENGUAJE SQL DE ACCESS 2010 375

Las restricciones de integridad referencial en cascada permiten definir las


acciones que SQL lleva a cabo cuando un usuario intenta eliminar o actualizar una
clave a la que apuntan las claves externas existentes. Las cláusulas REFERENCES
de las instrucciones CREATE TABLE y ALTER TABLE admiten cláusulas ON
DELETE CASCADE, ON UPDATE CASCADE y ON UPDATE SET NULL.
CASCADE permite la eliminación o actualización de valores de clave en cascada en
las tablas definidas para tener relaciones de claves externas que pueden volver a
trazarse en la tabla en la que se realizan las modificaciones.

ON DELETE CASCADE especifica que si se intenta eliminar una fila con


una clave a la que hacen referencia claves externas de filas existentes en otras tablas,
todas las filas que contienen dichas claves externas también se eliminan. Si las acciones
refereneiales en cascada se han definido también en las tablas de destino, las acciones
en cascada especificadas se toman también para las filas eliminadas de dichas tablas.

ON UPDATE CASCADE especifica que si se intenta actualizar una fila con


una clave a la que hacen referencia claves externas de filas existentes en otras tablas,
todas las filas que contienen dichas claves externas también se actualizan.

ON UPDATE SET NULL especifica que si se intenta actualizar una fila con
una clave a la que hacen referencia claves externas de filas existentes en otras tablas,
todas las filas que contienen dichas claves externas se configuran automáticamente con
el valor NULL.

Se utiliza el modificador NO INDEX para que no se lleve a cabo la creación


automática de índices para las claves externas.

Como ejemplo (figura 7-9) construimos la tabla CLIENTES con los campos
IDCLIENTE (clave primaria con valores enteros) y APELLIDOCLIENTE
(carácter de longitud 50). Construimos también la tabla PEDIDOS (figura 7-10)
con los campos IDPEDIDO (clave primaria con valores enteros), IDCLIENTE
(valores enteros) y NOTASPEDIDO (carácter de longitud 225), de modo que la
clave externa de IDCLIENTE sea el campo del mismo nombre en la tabla
CLIENTES. Se exige, además, que cuando se elimine un cliente de la tabla
CLIENTES, también se eliminen todas las filas de la tabla PEDIDOS que
contienen el mismo valor para el identificador de cliente. ¿Cómo sería la sintaxis
para que al eliminar un cliente de la tabla CLIENTES, todas las claves externas
correspondientes de la tabla PEDIDOS se configuren con el valor NULL? En la
figura 7-11 se resuelve esta última cuestión.

diosestinta.blogspot.com
376 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Figura 7-9

Figura 7-10

Figura 7-11

También pueden utilizarse restricciones UNIQUE para asegurar que no se


escriban valores duplicados en columnas específicas que no formen parte de una
clave principal. Aunque tanto una restricción UNIQUE como PRIMARY KEY
exigen que los elementos sean únicos, es preferible utilizar una restricción UNIQUE
en vez de una restricción PRIMARY KEY cuando desee exigir la unicidad de una
columna o una combinación de columnas que no sea la clave principal, teniendo
presente que en una tabla se puede definir varias restricciones UNIQUE, pero sólo
una restricción PRIMARY KEY.

También es muy importante que las restricciones UNIQUE pueden definirse en


columnas que aceptan valores NULL, mientras que las restricciones PRIMARY KEY
sólo pueden definirse en columnas que no aceptan valores NULL. También es posible
hacer referencia a una restricción UNIQUE con una restricción FOREIGN KEY.

diosestinta.blogspot.com
©RA-MA CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 377

La aceptación de valores NULL de una columna determina si las filas de una


tabla pueden contener un valor NULL en esa columna. Un valor NULL es distinto de
cero (0), de blanco o de una cadena de caracteres de longitud cero, como NULL
significa que no hay ninguna entrada. Su presencia suele implicar que el valor es
desconocido o no definido. En general, evite la aceptación de valores NULL dado
que pueden implicar una mayor complejidad en las consultas y en las
actualizaciones; por otra parte, hay otras opciones para las columnas, como las
restricciones PRIMARY KEY, que no pueden utilizarse con columnas que aceptan
valores NULL.

Consideramos como ejemplo completo la base de datos PERSONAL creada


en el Ejercicio 3-1 con cuatro tablas de nombres: EMPLEADO (empleados de la
empresa), OFICIOEMPLEADO (empleados con su oficio), VIVIENDA (alojamiento
de los empleados) y OFICIO (relación de oficios), cuyos campos y registros ya fueron
especificados en el Ejercicio 2-1. En la tabla VIVIENDA tenemos como restricción
de integridad que el campo Alojamiento es clave única. En la tabla EMPLEADO
tenemos que el campo Nombre es clave única, siendo el campo Alojamiento la clave
externa de la tabla VIVIENDA. En la tabla OFICIOEMPLEADO la clave única está
formada por los campos Nombre y Oficio simultáneamente. Por último, en la tabla
OFICIO la clave única está formada por los campos Oficio y Descripción
simultáneamente. A través de la sentencia CREATE TABLE de Access SQL
crearemos las tablas de la base de datos PERSONAL.

Es conveniente tener presente el diseño adecuado de la base de datos


PERSONAL estudiado anteriormente y expuesto en la figura 7-12. La sintaxis de
creación de sus tablas se presenta en las figuras 7-13 a 7-16.

Figura 7-12

diosestinta.blogspot.com
378 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Figura 7-13

Figura 7-14

Figura 7-15

diosestinta.blogspot.com
© RA-MA CAPÍTULO 7. LENGUAJE SQL DE ACCESS 2010 379

Figura 7-16

7.5.2 Sentencia CREATE INDEX


En Access SQL se crean índices con la sentencia CREATE INDEX. Un
índice es una estructura que proporciona un acceso rápido a las filas de una tabla en
base a los valores de una o más columnas. Los índices de las bases de datos son
similares a los índices que hay en los libros. En un libro, un índice permite
encontrar información rápidamente sin necesidad de leer todo el libro. En una base
de datos, un índice permite que el programa de la base de datos busque datos en
una tabla sin necesidad de examinar toda la tabla. El índice de un libro es una lista
de palabras con los números de las páginas en las que se encuentra cada palabra.
Un índice de una base de datos es una lista de los valores de una tabla con las
posiciones de almacenamiento de las filas de la tabla donde se encuentra cada
valor. Se pueden crear índices en una sola columna o en una combinación de
columnas de una tabla.

La sintaxis de CREATE INDEX es la siguiente:

CREATE [ UNIQUE ] INDEX índice


ON tabla (campo [ASC|DESC][, campo [ASC|DESC], ...])
[WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]

En la sintaxis anterior, índice especifica el nombre del índice que se va a


crear, tabla especifica el nombre de la tabla existente que va a contener el índice y
campo especifica el nombre del campo o campos que se van a indizar. Para crear un
índice de un único campo, incluya el nombre del campo entre paréntesis a
continuación del nombre de tabla. Para crear un índice de varios campos, utilice la
palabra reservada DESC, ya que, de lo contrario, se supone que los índices están en
orden ascendente. La palabra reservada UNIQUE se utiliza para impedir que
aparezcan valores duplicados en el campo o campos indizados de registros
diferentes.

diosestinta.blogspot.com
380 ACCESS 2010. CURSO PRACTICO ©RA-MA

La cláusula opcional WITH permite aplicar reglas de validación de datos.


La palabra reservada PRIMARY designa el campo o campos indizados como clave
principal, lo que implica que la clave será única y no será necesario utilizar la
palabra reservada UNIQUE (no utilice la palabra reservada PRIMARY cuando
cree un índice nuevo en una tabla que ya tiene una clave principal). Mediante la
opción DISALLOW NULL se impiden entradas NULL en el campo o campos
indizados de los nuevos registros. Mediante la opción IGNORE NULL se evita que
se incluyan en el índice registros con valores NULL en el campo o campos
indizados.

Como ejemplo, en la figura 7-17 se crea un índice de nombre INDICES en


el campo NOMBRE de la tabla EMPLEO de la base de datos PRUEBA.

Figura 7-17

7.5.3 Sentencia ALTER TABLE


En Access SQL se modifican tablas con la sentencia ALTER TABLE. Es
posible agregar, modificar o eliminar columnas. Se puede cambiar el nombre, la
longitud, el tipo de datos, la precisión, la escala y la aceptación de valores NULL de la
columna, aunque hay algunas restricciones. Esta sentencia permite agregar o eliminar
restricciones PRIMARY KEY y FOREIGN KEY y agregar o eliminar restricciones
UNIQUE y CHECK, así como definiciones (y objetos) DEFAULT. También permite
registrar una tabla y las columnas seleccionadas para la indización de texto.
La sintaxis de ALTER TABLE es la siguiente:

ALTER TABLE tabla {ADD {COLUMN tipo de campo[(tamaño)] [NOT NULL]


[CONSTRAINT índice] |
ALTER COLUMN tipo de campo[(tamaño)] |
CONSTRAINT índicedevarioscampos} |
DROP {COLUMN campo I CONSTRAINT nombredeíndice} }

diosestinta.blogspot.com
© RA-MA CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 381

En la sintaxis anterior, tabla es el nombre de la tabla que se va a modificar,


campo especifica el nombre del campo que se va a agregar o a eliminar de tabla (o bien
el nombre del campo que se va a modificar en tabla), tipo especifica el tipo de datos de
campo, tamaño especifica el tamaño del campo en caracteres (sólo en campos de texto
y campos binarios), índice especifica el índice de campo, índicedevarioscampos
especifica la definición de un índice de varios campos que se va a agregar a tabla y
nombredeíndice especifica el nombre del índice de varios campos que se va a eliminar.
ADD COLUMN permite agregar un campo nuevo a la tabla especificando el nombre
del campo, el tipo de datos y un tamaño opcional (para campos de tipo Text y Binary).
También puede definirse un índice en ese campo con la cláusula CONSTRAINT. Si se
especifica NOT NULL para un campo, se exigirá que los registros nuevos tengan datos
válidos en ese campo. Como ejemplo, en la figura 7-18 se agrega un campo de tipo
Text de 25 caracteres llamado Notas a la tabla Empleo de la base de datos PRUEBA.
ALTER COLUMN permite cambiar el tipo de datos de un campo existente
especificando el nombre del campo, el nuevo tipo de datos y un tamaño opcional para
campos de tipo Text y Binary. Por ejemplo, la sintaxis de la figura 7-19 cambia el tipo
de datos del campo Notas de la tabla Empleo (definido anteriormente con texto de 25
caracteres) a un campo de tipo texto de 100 caracteres. ADD CONSTRAINT permite
agregar restricciones tal y como hemos visto en CREATE TABLE (por ejemplo, en la
figura 7-20 se crea la tabla SALGRADE y en la figura 7-21 se le añade una clave
primaria al campo grade). DROP COLUMN permite eliminar un campo especificando
solamente el nombre del campo. DROP CONSTRAINT permite eliminar un índice de
múltiples campos especificando solamente el nombre del índice a continuación de la
palabra reservada CONSTRAINT. En la figura 7-22 se crea la tabla TI 1 con una
restricción de clave externa, en la figura 7-23 se elimina la restricción y en la figura
7-24 se elimina la columna el de la tabla.

Figura 7-18

diosestinta.blogspot.com
382 ACCESS 2010. CURSO PRACTICO ©RA-MA

Figura 7-19

Figura 7-20

Figura 7-21

diosestinta.blogspot.com
© RA-MA CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 383

Figura 7-22

Figura 7-23

Figura 7-24

diosestinta.blogspot.com
384 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Hay que tener presente que no se puede agregar o eliminar más de un


campo o índice a la vez. Por otro lado, es posible utilizar la instrucción CREATE
INDEX para agregar un índice de uno o múltiples campos a una tabla y puede
utilizarse la instrucción ALTER TABLE o DROP para eliminar un índice creado
con la instrucción ALTER TABLE o CREATE INDEX. También es posible
utilizar NOT NULL en un único campo o dentro de una cláusula CONSTRAINT
con nombre que se aplique a CONSTRAINT de uno o varios campos con
nombre. Sin embargo, sólo se puede aplicar la restricción NOT NULL una vez a
un campo. Si se intenta aplicar esta restricción más de una vez, se producirá un
error en tiempo de ejecución.

7.5.4 Sentencia DROP


En Access SQL se borran tablas con la sentencia DROP TABLE. En un
sentido más amplio, la sentencia DROP se utiliza para borrar tablas, índices,
procedimientos y vistas. Su sintaxis es la siguiente:
DROP {TABLE tabla | INDEX índice ON tabla | PROCEDURE
procedimiento | VIEW vista}

En la sintaxis anterior, tabla es el nombre de la tabla que va a ser


eliminada o de la cual va a ser eliminado un índice, procedimiento es el nombre
del procedimiento que se va a eliminar, vista es el nombre de la vista que se va a
eliminar e índice es el nombre del índice que se va a eliminar de tabla.

La sentencia DROP TABLE permite borrar tablas completas de la base


de datos. Esta sentencia suprime las tablas que se especifican en su sintaxis y
valida los cambios pendientes en la base de datos.

Únicamente un administrador de la base de datos puede suprimir tablas


de otros usuarios. Al suprimir una tabla también se suprimen los índices y las
conexiones asociadas a ella.

Para eliminar un índice de una tabla debe cerrar la tabla previamente.


Puede usar CREATE TABLE para crear una tabla y CREATE INDEX o ALTER
TABLE para crear o eliminar un índice. Para modificar una tabla se usa ALTER
TABLE.

Como ejemplos, en la figura 7-25 se crea en la tabla t11 sobre el campo


c2 el índice de nombre t11_id. En la figura 7-26 se borra dicho índice y en la
figura 7-27 se borra la propia tabla t11.

diosestinta.blogspot.com
© RA-MA CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 385

Figura 7-25

Figura 7-26

Figura 7-27

diosestinta.blogspot.com
386 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

7.6 LENGUAJE DE MODIFICACIÓN DE DATOS DML


El lenguaje SQL (Structured Query Languagé) de Microsoft Access 2010
incluye la categoría de sentencias denominada lenguaje de modificación de datos
DML (Data Modification Language). Dichas sentencias se utilizan para manipular,
alterar o borrar objetos de base de datos, tales como tablas, columnas e índices. Las
sentencias más importantes de este grupo son INSERT, UPDATE, DELETE y
especialmente la sentencia SELECT.

7.6.1 Sentencia INSERT


Esta sentencia se utiliza para agregar una o más filas a una tabla. Su
sintaxis simplificada es la siguiente:

INSERT [INTO] tabla [(lista_de columnas)] VALUES valores_de_datos

Donde tabla es el nombre de la tabla en la que se van a insertar los datos,


lista_de_columnas es una lista separada por comas de los nombres de las columnas
para las que se suministran datos (si no se especifica lista_de_columnas, todas las
columnas de la tabla recibirán datos) y valores de datos es una lista separada por
comas que contiene los valores que se insertarán como una o más filas en la tabla
que se nombra (los valores de cadena se situarán entre comillas simples). La lista de
valores de datos suministrados debe corresponderse con la lista de columnas. El
número de valores de datos debe ser el mismo que el número de columnas y el tipo de
datos, precisión y escala de cada valor de datos deben coincidir con los de la columna
correspondiente. La finalidad esencial de la lista de columnas en la sentencia INSERT es
hacer corresponder los valores de datos en la cláusula VALUES con las columnas que
van a recibirlos. La lista de valores y la lista de columnas deben contener el mismo
número de elementos y el tipo de dato de cada valor debe ser compatible con el tipo de
datos de la columna correspondiente, o en caso contrario se producirá un error.

Como ejemplo crearemos en la base de datos PRUEBA las tablas DEPT y EMP
con las columnas que se especifican en las figuras 7-28 y 7-29, de modo que la tabla
DEPT tenga como clave primaria el campo DEPTNO, la tabla EMP tenga como clave
primaria el campo EMPNO y como clave foránea el campo DEPTNO referenciado con
el mismo campo de la tabla DEPT. A continuación se inserta una fila de datos
completa en la tabla DEPT (figura 7-30) y una fila con sólo dos columnas en la tabla
EMP (figura 7-31). En este último caso, en las columnas no citadas en INSERT se
sitúan valores NULL). Cuando SQL inserta una nueva fila de datos en una tabla,
automáticamente asigna un valor NULL a cualquier columna cuyo nombre falte de la
lista de columnas de la sentencia INSERT.

diosestinta.blogspot.com
© RA-MA ______________________________________ CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 387

La asignación de valores NULL también puede realizarse incluyendo las


columnas afectadas en la lista y especificando la palabra clave NULL en los propios
valores, tal y como se muestra en la sentencia de la figura 7-32.

En las figuras 7-30 a 7-32 se observa que Access pide la confirmación de la


inserción de cualquier valor en las tablas.

Figura 7-28

Figura 7-29

diosestinta.blogspot.com
388 ACCESS 2010. CURSO PRACTICO ©RA-MA

Figura 7-30

Figura 7-31

diosestinta.blogspot.com
© RA-MA CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 389

Figura 7-32

Como ejemplo adicional consideramos ahora la base de datos PERSONAL


creada en el Ejercicio 3-1 con cuatro tablas de nombres: EMPLEADO (empleados de
la empresa), OFICIOEMPLEADO (empleados con su oficio), VIVIENDA
(alojamiento de los empleados) y OFICIO (relación de oficios), cuyos campos y
registros ya fueron especificados en el Ejercicio 2-1 y cuyas tablas ya fueron creadas
anteriormente en este capítulo. Las figuras 7-33 a 7-36 muestran ejemplos de la
introducción de datos en sus tablas (un registro para cada tabla). Sólo puede
ejecutarse una sentencia INSERT a la vez, con lo que habrá que insertar los datos en
las tablas fila a fila. No obstante, es posible insertar varias filas a la vez mediante la
sentencia INSERT INTO...SELECT, cuya sintaxis se abordará después de estudiar
la sentencia SELECT.

Figura 7-33

diosestinta.blogspot.com
390 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Figura 7-34

Figura 7-35

Figura 7-36

diosestinta.blogspot.com
© RA-MA CAPÍTULO 7. LENGUAJE SQL DE ACCESS 2010 391

La sintaxis completa para la inserción de todos los datos de la tabla


VIVIENDA es la siguiente;
INSERT INTO vivienda VALUES ('PARACUELLOS' , 'PARACUELLOS JARAMA', 'ALONSO TELLEZ' , 'ELIPA, 12') ;
INSERT INTO vivienda VALÜES ('VALLECAS' , ' PUENTE VALLECRS ' , ' EZQUERRO TOMÉ ' , ' MUSAS, 1') ;
INSERT INTO vivienda VALUES ('PONCE' , ' PONCE LEÓN', 'GONZÁLEZ LÓPEZ', 'PONCE, 23');
INSERT INTO vivienda VALUES ('TOLEDO', 'PUERTA TOLEDO', 'JUÁREZ NORIEGA', 'TOLEDO, 25');
INSERT INTO vivienda VALUES ('BARAJAS', 'BARAJAS PUEBLO', 'PÉREZ LÓPEZ', 'ELOY, 2');
INSERT INTO vivienda VALUES ('BRASILIA', 'PARQUE BRASILIA', 'TEJERINA RUIZ', 'BRASILIA, 3');
INSERT INTO vivienda VALUES ('PITIS', 'ESTACIÓN PITIS', 'VÁZQUEZ LÓPEZ', 'PONCE, 46');

La sintaxis completa para la inserción de todos los datos de la tabla


EMPLEADO es la siguiente:
INSERT INTO empleado VALÜES ('ALONSO TELLEZ', 23, 'PARACUELLOS');
INSERT INTO empleado VALUES ('DÍAZ JIMÉNEZ', 18, 'BARAJAS');
INSERT INTO empleado VALUES ('EZQUERRO TOMÉ', 43, 'VALLECAS’);
INSERT INTO empleado VALUES ('GONZÁLEZ ORBEA', 41, 'BARAJAS');
INSERT INTO empleado VALUES ('PÉREZ LÓPEZ', 21, 'BARAJAS’);
INSERT INTO empleado VALUES {’VÁZQUEZ LÓPEZ', 67, 'PITIS’);
INSERT INTO empleado VALUES {'GONZÁLEZ LÓPEZ', 23, 'PONCE');
INSERT INTO empleado VALUES ('JUÁREZ NORIEGA’, 25, 'TOLEDO');
INSERT INTO empleado VALUES ('TEJERINA RUIZ',31, 'BRASILIA');
INSERT INTO empleado VALUES ('ÁLVAREZ RODRÍGUEZ', 23, 'PARACUELLOS');
INSERT INTO empleado VALUES ('DONOSO ANTÓN', 18, 'BARAJAS');
INSERT INTO empleado VALUES ('EGUÍBAR PUENTE', 43, 'VALLECAS');
INSERT INTO empleado VALUES ('GOMEZ ORDUÑA', 41, 'BARAJAS');
INSERT INTO empleado VALUES ('PAVÓN LÓPEZ', 21, 'BARAJAS');
INSERT INTO empleado VALUES ('PANADERO JUAN', 21, 'BARAJAS');

La sintaxis completa para la inserción de todos los datos de la tabla OFICIO


es la siguiente:
INSERT INTO oficio VALUES ('HERRERO', 'HERRAR CABALLOS');
INSERT INTO ofici o VALUES ('C ONDUCTOR', 'CONDU CTOR DE AU TOBÚS');
INSERT INTO ofici o VALUES ( 'LEÑADOR', 'TALAR ÁRBOLES ')/
INSERT INTO oficio VALUES ('OBRERO', 'TRABAJAR EN GENERAL');
INSERT INTO oficio VALUES ('LABRADOR', 'CULTIVAR LA TIERRA');
INSERT INTO oficio VALUES ('PICADOR', 'PICAR EN LOS TÚNELES DEL METRO');

La sintaxis completa para la inserción de todos los datos de la tabla


OFICIOEMPLEADO es la siguiente:
INSERT INTO oficioempleado VALUES ('ALONSO TELLEZ', 'HERRERO', 'EXCELENTE');
INSERT INTO oficioempleado VALUES ('DÍAZ JIMÉNEZ', 'HERRERO', 'EXCELENTE');
INSERT INTO oficioempleado VALÜES ('DORADO RODRÍGUEZ', 'CONDUCTOR', 'EXCELENTE');
INSERT INTO oficioempleado VALUES ('EZQUERRO TOMÉ', 'LEÑADOR', 'BUENO');
INSERT INTO Oficioempleado VALUES ('GONZÁLEZ ORBEA', 'HERRERO', 'PRECISO');
INSERT INTO oficioempleado VALUES ('PÉREZ LÓPEZ', 'CONDUCTOR', 'RÁPIDO');
INSERT INTO oficioempleado VALUES ('PEDRERO LÁINEZ', 'OBRERO', 'NORMAL');
INSERT INTO oficioempleado VALUES ('VÁZQUEZ LÓPEZ', 'LABRADOR', 'LENTO');
INSERT INTO oficioempleado VALUES ('DONOSO CID', 'LABRADOR', 'NORMAL');
INSERT INTO oficioempleado VALUES ('GONZÁLEZ LÓPEZ', 'HERRERO', 'EXCELENTE');
INSERT INTO oficioempleado VALUES ('JUÁREZ NORIEGA', 'CONDUCTOR', 'EXCELENTE');
INSERT INTO oficioempleado VALUES ('TEJERINA RUIZ', 'LEÑADOR', 'BUENO');
INSERT INTO oficioempleado VALUES ('ALVAREZ RODRÍGUEZ', 'CONDUCTOR', 'RÁPIDO');
INSERT INTO oficioempleado VALUES ('DONOSO ANTÓN', 'HERRERO', 'PRECISO');
INSERT INTO oficioempleado VALUES ('DARÍO RODRÍGUEZ', 'OBRERO', 'NORMAL');
INSERT INTO oficioempleado VALUES ('EGUÍBAR PUENTE', 'LABRADOR', 'LENTO');
INSERT INTO oficioempleado VALUES ('GOMEZ ORDUÑA', 'HERRERO', 'EXCELENTE');
INSERT INTO oficioempleado VALUES ('PAVÓN LÓPEZ', 'CONDUCTOR', 'EXCELENTE');
INSERT INTO oficioempleado VALUES ('PANADERO JUAN', 'PICADOR', 'PRECISO');

diosestinta.blogspot.com
392 ACCESS 2010. CURSO PRÁCTICO © RA-MA

7.6.2 Sentencia UPDATE


Esta sentencia se utiliza para actualizar filas en las tablas ya existentes. Su
sintaxis básica es la siguiente:
UPDATE tabla
SET {columna = expresión [, columna = expresión]...}
[WHERE condición];

El argumento tabla indica el nombre de la tabla en la que se van a actualizar


los datos, SET contiene una lista separada por comas de las columnas que deben
actualizarse y el nuevo valor de cada columna con el formato columna = expresión.
El valor suministrado por las expresiones incluye elementos tales como constantes,
valores seleccionados de una columna de otra tabla o vista, o valores calculados por
una expresión compleja. Las columnas que se igualen a expresiones deben preceder a
las columnas entre paréntesis que se igualen a subconsultas, todo dentro de una única
sentencia UPDATE. WHERE especifica la condición de búsqueda que define las
filas de las tablas de origen que están calificadas para proporcionar valores para las
expresiones de la cláusula SET. La sentencia UPDATE es muy útil para cambiar
muchos registros o cuando los registros que desea cambiar están en varias tablas. Es
posible cambiar varios campos al mismo tiempo. Hay que tener presente que después
de actualizar registros mediante una consulta de actualización, no se puede
deshacer la operación, por lo que es conveniente realizar copia de seguridad de la
información antes de realizar la actualización. En la figura 7-37 se actualiza la tabla
EMP de la base de datos PRUEBA aumentando el salario en 100 unidades y la
comisión un 5% para los empleados cuyo identificador está entre 6000 y 10000.

Figura 7-37

diosestinta.blogspot.com
© RA-MA CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 393

Si en la consulta anterior se omite la cláusula WHERE, se actualizarán todas


las filas de la tabla destino, es decir, la actualización del salario y de la comisión se
realizará para todos los empleados.

7.6.3 Sentencia DELETE


Esta sentencia se utiliza para eliminar filas en las tablas ya existentes. Su
sintaxis básica es la siguiente:
DELETE FROM tabla
[WHERE condición];

El argumento tabla indica el nombre de la tabla en la que se van a eliminar


las filas de datos y se eliminarán todas las filas de la tabla que cumplan los requisitos
de la condición especificada en la cláusula WHERE. Cuando no se especifica
WHERE se eliminarán todas las filas de la tabla. Como ejemplo, la sintaxis de la
figura 7-38 elimina de la tabla EMP los empleados cuya comisión es mayor que 100.

Figura 7-38

La diferencia entre DROP TABLE y DELETE está en que DROP elimina la


tabla incluida su estructura, mientras que DELETE borra sólo determinado contenido
de la tabla y conserva su estructura. Si en la figura 7-38 no se especifica la cláusula
WHERE, se borrará el contenido completo de la tabla, pero no la propia tabla.

diosestinta.blogspot.com
394 ACCESS 2010. CURSO PRACTICO ©RA-MA

7.7 LENGUAJE DE CONSULTA DE DATOS DQL.


SENTENCIA SELECT
La sentencia SELECT se utiliza para obtener registros de la base de datos.
Habitualmente esta sentencia es la primera que se estudia en el lenguaje SQL e
incluso algunos autores la incluyen en una nueva categoría de sentencias SQL
denominada lenguaje de consulta de datos DQL (Data Query Language). Es con
diferencia la sentencia más utilizada en SQL. Su sintaxis básica es la siguiente:
SELECT [predicado] { * | tabla.* | [tabla.] campo1 [AS alias1] [,
[tabla.] campo2 [AS alias2] [,...]]}
FROM expresiónTabla [,...] [IN baseDatosExterna]
[WHERE criterios]
[GROUP BY ListaCamposGrupo]
[HAVING criteriosGrupo]
[ORDER BY campo1 [AS|DESC] [,campo2 [AS|DESC]]...]
[WITH OWNERACCESS OPTION]

La tabla siguiente ilustra las cláusulas de la sentencia SELECT.

Cláusula Apartado Descripción


SELECT predicado Uno de los siguientes predicados: ALL, DISTINCT, DISTINCTROW
0 TOP para limitar el número de registros devueltos (todos, sólo los
registros que no tienen datos duplicados en los campos, sólo los
registros que no están duplicados completos o los primeros registros
respectivamente). El valor predeterminado es ALL.
* Se seleccionan todos los campos de la tabla o tablas especificadas.
tabla El nombre de la tabla que contiene los campos de la que se van a
seleccionar los registros.
campo1, campo2 Nombres de los campos que contienen los datos que desea recuperar.
Si incluye más de un campo, se recuperarán en el orden enumerado.
AS alias1, AS Los nombres que se van a usar como encabezados de columnas en
alias2 vez de los nombres de columnas originales en tabla (renombrar).
FROM expresiónTabla Expresión que identifica a una o más tablas de las que se van a
recuperar datos. La expresión puede ser un nombre de tabla único, un
nombre de consulta guardada o una composición resultante de una
cláusula INNER JOIN, LEFT JOIN o RIGHT JOIN.
baseDatosExterna La ruta completa de una base de datos externa que contiene todas las
tablas en expresiónTabla.
WHERE criterios Expresiones que deben cumplir los registros a obtener (¿Qué registros se
seleccionan?). Se usan hasta 40 expresiones vinculadas por operadores
lógicos (And, Or y NOT), cláusula IN de pertenencia a un conjunto,
cláusula BETWEEN...AND de contraste de rango y cláusula IS NULL.
GROUP listaCamposGrupo Nombres de hasta 10 campos que se van a usar para agrupar registros.
BY El orden de los nombres de los campos en listaCamposGrupo fija los
niveles de agrupamiento desde el más alto hasta el más bajo.
HAVING criteriosGrupo Expresión que determina qué registros agrupados se van a mostrar.
ORDER BY Campos[AS|DESC] Campos por los que se va a ordenar (ascendente o descendente).
WITH... Usuario de ejecución con los permisos del propietario de la consulta.

diosestinta.blogspot.com
© RA-MA CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 395

Como primer ejemplo, en la base de datos EDUCA visualizar todos los


departamentos académicos que ofrezcan cursos, de modo que no aparezcan valores
duplicados en la salida de datos. Además, para cada curso con tarifa menor que
100, visualizar sin filas repetidas el departamento académico que ofrece ese curso y
el número de créditos concedidos. Las figuras 7-39 a 7-42 presentan las consultas y
los resultados.

Figura 7-39 Figura 7-40

Figura 7-41 Figura 7-42

Como segundo ejemplo, en la base de datos EDUCA obtener toda la tabla


CURSO, toda la información sobre los cursos gratuitos (tarifa nula) y toda la
información que sobre cualquier curso ofrezca el departamento de Filosofía. Las
figuras 7-43 a 7-48 presentan las consultas y los resultados.

Figura 7-43

diosestinta.blogspot.com
396 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Figura 7-44

Figura 7-45

Figura 7-46

diosestinta.blogspot.com
© RA-MA CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 397

Figura 7-47

Figura 7-48

Como tercer ejemplo, en la base de datos EDUCA, para cada valor distinto
de tarifa determinar el número total de créditos para los cursos que tengan ese valor
de tarifa. Ordenar el resultado en secuencia descendente por tarifa. Así mismo,
hallar la tarifa media para aquellos departamentos en los que dicha tarifa media sea
mayor que 100 y que ofrezcan menos de seis cursos. Las figuras 7-49 a 7-52
presentan las consultas y los resultados.

Figura 7-49 Figura 7-50

diosestinta.blogspot.com
398 ACCESS 2010. CURSO PRÁCTICO ___________________________________________________ ©RA-MA

Figura 7-51 Figura 7-52

Como cuarto ejemplo, en la base de datos EDUCA obtener toda la


información existente sobre los cursos de los departamentos de Informática y
Ciencias de la Información, Teología o Matemáticas que valgan tres créditos y con
tarifa entre 50 y 300, presentando el resultado ordenado por curso dentro de cada
departamento. Obtener también la información existente sobre todos los cursos que
no tengan una vocal como segunda letra de su nombre. Las figuras 7-53 a 7-56
presentan las consultas y los resultados.

Figura 7-53

Figura 7-54

diosestinta.blogspot.com
© RA-MA CAPITULO 7.1.ENGUAJE SQL DE ACCESS 2010 399

Figura 7-55

Figura 7-56

Como quinto ejemplo, en la base de datos EDUCA obtener toda la


información existente sobre los cursos que no pertenecen al departamento de
Informática y Ciencias de la Información o sobre cualquier curso
(independientemente de su departamento) que tenga tarifa nula y valga tres
créditos. Visualizar también la identificación de los departamentos y el nombre
del curso ordenado por código de departamento y dentro de cada departamento,
por nombre de curso. Las figuras 7-57 a 7-60 presentan las consultas y los
resultados.

diosestinta.blogspot.com
400 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Figura 7-57

Figura 7-58

Figura 7-59

diosestinta.blogspot.com
© RA-MA CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 401

Figura 7-60

7.7.1 Columnas calculadas


Se denominan columnas calculadas aquellas columnas que son el resultado
de operaciones entre otras columnas. Por ejemplo, en las figuras 7-61 y 7-62 se
obtiene la relación entre la tarifa y el número de créditos para los cursos del
departamento de Informática y Ciencias de la Información así como la tarifa media
por hora de crédito para los cursos de este departamento si la tarifa fuese
incrementada en 25.

Figura 7-61

diosestinta.blogspot.com
402 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Figura 7-62

7.7.2 Combinación de consultas con la cláusula UNION


La combinación de consultas se realiza a través de la cláusula UNION, que
permite combinar los resultados de dos o más consultas en una única tabla. Por
ejemplo, las figuras 7-63 y 7-64 visualizan consulta y resultados relativos a los
salarios del personal y del claustro de la facultad en una única tabla. Si no se desea
eliminar valores duplicados en la combinación basta con utilizar UNION ALL. Las
figuras 7-65 y 7-66 visualizan los salarios de todo el personal y del claustro de la
facultad en una única tabla sin eliminar valores duplicados en el resultado.

Figura 7-63

diosestinta.blogspot.com
©RA-MA ______________________________________ CAPÍTULO 7. LENGUAJE SQL DE ACCESS 2010 403

Figura 7-64

Figura 7-65

Figura 7-66

diosestinta.blogspot.com
404 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

7.7.3 Consultas multitabla. JOIN de dos o más tablas


Las consultas multitabla (JOIN) recuperan datos de dos o más tablas de
acuerdo a las relaciones definidas entre ellas. Un JOIN de dos tablas forma parejas
de filas de ambas haciendo coincidir los contenidos de las columnas relacionadas.
Se trata de una combinación de las dos tablas basada en la coincidencia exacta de
dos de sus columnas. Las figuras 7-67 y 7-68 presentan consulta y resultados para
seleccionar toda la información acerca del personal y sus respectivos
departamentos en la base de datos EDUCA. Así mismo, las figuras 7-69 y 7-70
presentan consulta y resultados que permiten, para cada miembro del personal cuyo
salario anual exceda de 1.000, visualizar su nombre, sueldo, código de
departamento y edificio de destino.

Figura 7-67

Figura 7-68

diosestinta.blogspot.com
© RA-MA CAPÍTULO 7. LENGUAJE SQL DE ACCESS 2010 405

Figura 7-69

Figura 7-70

Un JOIN puede involucrar a tres o más tablas. Por ejemplo, la consulta de


las figuras 7-71 y 7-72 involucra las tablas CURSO, CLASE y MATRÍCULA de la
base de datos EDUCA para producir una lista de clase para la primera sección del curso
de Existencialismo visualizando el número de curso, número de sección y nombre del
curso seguido por el número de estudiante de cada estudiante matriculado en la clase.

Figura 7-71

diosestinta.blogspot.com
406 ACCESS 2010. CURSO PRACTICO © RA-MA

Figura 7-72

7.7.4 Consultas resumen


Pueden utilizarse consultas SQL para resumir los datos mediante funciones
de agregado (SUM, AVG, STD, COUNT, COUNT(*), MAX, MIN, etc.) y a través
de cláusulas GROUP BY, HAVING y COMPUTE. También se pueden eliminar
valores duplicados con DISTINCT en las funciones de agregado SUM, AVG, STD
y COUNT.

Como primer ejemplo, en la base de datos EDUCA, para cada departamento


que ofrece servicios de tutoría, se visualiza el identificador de departamento junto con
la tarifa media de los cursos que éste ofrece y el sueldo medio de los miembros del
personal que pueden autorizar dichos cursos. Se clasifica la salida por identificador de
departamento. Las figuras 7-73 y 7-74 presentan consulta y resultados.

Figura 7-73

diosestinta.blogspot.com
©RA-MA ______________________________________ CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 407

Figura 7-74

Como segundo ejemplo, en la base de datos EDUCA, para todos los


departamentos excepto el de Teología que tienen una tarifa media de sus cursos
mayor que 100, se obtienen su identificación y su tarifa media. Las figuras 7-75 y
7-76 presentan consulta y resultados.

Figura 7-75

Figura 7-76

Como tercer ejemplo, en la base de datos EDUCA, se hallan las tarifas


media, máxima y mínima por crédito dentro de cada departamento sólo para
aquellos grupos con tarifa mínima positiva. Las figuras 7-77 y 7-78 presentan
consulta y resultados. Así mismo, las figuras 7-79 y 7-80 presentan consulta y
resultados que permiten hallar la tarifa media para aquellos departamentos en los
que dicha tarifa medía sea mayor que 100 y que ofrezcan menos de tres cursos.

Figura 7-77

diosestinta.blogspot.com
408 ACCESS 2010. CURSO PRACTICO ©RA-MA

Figura 7-78

Figura 7-79

Figura 7-80

7.7.5 Subconsultas
Se denomina subconsulta a una consulta SELECT anidada en las
instrucciones SELECT, INSERT, UPDATE o DELETE o dentro de otra
subconsulta. Hay tres tipos básicos de subconsultas, que son las que operan en listas
incorporadas con IN, o en aquéllas que modificó un operador de comparación
mediante ANY o ALL, las que se introducen con un operador de comparación sin
modificar y deben devolver un valor individual y las que son pruebas de existencia
que se introducen con EXISTS.

La lista de selección de una subconsulta presentada con un operador de


comparación sólo puede incluir una expresión o nombre de columna (excepto
EXISTS e IN, que operan en SELECT * o en una lista, respectivamente). Además, si
la cláusula WHERE de una consulta externa incluye un nombre de columna, debe ser
compatible en cuanto a combinación con la columna nombrada en la lista de
selección de la subconsulta. Por otro lado, puesto que deben devolver un valor
individual, las subconsultas presentadas por un operador de comparación sin
modificar (uno no seguido de la palabra clave ANY o ALL) no pueden incluir
cláusulas GROUP BY y HAVING.

diosestinta.blogspot.com
© RA-MA CAPÍTULO 7. LENGUAJE SQL DE ACCESS 2010 409

Por otra parte, la palabra clave DISTINCT no se puede usar con subconsultas
que incluyan GROUP BY y no se pueden especificar las cláusulas COMPUTE e
INTO. Sólo se puede especificar ORDER BY si se especifica TOP. Por último, hay
que tener presente que la lista de selección de una subconsulta presentada con EXISTS
consta, por convención, de un asterisco (*) en lugar de un nombre de columna
individual. Las reglas de una subconsulta presentada con EXISTS son idénticas a las de
una lista de selección estándar porque una subconsulta presentada con EXISTS
constituye una prueba de existencia y devuelve TRUE o FALSE en lugar de datos.

Como primer ejemplo, en la base de datos EDUCA se obtiene el número,


nombre y tarifa de los cursos con tarifa mínima no nula (figuras 7-81 y 7-82). Así
mismo, se obtiene el número, nombre y tarifa de los cursos con tarifa menor que la
media (figuras 7-83 y 7-84).

Figura 7-81 Figura 7-82

Figura 7-83 Figura 7-84

Como segundo ejemplo, en la base de datos EDUCA se obtiene el nombre


y cargo de cada miembro del personal que trabaja en el edificio de Humanidades
(figuras 7-85 y 7-86). Así mismo, se obtiene el número y nombre de cualquier
miembro de la facultad que sea jefe de cualquier departamento que ofrezca un
curso de seis créditos (figuras 7-87 y 7-88).

diosestinta.blogspot.com
410 ACCESS 2010. CURSO PRACTICO ____________________________________________________©RA-MA

Figura 7-85 Figura 7-86

Figura 7-87 Figura 7-88

Como tercer ejemplo, en la base de datos EDUCA se obtiene para cada


departamento que ofrezca cursos, el identificador de departamento y la tarifa media
de los cursos ofrecidos por el departamento, siempre y cuando sea mayor que la
tarifa media de todas las tarifas de cursos (figuras 7-89 y 7-90). Así mismo, se
visualiza el nombre y el identificador de departamento de cualquier miembro del
claustro asignado a un departamento que no ofrezca un curso de 6 créditos (figuras
7-91 y 7-92).

Figura 7-89 Figura 7-90

diosestinta.blogspot.com
©RA-MA CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 411

Figura 7-91 Figura 7-92

Como cuarto ejemplo, en la base de datos EDUCA se obtiene el nombre y


número de ayudantes para aquellos miembros de la facultad que tienen tantos
ayudantes como el número de créditos ofrecidos para cualquier curso (figuras 7-93
y 7-94).

Figura 7-93 Figura 7-94

7.8 LENGUAJE DE CONTROL DE TRANSACCIONES TCL


Dentro del lenguaje SQL (Structured Query Language) se encuentra la
categoría de sentencias que conforman el Lenguaje de Control de Transacciones
TCL (Transaction Control Language).

Las sentencias del lenguaje de control de transacciones se utilizan para


confirmar o restaurar transacciones de base de datos, que son unidades de trabajo
que realizan una o más sentencias SQL relacionadas entre sí. Como ejemplos
característicos tenemos los comandos COMMIT, ROLLBACK, SAVEPOINT y
SET TRANSACTION.

diosestinta.blogspot.com
412 ACCESS 2010. CURSO PRACTICO __________________________________________________ ©RA-MA

7.8.1 Procesamiento de transacciones


Una transacción de base de datos es una unidad de trabajo realizada por
una o más sentencias SQL estrechamente relacionadas.

Una transacción es una secuencia de operaciones realizadas como una sola


unidad lógica de trabajo. Una unidad lógica de trabajo debe exhibir cuatro
propiedades, conocidas como propiedades ACID (atomicidad, coherencia,
aislamiento y durabilidad), para ser calificada como transacción.

Atomicidad: una transacción debe ser una unidad atómica de trabajo, tanto si se
realizan todas sus modificaciones en los datos, como si no se realiza ninguna de ellas.

Coherencia: cuando finaliza, una transacción debe dejar todos los datos en un
estado coherente. En una base de datos relacional, se deben aplicar todas las reglas
a las modificaciones de la transacción para mantener la integridad de todos los
datos. Todas las estructuras internas de datos, como índices de árbol B o listas
doblemente vinculadas, deben estar correctas al final de la transacción.
Aislamiento: las modificaciones realizadas por transacciones simultáneas se deben
aislar de las modificaciones llevadas a cabo por otras transacciones simultáneas.
Una transacción ve los datos en el estado en que estaban antes de que otra
transacción simultánea los modificara o después de que la segunda transacción se
haya concluido, pero no ve un estado intermedio. Esto se conoce como seriabilidad
debido a que su resultado es la capacidad de volver a cargar los datos iniciales y
reproducir una serie de transacciones para finalizar con los datos en el mismo
estado en que estaban después de realizar las transacciones originales.
Durabilidad: una vez concluida una transacción, sus efectos son permanentes en el
sistema. Las modificaciones persisten aún en el caso de producirse un error del sistema.
Los programadores de SQL son los responsables de iniciar y finalizar las
transacciones en puntos que exijan la coherencia lógica de los datos. El
programador debe definir la secuencia de modificaciones de datos que los dejan en
un estado coherente en relación con las reglas corporativas de la organización. A
continuación, el programador incluye estas instrucciones de modificación en una
sola transacción de forma que SQL puede exigir la integridad física de la misma.
Es responsabilidad de un sistema de base de datos corporativo como Oracle SQL
proporcionar los mecanismos que aseguren la integridad física de cada transacción.
SQL proporciona:
• Servicios de bloqueo que preservan el aislamiento de la transacción.

diosestinta.blogspot.com
© RA-MA CAPÍTULO 7. LENGUAJE SQL DE ACCESS 2010 413

• Servicios de registro que aseguran la durabilidad de la transacción. Aun en el


caso de que falle el hardware del servidor, el sistema operativo o el propio SQL
utiliza registros de transacciones, al reinicio, para deshacer automáticamente las
transacciones incompletas en el momento en que se produjo el error en el
sistema.
• Características de administración de transacciones que exigen la
atomicidad y coherencia de la transacción. Una vez iniciada una
transacción, debe concluirse correctamente o SQL deshará todas las
modificaciones de datos realizadas desde que se inició la transacción.

7.8.2 Sentencia BEGIN TRANSACTION


BEGIN TRANSACTION marca el punto de inicio de una transacción local
explícita. Representa un punto en el que los datos a los que hace referencia una
conexión son lógica y físicamente coherentes. La importancia de esta sentencia
radica en que si se producen errores, se pueden deshacer todas las modificaciones
realizadas en los datos después de BEGIN TRANSACTION para devolver los
datos al estado conocido de coherencia. Cada transacción dura hasta que se
completa sin errores y se emite COMMIT TRANSACTION para hacer que las
modificaciones sean una parte permanente de la base de datos, o hasta que se
producen errores y se borran todas las modificaciones con la instrucción
ROLLBACK TRANSACTION. BEGIN TRANSACTION inicia una transacción
local para la conexión que emite la instrucción. Según la configuración del nivel de
aislamiento de la transacción actual, la transacción bloquea muchos recursos
adquiridos para aceptar las instrucciones Transact-SQL que emite la conexión hasta
que finaliza con una instrucción COMMIT TRANSACTION o ROLLBACK
TRANSACTION. Las transacciones que quedan pendientes durante mucho tiempo
pueden impedir que otros usuarios tengan acceso a estos recursos compartidos. La
sintaxis de la sentencia BEGIN TRANSACTION es la siguiente:
BEGIN TRANSACTION

Aunque BEGIN TRANSACTION inicia una transacción local, ésta no se


guardará en el registro de transacciones hasta que la aplicación realice
posteriormente una acción que se deba grabar en el registro, como la ejecución de
una instrucción INSERT, UPDATE o DELETE. Una aplicación puede realizar
acciones como, por ejemplo, adquirir bloqueos para proteger el nivel de
aislamiento de transacciones de instrucciones SELECT, pero no se guarda ningún
dato en el registro hasta que la aplicación realiza una acción.

diosestinta.blogspot.com
414 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Asignar un nombre a varias transacciones en un conjunto de transacciones


anidadas tiene poco efecto sobre la transacción. Solamente el nombre de la primera
transacción (la más externa) se registra en el sistema. Deshacer a otro nombre
(distinto a un nombre de punto guardado válido) genera un error. De hecho, no se
deshace ninguna de las instrucciones ejecutadas antes de la operación de deshacer
en el momento en que se produce este error. Sólo se deshacen las instrucciones
cuando se deshace la transacción externa.

Las transacciones no comienzan automáticamente. Para empezar una


transacción debe hacerlo explícitamente utilizando BEGIN TRANSACTION.

Las transacciones pueden estar anidadas hasta un máximo de cinco niveles


de profundidad. Para empezar una transacción anidada, utilice BEGIN
TRANSACTION dentro del contexto de una transacción existente.

No se admiten transacciones en las tablas vinculadas.

7.8.3 Sentencia COMMIT TRANSACTION


Esta sentencia marca el final de una transacción correcta, implícita o
definida por el usuario. COMMIT hace que todas las modificaciones efectuadas
sobre los datos desde el inicio de la transacción sean parte permanente de la base
de datos, y además, libera los recursos mantenidos por la conexión. Su sintaxis es
la siguiente:
COMMIT TRANSACTION
Es responsabilidad del programador de SQL utilizar COMMIT sólo en el
punto donde todos los datos a los que hace referencia la transacción sean
lógicamente correctos. No se puede cancelar una transacción después de ejecutar
una instrucción COMMIT, porque las modificaciones sobre los datos ya son parte
permanente de la base de datos.

7.8.4 Sentencia COMMIT WORK


COMMIT WORK marca el final de una transacción. Su sintaxis es la
siguiente:

COMMIT WORK

Esta sentencia funciona de forma idéntica a la instrucción COMMIT


TRANSACTION. Esta sintaxis de COMMIT, con o sin la especificación de la
palabra clave opcional WORK, es compatible con SQL-92.

diosestinta.blogspot.com
© RA-MA CAPÍTULO 7. LENGUAJE SQL DE ACCESS 2010 415

Como ejemplo (figura 7-95), consideremos una transacción consistente en


que se cambia la cantidad del pedido número 113051 de 4 a 10 unidades, lo cual
eleva su importe de 1.458 a 3.550 unidades monetarias. El pedido es de Reductores
QSA-XK47 y fue atendido por el empleado número 108, que trabaja en la oficina
número 21. Comenzaremos registrando todos los movimientos que implica la
transacción completa y finalizaremos validándola con COMMIT para convertirla
en definitiva.

Figura 7-95

7.8.5 Sentencia ROLLBACK TRANSACTION


Esta sentencia señala el final sin éxito de una transacción. ROLLBACK
elimina todas las modificaciones de datos realizadas desde el inicio de la
transacción y también libera los recursos que retiene la transacción. Su sintaxis es
la siguiente:
ROLLBACK TRANSACTION | WORK
ROLLBACK TRANSACTION elimina todas las modificaciones de datos
realizadas desde el inicio de la transacción o hasta un punto de almacenamiento.
También libera los recursos que retiene la transacción.

A continuación (figura 7-96), se presenta la misma transacción del ejemplo


de COMMIT, pero ahora cometemos un error al actualizar la tabla PRODUCTOS
confundiendo el fabricante QSA con QAS. Este error nos obliga a deshacer toda la
transacción con ROLLBACK.

diosestinta.blogspot.com
416 ACCESS 2010. CURSO PRACTICO ___________________________________________________ ©RA-MA

Figura 7-96

7.9 LENGUAJE DE CONTROL DE DATOS DCL


Dentro del lenguaje SQL (Structured Query Language) que Access utiliza
para tratar la información, se encuentra la categoría de sentencias (o comandos)
denominada lenguaje de control de datos DCL {Data Control Language).
Las sentencias del lenguaje de control de datos se utilizan en el control de
acceso a datos en la base de datos y suelen utilizarse en tareas típicas de
administración de la propia base de datos. Ejemplos característicos son las sentencias
GRANT y REVOQUE.

7.9.1 Sentencia GRANT


Otorga privilegios específicos a un grupo o a un usuario. Su sintaxis es la
siguiente:
GRANT {privilegio [, privilegio, ...] } ON
{TABLE tabla |
OBJECT objeto|
CONTAINER contenedor } TO {nombreAutorización [, nombreAutorización, ...] }

Apartado Descripción
privilegio El privilegio o los privilegios que se van a otorgar. Los privilegios se
especifican mediante las siguientes palabras clave:
SELECT, DELETE, INSERT, UPDATE, DROP, SELECTSECURITY,
UPDATESECURITY, DBPASSWORD, UPDATEIDENTITY, CREATE,
SELECTSCHEMA, SCHEMA y UPDATEOWNER.
nombreTabla Cualquier nombre válido de tabla.
objeto Puede incluir cualquier objeto que no sea una tabla. Por ejemplo, una consulta
almacenada (vista o procedimiento).
contenedor El nombre de un contenedor válido.
nombreAutorización Un nombre de grupo o de usuario.

diosestinta.blogspot.com
©RA-MA CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 417

7.9.2 Sentencia REVOKE


Revoca privilegios específicos de un grupo o de un usuario. Su sintaxis es
la siguiente:

REVOKE {privilegio [, privilegio, ...] } ON


{TABLE tabla | OBJECT objeto|
CONTAINTER contenedor}
FROM {nombreAutorización [, nombreAutorización, ...] }

Apartado Descripción
privilegio El privilegio o los privilegios que se van a revocar. Los privilegios se
especifican mediante las siguientes palabras clave:
SELECT, DELETE, INSERT, UPDATE, DROP, SELECTSECURITY,
UPDATESECURITY, DBPASSWORD, UPDATEIDENTITY, CREATE,
SELECTSCHEMA, SCHEMA y UPDATEOWNER.
tabla Cualquier nombre de tabla válido.
objeto Puede incluir cualquier objeto que no sea una tabla. Por ejemplo, una consulta
almacenada (vista o procedimiento).
contenedor El nombre de un contenedor válido.
nombreAutorización Un nombre de grupo o de usuario.

7.9.3 Sentencia CREATE USER o GROUP

Crea uno o varios usuarios o grupos.

Crear un usuario:
CREATE USER usuario contraseña pid [, usuario contraseña pid, ...]

Crear un grupo:

CREATE GROUP grupo pid[, grupo pid, ...]

La instrucción CREATE USER o GROUP consta de estos apartados:

Apartado Descripción
usuario El nombre de un usuario que va a agregarse al archivo de información del grupo de
trabajo.
grupo El nombre de un grupo que va a agregarse al archivo de información del grupo de
trabajo.
contraseña La contraseña que se va a asociar al nombre de usuario especificado.
pid El identificador personal.

Un usuario y un grupo no pueden tener el mismo nombre. Es necesaria una


contraseña para cada usuario o grupo que se cree.

diosestinta.blogspot.com
418 ACCESS 2010. CURSO PRACTICO ©RA-MA

7.9.4 Sentencia ADD USER


Agrega uno o varios usuarios a un grupo. Su sintaxis es la siguiente:

ADD USER usuario [, usuario, ...] TO grupo


La instrucción ADD USER consta de estos apartados:

Apartado Descripción

usuario El nombre de un usuario que se va a agregar al archivo de información del grupo de trabajo.
grupo El nombre de un grupo que se va a agregar al archivo de información del grupo de trabajo.

Cuando se haya agregado un usuario a un grupo, el usuario disfrutará de


todos los permisos que se han otorgado a ese grupo.

7.9.5 Sentencia DROP USER o GROUP


Elimina uno o varios usuarios o grupos, o quita uno o varios usuarios de un
grupo. Su sintaxis es la siguiente:
DROP USER usuario [, usuario, ...] [FROM grupo]

Eliminar uno o varios grupos:

DROP GROUP grupo [, grupo, ...]

Las instrucciones DROP USER o GROUP constan de estos apartados:

Apartado Descripción

usuario El nombre de un usuario que se va a quitar del archivo de información del grupo de trabajo.
grupo El nombre de un grupo que se va a quitar del archivo de información del grupo de trabajo.

Si se utiliza la palabra clave FROM en la instrucción DROP USER, cada


uno de los usuarios enumerados en la instrucción se quitarán del grupo
especificado a continuación de la palabra clave FROM. Sin embargo, no se
eliminarán los usuarios. La instrucción DROP GROUP eliminará los grupos
especificados. Los usuarios que pertenezcan a los grupos no se verán afectados,
pero dejarán de ser miembros de los grupos eliminados.

diosestinta.blogspot.com
© RA-MA ______________________________________ CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 419

7.9.6 Sentencia ALTER USER o DATABASE


Cambia la contraseña de un usuario o de una base de datos. Su sintaxis es
la siguiente:

ALTER DATABASE PASSWORD contraseñaNueva contraseñaAnterior


ALTER USER usuario PASSWORD contraseñaNueva contraseñaAnterior

La instrucción ALTER USER o DATABASE consta de estos apartados:

Apartado Descripción
usuario El nombre de un usuario que va a agregarse al archivo de información del
grupo de trabajo.
contraseñaNueva La contraseña nueva que se va a asociar al nombre de usuario o base de dat os
especificado.
contraseñaAnterior La contraseña existente que se va a asociar al nombre de usuario o grupo
especificado.

7.10 PROCEDIMIENTOS ALMACENADOS


Un procedimiento SQL consiste en una cláusula PROCEDURE que
especifica el nombre del procedimiento, una lista opcional de definiciones de
parámetros y una única instrucción SQL.

El nombre de procedimiento no puede ser el mismo que el nombre de la


tabla existente.

7.10.1 Sentencia CREATE PROCEDURE


Crea un procedimiento almacenado. Su sintaxis es la siguiente:
CREATE PROCEDURE procedimiento
[parámetro1 tipoDatos[, parámetro2 tipoDatos[, ...]] AS instrucciónSql

La instrucción CREATE PROCEDURE consta de estos apartados:

Apartado Descripción
procedimiento Nombre del procedimiento. Debe seguir las convenciones de nomenclatura
estándar.
parámetrol, parámetro2 De uno a 255 nombres de campos o parámetros. Por ejemplo:
CREATE PROCEDURE Ventas_por_pais [Fecha Inicio]
DateTime, [Fecha Fin] DateTime;
tipoDatos Uno de los tipos de datos principales de Microsoft Jet SQL o sus
sinónimos.
instrucciónSql Una instrucción SQL como SELECT, UPDATE, DELETE, INSERT,
CREATE TABLE, DROP TABLE, etc.

diosestinta.blogspot.com
420 ACCESS 2010. CURSO PRACTICO___________________________________________________ © RA-MA

Ejemplo

CREATE PROCEDURE Sales_By_CountryRegion ([Beginning Date] DateTime,


[Ending Date] DateTime) AS SELECT Customer, [Ship Address] WHERE
[Shipped Date] Between [Beginning Date] And [Ending Date]

7.10.2 Sentencia EXECUTE


Se utiliza para invocar la ejecución de un procedimiento. Su sintaxis es la
siguiente:

EXECUTE procedimiento [parámetro1[, parámetro2[, ...]]

La instrucción EXECUTE consta de estos apartados:

Apartado Descripción
procedimiento El nombre del procedimiento que se va a ejecutar.
parámetro1, parámetro2, ... Valores para los parámetros definidos por el procedimiento.

7.10.3 Declaración PARAMETERS


Declara el nombre y el tipo de datos de cada parámetro en una consulta de
parámetros. Su sintaxis es la siguiente:

PARAMETERS nombre tipoDatos [, nombre tipoDatos [, ...]]

La declaración PARAMETERS consta de estos apartados:

Apartado Descripción
nombre El nombre del parámetro. Se asigna a la propiedad Name del objeto Parameter y se
utiliza para identificar este parámetro en la colección Parameters. Puede utilizar nombre
como una cadena que se muestra en un cuadro de diálogo mientras su aplicación
ejecuta la consulta. Utilice los corchetes ([ ]) para encerrar texto que contenga espacios
en blanco o signos de puntuación. Por ejemplo, [Precio bajo] y [¿En qué mes quiere
empezar el informe?] argumentos nombre válidos.
tipoDatos Uno de los tipos de datos principales de Microsoft Jet SQL o sus sinónimos.

Para consultas que ejecute periódicamente, puede utilizar una declaración


PARAMETERS para crear una consulta de parámetros. Una consulta de
parámetros ayuda a automatizar el proceso de cambio de criterio. En una consulta
de parámetros, el código necesitará proporcionar los parámetros cada vez que se
ejecute la consulta. La declaración PARAMETERS es opcional, pero, cuando se
incluye, precede a cualquier otra instrucción, incluida SELECT. Si la declaración
incluye más de un parámetro, sepárelos con comas. El siguiente ejemplo incluye
dos parámetros:

diosestinta.blogspot.com
©RA-MA CAPITULO7. LENGUAJE SQL DR ACCESS 2010 421

PARAMETERS [Precio bajo] Currency, [Fecha inicio] DateTime;

Puede utilizar nombre pero no tipoDatos en una eláusula WHERE o


HAVING. El siguiente ejemplo espera que se le proporcionen dos parámetros y,
después, aplica el criterio a los registros de la tabla Pedidos:

PARAMETERS [Precio bajo] Currency,


[Fecha inicio] DateTime;
SELECT IdPedido, ImportePedido
FROM Pedido
WHERE ImportePedido > [Precio bajo]
AND FechaPedido >= [Fecha inicio];

7.10.4 Cláusula PROCEDURE


Define un nombre y parámetros opcionales de una consulta. La cláusula
PROCEDURE ha sido reemplazada por la instrucción PROCEDURE. Aunque aún
es posible utilizar la cláusula PROCEDURE, la instrucción PROCEDURE
proporciona un superconjunto de la capacidad de la cláusula PROCEDURE, por lo
que se convierte en la opción de sintaxis recomendada. Su sintaxis es la siguiente:

PROCEDURE nombre [parámetro1 tipoDatos [, parámetro2 tipoDatos[, ...]]

La cláusula PROCEDURE consta de estos apartados:

Apartado Descripción
nombre Nombre del procedimiento. Debe seguir las convenciones de nomenclatura
estándar.
parámetro1, parámetro2 Uno 0 más nombres de campo o parámetros. Por ejemplo:
PROCEDURE Ventas_por_país [Fecha Inicio] DateTime,
[Fecha Fin] DateTime;
Para obtener más información acerca de los parámetros, consulte parámetros.
tipoDatos Uno de los tipos de datos principales de Microsoft Jet SQL o sus
sinónimos.

Un procedimiento SQL consta de una cláusula PROCEDURE (que especifica


el nombre del procedimiento), una lista opcional de definiciones de parámetros y una
instrucción SQL. Por ejemplo, el procedimiento Obtener_Nombre Producto podría
ejecutar una consulta que recuperará un nombre de producto específico.

Notas:

• Si la cláusula incluye más de una definición de campo (pares parámetro-


tipoDatos), sepárelos con comas.

• La cláusula PROCEDURE debe estar seguida de una instrucción SQL (por


ejemplo, una instrucción SELECT o UPDATE).

diosestinta.blogspot.com
422 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Ejercicio 7-1. En la base de datos PRUEBA, crear una tabla de nombre


PROBLEMA cuyos campos son: ciudad (de tipo cadena con 13 caracteres y sin
admitir valores nulos), fechamuestra (de tipo fecha sin admitir nulos) y mediodía
y medianoche (ambos de tipo numérico). Situar como clave única las dos
columnas ciudad y fechamuestra simultáneamente ¿Cómo sería la sintaxis si
queremos que las dos columnas formen la clave primaria?
La figura 7-97 muestra la sintaxis SQL adecuada.

Figura 7-97

Si hubiésemos querido que las dos columnas formasen la clave primaria, la


sintaxis adecuada sería la que se especifica en la figura 7-98.

Figura 7-98

diosestinta.blogspot.com
©RA-MA CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 423

En las dos consultas anteriores se podía haber situado al principio de la última


línea de la consulta la palabra CONSTRAINT seguida del nombre de la restricción con la
finalidad de nombrar las restricciones única y primaria definidas (figuras 7-99 y 7-100).
La utilidad de nombrar una restricción es poder utilizar su nombre posteriormente para
actualizarla o borrarla.

Figura 7-99

Figura 7-100

Ejercicio 7-2. En la base de datos PRUEBA, crear una tabla de nombre


EMPLEADO1 cuyos campos son: nombre (de tipo cadena con 25 caracteres), edad
(de tipo numérico) y alojamiento (de tipo cadena con 15 caracteres). Situar como clave
primaria el campo nombre. ¿Cómo sería la sintaxis si queremos que la clave sea
única? Crear una nueva tabla similar a la anterior, pero que tenga como clave externa
de la columna alojamiento la columna del mismo nombre de la tabla EMPLEADO1.
Crear otra tabla de nombre EMPLEADO4 con los campos de la tabla EMPLEADO1,
pero que tenga como clave única (edad, alojamiento). Por ultimo, crear una tabla de
nombre PROBLEMA4 con los campos de la tabla PROBLEMA1 que tenga como
clave única (medianoche, ciudad) cuya clave externa sea (edad, alojamiento) de la
tabla EMPLEADO4.

diosestinta.blogspot.com
424 ACCESS 2010. CURSO PRACTICO © RA-MA

Si la clave primaria o la clave única constan de una sola columna, puede


situarse la restricción de integridad a continuación de la definición de la columna
tal y como se muestra en las figuras 7-101 y 7-102 (pero ahora no puede asignarse
un nombre para estas restricciones).

Figura 7-101 Figura 7-102

Cuando se quiere situar una clave externa como restricción de integridad


que hace referencia a una única columna de la tabla actual {restricción de
columna), puede colocarse también a continuación de dicha columna utilizando la
cláusula REFERENCES. En el ejemplo siguiente se sitúa como clave externa de la
columna alojamiento de la tabla EMPLEADOS la columna alojamiento de la tabla
EMPLEADO 1. En la figura 7-103 se observa que no es necesario nombrar campos
en REFERENCES porque se llaman igual en las dos tablas.

Figura 7-103

diosestinta.blogspot.com
©RA-MA CAPÍTULO 7. LENGUAJE SQL DE ACCESS 2010 425

Sin embargo, para situar una clave externa formada por dos columnas de
una tabla externa (restricción de tabla) será necesario utilizar la cláusula FOREIGN
KEY. En el ejemplo de la figura 7-105 se utiliza como clave externa de la clave
única (medianoche, ciudad) de la tabla PROBEEMA4, las columnas (edad,
alojamiento) de la tabla EMPLEAD04. Antes se definen las columnas (edad,
alojamiento) como clave única de EMPLEAD04 (figura 7-104):

Figura 7-104

Ya podemos crear la clave externa formada por dos columnas.

Figura 7-105

De todas formas, con la finalidad de dar nombre a las restricciones, nada impide
el uso de la cláusula CONSTRAINT, tanto en la restricción de clave primaria compuesta,
como en la restricción de clave única compuesta, como en la restricción de clave externa
compuesta, como en otras restricciones de integridad. En la figura 7-106 se presenta la
sintaxis del ejemplo anterior con claves primaria y externa compuestas, utilizando la
cláusula CONSTRAINT.

diosestinta.blogspot.com
426 ACCESS 2010. CURSO PRACTICO __________________________________________________ ©RA-MA

Figura 7-106

Ejercicio 7-3. Consideramos la base de datos EMPLEADOS definida en el Ejercicio


2-2 y cuya estructura se presenta en la figura 7-107. Se trata de crear las tablas
mediante lenguaje SQL de acuerdo al diseño de la base de datos e introducir sus
registros.

Las figuras 7-108 a 7-110 presentan la sintaxis SQL de creación de las tablas
de la base de datos EMPLEADOS. Las figuras 7-111 a 7-113 presentan la sintaxis
SQL para la introducción del primer registro en las tablas. De modo similar se
introducen todos los demás registros.

diosestinta.blogspot.com
© RA-MA CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 427

Figura 7-108

Figura 7-109

Figura 7-110

diosestinta.blogspot.com
428 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Figura 7-111

Figura 7-112

Figura 7-113

diosestinta.blogspot.com
© RA-MA ______________________________________ CAPÍTULO 7. LENGUAJE SQL DE ACCESS 2010 429

Por último, se especifica la sintaxis SQL completa para la introducción de


los registros en las tablas.

INSERT INTO dept VALUES (10, 'CONTABILIDAD', 'NEW YORK')


INSERT INTO dept VALUES (20, 'INVESTIGACIÓN', 'DALLAS')
INSERT INTO dept VALUES (30, 'VENTAS', 'CHICAGO')
INSERT INTO dept VALUES (40, 'OPERACIONES', 'BOSTON')

INSERT INTO emp VALUES (7369, 'SMITH', 'OFICINISTA', 7902, '17/12/1980', 800, '', 20)
INSERT INTO emp VALUES (7499, 'ALLEN', 'VENDEDOR', 7698, '20/02/1981', 1600, 300, 30)
INSERT INTO emp VALUES (7521, 'WARD', 'VENDEDOR', 7698, '22/02/1981', 1250, 500, 30)
INSERT INTO emp VALUES (7566, 'JONES', 'MANAGER', 7839, '02/04/1981', 2975, '', 20)
INSERT INTO emp VALUES (7654, 'MARTIN', 'VENDEDOR', 7698, '28/09/1981', 1250, 1400, 30)
INSERT INTO emp VALUES (7698, 'BLAKE', 'MANAGER', 7839, '01/05/1981', 2850, '', 30)
INSERT INTO emp VALUES (7782, 'CLARK', 'MANAGER', 7839, '09/06/1981', 2450, '', 10)
INSERT INTO emp VALUES (7788, 'SCOTT', 'ANALISTA', 7566, '19/04/1987', 3000, '', 20)
INSERT INTO emp VALUES (7839, 'KING', 'PRESIDENTE', '', '17/11/1981', 5000, '', 10)
INSERT INTO emp VALUES (7844, 'TURNER', 'VENDEDOR', 7698, '08/09/1981', 1500, '', 30)
INSERT INTO emp VALUES (7876, 'ADAMS', 'OFICINISTA', 7788, '23/05/1987', 1100, '', 20)
INSERT INTO emp VALUES (7900, 'JAMES', 'OFICINISTA', 7698, '03/11/1981', 950, '', 30)
INSERT INTO emp VALUES (7902, 'FORD', 'ANALISTA', 7566, '03/12/1981', 3000, '', 20)
INSERT INTO emp VALUES (7934, 'MILLER', 'OFICINISTA', 7782, '23/01/1982', 1300, '', 10)

INSERT INTO salgrade VALUES (1, 700, 1200)


INSERT INTO salgrade VALUES (2, 1201, 1400)
INSERT INTO salgrade VALUES (3, 14 01, 2000)
INSERT INTO salgrade VALUES (4, 2001, 3000)
INSERT INTO salgrade VALUES (5, 3001, 9999)

Ejercicio 7-4. Se desea modificar la tabla EMP creada en el ejercicio anterior


definiendo formato numérico sin posibilidad de valores nulos para la columna sal. A
continuación crear la tabla EMP3 con los mismos campos que la tabla EMP, de
modo que la columna deptno tenga como clave externa (de nombre fk_deptno) la
clave primaria deptno de la columna dept de la tabla EMP.

La sintaxis de las figuras 7-114 y 7-115 resuelve el problema.

Figura 7-114

diosestinta.blogspot.com
430 ACCESS 2010. CURSO PRACTICO __________________________________________________ © RA-MA

Figura 7-115
La figura 7-116 presenta una sintaxis alternativa a la anterior basada en que
cuando los dos campos implicados en la clave externa tienen el mismo nombre, no es
necesario volver a especificarlo en REFERENCES. La figura 7-117 presenta otra
alternativa adicional de sintaxis que no permite nombrar la restricción, lo que lo
imposibilita para su uso en modificaciones o borrados posteriores.

Figura 7-116

Figura 7-117

diosestinta.blogspot.com
© RA-MA _____________________________________ CAPÍTULO 7. LENGUAJE SQL DE ACCESS 2010 431

Ejercicio 7-5. Modificar la tabla EMP3 del ejercicio anterior añadiéndole la clave
única compuesta por las dos columnas sal y comm, nombrando dicha clave mediante
unq_sal_comm En la misma tabla situar un índice simple de nombre indice1 sobre la
columna empno. Situar también un índice único agrupado de nombre índice1 que
incluya los campos ename y job a través de CREATE INDEX. Posteriormente, borrar
el índíce de nombre índíce1 de la tabla EMP3 utilizando DROP INDEX. Borrar
también el índice de nombre índíce1 de la misma tabla utilizando ALTER. Por último,
borrar la clave única unq_sal_comm de EMP3.
La sintaxis de las figuras 7-118 a 7-123 resuelve el problema.

Figura 7-118

Figura 7-119

Figura 7-120

diosestinta.blogspot.com
432 ACCESS 2010. CURSO PRACTICO © RA-MA

Figura 7-121

Figura 7-122

Figura 7-123

Ejercicio 7-6. En la base de datos EDUCA visualizar la información de las tablas


CURSO y DEPARTAMENTO para la que los valores del campo CDEPT en la
tabla CURSO coinciden con los valores del campo dept en la tabla
DEPARTAMENTO. Así mismo, para cada curso con una tarifa mayor que 100
visualizar el nombre del curso y su tarifa junto con el número facultativo del jefe
de departamento que ofrece el curso.

diosestinta.blogspot.com
©RA-MA CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 433

Las figuras 7-124 a 7-127 presentan los JOIN adecuados y los resultados.

Figura 7-124

Figura 7-125

Figura 7-126

diosestinta.blogspot.com
434 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Figura 7-127

Ejercido 7-7. En la base de datos EDUCA visualizar el nombre del empleado y su


sueldo junto con la tarifa del curso y la diferencia entre la tarifa y el salario para
los miembros del personal tutores de curso cuya tarifa excede del sueldo al menos
en 52. Así mismo, producir una lisia de clase para la segunda sección del curso de
Existencialismo, visualizando el número de curso, número de sección, nombre del
curso y número facultativo del instructor, seguido por el número de estudiante de cada
estudiante matriculado en la clase.
Las figuras 7-128 a 7-131 presentan los JOIN adecuados y los resultados.

Figura 7-128

Figura 7-129

diosestinta.blogspot.com
© RA-MA CAPITULO 7. LENGUAJE SQL DE ACCESS 2010 435

Figura 7-130

Figura 7-131
Ejercicio 7-8. En la base de datos EDUCA obtener los valores medios, máximos y
mínimos para todos los cursos de Informática y Ciencias de la Información cuya
tarifa es no nula.

Las figuras 7-132 y 7-133 muestran sintaxis de la consulta y resultado.

Figura 7-132

diosestinta.blogspot.com
436 ACCESS 2010. CURSO PRÁCTICO © RA -MA

Figura 7-133

Ejercicio 7-9. En la base de datos EDUCA visualizar el número, nombre y


departamento de los cursos con la mínima tarifa. Así mismo, visualizar toda la
información acerca de cualquier curso de Informática y Ciencias de la
Información con una tarifa menor que el sueldo medio de cualquiera asignado al
departamento de Teología.

Las figuras 7-134 a 7-137 muestran sintaxis de la consulta y resultado.

Figura 7-134 Figura 7-135

Figura 7-136 Figura 7-137

diosestinta.blogspot.com
Capítulo 8

FORMULARIOS, INFORMES Y
DATOS EXTERNOS

8.1 INTRODUCCION

Microsoft Access siempre se ha caracterizado por la sencillez de su interfaz


a la hora de trabajar con la información de las bases de datos. Formularios e
informes son objetos muy importantes en el trabajo con bases de datos.
Para ver, escribir y cambiar datos de manera sencilla directamente en una
tabla, cree un formulario. Al abrir un formulario, Microsoft Access recupera los
datos de una o más tablas, y los muestra en la pantalla con el diseño elegido en el
Asistente para formularios, o con un diseño que cree desde el principio (figura 8 -1).

Figura 8-1

diosestinta.blogspot.com
438 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Para analizar los datos o presentarlos de cierta manera al imprimirlos, cree


un informe (figura 8-2). Por ejemplo, puede imprimir un informe que agrupe datos y
calcule totales, y otro informe de datos diferentes con formato para imprimir
etiquetas postales.

Figura 8-2

La nueva interfaz de Access 2010 habilita una de sus nuevas fichas, la ficha
Crear (figura 8-3), para construir los objetos de la base de datos. El grupo Formularios
de la ficha Crear (figura 8-4) muestra todas las opciones para el trabajo con
formularios y el grupo Informes (figura 8-5) contiene opciones para el trabajo con
informes. Existen otros grupos, como Ordenar y filtrar y también Buscar de la ficha
Inicio (figura 8-6), cuyas opciones se usan en formularios e informes.

Figura 8-3

Figura 8-4 Figura 8-5

Figura 8-6

diosestinta.blogspot.com
© RA-MA _______________________ CAPITULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 439

8.2 CREACION DE FORMULARIOS


Microsoft Access 2007 incorpora la ficha Crear cuyo grupo Formularios
contiene las opciones necesarias para la creación de formularios (figura 8-7).

Figura 8-7

8.2.1 Herramienta Formulario


Microsoft Access 2007 permite crear un formulario sencillo con un solo
clic. Para ello se hace clic en la tabla que contiene los datos y se selecciona la
opción Formulario del grupo Formularios en la ficha Crear (figura 8-8). Access
crea el formulario y lo muestra en la vista Presentación (figura 8-9).

Figura 8-8

Figura 8-9

diosestinta.blogspot.com
440 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Mediante este tipo de formulario es posible introducir un registro cada vez


en la tabla en que se basa. Con las flechas de la barra de la parte inferior es posible
moverse por los registros ya existentes. Al llegar al último, el formulario aparece
con los campos vacíos (figura 8-10) para introducir un nuevo registro en la tabla.

Figura 8-10

Las opciones de la subficha Diseño en la ficha Herramientas de


presentación de formularios (figura 8-11) permiten realizar cambios en el diseño
del formulario. La opción Ver del grupo Vistas permite cambiar entre las vistas
Presentación, Formulario y Diseño. Las opciones del grupo Temas permiten
aplicar temas diferentes al diseño del formulario. Las opciones del grupo Controles
permiten introducir todo tipo de controles en el formulario (botones de opción,
casillas de verificación, etc.). Las opciones del grupo Encabezado y pie de página
permiten insertar encabezados, pies, logotipos, títulos y fechas y horas en el
formulario. Las opciones del grupo Herramientas permiten agregar campos
existentes al formulario así como abrir la hoja de propiedades.

Las opciones de la subficha Formato en la ficha Herramientas de


presentación de formularios (figura 8-12) permiten trabajar con el formato del
formulario. Las opciones del grupo Fuente permiten cambiar la fuente de los
campos. Las opciones del grupo Número permiten cambiar los formatos de fechas,
número de decimales, etc. Las opciones del grupo Fondo permiten trabajar con el
fondo del formulario y las opciones del grupo Controles permiten dar formato a los
controles, tanto de estilo, como de fondo, forma y formato condicional.

Las opciones de la subficha Organizar en la ficha Herramientas de


presentación de formularios (figura 8-13) permiten trabajar con tablas, filas,
columnas, celdas y controles en los formularios.

diosestinta.blogspot.com
@ RA-MA CAPÍTULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 441

Figura 8-11

Figura 8-12

Figura 8-13

8.2.2 Herramienta Varios elementos


Microsoft Access 2010 permite crear un formulario que muestre varios
registros a la vez de la tabla en que se basa. Para ello se hace clic en la tabla que
contiene los datos y se selecciona la subopción Varios elementos de la opción Más
formularios del grupo Formularios en la ficha Crear (figura 8-14). Access crea el
formulario y lo muestra en la vista Presentación (figura 8-15).

Figura 8-14

Figura 8-15

diosestinta.blogspot.com
442 ACCESS 2010. CURSO PRACTICO ©RA-MA

8.2.3 Herramienta Formulario dividido


Microsoft Access 2010 aporta la herramienta Formulario dividido, que
permite crear un formulario que muestra una hoja de datos en la sección superior y
un formulario en la sección inferior que permitirá escribir nueva información para
el registro seleccionado en la hoja de datos de la parte superior del formulario. Para
ello se hace clic en la tabla que contiene los datos y se selecciona la subopción
Formulario dividido de la opción Más formularios del grupo Formularios en la
ficha Crear (figura 8-16). Access crea el formulario y lo muestra en la vista
Presentación (figura 8-17).

Figura 8-16

Figura 8-17

diosestinta.blogspot.com
© RA-MA CAPITULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 443

8.2.4 Herramienta Asistente para formularios


Microsoft Access 2010 aporta la herramienta Asistente para formularios,
que permite crear un formulario seleccionando sus elementos con mayor criterio y
versatilidad. Para ello selecciona la opción Asistente para formularios del grupo
Formularios en la ficha Crear (figura 8-18). Se obtiene la figura 8-19 en la que se
pueden elegir tabla y campos que formarán parte del formulario. Al pulsar
Siguiente se obtiene la figura 8-20 en la que se elige la distribución a aplicar al
formulario. Se pulsa Siguiente y se obtiene la figura 8-21 en la que se elige el estilo
para el formulario. Por último, se pulsa Siguiente y se da nombre al formulario
(figura 8-22) pulsando a continuación Finalizar, con lo que ya aparece el
formulario en la vista Formulario (figura 8-23) a partir del cual pueden
introducirse datos en la tabla. Las opciones de la subfichas Diseño, Organizar y
Formato en la vistas Formulario, Presentación y Diseño son las mismas que para
los formularios simples. En la figura 8-24 se presenta el formulario en la vista
Presentación en la que se observa la posibilidad de agregar campos existentes
desde la opción del mismo nombre del grupo Herramientas de la subficha Diseño
de la ficha Herramientas de presentación de formularios. En la figura 8-25 se
presenta el formulario en la vista Diseño.

Figura 8-18

Figura 8-19

diosestinta.blogspot.com
444 ACCESS 2010. CURSO PRACTICO @RA-MA

Figura 8-20

Figura 8-21

Figura 8-22

diosestinta.blogspot.com
@ RA-MA CAPITULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 445

Figura 8-23

Figura 8-24

Figura 8-25

diosestinta.blogspot.com
446 ACCESS 2010. CURSO PRÁCTICO © RA-MA

8.2.5 Herramienta Formulario en blanco


La herramienta Formulario en blanco permite crear un formulario cuando
las opciones de los asistentes y del resto de las herramientas no se ajustan a
nuestras necesidades. Se trata de la herramienta más versátil de todas y la que
permite el mayor grado de diseño a medida de las necesidades del usuario. Para
ello se hace clic en la opción Formulario en blanco del grupo Formularios en la
ficha Crear. Access abre un formulario en blanco en la vista Presentación y
muestra el panel Lista de campos (figura 8-26). En el panel Lista de campos, haga
clic en el signo más (+) situado junto a la tabla o las tablas que contienen los
campos que desee ver en el formulario. Para agregar un campo al formulario, haga
doble clic en él o arrástrelo hasta el formulario. Para agregar varios campos a la
vez, mantenga presionada la tecla CTRL y haga clic en varios campos. A
continuación, arrástrelos todos juntos hasta el formulario. Con las herramientas del
grupo Controles en la ficha Formato en la vista Presentación (figura 8-27), se puede
agregar al formulario un logotipo, un título, números de páginas o la fecha y la hora.

Si desea agregar al formulario una mayor variedad de controles, cambie a


la vista Diseño haciendo clic con el botón secundario en el formulario y eligiendo
Vista Diseño . El grupo Controles de la ficha Diseño (figura 8-28) presenta
ahora una amplia gama de controles para insertar en el formulario. La vista
Formulario presenta el formulario final de modo sencillo (figura 8-29).

Figura 8-26

diosestinta.blogspot.com
© RA-MA CAPITULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 447

Figura 8-27

Figura 8-28

Figura 8-29

diosestinta.blogspot.com
448 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

8.2.6 Subformularios
Un subformulario es un formulario dentro de otro formulario. El formulario
primario se llama formulario principal y el formulario dentro del formulario se llama
subformulario. Los subformularios son muy eficaces cuando se desea mostrar datos
de tablas o consultas con una relación uno a varios. Por ejemplo, puede crear un
formulario con un subformulario para mostrar los datos de una tabla Categorías y
de una tabla Productos. Los datos de la tabla Categorías es el lado “uno” de la
relación. Los datos de la tabla Productos constituyen el lado “varios” de la relación,
ya que cada categoría tiene más de un producto (figura 8-30).

Figura 8-30

El formulario principal y subformulario de este tipo de formularios están


vinculados para que el subformulario presente sólo los registros que están relacionados
con el registro actual del formulario principal. Por ejemplo, cuando el formulario
principal presenta la categoría Bebidas, el subformulario muestra sólo los productos de
la categoría Bebidas. Cuando utilice un formulario con un subformulario para
introducir nuevos registros, Microsoft Access guarda el registro actual en el formulario
principal cuando se introduce el subformulario. Esto asegura que los registros de la
tabla “varios” tengan un registro en la tabla “uno” con el que relacionarse. También
guarda automáticamente cada registro conforme lo agregue al subformulario.
Un subformulario se puede mostrar como una hoja de datos, como en la
ilustración precedente o como un formulario simple o continuo. Un formulario
principal sólo se puede presentar como formulario simple. Un formulario principal
puede tener cualquier número de subformularios si coloca cada subformulario en el
formulario principal. Puede anidar hasta diez niveles de subformularios. Esto significa
que puede tener un subformulario dentro de un formulario principal y que puede tener
otro subformulario dentro de ese subformulario, y así sucesivamente. Por ejemplo,
podria tener un formulario principal que mostrara los clientes, un subformulario que
presentara los pedidos y otro subformulario que mostrara los detalles de los pedidos.
Cuando crea un subformulario, puede diseñarlo para que se pueda presentar
sólo en la vista Hoja de datos (figura 8-31), o sólo en la vista Formulario como un
formulario simple o continuo (figura 8-32), o en ambas vistas. Un subformulario
mostrado como un formulario simple o continuo puede ser sencillo o personalizado
para que incluya un encabezado, pie de página, etc. (figura 8-33).

diosestinta.blogspot.com
© RA-MA CAPITULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 449

Figura 8-31

Figura 8-32 Figura 8-33

Generalmente, un subformulario se utiliza para presentar datos de tablas o


consultas que tienen una relación uno a varios. Por ejemplo, una tabla de Categorías y
una de Productos tienen una relación uno a varios, ya que cada categoría puede tener
más de un producto. Cuando crea un subformulario basado en tablas que tienen una
relación uno a varios, el formulario principal muestra la parte “uno” de la relación y el
subformulario muestra la parte “varios” de la relación. El formulario principal está
sincronizado con el subformulario para que éste muestre sólo los registros relacionados
con el registro del formulario principal. Si utiliza un asistente para crear un
subformulario o si arrastra un formulario, una tabla o una consulta desde una ventana
Base de datos a otro formulario para crear un subformulario, Microsoft Access
sincronizará automáticamente el formulario principal con el subformulario, si las dos
premisas siguientes son ciertas:

• Se han definido relaciones para las tablas seleccionadas o para las tablas
base de las consultas seleccionadas.

• El formulario principal está basado en una tabla con una clave principal y
el subformulario está basado en una tabla que contiene un campo con el
mismo nombre que la clave principal y con el mismo tipo de datos y
tamaño de campo, u otro compatible. Por ejemplo, si la clave principal de
la tabla base del formulario principal es un campo Autonumérico y tiene
establecida su propiedad Tamaño del campo a Entero largo, el campo
correspondiente debería ser un campo Numérico con su propiedad Tamaño
del campo establecida a Entero largo. Si selecciona una o varias consultas,
las tablas base para la consulta o consultas deben cumplir estas
condiciones.

diosestinta.blogspot.com
450 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Utilizando el Asistente para formularios es posible crear un formulario y


un subformulario al mismo tiempo. Para ello se selecciona la opción Asistente para
formularios del grupo Formularios en la ficha Crear (figura 8-18). En el primer
cuadro de diálogo del asistente, seleccione de la lista una tabla o una consulta
(figura 8-34). Por ejemplo, para crear un formulario Categorías que presente los
productos de cada categoría en un subformulario, seleccione la tabla Categorías (la
parte “uno” de la relación uno a varios). Haga doble clic en los campos que desee
incluir de esta tabla o consulta. En el mismo cuadro de diálogo del asistente,
seleccione otra tabla o consulta de la lista. Utilizando el mismo ejemplo, seleccione
la tabla Productos (la parte “varios” de la relación uno a varios del formulario
Categorías de ejemplo). Haga doble clic en los campos que desee incluir de esta
tabla o consulta (figura 8-35). Cuando haga clic en Siguiente, si ha establecido las
relaciones correctamente antes de iniciar el asistente, el asistente preguntará qué
tabla o consulta desea ver (figura 8-36). Utilizando el mismo ejemplo que para
crear el formulario Categorías, seleccione por Categorías. En el mismo cuadro de
diálogo, seleccione la opción Formulario con subformularios. Siga las indicaciones de los
cuadros de diálogo restantes (figuras 8-37 a 8-39). Cuando seleccione Terminar,
Microsoft Access crea dos formularios, uno para el formulario principal y el control
del subformulario y otro para el subformulario (figura 8-40).

Figura 8-34

Figura 8-35

diosestinta.blogspot.com
©RA-MA CAPITULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 451

Figura 8-36

Figura 8-3 7

Figura 8-38

diosestinta.blogspot.com
452 ACCESS 2010. CURSO PRACTICO _____________________________________________________ ©RA-MA

Figura 8-39

Figura 8-40

También es posible crear un subformulario y agregarlo a un formulario ya


existente. Para ello situamos en vista Diseño el formulario principal haciendo clic en Ver
en el grupo Vistas de la ficha Inicio y eligiendo Vista Diseño en el menú emergente
resultante. A continuación se selecciona el icono Subformulario del grupo Controles
de la ficha Diseño, se hace clic en Utilizar asistentes para controles y se arrastra el icono
Subformulario del grupo Controles de la ficha Diseño a la zona del formulario
principal donde se quiere situar el subformulario. Aparece el Asistente para
subformularios (figura 8-41) preguntando por el origen de los datos del subformulario
(tablas o consultas existentes o formulario existente). Se elige el origen de la info rmación
y se pulsa Siguiente. En las pantallas sucesivas del asistente se elegirán los campos que
van a aparecer en el subformulario (figura 8-42) y las vinculaciones entre los mismos
(figura 8-43). Luego se da el nombre del subformulario (figura 8-44) y se pulsa en
Finalizar. Obtenemos ya el subformulario insertado en el formulario en vista Diseño
(figura 8-45). La figura 8-46 muestra la vista Diseño.

diosestinta.blogspot.com
© RA-MA CAPITULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 453

Figura 8-41

Figura 8-42

Figura 8-43

diosestinta.blogspot.com
454 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Figura 8-44

Figura 8-45

Figura 8-46

diosestinta.blogspot.com
© RA-MA CAPITULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 455

8.3 CREACION DE INFORMES

Microsoft Access 2010 incorpora la ficha Crear cuyo grupo Informes


contiene las opciones necesarias para la creación de informes (figura 8-47).

Figura 8-47

8.3.1 Herramienta Informe


Microsoft Access 2010 permite crear un informe sencillo con un solo clic.
Para ello se hace clic en la tabla que contiene los datos y se selecciona la opción
Informe del grupo Informes en la ficha Crear (figura 8-47). Access crea el informe
y lo muestra en la vista Presentación (figura 8-48).

Figura 8-48

Las opciones de la ficha Diseño en la vista Presentación (figura 8-48)


permiten realizar cambios en el diseño del formulario. La opción Ver del grupo
Vistas permite cambiar entre las vistas Presentación, Informe (figura 8-49),
Preliminar a la impresión (figura 8-50) y Diseño (figura 8-13). Obsérvese que cada
vista tiene su propia cinta de opciones para administrar el informe.

diosestinta.blogspot.com
456 ACCESS 2010. CURSO PRÁCTICO @ RA-MA

Las opciones de la ficha Formato en vista Presentación permiten cambiar


los formatos de fechas, número de decimales, etc. Obsérvese que son similares a
las opciones del mismo grupo en la vista Presentación cuando se creaban
formularios y por tanto no se repetirán aquí.

Las opciones de la ficha Organizar en vista Presentación también son


similares a las opciones del mismo grupo en la vista Presentación cuando se
creaban formularios.

Las opciones de la ficha Configurar página en vista Presentación permiten


configurar el tamaño de página y el diseño de página del informe.

Las opciones de la ficha Inicio en la vista Informe (figura 8-49) permiten


trabajar con el portapapeles, fuentes, texto enriquecido, filtros y búsquedas.

Las opciones del grupo Controles de la ficha Diseño en la vista Diseño


(figura 8-51) permiten introducir todo de tipo de controles en el informe (botones
de opción, casillas de verificación, etc.).

Figura 8-49

diosestinta.blogspot.com
© RA-MA _______________________ CAPITULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 457

Figura 8-50

Figura 8-51

diosestinta.blogspot.com
458 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Para incluir funciones de agregado en un campo numérico de un informe,


se selecciona dicho campo sobre la vista Presentación en el informe (figura 8-52) y
en la opción Totales del grupo Agrupación y totales de la ficha Diseño se elige la
función de agregado a utilizar (en nuestro caso la media, ya que queremos que
aparezca en el informe el sueldo medio).

Figura 8-52

Figura 8-53

diosestinta.blogspot.com
© RA-MA CAPITULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 459

8.3.2 Herramienta Asistente para informes


Microsoft Access 2010 aporta la herramienta Asistente para informes, que
permite crear un informe seleccionando sus elementos con mayor criterio y
versatilidad. Para ello se hace clic en Asistente para informes en el grupo Informes
de la ficha Crear (figura 8-54). Se obtiene la figura 8-55 en la que se pueden elegir
tabla y campos que formarán parte del informe. Al pulsar Siguiente se obtiene la
figura 8-56 en la que se elige el nivel de agrupamiento. Se pulsa Siguiente y se
obtiene la figura 8-57 en la que se eligen criterios de ordenación para los registros.
Se pulsa Siguiente y se obtiene la figura 8-58 en la que se elige la distribución a
aplicar al informe. Se pulsa Siguiente y se obtiene la figura 8-59 en la que se elige
el estilo para el informe. Por último, se pulsa Siguiente y se da nombre al
formulario (figura 8-60) pulsando a continuación Finalizar, con lo que ya aparece
el formulario en la vista Preliminar (figura 8-61). Las opciones de las fichas
Diseño, Organizar, Formato y Configurar página en la vista Presentación son las
mismas que para los informes simples (más los campos disponibles en la tabla en la
que se basa el informe y los campos de la tablas relacionadas según se observa en
la figura 8-62), al igual que las opciones de la fichas Inicio de la vista Informe y las
opciones de las fichas Diseño, Organizar, Formato y Configurar página de la vista
Diseño (figura 8-63).

Figura 8-54

Figura 8-55

diosestinta.blogspot.com
460 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Figura 8-56

Figura 8-57

Figura 8-58

diosestinta.blogspot.com
© RA-MA CAPÍTULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 461

Figura 8-59

Figura 8-60

Figura 8-61

diosestinta.blogspot.com
462 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Figura 8-62

Figura 8-63

diosestinta.blogspot.com
©RA-MA CAPITULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 463

8.3.3 Herramienta Informe en blanco


La herramienta Informe en blanco permite crear un informe cuando las
opciones de los asistentes y del resto de las herramientas no se ajustan a nuestras
necesidades. Se trata de la herramienta más versátil de todas y la que permite el
mayor grado de diseño a medida de las necesidades del usuario. Para ello se hace
clic en la opción Informe en blanco del grupo Informes en la ficha Crear.
Access abre un informe en blanco en la vista Presentación y muestra el panel Lista
de campos (figura 8-64). En el panel Lista de campos, haga clic en el signo más (+)
situado junto a la tabla o las tablas que contienen los campos que desee ver en el
informe. Para agregar un campo al informe, haga doble clic en él o arrástrelo hasta
el formulario. Para agregar varios campos a la vez, mantenga presionada la tecla
CTRL y haga clic en varios campos. A continuación, arrástrelos todos juntos hasta
el informe. Con las herramientas del grupo Controles en la ficha Formato en la vista
Presentación (figura 8-65), se puede agregar al informe un logotipo, un título,
números de páginas o la fecha y la hora.

Si desea agregar al informe una mayor variedad de controles, cambie a la


vista Diseño haciendo clic con el botón secundario en el informe y eligiendo Vista
Diseño ^. El grupo Controles de la ficha Diseño (figura 8-66) presenta ahora una
amplia gama de controles para insertar en el formulario. La vista Informe presenta
el informe final de modo sencillo (figura 8-67).

Figura 8-64

diosestinta.blogspot.com
464 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Figura 8-65

Figura 8-66

diosestinta.blogspot.com
©RA-MA CAPITULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 465

Figura 8-67

8.3.4 Subinformes
Un subinforme es un informe que se inserta en otro informe. Al combinar
informes, uno de ellos debe servir como informe principal. Un informe principal es
dependiente o independiente; es decir, se basa o no se basa en una tabla, una
consulta o una instrucción SQL.

Un informe principal independiente puede servir como contenedor para


subinformes no relacionados que desea combinar (figura 8-68).

Ei i nf orme pri nci pal conti ene i ndependi ent emente


dos subi nf orm es no rel aci onados.

Resumen de Ventas
20-Abr-95:
Un i nf orme
de resum en de Ventas por empleado: Hombre empleado: Ventas empleado:
v ent as por em pl eado.
Nancy Davolio $93,932
Andrew Fuller $88,123
Janet Leverling $123,129
El ot ro subi nf orm e
de resum en de Ventas por compañía: Hombre compañía: Ventas compañía:
v ent as por compañí a.
Bebidas $127,189
Condimentos $56,4S2
Confecciones $88.500

Figura 8-68

diosestinta.blogspot.com
466 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Conviene vincular el informe principal a una tabla, una consulta o una


instrucción SQL base cuando se desea insertar subinformes que contengan
información relacionada con los datos del informe principal. Por ejemplo, puede
utilizar el informe principal para mostrar registros detallados, como todas las
ventas de un año y utilizar un subinforme para mostrar información de resumen,
como las ventas totales de cada trimestre (figura 8-69).

Este subinforme
resume las
ventas del año
por trimestre.

El informe principal
lista las ventas
diarias.

Figura 8-69

Un informe principal también puede contener datos comunes a dos o más


subinformes paralelos. En este caso, los subinformes contienen los registros
detallados relacionados con los datos comunes (figura 8-70).

Figura 8-70

Un informe principal puede incluir subformularios, así como subinformes,


y puede incluir tantos subformularios y subinformes como desee.

diosestinta.blogspot.com
© RA-MA CAPITULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 467

Además, un informe principal puede contener hasta dos niveles de


subformularios y subinformes. Por ejemplo, un informe puede contener un
subinforme, y este subinforme puede contener un subformulario o un subinforme.
La tabla siguiente muestra las posibles combinaciones de subformularios y
subinformes en un informe principal.

Nivel 1 Nivel 2
Subinforme 1 Subinforme 2
Subinforme 1 Subformulario 1
Subformulario 1 Subformulario 2

Utilizando el Asistente para informes es posible crear un informe de modo


sencillo. Para ello se hace clic en Asistente para informes en el grupo Informes de la
ficha Crear (figura 8-54). En el primer cuadro de diálogo del asistente, seleccione de
la lista una tabla o una consulta (figura 8-71). Por ejemplo, para crear un informe
Categorías que presente los productos de cada categoría en un subformulario,
seleccione la tabla Categorías (la parte “uno” de la relación uno a varios). Haga doble
clic en los campos que desee incluir de esta tabla o consulta. En el mismo cuadro de
diálogo del asistente, seleccione otra tabla o consulta de la lista. Utilizando el mismo
ejemplo, seleccione la tabla Productos (la parte “varios” de la relación uno a varios
del formulario Categorías de ejemplo). Haga doble clic en los campos que desee
incluir de esta tabla o consulta (figura 8-72). Cuando haga clic en Siguiente, si ha
establecido las relaciones correctamente antes de iniciar el asistente, el asistente
preguntará qué tabla o consulta desea ver (figura 8-73). Utilizando el mismo ejemplo
que para crear el informe Categorías, seleccione por Categorías. Siga las
indicaciones de los cuadros de diálogo restantes (figuras 8-74 a 8-78). Cuando
seleccione Terminar, Microsoft Access integra dos informes, uno para el informe
principal y el control del subinforme y otro para el subinforme (figura 8-79).

Figura 8-71

diosestinta.blogspot.com
468 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Figura 8-72

Figura 8-73

Figura 8-74

diosestinta.blogspot.com
©RA-MA CAPITULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 469

Figura 8-75

Figura 8-76

Figura 8-77

diosestinta.blogspot.com
470 ACCESS 2010. CURSO PRACTICO © RA-MA

Figura 8-78

Figura 8-79

También es posible crear un subinforme y agregarlo a un informe ya


existente. Para ello situamos en vista Diseño el informe principal haciendo clic en Ver
en el grupo Vistas de la ficha Inicio y eligiendo Vista Diseño en el menú emergente
resultante. A continuación se arrastra el icono Subinforme i3 del grupo Controles de la
ficha Diseño a la zona del informe principal donde se quiere situar el subinforme.
Aparece el Asistente para subinformes (figura 8-80) preguntando por el origen de los
datos del subinforme (tablas o consultas existentes o informe existente). Se elige el
origen de la información y se pulsa Siguiente. En las pantallas sucesivas del asistente se
elegirán los campos que van a aparecer en el subinforme (figura 8-81) y las
vinculaciones entre los mismos (figura 8-82). Luego se da el nombre del subinforme
(figura 8-83) y se pulsa en Finalizar. Obtenemos ya el subinforme insertado en el
informe en vista Diseño (figura 8-84). La figura 8-85 muestra la vista Diseño.

diosestinta.blogspot.com
© RA-MA CAPÍTULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 471

Figura 8-80

Figura 8-81

Figura 8-82

diosestinta.blogspot.com
472 ACCESS 2010. CURSO PRÁCTICO _____________________________________________________ ©RA-MA

Figura 8-83

Figura 8-84

Figura 8-85

diosestinta.blogspot.com
©RA-MA CAPÍTULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 473

Cuando inserte un subinforme que contiene información relacionada con


datos del informe principal, el control del subinforme deberá estar vinculado al
informe principal. El vínculo garantiza que los registros impresos en el subinforme
corresponden correctamente con los registros impresos en el informe principal.
Cuando crea un subinforme usando un asistente o arrastrando un informe o una
hoja de datos a otro informe, Microsoft Access sincroniza automáticamente el
informe principal y el subinforme si:

• Se han definido relaciones para las tablas seleccionadas o para las tablas
base de las consultas seleccionadas.

• El informe principal está basado en una tabla con una clave principal y el
subinforme está basado en una tabla que contiene un campo con el mismo
nombre que la clave principal y con el mismo tipo de datos, u otro
compatible. Por ejemplo, si la clave principal de la tabla base del
formulario principal es un campo Autonumérico y tiene establecida su
propiedad Tamaño del campo a Entero largo, el campo correspondiente
debería ser un campo Numérico con su propiedad Tamaño del campo
establecida a Entero largo. Si selecciona una o varias consultas, las tablas
base para la consulta o consultas deberán cumplir las mismas condiciones.

8.3.5 Herramienta Etiquetas


Microsoft Access 2007 aporta la herramienta Etiquetas, que permite crear
etiquetas con los registros de la base de datos abierta en el panel de exploración.
Para ello se hace clic en Etiquetas en el grupo Informes de la ficha Crear (figura 8-86).
Se obtiene la figura 8-87 en la que se elige el tamaño de la etiqueta. Se pulsa
Siguiente y en la figura 8-88 se elige fuente y color para las etiquetas. Se pulsa
Siguiente y en la figura 8-89 se eligen los campos que formarán parte del informe.
Al pulsar Siguiente se obtiene la figura 8-90 en la que se eligen criterios de
ordenación para los registros. Se pulsa Siguiente y se obtiene la figura 8-91 en la
que se elige el nombre del informe de etiquetas. A continuación se pulsa Finalizar,
con lo que aparecen ya las etiquetas en la vista Preliminar (figura 8-91).

Figura 8-86

diosestinta.blogspot.com
474 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Figura 8-87

Figura 8-88

Figura 8-89

Figura 8-90

diosestinta.blogspot.com
© RA-MA CAPITULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 475

Figura 8-91

Figura 8-92

Haciendo clic con el botón derecho del ratón sobre el informe se obtiene el
menú emergente de la figura 8-93, cuyas opciones permiten cambiar de vista, hacer
zoom, ver el informe en una o varias páginas, configurar página, guardar el informe,
exportarlo a diferentes formatos y enviarlo por correo electrónico.

diosestinta.blogspot.com
476 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Figura 8-93

8.4 DATOS EXTERNOS

Microsoft Access incorpora la ficha Datos externos en su nueva interfaz,


cuyos grupos y opciones permiten realizar la exportación e importación de datos
con facilidad (Figura 8-94).

Figura 8-94
8.5 IMPORTACIÓN DE DATOS

Las opciones del grupo Importar y vincular de la ficha Datos externos


(figura 8-95) permiten realizar la importación de datos en Access desde distintas
fuentes (Access, Excel, ASCII, XML y otros orígenes de datos).

Figura 8-95

diosestinta.blogspot.com
© RA-MA CAPÍTULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 477

8.5.1 Importación de datos desde otra base de datos Access


Es posible importar datos (tablas, consultas, formularios, informes, macros
y módulos) directamente desde otra base de datos Access. Como ejemplo
importaremos desde la base de datos PRUEBA la tabla PERSONAL de la base de
datos EDUCA.

Para ello, abra la base datos PRUEBA y en la ficha Datos externos, en el


grupo Importar, haga clic en Access K** (figura 8-95). En el cuadro de texto Nombre
de archivo (figura 8-96), escriba el nombre de la base de datos de origen o haga clic
en Examinar para abrir el cuadro de diálogo Abrir archivo. Seleccione Importar
tablas, consultas, formularios, informes, macros y módulos en la base de datos
actual y haga clic en Aceptar. En el cuadro de diálogo Importar objetos (figura
8-97), haga clic en la ficha Tablas y elija PERSONAL (de igual forma se podría
seleccionar cualquier otra ficha para importar otro tipo de objeto). Para cancelar la
selección de un objeto, vuelva a hacer clic en el objeto. Haga clic en Aceptar y se
obtendrá la pantalla Guardar los datos de la importación (figura 8-98). Se da nombre
a la importación y se hace clic en Guardar la importación. La base de datos original
presenta ya los nuevos objetos importados (figura 8-99).

Figura 8-96

diosestinta.blogspot.com
478 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Figura 8-97

Figura 8-98

diosestinta.blogspot.com
© RA-MA ______________________ CAPITULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 479

Figura 8-99

8.5.2 Importación de datos desde Excel

Es posible importar libros de Excel desde una base de datos Access. Como
ejemplo importaremos desde la base de datos PRUEBA el libro Excel CLIENTES.

Para ello, abra la base datos PRUEBA y en la ficha Datos externos, en el


grupo Importar, haga clic en Excel (figura 8-95). En el cuadro de diálogo
Obtener datos externos - Floja de cálculo de Excel, en el cuadro Nombre de
archivo, especifique el nombre del archivo de Excel que contiene los datos que
desea importar (figura 8-100). O bien haga clic en Examinar y use el cuadro de
diálogo Abrir archivo para localizar el archivo que desee importar. Especifique
cómo desea guardar los datos importados. Para almacenar los datos en una tabla
nueva, seleccione Importar el origen de datos en una nueva tabla de la base de
datos actual. Se le pedirá que de un nombre posteriormente a esta tabla. Para
anexar los datos a una tabla existente, seleccione Anexar una copia de los registros
a la tabla y seleccione una tabla en la lista desplegable. Esta operación no está
disponible si la base de datos no contiene ninguna tabla. Haga clic en Aceptar y se
inicia el Asistente para importación de hojas de cálculo que guía en el proceso de
importación. Se hace clic en Aceptar. Si la primera fila de la hoja de cálculo contiene
los nombres de campos, seleccione La primera columna contiene encabezado de
columna (figura 8-101) y haga clic en Siguiente.

diosestinta.blogspot.com
480 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Si está importando los datos a una nueva tabla, Access utiliza los encabezados
de columnas para dar nombre a los campos de la tabla. Puede cambiar estos nombres
durante o después de la operación de importación. Si está anexando datos a una tabla
existente, asegúrese de que los encabezados de columna en la hoja de cálculo de origen
coincidan exactamente con los nombres de los campos en la tabla de destino. El
Asistente le pide que revise las propiedades de campos (figura 8-102). Haga clic en
una columna en la parte inferior de la página para ver las propiedades de los
campos correspondientes. Si lo desea, revise y cambie el nombre y el tipo de datos
del campo de destino. Access revisa las primeras ocho filas en cada columna y
sugiere el tipo de datos para el campo correspondiente. Si la columna de la hoja de
cálculo contiene distintos tipos de valores, como texto y números, en las primeras
ocho filas de una columna, el Asistente sugiere un tipo de datos que es compatible
con todos los valores de la columna, a menudo, el tipo de datos de texto. Aunque
puede elegir un tipo de datos distinto, recuerde que los valores que no son
compatibles con el tipo de datos que elige se omitirán o se convertirán
incorrectamente durante el proceso de importación. Para crear un índice en el
campo, establezca Indizado en Sí. Para omitir completamente una columna de
origen, active la casilla de verificación No importar el campo (Saltar). Haga clic en
Siguiente cuando termine de seleccionar las opciones.

En la siguiente pantalla (figura 8-103), especifique una clave principal para


la tabla. Si selecciona Permitir a Access agregar la clave principal, Access agrega
un campo Autonumérico como primer campo en la tabla de destino y lo rellena
automáticamente con valores de identificador únicos, comenzando por 1. A
continuación, haga clic en Siguiente. En la última pantalla del asistente (figura
8-104), especifique un nombre para la tabla de destino. En el cuadro Importar a la
tabla, escriba un nombre para la tabla. Si la tabla ya existe, Access muestra un
mensaje que solicita si desea sobrescribir el contenido existente de la tabla. Haga
clic en Sí para continuar o en No para especificar un nombre diferente para la tabla
de destino y, a continuación, haga clic en Finalizar para importar los datos. Si
Access puede importar algunos o todos los datos, el Asistente muestra una página
que indica el estado de la operación de importación. Además, puede guardar la
información de la operación para un uso futuro como especificación. Por el
contrario, si la operación no se ejecutó correctamente, Access muestra el mensaje
de error Error al intentar importar el archivo. Después de hacer clic en Finalizar
se obtiene la pantalla Guardar los pasos de la importación (figura 8-15). Haga clic
en Sí para guardar la información de la operación para un uso futuro. Guardar la
información le ayuda a repetir la operación sin tener que examinar el Asistente
cada vez. En el cuadro Guardar como, escriba un nombre para la especificación de
importación. Opcionalmente, escriba una descripción en el cuadro Descripción. Al
hacer clic en Guardar importación ya se tiene la hoja de cálculo como una nueva
tabla de la base de datos (figura 8-106).

diosestinta.blogspot.com
©RA-MA CAPITULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 481

Figura 8-100

Figura 8-101

diosestinta.blogspot.com
482 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Figura 8-102

Figura 8-103

diosestinta.blogspot.com
©RA-MA CAPÍTULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 483

Figura 8-104

Figura 8-105

diosestinta.blogspot.com
484 ACCESS 2010. CURSO PRACTICO ©RA-MA

Figura 8-106

8.5.3 Importación de datos desde ODBC


Es posible importar datos desde bases de datos ODBC (SQL Server,
Oracle, etc.). Para ello, abra la base de datos de destino y en el grupo Importar de
la ficha Datos externos, haga clic en Base de datos ODBC (figura 8-107). Haga
clic en Importar el origen de datos en una nueva tabla de la base de datos actual y,
a continuación, haga clic en Aceptar (figura 8-108). En el cuadro de diálogo
Seleccionar origen de datos (figura 8-109), si ya existe el archivo .dsn que desea
utilizar, haga clic en el archivo en la lista. Haga clic en Nuevo para crear un nuevo
nombre de origen de datos (DSN). Se iniciará el Asistente para crear orígenes de
datos. Si se quieren importar datos de SQL Server, en el asistente seleccione SQL
Server en la lista de controladores y, a continuación, haga clic en Siguiente (figura
8-110). Escriba un nombre para el archivo .dsn, o bien haga clic en Examinar para
guardar el archivo en una ubicación diferente (figura 8-111). Debe disponer de
permisos de escritura en la carpeta para poder guardar el archivo .dsn.

diosestinta.blogspot.com
© RA-MA CAPÍTULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 485

Haga clic en Siguiente, revise la información de resumen y haga clic en


Finalizar para completar el asistente (figura 8-112). Se obtiene la pantalla Crear un
nuevo origen de datos (figura 8-113). En el asistente, escriba una descripción del
origen de datos en el cuadro Descripción. Este paso es opcional. En el cuadro ¿Con
qué servidor SQL quiere conectarse! (figura 8-114) escriba o seleccione el nombre
del equipo SQL Server al que desea conectarse y, a continuación, haga clic en
Siguiente para continuar. En esta página del asistente, es posible que necesite
obtener información del administrador de la base de datos de SQL Server; por
ejemplo, para determinar si se debe utilizar la autenticación de Microsoft Windows
NT o de SQL Server. Haga clic en Siguiente para continuar. En la siguiente página
del asistente, puede que necesite obtener más información del administrador de la
base de datos de SQL Server antes de continuar. Si desea conectarse a una base de
datos concreta, asegúrese de que está activada la casilla de verificación Cambiar la
base de datos por defecto. Después, seleccione la base de datos con la que desea
trabajar y haga clic en Siguiente. Haga clic en Finalizar. Revise la información de
resumen y, a continuación, haga clic en Probar origen de datos.

Revise los resultados de la prueba y, después, haga clic en Aceptar para


cerrar el cuadro de diálogo Prueba del origen de datos ODBC de SQL Server. Si la
prueba se ha realizado correctamente, vuelva a hacer clic en Aceptar para completar
el asistente, o bien haga clic en Cancelar para volver al asistente y efectuar cambios
en la configuración. Haga clic en Aceptar para cerrar el cuadro de diálogo
Seleccionar origen de datos. Access muestra el cuadro de diálogo Importar objetos.
En Tablas, haga clic en cada tabla o vista que desea importar y, a continuación, haga
clic en Aceptar. Si aparece el cuadro de diálogo Seleccionar identificador de registro
único, Access no ha podido determinar qué campo o campos identifican de forma
exclusiva cada fila de un objeto concreto. En tal caso, seleccione el campo o la
combinación de campos que son exclusivos para cada fila y, después, haga clic en
Aceptar. Si no está seguro, consulte al administrador de la base de datos de SQL
Server. Access importará los datos. Si tiene pensado repetir la operación de
importación más adelante, puede guardar los pasos de la importación como una
especificación de importación y volver a ejecutarlos fácilmente con posterioridad. Si
no desea guardar los detalles de la especificación de importación, haga clic en Cerrar
en Guardar pasos de importación, en el cuadro de diálogo Obtener datos externos:
Base de datos ODBC. Access realizará la operación de importación y mostrará la
nueva tabla o tablas en el panel de exploración. En Guardar pasos de importación,
en el cuadro de diálogo Obtener datos externos: Base de datos ODBC, active la
casilla de verificación Guardar los pasos de la importación. Aparecerán varios
controles adicionales. En el cuadro Guardar como, escriba un nombre para la
especificación de importación. Escriba una descripción en el cuadro Descripción.
Este paso es opcional. Por último, haga clic en Guardar importación.

diosestinta.blogspot.com
486 ACCESS 2010. CURSO PRÁCTICO © RA-MA

Figura 8-107

Figura 8-108

Figura 8-109 Figura 8-110

diosestinta.blogspot.com
© RA-MA CAPITULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 487

Figura 8-111 Figura 8-112

Figura 8-113 Figura 8-114

8.5.4 Importación de datos desde ASCII y XML


Es posible importar datos desde orígenes de texto de ancho fijo o
delimitado. Para ello se selecciona Archivo de texto en el grupo Importar y vincular
de la ficha Datos externos (figura 8-115). En el cuadro de diálogo Obtener datos
externos - Archivo de texto, en el cuadro Nombre de archivo, especifique el nombre
del archivo de texto que contiene los datos que desea importar (figura 8-116). O
bien haga clic en Examinar y use el cuadro de diálogo Abrir archivo para localizar
el archivo que desee importar. Especifique cómo desea guardar los datos
importados. Haga clic en Aceptar y se inicia el Asistente para importación de texto
que guía en el proceso de importación similar al de ficheros de Excel (figuras
8-117 a 8-122). La figura 8-123 muestra los datos importados.

Figura 8-115

diosestinta.blogspot.com
488 ACCESS 2010. CURSO PRÁCTICO _____________________________________________________ ©RA-MA

Figura 8-116

Figura 8-117

diosestinta.blogspot.com
© RA-MA CAPÍTULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 489

Figura 8-118

Figura 8-119

diosestinta.blogspot.com
490 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Figura 8-120

Figura 8-121

diosestinta.blogspot.com
© RA-MA CAPÍTULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 491

Figura 8-122

Figura 8-123

diosestinta.blogspot.com
492 ACCESS 2010. CURSO PRACTICO © RA-MA

De igual forma se pueden importar archivos XML. Para ello se selecciona


Archivo XML en el grupo importar de la ficha Datos externos (figura 8-124).
En el cuadro de diálogo Obtener datos externos - Archivo XML, en el cuadro
Nombre de archivo, especifique el nombre del archivo XML que contiene los datos
que desea importar (figura 8-125). O bien haga clic en Examinar y use el cuadro de
diálogo Abrir archivo para localizar el archivo que desee importar. Haga clic en
Aceptar y se inicia el Asistente para importación de XML que guía en el proceso de
importación (figuras 8-126 y 8-127).

Figura 8-124

Figura 8-125

diosestinta.blogspot.com
©RA-MA CAPITULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 493

Figura 8-126

Figura 8-127

diosestinta.blogspot.com
494 ACCESS 2010. CURSO PRÁCTICO __________________________________________________ ©RA-MA

8.6 EXPORTACION DE DATOS


Las opciones del grupo Exportar de la ficha Datos externos (figura 8-128)
permiten realizar la exportación de datos en Access a distintas fuentes (Excel,
ASCII, Word y otros orígenes de datos).

Figura 8-128
8.6.1 Exportación de datos a Excel
Es posible exportar datos (tablas, consultas y formularios) directamente
desde una base de datos Access a Excel. Como ejemplo exportaremos desde la base
de datos PRUEBA la tabla PERSONAL a Excel. Para ello, en la base de datos de
origen, si desea exportar sólo una parte de una tabla, consulta o formulario, abra el
objeto y seleccione los registros que desea. En la ficha Datos externos, en el grupo
Exportar, haga clic en Excel S (figura 8-128). La ficha Datos externos está disponible
sólo cuando hay una base de datos abierta. En el cuadro de diálogo Exportar - Hoja
de cálculo de Excel, acepte el nombre propuesto para el libro de Excel (Access usa
el nombre del objeto de origen) o escriba otro nombre (figura 8-129). En el cuadro
Formato de archivo, seleccione el formato de archivo que desea. Si está
exportando una tabla o consulta y si desea exportar datos con formato, seleccione
Exportar datos con formato y diseño. Si está exportando un formulario, esta opción
siempre está seleccionada pero no está disponible (aparece atenuada). Para ver el
libro de destino de Excel cuando se completa la operación de exportación, active la
casilla de verificación Abrir el archivo de destino al finalizar la operación de
exportación. Si el objeto de origen está abierto y si selecciona uno o varios
registros en la vista antes de iniciar la operación de exportación, puede seleccionar
Exportar sólo los registros seleccionados. No obstante, si desea exportar todos los
registros que aparecen en la vista, deje esta casilla de verificación desactivada. Esta
casilla de verificación no está disponible (aparece atenuada) si no hay registros
seleccionados. Haga clic en Aceptar.

Si la operación de exportación se realiza incorrectamente, Access muestra


un mensaje en el que se describe la causa del error. Si no, de acuerdo con las
opciones de exportación especificadas en el Asistente, Access exporta los datos y
abre (si se ha pedido) el libro de destino en Excel (figura 8-130). Access muestra
un cuadro de diálogo en el que puede crear una especificación que utiliza la
información de la operación de exportación (figura 8-131).

diosestinta.blogspot.com
©RA-MA _______________________ CAPITULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 495

Figura 8-129

Figura 8-130

diosestinta.blogspot.com
496 ACCESS 2010. CURSO PRÁCTICO ©RA-MA

Figura 8-131

8.6.2 Exportación de datos a Word


Es posible exportar datos directamente desde una base de datos Access a
Word. Como ejemplo exportaremos desde la base de datos PRUEBA la tabla
PERSONAL a Word. Para ello, en la ficha Datos externos, en el grupo Exportar,
haga clic en Más y luego en Word . Los comandos Exportar están disponibles
sólo cuando la base de datos está abierta. En el Asistente para exportación (figura
8-132), especifique el nombre del archivo de destino. El Asistente siempre exporta
datos con formato. Si desea ver el documento de Word tras completar la operación de
exportación, active la casilla de verificación Abrir el archivo de destino al finalizar la
operación de exportación. Si ha seleccionado los registros que desea exportar antes
de que inicie la operación de exportación, puede activar la casilla de verificación
Exportar sólo los registros seleccionados. No obstante, si desea exportar todos los
registros de la vista, deje la casilla de verificación desactivada. Esta casilla de
verificación no está disponible (aparece atenuada) si no hay registros seleccionados.
Haga clic en Aceptar. Si existe el documento de destino, se le pide que haga clic en
Si para sobrescribir el archivo. Haga clic en No para cambiar el nombre del archivo
de destino y vuelva a hacer clic en Aceptar. Access exporta los datos y abre el
documento de destino en Word (figura 8-133), en función de las opciones de
exportación especificadas en el Asistente. Access también muestra el estado de la
operación en la última página del Asistente. Para finalizar, puede guardar la
configuración de importación para su uso posterior (figura 8-134).

diosestinta.blogspot.com
© RA-MA CAPITULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 497

Figura 8-132

Figura 8-133

diosestinta.blogspot.com
498 ACCBSS 2010. CURSO PRÁCTICO ___________________________________________________ © RA-MA

Figura 8-134

8.6.3 Exportación de datos a orígenes ODBC, XML, etc.


Es posible exportar datos directamente desde una base de datos Access a
otras bases de datos vía ODBC, a listas de SharePoint, a archivos HTML y Dbase,
etc. Para ello, en la ficha Datos externos, en el grupo Exportar, haga clic en Más y,
a continuación, haga clic en el destino que desee (figura 8-135). Se seguirán los
pasos del asistente de forma similar a exportaciones anteriores.

Figura 8-135

diosestinta.blogspot.com
© RA-MA CAPÍTULO 8. FORMULARIOS, INFORMES Y DATOS EXTERNOS 499

8.6.4 Exportación de datos a ASCII


Es posible exportar datos directamente desde una base de datos Access a
ASCII. Como ejemplo exportaremos desde la base de datos PRUEBA la tabla
CLIENTES a formato de texto ASCII. Para ello, en la ficha Datos externos, en el
grupo Exportar, haga clic en Archivo de texto. Se elige el fichero destino de la
exportación (figura 8-136), el formato de texto (figura 8-137) y se obtiene una vista
preliminar de los datos exportados en el bloc de notas de Windows (figura 8-138).
Finalmente se guarda la exportación (figura 8-139).

Figura 8-136

Figura 8-137

diosestinta.blogspot.com
500 ACCESS 2010. CURSO PRAC TICO © RA-MA

Figura 8-138

Figura 8-139

diosestinta.blogspot.com
INDICE ALFABETICO

Campos de búsqueda en la vista diseño....217


A Campos de búsqueda en la vista hoja de
Abrir y cerrar una base de datos ............... 118 datos ........................................................ 221
Añadir nuevas tablas a una base de datos.. Campos de búsqueda y de lista de
121 valores ..................................................... 216
Añadir nuevos campos a las tablas de Campos de lista de valores en la vista
una base de datos...................................... 123 diseño ...................................................... 222
Asistente para búsqueda de no Campos de lista de valores en la vista hoja
coincidentes ............................................. 281 de datos ................................................... 224
Asistente para formularios ........................ 443 Campos indexados ................................... 198
Asistente para informes ............................ 459 Campos y registros .................................... 61
Asterisco en la cuadrícula de diseño de Características de access 2010 ................... 35
una consulta ............................................. 275 Características de las bases de datos
relacionales ............................................... 69
Cerrar una base de datos .......................... 118
B Cinta de opciones de access 2010 .............. 40
Barra de acceso rápido ...............................54 Cláusula PROCEDURE ........................... 421
Barra de estado ...........................................56 Cláusula UNION ..................................... 402
Bases de datos en red .................................65 Clave secundaria (externa o foránea) ......... 74
Bases de datos jerárquicas ..........................63 Claves ..................................................... 135
Bases de datos relacionales ........................67 Claves primarias y secundarias .................. 74
Bases de datos relacionales y lenguaje Columnas calculadas ............................... 401
SQL .......................................................... 357 Combinación de consultas con la cláusula
Botón archivo .............................................53 UNION .................................................... 402
Comprimir los datos en un campo texto,
c memo o hipervínculo ............................... 200
Conceptos .................................................. 61
Cálculos en consultas ............................... 301 Conceptos y tipos de consultas ................ 239
Cambiar nombre a los campos .................. 125 Consulta de Autobúsqueda ...................... 258
Campo calculado ...................................... 310 Consulta de Autobúsqueda que rellene los
Campo calculado en una consulta ............. 310 datos automáticamente ............................ 258
Campos autonuméricos ............................ 224

diosestinta.blogspot.com
502 ACCESS 2010. CURSO PRACTICO © RA-MA

Consulta de parámetros que solicite Criterios y expresiones para recuperar


criterios cada vez que se ejecute .......... 335 datos ........................................................ 259
Consulta de referencias cruzadas sin
asistente ................................................ 332 D
Consulta de selección sin asistente de
principio a fin ....................................... 292 Datos externos .................................. 437, 476
Consulta de tabla de referencias Declaración parameters ............................ 420
cruzadas ................................................. 326 Definir criterios para un campo................ 273
Consulta de tabla de referencias Definir relaciones .................................... 103
cruzadas mediante un asistente ............. 326 Definir relaciones entre tablas.................. 147
Consultas a través de la interfaz de Definir un campo o definir criterios para
Access 2010 ............................................. 239 un campo .............................................. 273
Consultas de acción .................................. 339 Diseñar o modificar una consulta ............. 286
Consultas de actualización ........................ 341 Diseño de bases de datos relacionales ........ 61
Consultas de creación de tabla .................. 339 Diseño de una base de datos relacional ...... 74
Consultas de datos anexados ..................... 343 Disparadores .............................................. 78
Consultas de eliminación .......................... 346 Documentos con fichas .............................. 58
Consultas de parámetros ........................... 335
Consultas de referencia cruzada ................ 301
Consultas de referencias cruzadas ............. 325
E
Consultas de selección .............................. 241 Ejemplo de diseño de base de datos
Consultas de selección sencillas en la relacional ................................................ 85
vista Diseño .......................................... 246 Ejemplos de expresiones en campos
Consultas de selección sencillas mediante calculados ............................................. 320
asistente ................................................ 241 Elementos de SQL de access 2010 ........... 359
Consultas multitabla ................................. 404 Eliminar y cambiar nombre a los campos. 125
Consultas resumen .................................... 406 Eliminar y modificar relaciones ............... 153
Consultas: definición y funcionamiento ...... 95 Eliminar y ocultar tablas .......................... 133
Copiar, pegar, eliminar y ocultar tablas .... 133 Entorno de sql en access 2010 ................. 368
Cortar, copiar, pegar, eliminar y ocultar Entorno de trabajo en access 2010 ............. 37
tablas .................................................... 133 Especificar varios criterios en una
Creación de bases de datos ....................... 109 consulta ................................................ 272
Creación de bases de datos en Access Establecer y quitar índices ....................... 139
2010....................................................... 112 Establecer y quitar la clave primaria ........ 138
Creación de formularios ............................ 439 Estructura de las bases de datos ................. 62
Creación de informes ................................ 455 Etiquetas .................................................. 473
Crear un campo calculado en una Exportación de datos ................................ 494
consulta ................................................. 310 Exportación de datos a ASCII .................. 499
Crear una consulta de Autobúsqueda que Exportación de datos a Excel ................... 494
rellene los datos automáticamente.......... 258 Exportación de datos a orígenes ODBC,
Crear una consulta de referencias cruzadas XML, etc .............................................. 498
sin asistente ........................................... 332 Exportación de datos a Word ................... 496
Crear una consulta de selección sin Exportar ................................................... 133
asistente de principio a fin ..................... 292
Expresión con el Generador de
Crear una consulta de tabla de referencias
expresiones ........................................... 314
cruzadas ................................................. 326
Expresión sin utilizar el Generador de
Crear una expresión con el generador de
expresiones ........................................... 316
expresiones ............................................ 314
Expresiones ............................................. 313
Crear una expresión sin utilizar el
Expresiones en campos calculados ........... 320
generador de expresiones ....................... 316
Expresiones en la cuadrícula de diseño de
Criterios para un campo ............................ 273
una consulta o en una hoja de
propiedades ........................................... 317

diosestinta.blogspot.com
© RA-MA INDICE ALFABETICO 503

Expresiones para recuperar datos ............. 259 Importación de datos desde otra base de
datos Access .......................................... 477
Importar .................................................... 133
F Índices................................................. 79, 135
Ficha Crear ................................................ 48 Informe en blanco ..................................... 463
Ficha Datos externos .................................. 50 Informes ............................................ 437, 455
Ficha Herramientas de base de datos .......... 51 Informes: definición y funcionamiento ........ 98
Ficha Inicio ................................................ 43 Inicio y entorno de trabajo en Access
Formas comunes de usar criterios ............ 265 2010 ........................................................ 37
Formato de los campos............................. 177 Insertar, eliminar y cambiar nombre a los
Formatos .................................................. 127 campos ................................................. 125
Formulario dividido ................................. 442 Integridad .................................................... 75
Formulario en blanco ............................... 446 Integridad referencial ................................ 156
Formularios, informes y datos externos
....437 J
Formularios: definición y funcionamiento ..97
Funciones agregadas ......................... 277, 301 JOIN de dos o más tablas ......................... 404
Funciones agregadas en una consulta ....... 304
Funciones agregadas en una consulta L
mediante la cuadrícula de diseño ........... 308
Funciones agregadas en una consulta Lenguaje de consulta de datos DQL ......... 394
mediante un asistente ............................ 304 Lenguaje de control de datos DCL ........... 416
Funciones de agregado ............................. 366 Lenguaje de control de transacciones
Funciones de cadena ................................ 365 TCL ......................................................... 411
Funciones de fecha y hora ........................ 364 Lenguaje de definición de datos DDL ...... 371
Funciones de SQL Access ........................ 364 Lenguaje de modificación de datos
Funciones numéricas ................................ 364 DML ........................................................ 386
Lenguaje SQLdeAccess2010 ............. 357,358
Limitar los encabezados de columnas en
G una consulta de referencias cruzadas... 330
Generador de expresiones ........................ 314 Listas de valores ....................................... 217

H M
Herramienta Asistente para formularios....443 Macros ....................................................... 99
Herramienta Asistente para informes ....... 459 Máscara de entrada de los campos ............ 182
Herramienta Etiquetas .............................. 473 Minibarra de herramientas.......................... 60
Herramienta Formulario ........................... 439 Modelos de datos primitivos ...................... 62
Herramienta Formulario dividido ............. 442 Modificar relaciones ................................ 153
Herramienta Formulario en blanco ........... 446 Modificar una consulta ............................. 286
Herramienta Informe ................................ 455 Módulos ..................................................... 99
Herramienta Informe en blanco ................ 463 Mostrar sólo los valores más altos o más
Herramienta Varios elementos ................. 441 bajos......................................................... 275

1 N
Importación de datos ................................ 476 Novedades en Access 2010 ........................ 17
Importación de datos desde ASCII y Novedades en herramientas de corrección..35
XML ........................................................ 487 Novedades en herramientas de diseño ........ 26
Importación de datos desde Excel ............ 479 Novedades en presentación de los datos ..... 30
Importación de datos desde ODBC .......... 484 Novedades en seguridad ............................. 33

diosestinta.blogspot.com
504 ACCESS 2010. CURSO PRACTICO © RA-MA

Novedades en tipos de datos y controles .....29 Relación uno a uno ................................... 103
Novedades generales y de interfaz ..............17 Relación uno a varios ............................... 102
Relación varios a varios ........................... 102
O Relaciones de una base de datos ....... 146, 154
Relaciones en Access ............................... 100
Objetos .......................................................61 Relaciones entre tablas ............................. 147
Objetos típicos en bases de datos Access....93 Réplicas de una base de datos ................... 224
Ocultar tablas ........................................... 133 Resumen sobre propiedades de campos....200
Operaciones ................................................61
Operaciones relacionales básicas ................70
Operadores ! y . (punto) en las s
expresiones ............................................... 320 Sentencia ADD USER .............................. 418
Operadores aritméticos ............................. 362 Sentencia ALTER TABEE ....................... 380
Operadores booleanos ................................73 Sentencia ALTER USER O
Operadores de comparación...................... 362 DATABASE ........................................ 419
Operadores de concatenación ................... 363 Sentencia BEGIN TRANSACTION ......... 413
Operadores de SQL access ....................... 361 Sentencia COMMIT TRANSACTION ..... 414
Operadores especiales .............................. 363 Sentencia COMMIT WORK .................... 414
Operadores lógicos ................................... 363
Sentencia CREATE INDEX ..................... 379
Operadores típicos a utilizar en
Sentencia CREATE PROCEDURE .......... 419
expresiones ............................................... 323
Sentencia CREATE TABLE ..................... 371
Orden de los operadores en las
Sentencia CREATE USER O GROUP ..... 417
expresiones ............................................... 325
Sentencia DELETE .................................. 393
Ordenar o limitar los encabezados de
Sentencia DROP ....................................... 384
columnas en una consulta de
Sentencia DROP USER O GROUP .......... 418
referencias cruzadas ................................. 330
Sentencia EXECUTE ............................... 420
Otras operaciones relacionales ...................73
Sentencia GRANT .................................... 416
Sentencia INSERT ................................... 386
P Sentencia REVOKE ................................. 417
Panel de exploración ..................................58 Sentencia ROLLBACK
Pegar, eliminar y ocultar tablas ................ 133 TRANSACTION ................................. 415
Permitir longitud cero en los campos ........ 196 Sentencia SELECT ................................... 394
Personalizar campos ................................. 205 Sentencia UPDATE .................................. 392
Personalizar una consulta ......................... 284 Sinónimos ................................................ 359
Procedimientos almacenados .................... 419 Sistemas de gestión de archivos ................. 62
Procesamiento de transacciones ................ 412 Subconsulta para definir un campo o
Propiedad requerido ................................. 194 definir criterios para un campo ................. 273
Propiedades de campos ..... 127, 135, 143, 175 Subconsultas ............................................ 408
Subformularios ......................................... 448
Subinformes ............................................. 465
Q
Quitar índices ........................................... 139 T
Quitar la clave primaria ............................ 138
Tablas en una base de datos relacional ....... 83
Tablas, campos y registros ......................... 61
R Tamaño de los campos ............................. 176
Registros ....................................................61 Tareas especiales con tablas ..................... 133
Registros o valores de campo duplicados Tareas previas a la creación de una base
en una tabla .............................................. 278 de datos ................................................ 109
Reglas y textos de validación de campos.. 190 Tipo de datos de un parámetro en una
consulta de parámetros ......................... 337

diosestinta.blogspot.com