Descargar en PDF
En este tema

Tema 6 — Bases de datos: Access 365

Bloque VI Cuerpo General Administrativo de la Administración del Estado · Ingreso libre

  1. Bases de datos: Access 365. Principales funciones y utilidades.
  2. Tablas.
  3. Consultas.
  4. Formularios.
  5. Informes.
  6. Relaciones.
  7. Importación, vinculación y exportación de datos.

Epígrafe 1 — Bases de datos: Access 365. Principales funciones y utilidades

1. Concepto de base de datos relacional

Una base de datos es un conjunto organizado de datos sobre una temática concreta, estructurado de modo que sea posible consultarlos, modificarlos y mantenerlos con eficacia. Microsoft Access 365 es un sistema gestor de bases de datos relacionales (SGBDR): almacena la información en tablas con estructura definida y permite vincular unas tablas con otras mediante campos comunes para evitar la duplicación de datos y facilitar su mantenimiento.

El archivo de trabajo de Access tiene extensión .accdb, formato introducido con Access 2007 que sustituyó al antiguo .mdb (compatible con Access 2000 / 2002-2003).

1.1. Los seis objetos de una base de datos Access

Una base de datos Access puede contener seis tipos de objetos, que el panel de navegación (columna izquierda) muestra agrupados por tipo:

ObjetoPara qué sirve
TablasAlmacenan los datos en filas (registros) y columnas (campos). Son la base de todo.
ConsultasExtraen, filtran, calculan o modifican datos de una o más tablas.
FormulariosProporcionan una interfaz visual para introducir, editar y visualizar datos.
InformesPresentan los datos con formato para impresión o distribución.
MacrosAutomatizan tareas repetitivas mediante secuencias de acciones predefinidas.
MódulosContienen código VBA (Visual Basic for Applications) para automatización avanzada.

Doble clic sobre un objeto del panel lo abre; clic derecho da acceso a las opciones de diseño, renombrar y eliminar.

Son seis objetos en una BD Access: Tablas · Consultas · Formularios · Informes · Macros · Módulos. Las tablas son el único objeto indispensable: sin ellas no hay base de datos. Todo lo demás depende de las tablas (las consultas las leen; los formularios e informes muestran sus datos).

1.2. Principales sistemas gestores de bases de datos (SGBD)

Además de Microsoft Access, existen otros SGBD ampliamente utilizados en entornos profesionales y administrativos:

SGBDDescripción
Oracle DatabaseSGBDR de alta gama. Ampliamente usado en grandes corporaciones y Administraciones Públicas.
Microsoft SQL ServerSGBDR de Microsoft para entornos servidor. Integración nativa con el ecosistema Microsoft.
MySQLSGBDR de código abierto. Uno de los más usados en aplicaciones web.
MariaDBDerivado de MySQL, también de código abierto. Mantenido por la comunidad.
Amazon AuroraSGBDR en la nube de Amazon Web Services. Compatible con MySQL y PostgreSQL.
CassandraBase de datos NoSQL distribuida de Apache. Diseñada para grandes volúmenes de datos.
SQLiteSGBDR ligero y embebido, sin servidor. Muy usado en aplicaciones móviles y de escritorio.

El lenguaje estándar para trabajar con bases de datos relacionales es SQL (Structured Query Language), dividido en dos subconjuntos: DDL (Data Definition Language) para definir estructuras (CREATE, ALTER, DROP) y DML (Data Manipulation Language) para manipular datos (SELECT, INSERT, UPDATE, DELETE). Access usa internamente el motor ACE (sucesor del antiguo motor Jet desde Access 2007) y permite acceso programático con DAO (Data Access Objects) y ODBC (Open DataBase Connectivity) para conexiones con SGBD externos.


2. Especificaciones técnicas de Access

Access impone una serie de límites máximos verificados contra la página oficial de Microsoft Support. Son cifras nucleares que conviene retener:

EspecificaciónLímite
Tamaño total de la base de datos (.accdb o .mdb)2 gigabytes (menos el espacio para objetos del sistema)
Tamaño máximo de una tabla2 gigabytes
Número total de objetos en la BD32.768
Número de módulos1.000
Número de caracteres del nombre de un objeto, tabla o campo64
Número de caracteres de la contraseña14
Número de usuarios simultáneos255
Número de conexiones disponibles512 (Microsoft 365) / 256 (versiones perpetuas)
Número de campos en una tabla255
Número de tablas abiertas (Microsoft 365)4.096 (incluidas las vinculadas y las internas)
Número de tablas en una consulta32
Número de combinaciones (JOIN) en una consulta16
Número de campos en un recordset255
Número de niveles de subconsulta50
Longitud máxima de una sentencia SQL~64.000 caracteres
Número de índices por tabla32
Número de campos en un índice o clave principal10
Número de caracteres en una etiqueta de formulario o informe2.048
Número de caracteres en un cuadro de texto65.535
Número de formularios o informes anidados7
Número de campos a ordenar o agrupar en un informe10
Número de páginas de un informe65.536

Las cifras nucleares son los dos doses (2 GB de BD · 2 GB de tabla), los dos doscientos cincuenta y cincos (255 campos · 255 usuarios simultáneos) y los dos sesentas y cuatros (64 caracteres en nombres · 65.535 caracteres en Texto largo / cuadro de texto). El total de objetos es 32.768 y los formularios/informes admiten 7 niveles de anidamiento.


3. Pantalla de bienvenida y creación de una base de datos

Al abrir Access 365 aparece la pantalla de bienvenida con tres zonas diferenciadas:

OpciónQué permite
Recientes / AbrirAccede a bases de datos usadas recientemente o abre un archivo existente desde disco.
Base de datos en blancoCrea una nueva base de datos vacía. Access solicita el nombre y la ubicación del archivo .accdb antes de crearlo.
PlantillasCrea una BD preconfigurada a partir de un modelo (Contactos, Activos, Administración de eventos…).

Pantalla de bienvenida de Access 365 con las tres zonas claramente identificadas: archivos recientes a la izquierda, botón «Base de datos en blanco» en el centro y galería de plantillas a la derecha.

Al elegir «Base de datos en blanco», Access solicita el nombre y la ubicación ANTES de crear el archivo. Solo tras pulsar «Crear» se genera el .accdb y se abre el área de trabajo. La primera vez aparece automáticamente una tabla en blanco (Tabla1) en vista Hoja de datos: lo recomendable es cerrarla sin guardar y construir la estructura desde cero en vista Diseño.


4. Compactar y reparar la base de datos

A medida que se trabaja con una base de datos (crear, modificar y eliminar objetos), el archivo .accdb puede crecer más de lo necesario y acumular fragmentación interna. La función Compactar y reparar cumple dos objetivos:

  • Reducir el tamaño del archivo eliminando el espacio liberado por objetos borrados.
  • Corregir errores estructurales del archivo cuando los detecta.

Se accede desde Herramientas de base de datos → Compactar y reparar base de datos. También se puede configurar para que se ejecute automáticamente al cerrar: Archivo → Opciones → Base de datos actual → Compactar al cerrar.

Compactar y reparar es una operación de mantenimiento preventivo: conviene ejecutarla periódicamente. Antes de aplicarla, hacer una copia de seguridad, porque la reparación puede truncar datos dañados. La ruta canónica es Herramientas de base de datos → Compactar y reparar base de datos.


5. Contraseña de la base de datos

Access permite cifrar la base de datos con una contraseña para restringir su apertura. Los archivos .accdb usan cifrado de clave simétrica.

Para establecer una contraseña:

  1. Abrir la BD en modo exclusivo: Archivo → Abrir → flecha junto al botón Abrir → Abrir en modo exclusivo.
  2. Archivo → Información → Establecer contraseña para la base de datos → introducir y confirmar la contraseña.

Para quitar la contraseña: abrir en modo exclusivo → Archivo → Información → Descifrar base de datos → introducir la contraseña actual.

Dos restricciones críticas del cifrado:

  • No es posible establecer la contraseña si la base de datos está abierta en modo compartido: el modo exclusivo es un requisito previo indispensable.
  • Si se pierde la contraseña, no hay forma de recuperarla ni de abrir la base de datos. Access no dispone de mecanismo de recuperación. La copia de seguridad es la única vía de respaldo.

6. Formatos de archivo

Desde Archivo → Guardar como se puede guardar la base de datos en distintos formatos:

FormatoExtensiónDescripción
Base de datos de Access.accdbFormato estándar de Access 2007 y posteriores. Es el formato predeterminado.
Base de datos Access 2000.mdbFormato compatible con Access 2000. Pierde las funciones exclusivas de versiones recientes.
Base de datos Access 2002-2003.mdbFormato compatible con Access XP/2003. También pierde funciones exclusivas.
Plantilla de base de datos.accdtGuarda la BD como plantilla reutilizable, sin los datos.

Desde Archivo → Guardar como → Avanzadas están disponibles tres opciones adicionales:

  • Empaquetar y firmar: crea un paquete .accdc firmado digitalmente para distribución segura.
  • Copia de seguridad: guarda una copia con la fecha en el nombre.
  • Crear ACCDE: genera un archivo .accde de solo ejecución, con el código VBA compilado y los módulos bloqueados para impedir su edición.

Extensiones de archivo Access vigentes: .accdb (formato estándar desde 2007) · .mdb (formato antiguo, Access 2000 y 2002-2003) · .accdt (plantilla) · .accde (solo ejecución, VBA compilado) · .accdc (paquete firmado).


7. Dividir la base de datos: front-end y back-end

Access permite dividir una base de datos en dos archivos separados mediante la herramienta Dividir base de datos (Herramientas de base de datos → Mover datos → Dividir base de datos):

ArchivoContieneUbicación habitual
Base de datos back-end (_be.accdb)Solo las tablas con los datos.Servidor compartido o carpeta de red.
Base de datos front-end (.accdb)Consultas, formularios, informes, macros, módulos y vínculos a las tablas del back-end.Equipo local de cada usuario.

Esta arquitectura es recomendable en entornos multiusuario: varios usuarios pueden trabajar simultáneamente con sus propios front-ends mientras comparten los mismos datos en el back-end. Si se actualiza el diseño (formularios, informes), basta con distribuir el nuevo front-end sin tocar los datos.

Front-end = capa de presentación (en local; consultas, formularios, informes, macros, módulos). Back-end = capa de datos (en servidor; solo tablas). La división reduce significativamente el riesgo de corrupción por acceso concurrente y facilita el mantenimiento en entornos multiusuario.


8. Herramientas de base de datos

Access ofrece un conjunto de herramientas de análisis y documentación accesibles desde la pestaña Herramientas de base de datos:

HerramientaFunción
Dependencias de objetosMuestra qué objetos dependen de un objeto determinado y de cuáles depende él. Útil para saber, p. ej., qué consultas o informes se verían afectados al eliminar una tabla.
Analizar tabla (Normalizador)Examina una tabla existente y sugiere cómo dividirla en tablas más pequeñas y normalizadas para eliminar redundancias.
Analizar rendimientoEvalúa los objetos seleccionados y sugiere mejoras (índices, tipos de datos, simplificaciones). Clasifica sus salidas en Recomendación (mejora garantizada), Sugerencia (probable) e Idea (a considerar).
Documentador de la base de datosGenera un informe detallado con la estructura técnica de los objetos: campos, propiedades, relaciones, controles. El resultado se presenta como un informe imprimible.

Mnemotécnico DARD: Dependencias de objetos · Analizar tabla · Analizar Rendimiento · Documentador. Son las cuatro herramientas de análisis y documentación bajo la pestaña Herramientas de base de datos.


9. Fichas de la cinta de opciones

Access organiza sus comandos en fichas permanentes (siempre visibles) y fichas contextuales (aparecen solo cuando está activo el objeto correspondiente).

9.1. Fichas permanentes

FichaContenido principal
InicioVistas · Portapapeles · Ordenar y filtrar · Registros · Formato de texto. Comandos del día a día para trabajar con datos en hoja de datos.
CrearTablas · Consultas · Formularios · Informes · Macros y código. Permite crear todos los objetos de la base de datos.
Datos externosImportar y vincular · Exportar. Gestión de conexiones con fuentes externas (Excel, texto, ODBC, SharePoint, Dataverse…).
Herramientas de base de datosHerramientas · Macro · Relaciones · Analizar · Mover datos · Complementos. Administración avanzada.

9.2. Fichas contextuales

Ficha contextualCuándo aparece
Campos (vista Hoja de datos)Al abrir una tabla en vista Hoja de datos. Permite añadir, eliminar y configurar campos.
Tabla (vista Hoja de datos)Al abrir una tabla en vista Hoja de datos. Opciones de tabla: antes/después de filas, total de filas, descripción.
Diseño de tablaAl abrir una tabla en vista Diseño. Define campos, tipos de datos y propiedades.
Diseño de consultaAl abrir una consulta en vista Diseño. Acceso a la cuadrícula QBE y a los tipos de consulta.
Diseño de formulario / InformeAl abrir un formulario o informe en vista Diseño. Herramientas de control, diseño y propiedades.

10. Atajos de teclado

AtajoFunción
F1Ayuda de Access.
F2Alternar entre modo Edición (cursor en el campo) y modo Exploración (campo seleccionado completo).
F4Abrir la Hoja de propiedades en vista Diseño de formularios e informes.
F6Alternar entre la zona superior e inferior de la vista Diseño de tabla.
F11Mostrar el panel de navegación.
F12Guardar como.
Mayús+F2Abrir el cuadro Zoom para introducir expresiones largas.
Mayús+F4Buscar siguiente (sin abrir el cuadro de diálogo).
Ctrl+SGuardar el objeto activo.
Ctrl+ZDeshacer.
Ctrl+FBuscar (vistas Hoja de datos y Formulario).
Ctrl+HReemplazar.
Ctrl+− (menos)Eliminar el registro actual.
Ctrl+IntroInsertar nueva línea en campos Texto corto / Texto largo.
EscDeshacer cambios en el campo actual. Dos veces: deshace también el registro.
Ctrl+;Insertar la fecha actual.
Ctrl+Mayús+:Insertar la hora actual.

El atajo Ctrl+− elimina el registro activo de forma irreversible: Access muestra un aviso de confirmación, pero una vez aceptado Ctrl+Z no funciona para deshacer la eliminación. La copia de seguridad es la única vía de respaldo ante un borrado accidental masivo.


11. Personalización del entorno

Access 365 comparte con el resto de aplicaciones de Microsoft 365 el sistema de personalización accesible desde Archivo → Opciones. La configuración se organiza en siete pestañas:

  • General.
  • Base de datos actual (incluye la opción «Compactar al cerrar»).
  • Hoja de datos.
  • Diseñadores de objetos.
  • Revisión.
  • Idioma.
  • Configuración de cliente.

La cinta es contextual: muestra pestañas adicionales (Diseño de tabla, Diseño de consulta…) solo cuando son relevantes según el objeto abierto. La Barra de acceso rápido se personaliza desde Archivo → Opciones → Barra de herramientas de acceso rápido.


Epígrafe 2 — Tablas

1. Crear una tabla en vista Diseño

La vista Diseño es el método más preciso de crear una tabla: permite definir campos, tipos de datos y propiedades antes de introducir ningún dato. Se accede desde Crear → grupo Tablas → Diseño de tabla.

Junto a «Diseño de tabla», la pestaña Crear ofrece dos métodos adicionales:

  • Tabla: crea una tabla nueva en vista Hoja de datos con un campo Id de autonumeración predefinido.
  • Listas de SharePoint: permite crear una tabla vinculada a una lista de SharePoint, posibilitando la colaboración y el acceso a los datos desde la web y desde múltiples usuarios.

Vista Diseño de tabla con las tres columnas visibles en la zona superior (Nombre del campo, Tipo de datos, Descripción) y el panel de Propiedades del campo en la zona inferior.

La ventana de vista Diseño se divide en dos zonas:

  • Zona superior (cuadrícula de campos): cada fila define un campo mediante tres columnas — Nombre del campo, Tipo de datos y Descripción opcional.
  • Zona inferior (panel Propiedades del campo): muestra las propiedades configurables del campo seleccionado arriba. Las propiedades disponibles dependen del tipo de datos del campo.

2. Reglas para nombrar campos

Los nombres de campo deben cumplir cinco reglas:

  • Longitud máxima: 64 caracteres.
  • No pueden empezar por espacio.
  • No pueden contener caracteres de control (ASCII 0–31).
  • No puede haber dos campos con el mismo nombre en la misma tabla.
  • Caracteres prohibidos (exactamente cuatro): punto . · signo de admiración ! · acento grave ` · corchetes [ ].

Los únicos caracteres explícitamente prohibidos son: punto (.) · admiración (!) · acento grave (`) · corchetes ([ ]). Sí son válidos los espacios interiores, los números al inicio, la ñ, , $ o /. El error frecuente es asumir que los espacios o los números al inicio están prohibidos: no lo están.


3. Tipos de datos

En la columna Tipo de datos se indica qué clase de información almacenará el campo. La elección determina el espacio de almacenamiento, las operaciones posibles y los valores permitidos. Access 365 ofrece trece tipos de datos propios, más un asistente que no es tipo real:

Tipo de datosDescripción / Dato clave
Texto cortoTexto de hasta 255 caracteres. Antes denominado «Texto». Para nombres, códigos, direcciones, etc.
Texto largoTexto extenso de hasta 65.535 caracteres (1 GB técnicamente, vía programación). Antes denominado «Memo».
NúmeroValores numéricos para cálculos. Subtipo predeterminado: Entero largo.
Número grande ★3658 bytes. Rango ±2⁶³. Compatible con SQL_BIGINT. Incompatible con versiones anteriores de Access.
Fecha/HoraFechas y horas. Rango: 1/1/100 a 31/12/9999.
Fecha/Hora extendida ★365Mayor rango (0001–9999) y precisión de nanosegundos. Compatible con datetime2 de SQL Server.
MonedaValores monetarios. Hasta 15 dígitos a la izquierda y 4 a la derecha del decimal. Evita el redondeo.
AutonumeraciónNúmero único generado automáticamente por Access en cada nuevo registro. No se puede editar manualmente.
Sí/NoDos valores: Sí/No · Verdadero/Falso · Activado/Desactivado. Ocupa 1 bit.
Objeto OLEObjetos incrustados de otras aplicaciones (imágenes, documentos…). Hasta 1 GB. Considerado casi obsoleto.
HipervínculoAlmacena una URL o ruta de acceso local.
Datos adjuntosPermite adjuntar varios archivos por registro (imágenes, hojas de cálculo…). Hasta 2 GB por base de datos.
CalculadoEl valor se obtiene mediante una expresión a partir de otros campos. No editable manualmente. Desde Access 2010; no disponible en formato .mdb.
Asistente para búsquedasNo es un tipo de datos real: lanza un asistente que crea un cuadro combinado vinculado. El tipo resultante es Texto corto o Número.

Tres tipos no presentes en todas las versiones de Access:

  • Número grande: desde Access 2016 (build 16.7+ con Microsoft 365 actualizado).

  • Fecha/Hora extendida: desde Microsoft 365 / Access 2021 (no disponible en Access 2019 ni anteriores).

  • Calculado: desde Access 2010 (primer tipo de datos derivado de expresión almacenado en la tabla).

Campos que parecen numéricos pero deben ser Texto corto: código postal, NIF/NIE, número de portal, número de piso, teléfono. Con ninguno de ellos se realizan cálculos matemáticos. Otros matices: Número grande hace la base de datos incompatible con versiones antiguas (Access avisa al guardar). Los límites de tamaño difieren — Objeto OLE hasta 1 GB por campo vs Datos adjuntos hasta 2 GB por base de datos. En Sí/No, los tres pares de valores son equivalentes entre sí: Sí = Verdadero = Activado; No = Falso = Desactivado.

3.1. Subtipos del campo Número

Cuando el tipo de datos es Número, la propiedad Tamaño del campo define el subtipo numérico, con su rango y almacenamiento:

SubtipoRangoAlmacenamiento
Byte0 a 255 (solo enteros positivos)1 byte
Entero−32.768 a +32.7672 bytes
Entero largo (predeterminado)−2.147.483.648 a +2.147.483.6474 bytes
Simple±3,4 × 10³⁸ (hasta 7 dígitos significativos)4 bytes
Doble±1,797 × 10³⁰⁸ (hasta 15 dígitos significativos)8 bytes
Id. de replicaciónGUID para replicación de bases de datos16 bytes
Decimal±9,999… × 10²⁷ (hasta 28 dígitos significativos)12 bytes

Para relacionar un campo Autonumeración (clave principal de la tabla 1) con el campo equivalente en una tabla relacionada (clave externa), ese campo debe ser de tipo Número con subtipo Entero largo (4 bytes, mismo tamaño que el Autonumeración). Este es el motivo de que Entero largo sea el subtipo predeterminado de Número.


4. Propiedades de campo

El panel inferior de la vista Diseño muestra las propiedades configurables del campo seleccionado. Las propiedades disponibles varían según el tipo de datos. Las trece principales son:

4.1. Tamaño del campo

  • Para Texto corto: número máximo de caracteres permitidos (1–255; predeterminado 255).
  • Para Número: subtipo numérico (Byte, Entero, Entero largo, Simple, Doble, Id. de replicación, Decimal).
  • Para Autonumeración: solo permite Entero largo o Id. de replicación.

4.2. Formato

Controla cómo se muestra el valor en tablas, formularios e informes, sin modificar el valor almacenado. Disponible para todos los tipos excepto Objeto OLE y Datos adjuntos. Las opciones predefinidas dependen del tipo:

Tipo de datoFormatos predefinidos
Número / Moneda / AutonumeraciónNúmero general · Moneda · Euro · Fijo · Estándar · Porcentaje · Científico
Fecha/HoraFecha general · Fecha larga · Fecha mediana · Fecha corta · Hora larga · Hora mediana (AM/PM) · Hora corta
Sí/NoSí/No · Verdadero/Falso · Activado/Desactivado
Texto corto / Texto largoSin formatos predefinidos; se personaliza con caracteres especiales
4.2.a. Formatos personalizados para Texto

Los campos de texto carecen de formatos predefinidos; se crean con estos caracteres:

SímboloSignificado
@Carácter de texto obligatorio (carácter o espacio).
&Carácter de texto no obligatorio.
>Convierte los caracteres a MAYÚSCULAS.
<Convierte los caracteres a minúsculas.
"ABC"Los caracteres entre comillas se muestran literalmente.
!Rellena de izquierda a derecha en lugar de derecha a izquierda.
*Rellena el espacio disponible con el carácter que le sigue.
[color]Muestra los datos en el color indicado: negro, azul, verde, cian, rojo, amarillo, magenta, blanco.
4.2.b. Formatos personalizados para Número y Moneda
SímboloSignificado
, (coma)Separador decimal.
. (punto)Separador de miles.
0Muestra un dígito o cero (dígito obligatorio).
#Muestra un dígito o nada (dígito no obligatorio).
$Muestra el símbolo $.
Muestra el símbolo .
%Multiplica el valor por 100 y muestra el símbolo %.
[color]Muestra los datos en el color indicado.
4.2.c. Formatos personalizados para Fecha/Hora
SímboloResultado
d / ddDía con 1-2 dígitos / Día con 2 dígitos.
ddd / ddddAbreviatura del día (3 letras) / Nombre completo del día.
m / mmMes con 1-2 dígitos / Mes con 2 dígitos.
mmm / mmmmTres primeras letras del mes / Nombre completo del mes.
aa / aaaaDos últimos dígitos del año / Año completo.
h / hhHora con 1-2 dígitos / Hora con 2 dígitos.
n / nnMinuto con 1-2 dígitos / Minuto con 2 dígitos.
s / ssSegundo con 1-2 dígitos / Segundo con 2 dígitos.
AM/PM / am/pmIndicador AM/PM en mayúsculas o minúsculas.

4.3. Máscara de entrada

Proporciona un patrón de introducción de datos que guía al usuario mediante caracteres literales y marcadores de posición. Los principales caracteres son:

CarácterSignificado
0Dígito (0–9). Obligatorio.
9Dígito (0–9) o espacio. Opcional.
#Dígito, espacio, signo + o −. Opcional.
LLetra (A–Z, a–z). Obligatoria.
?Letra. Opcional.
ALetra o dígito. Obligatorio.
aLetra o dígito. Opcional.
&Cualquier carácter o espacio. Obligatorio.
CCualquier carácter o espacio. Opcional.
>Convierte los caracteres siguientes a MAYÚSCULAS.
<Convierte los caracteres siguientes a minúsculas.
!Rellena la máscara de izquierda a derecha.
"ABC"Los caracteres entre comillas se muestran literalmente.

Diferencia clave entre 0 y 9: el 0 exige que el usuario introduzca un dígito; el 9 lo hace opcional. Ejemplos típicos:

  • Máscara para DNI: 00000000>L (ocho dígitos obligatorios + letra forzada a mayúsculas).

  • Máscara para código postal: 00000 (cinco dígitos obligatorios — el campo debe ser Texto corto, nunca Número).

4.4. Valor predeterminado

Valor que Access introduce automáticamente en el campo al crear un nuevo registro. El usuario puede modificarlo. Útil para campos que suelen contener siempre el mismo dato (por ejemplo, País = "España"). Disponible para todos los tipos excepto Objeto OLE, Datos adjuntos, Autonumeración y Calculado.

4.5. Regla de validación

Expresión que debe cumplir el valor introducido para ser aceptado. Si el valor no satisface la regla, Access muestra el Texto de validación. Disponible para todos los tipos excepto Autonumeración, Datos adjuntos y Objeto OLE.

Expresión de reglaSignificado
>=100 Y <=2000El valor debe estar entre 100 y 2000.
<>0El valor debe ser distinto de cero.
<#1/1/2024#Fecha anterior al 1 de enero de 2024.
Entre #1/1/2022# Y #1/1/2024#Fecha comprendida entre ambas fechas.
COMO "M*"Debe comenzar por la letra M.
COMO "M???"Debe comenzar por M y tener exactamente 4 caracteres.
"Madrid" O "Barcelona" O "Sevilla"Solo se admiten esos tres valores.
>[Fecha_Alta]Debe ser posterior al campo Fecha_Alta del mismo registro.

4.6. Texto de validación

Mensaje que aparece en pantalla cuando el valor introducido infringe la regla de validación. Debe ser claro y orientar al usuario. Disponible para los mismos tipos que la Regla de validación.

4.7. Requerido

Si se establece a , el campo no puede quedar vacío (nulo) al guardar el registro. Predeterminado: No. Disponible para todos los tipos excepto Calculado, Autonumeración y Sí/No.

4.8. Permitir longitud cero

Solo disponible para Texto corto y Texto largo. Controla si una cadena vacía "" se admite como valor válido.

Diferencia conceptual fundamental:

  • Nulo = el campo está vacío y no tiene ningún dato (Access no sabe qué hay ahí).

  • Cadena de longitud cero "" = el usuario ha introducido explícitamente «nada» como valor.

Una validación que exige «Requerido = Sí» con «Permitir longitud cero = No» obliga a introducir un valor real distinto de la cadena vacía.

4.9. Indexado

Un índice acelera las búsquedas y ordenaciones en ese campo. Opciones:

  • No: sin índice. Predeterminado para la mayoría de campos.
  • Sí (con duplicados): admite valores repetidos.
  • Sí (sin duplicados): exige unicidad (equivale a una clave candidata).

La propiedad Indexado Sí (sin duplicados) garantiza unicidad en el campo, igual que la clave principal. La diferencia: una tabla solo puede tener una clave principal, pero puede tener varios campos indexados sin duplicados (claves candidatas).

4.10. Título

Define un nombre alternativo para la etiqueta del campo en tablas, formularios e informes. Si un campo se llama FechaAlq en la BD, el Título puede mostrarlo como «Fecha de alquiler» sin necesidad de renombrarlo. Si no se establece, se usa el nombre del campo. Disponible para todos los tipos.

4.11. Lugares decimales

Determina el número de decimales que se muestran. Disponible para Número (excepto Byte, Entero y Entero largo), Número grande y Moneda. Predeterminado: Automático (Access decide según el formato). Se puede fijar entre 0 y 15. No modifica el valor almacenado, solo la presentación.

4.12. Alineación del texto

Controla la alineación horizontal del contenido en las vistas Hoja de datos, formularios e informes. Opciones:

  • General: alineación por defecto (texto a la izquierda, números a la derecha).
  • Izquierda · Centro · Derecha · Distribuir (extiende el texto para rellenar el ancho).

4.13. Pestaña Búsqueda

La pestaña Búsqueda del panel inferior contiene propiedades adicionales para los campos de tipo «Asistente para búsquedas» o para cualquier campo al que se quiera añadir un control de lista. La propiedad más relevante es Mostrar control:

Valor de Mostrar controlDescripción
Cuadro de textoEl campo se muestra como cuadro de texto normal editable. Predeterminado para la mayoría de tipos.
Cuadro de listaLista desplegable fija de valores. No permite escribir un valor fuera de la lista.
Cuadro combinadoLista desplegable + cuadro editable. El usuario puede seleccionar o escribir un nuevo valor.

5. Clave principal y clave externa

La clave principal (o clave primaria) es un campo o conjunto de campos que identifican de forma única e inequívoca cada registro de la tabla. No puede haber dos registros con el mismo valor en la clave principal, ni puede ser nula.

Crear una clave principal simple (un campo): vista Diseño → seleccionar el campo → clic derecho → Clave principal (o botón Clave principal en la pestaña Diseño). El campo queda marcado con un icono de llave amarilla.

Crear una clave principal compuesta (varios campos): mantener Ctrl y hacer clic en los campos → clic derecho → Clave principal.

Tres matices sobre la clave principal:

  • Si se cierra la vista Diseño sin definir clave principal, Access ofrece crearla automáticamente con un campo Id de tipo Autonumeración. Es recomendable definirla explícitamente antes.

  • Una tabla solo puede tener UNA clave principal, pero puede tener VARIOS índices sin duplicados.

  • Una clave externa (o foránea) es un campo de una tabla relacionada que almacena el valor de la clave principal de la tabla principal. Para relacionar un campo Autonumeración con su clave externa, esta debe ser tipo Número con subtipo Entero largo.

El campo que conecta dos tablas recibe distintos nombres según el lado: clave principal (o primaria) en la tabla del lado «uno» · clave externa (o foránea) en la tabla del lado «varios». En Access, la clave externa de una tabla relacionada con un campo Autonumeración debe ser de tipo Número (Entero largo).


6. Vista Hoja de datos

La vista Hoja de datos muestra los datos de la tabla en formato de cuadrícula (filas = registros, columnas = campos). Es la vista habitual para introducir y editar datos. Se alterna con la vista Diseño desde el botón Ver en la pestaña Inicio.

En la parte inferior de la hoja de datos se encuentra la barra de navegación de registros con los botones:

  • Primer registro |◄ · Registro anterior · Número actual / total [N de M] · Siguiente registro · Último registro ►| · Nuevo registro vacío ►*.
  • Cuadro de búsqueda que filtra registros mientras se escribe.

Cuando dos tablas están relacionadas, los registros de la tabla principal muestran un icono + a la izquierda. Al pulsarlo se despliega la hoja secundaria de datos con los registros relacionados de la tabla secundaria. Se configura desde Inicio → Registros → Más → Hoja secundaria de datos.

6.1. Operaciones con registros en vista Hoja de datos

OperaciónMétodo
Añadir nuevo registroCtrl++ · botón «Nuevo registro» en la barra · Inicio → Registros → Nuevo
Eliminar registroCtrl+− · Supr (con el registro seleccionado) · Inicio → Registros → Eliminar → Eliminar registro
Editar datoSituar el cursor en la celda y escribir. El lápiz en el selector de fila indica cambios sin guardar.
Guardar registroAccess guarda automáticamente al saltar al siguiente registro. También Mayús+Intro.
Seleccionar campo (columna)Clic en la cabecera de la columna.
Seleccionar registro (fila)Clic en el selector de registro (zona izquierda de la fila).
Seleccionar toda la tablaClic en la esquina superior izquierda (intersección entre cabecera y selector).
Avanzar entre camposIntro o Tab (izquierda a derecha). Al llegar al último campo del último registro, Tab crea uno nuevo.

Eliminar un registro es una operación irreversible: Access muestra un aviso de confirmación antes de proceder, pero una vez aceptado no es posible deshacer. Ctrl+Z no funciona para eliminaciones de registros. La copia de seguridad es la única vía de respaldo ante un borrado accidental.


7. Filtros

Un filtro permite limitar temporalmente los registros visibles en una tabla, consulta o formulario sin alterar el diseño del objeto ni los datos subyacentes. A diferencia de las consultas, los filtros no se guardan como objetos independientes de la base de datos (aunque sí pueden guardarse junto con la tabla o consulta).

7.1. Filtros comunes

Se accede desde el triángulo desplegable en la cabecera de cada campo, o desde Inicio → Ordenar y filtrar → Filtro. La lista de opciones de filtrado se adapta al tipo de datos del campo (criterios de texto, número, fecha…).

  • Desactivar un filtro sin eliminarlo: botón Alternar filtro.
  • Eliminar el filtro completamente: Borrar filtro de [campo] desde el menú desplegable de la cabecera.

7.2. Filtro por selección

Se basa en el valor de una celda seleccionada. Pasos: seleccionar la celda cuyo valor se quiere usar como criterio → Inicio → Ordenar y filtrar → Selección → elegir el tipo de coincidencia (es igual a · contiene · comienza por…). Es el método más rápido para filtrar por un valor concreto.

7.3. Filtro por formulario

Permite combinar varios criterios sobre distintos campos antes de aplicar el filtro. Se accede desde Inicio → Ordenar y filtrar → Avanzadas → Filtro por formulario. Access muestra un registro vacío donde se introducen los criterios usando operadores de comparación (= > < >= <= <> ENTRE COMO). La pestaña O en la parte inferior permite añadir condiciones alternativas (OR). Una vez configurados, se activa el filtro con Alternar filtro.

OperadorSignificado
=Igual a
> / <Mayor que / Menor que
>= / <=Mayor o igual a / Menor o igual a
<>Distinto de
ENTRE … Y …Dentro de un rango de valores
COMO …Compara cadenas de texto con comodines (* y ?)

Tres diferencias clave filtro vs consulta:

  • El filtro limita la visualización temporalmente; la consulta se guarda como objeto reutilizable.

  • El filtro opera sobre una tabla, consulta o formulario ya abierto; la consulta puede combinar varias tablas de origen.

  • El filtro no permite campos calculados ni funciones de agregación; la consulta sí.


Epígrafe 3 — Consultas

1. Concepto y clasificación

Una consulta es una pregunta formulada a la base de datos. Es el objeto de Access que permite extraer, filtrar, calcular, ordenar y manipular datos almacenados en una o varias tablas. A diferencia de los filtros, las consultas se guardan como objetos independientes de la base de datos y pueden reutilizarse.

Las consultas se clasifican en dos grandes categorías según su función:

CategoríaQué haceTipos
Consultas de selecciónExtraen y presentan datos sin modificarlos. El resultado es un conjunto de registros (hoja de respuestas dinámica).Simple · Parámetros · Totales · Referencias cruzadas · Duplicados · No coincidentes
Consultas de acciónModifican los datos de la tabla subyacente de forma masiva. La acción es irreversible (no hay Ctrl+Z).Creación de tabla · Actualización · Datos anexados · Eliminación

Las consultas de acción modifican los datos de forma permanente. Access muestra un cuadro de diálogo de confirmación antes de ejecutarlas. Una vez confirmadas, no es posible deshacer la acción con Ctrl+Z. La precaución estándar es hacer una copia de seguridad antes de ejecutar una consulta de eliminación o actualización masiva.


2. Tipos de consultas de selección

2.1. Consulta simple (de selección)

Extrae registros de una o más tablas aplicando los criterios definidos. Es la base de todas las demás consultas. Se crea desde Crear → Diseño de consulta o con el Asistente para consultas → Asistente para consultas sencillas.

2.2. Consulta de parámetros

Solicita al usuario uno o más valores al ejecutarse y los utiliza como criterios de filtrado. Se definen escribiendo el texto del mensaje entre corchetes en la fila Criterios de la vista Diseño.

Ejemplo: en la columna Fecha, escribir [Introduce la fecha de inicio:] hace que Access muestre ese mensaje en un cuadro de diálogo y use el valor introducido como criterio.

Para que Access valide el tipo de dato del parámetro, se declara en Diseño → Parámetros: se indica el nombre (igual que el texto del corchete) y el tipo esperado.

2.3. Consulta de totales (de agrupación)

Calcula valores de resumen (suma, media, cuenta, máximo, mínimo…) para grupos de registros. Se activa con el botón Totales (Σ) en la vista Diseño: aparece la fila Total bajo la fila Tabla. Para cada columna se elige entre Agrupar por (define el grupo) o una función de agregación.

FunciónSignificadoSQL
Agrupar porDefine los grupos sobre los que se calculan los totales.GROUP BY
SumaSuma de los valores del campo en cada grupo.SUM()
PromedioMedia aritmética.AVG()
Mín / MáxValor mínimo / máximo del grupo.MIN() / MAX()
CuentaNúmero de registros del grupo (ignora nulos).COUNT()
DesvEstDesviación estándar de la muestra.STDEV()
VarVarianza de la muestra.VAR()
Primero / ÚltimoPrimer / último valor del campo dentro del grupo.
ExpresiónEl campo contiene una expresión calculada con funciones de agregación.
DondeEl campo se usa solo como criterio de filtrado previo a la agrupación; no aparece en el resultado.WHERE

2.4. Consulta de tabla de referencias cruzadas

Presenta los datos en formato de tabla de doble entrada (similar a una tabla dinámica de Excel): los valores de un campo pasan a ser los encabezados de columna, y se calcula un valor de resumen para cada intersección de fila y columna. Se crea con el Asistente para consultas de tabla de referencias cruzadas (Crear → Asistente para consultas → Referencias cruzadas).

En la vista Diseño de una referencia cruzada aparece la fila Referencia cruzada con tres opciones:

  • Encabezado de fila: campo que define las filas.
  • Encabezado de columna: campo cuyos valores se convierten en columnas.
  • Valor: función de agregación que rellena las celdas.

2.5. Consulta de búsqueda de duplicados

Detecta los registros que tienen el mismo valor en uno o más campos especificados. Útil para limpiar bases de datos con entradas repetidas. Se crea con el Asistente para buscar duplicados (Crear → Asistente para consultas → Buscar duplicados). Internamente genera una consulta de selección con HAVING COUNT(*) > 1.

2.6. Consulta de no coincidentes

Devuelve los registros de una tabla que no tienen correspondencia en otra tabla relacionada. Especialmente útil para detectar registros huérfanos. Se crea con el Asistente para buscar no coincidentes (Crear → Asistente para consultas → Buscar no coincidentes). Internamente genera un LEFT JOIN comprobando que el campo de la tabla derecha sea NULL.

Cuatro asistentes de consulta en Access: (1) Sencillas · (2) Referencias cruzadas · (3) Buscar duplicados · (4) Buscar no coincidentes. La consulta de tabla de referencias cruzadas es la única que se crea casi exclusivamente con asistente; el resto se pueden crear directamente en vista Diseño.


3. Consultas multitabla

Las consultas multitabla obtienen datos de más de una tabla o consulta simultáneamente. Se configuran en la vista Diseño añadiendo varias tablas a la zona de tablas. Es recomendable que las tablas estén previamente relacionadas (ver Ep. 6), aunque no es un requisito técnico: sin relación se produce una combinación cruzada (producto cartesiano) habitualmente involuntaria.

Cuando se agregan tablas relacionadas, Access muestra automáticamente la línea de unión entre los campos vinculados. El tipo de combinación (INNER, LEFT o RIGHT JOIN) se puede modificar haciendo doble clic sobre la línea de unión (ver Ep. 6).

Las consultas multitabla son la base de la mayoría de informes y formularios en bases de datos normalizadas: extraen datos de tablas relacionadas con un solo objeto consulta que después alimenta el formulario o el informe.


4. Tipos de consultas de acción

Las consultas de acción modifican los datos. Se distinguen visualmente en el panel de navegación por su icono con signo de exclamación. En la vista Diseño, la barra de herramientas muestra el tipo activo.

4.1. Consulta de creación de tabla

Crea una tabla nueva a partir del resultado de una consulta de selección. La tabla nueva se almacena en la misma base de datos (o en otra base de datos especificada). Útil para crear tablas de archivo o instantáneas del estado actual. Se configura desde Diseño → Tipo de consulta → Creación de tabla.

4.2. Consulta de actualización

Modifica los valores de uno o más campos en los registros que cumplen los criterios. Equivale a un UPDATE masivo en SQL. En la vista Diseño aparece la fila Actualizar a: donde se introduce el nuevo valor o expresión. Se configura desde Diseño → Tipo de consulta → Actualización.

Ejemplo: actualizar el campo Categoría a 'Veterano' en todos los registros con Años_Servicio > 20.

4.3. Consulta de datos anexados

Añade los registros resultado de una consulta de selección al final de una tabla ya existente (de la misma BD o de otra). Útil para consolidar datos de varias fuentes. Al configurarla se indica la tabla de destino; Access intenta hacer corresponder los campos por nombre. Se configura desde Diseño → Tipo de consulta → Datos anexados.

4.4. Consulta de eliminación

Borra los registros que cumplen los criterios. Muestra cuántos registros se eliminarán antes de confirmar. Opera sobre una tabla a la vez; para eliminar registros relacionados en cadena se necesita activar Eliminar en cascada en las relaciones (ver Ep. 6). Se configura desde Diseño → Tipo de consulta → Eliminación.


5. Operadores en Access

Los operadores permiten construir criterios y expresiones en consultas, formularios e informes. Se clasifican en cinco categorías:

5.1. Operadores de comparación

OperadorSignificado
=Igual a. Las funciones en formularios e informes deben ir precedidas de este signo.
>Mayor que.
<Menor que.
>=Mayor o igual a.
<=Menor o igual a.
<>Distinto a.

5.2. Operadores de concatenación, matemáticos y lógicos

OperadorTipoSignificado
&ConcatenaciónUne cadenas de texto.
+MatemáticoSuma los términos de la expresión.
-MatemáticoResta dos números.
*MatemáticoMultiplica dos números.
/MatemáticoDivide el primer término entre el segundo.
^MatemáticoEleva un número a una potencia.
YLógicoAmbos criterios deben cumplirse. Se establece en la misma fila de la cuadrícula QBE o escribiendo Y entre dos condiciones.
OLógicoAlguno de los criterios debe cumplirse. Se establece en filas distintas de la cuadrícula QBE o escribiendo O entre dos condiciones.

5.3. Operadores especiales

OperadorUso
ENTRE … Y …Define un rango de valores. Ejemplo: Entre 100 Y 500.
COMOCompara con una cadena de texto usando comodines. Ejemplo: Como "G*".
* (comodín)Sustituye a una cadena de longitud indeterminada. Se usa con COMO.
? (comodín)Sustituye exactamente a un carácter. Se usa con COMO.
#FECHA#Las fechas deben ir entre almohadillas. Ejemplo: #01/01/2024#.
"TEXTO"El texto debe ir entre comillas dobles en las expresiones.
[CORCHETES]Especifica el nombre de un campo en una expresión.
Sí/No (booleanos)Usar: 1, Verdadero, o Activado para verdadero. Usar: 0, Falso, No o Desactivado para falso.

6. Vista Diseño de consultas: cuadrícula QBE

La vista Diseño de una consulta usa la cuadrícula QBE (Query By Example, consulta por ejemplo). Está compuesta por:

  • Zona de tablas (parte superior): muestra las tablas y consultas que sirven de origen y sus líneas de relación.
  • Cuadrícula de campos (parte inferior): cada columna representa un campo incluido en la consulta. La cuadrícula tiene seis filas estándar:
Fila de la cuadrícula QBEFunción
CampoNombre del campo incluido en la consulta. Se arrastra desde la lista de tablas o se elige del desplegable.
TablaTabla de origen del campo.
OrdenCriterio de ordenación: Ascendente · Descendente · (ninguno).
MostrarCasilla que indica si el campo aparece en el resultado. Se puede usar un campo como criterio sin mostrarlo.
CriteriosCondición que deben cumplir los registros para ser incluidos.
O:Permite añadir condiciones OR adicionales.

Vista Diseño de una consulta de selección con la zona de tablas en la parte superior y la cuadrícula QBE en la inferior. Se muestran varias columnas con datos en las filas Campo, Tabla, Orden, Mostrar y Criterios.

Para agregar un campo calculado a la cuadrícula: en la celda Campo, escribir el nombre del nuevo campo seguido de dos puntos y la expresión.

Ejemplo: Precio_IVA: [Precio_Base]*1,21. El nombre precedido de dos puntos actúa como alias del campo en el resultado.

Criterios en la misma fila → se combinan con AND (el registro debe cumplirlos todos). Criterios en filas distintas (fila Criterios y filas «O:») → se combinan con OR (el registro debe cumplir al menos uno).

6.1. Criterios y operadores en la QBE

Operador / ExpresiónSignificado / Ejemplo
=, <>, <, >, <=, >=Comparación numérica, de texto o de fecha. Ejemplo: >=1000.
ENTRE x Y yIncluye los valores x e y y todos los comprendidos entre ellos.
EN (v1, v2, v3)El valor debe pertenecer a la lista. Ejemplo: En ("Madrid";"Barcelona";"Sevilla").
COMO "patrón"Coincidencia de texto con comodines (* cualquier cadena · ? un carácter · # un dígito).
ES NULO / NO ES NULORegistros con / sin valor en el campo.
NO expresiónNiega la condición. Ejemplo: No "Madrid".
[Nombre del parámetro]Solicita el valor al usuario cuando se ejecuta la consulta (parámetro).
Expresión: [Campo1]*[Campo2]Campo calculado. El texto antes de los dos puntos es el nombre del campo en el resultado.

6.2. Comodines en criterios COMO

ComodínCoincide conEjemplo
*Cualquier secuencia de caracteres (incluida la vacía)."M*" → Madrid, María, MP3.
?Exactamente un carácter cualquiera."M???" → Mars, Mapa, M123.
#Exactamente un dígito (0–9)."0##" → 012, 099, 034.
[lista]Cualquier carácter de la lista entre corchetes."[AEIOU]*" → empieza por vocal.
[!lista]Cualquier carácter NO incluido en la lista."[!AEIOU]*" → empieza por consonante.
[rango]Cualquier carácter dentro del rango (orden ASCII)."[A-M]*" → empieza por letra entre A y M.

El comodín # (un dígito) es propio de Access: no forma parte del estándar SQL-92, donde sólo existen % (cualquier cadena) y _ (un carácter). Por eso, si la base de datos se migra a SQL Server u Oracle, los criterios COMO "0##" deben reescribirse.


7. Vista SQL

Cada consulta tiene una representación equivalente en lenguaje SQL (Structured Query Language). Se accede desde Inicio → Ver → Vista SQL (o clic en la flecha del botón Ver con una consulta abierta). En la vista SQL el usuario puede escribir o editar directamente el código SQL, lo que permite construcciones más complejas que las admitidas por la QBE.

La estructura básica de una consulta de selección es:

SELECT campo1, campo2, ...
FROM tabla1 INNER JOIN tabla2 ON tabla1.campo = tabla2.campo
WHERE criterio
GROUP BY campo
HAVING condición_grupo
ORDER BY campo ASC|DESC;

Correspondencia entre cláusulas SQL y la cuadrícula QBE:

Cláusula SQLEquivalente en la QBE
SELECT campo1, campo2, ...Columnas con la casilla Mostrar marcada.
FROM tabla1 INNER JOIN tabla2 ON …Tablas en la zona superior y líneas de relación.
WHERE criterio1 AND criterio2Fila Criterios (misma fila → AND).
`ORDER BY campo ASCDESC`
GROUP BY campoFila Total = Agrupar por.
HAVING condición_grupoCriterios en columnas con función de agregación.
TOP nPropiedad «Valores más altos» de la consulta.

7.1. Consultas UNION

La cláusula UNION combina los resultados de dos o más consultas SELECT en un único conjunto de resultados. Los requisitos:

  • El número de columnas debe ser el mismo en ambas consultas.
  • Los tipos de datos de las columnas correspondientes deben ser compatibles.
SELECT Nombre, Ciudad FROM Clientes
UNION
SELECT Nombre, Ciudad FROM Proveedores;

Tres matices sobre UNION:

  • UNION elimina duplicados automáticamente; UNION ALL los conserva. La cláusula para combinar dos consultas manteniendo los duplicados es UNION ALL.

  • Las consultas UNION solo se pueden crear en vista SQL (no en QBE). Por eso aparecen con un icono distinto en el panel de navegación.

  • Las consultas UNION son de solo lectura: no se puede editar el resultado ni ejecutar sobre ellas consultas de acción.


8. Generador de expresiones

El Generador de expresiones es la herramienta visual de Access para construir expresiones (cálculos, criterios, valores predeterminados, reglas de validación) sin memorizar la sintaxis exacta de cada función. Se puede invocar desde cualquier campo que admita expresiones: cuadrícula QBE, hoja de propiedades, regla de validación, valor predeterminado…

Se accede pulsando el botón ... que aparece junto al campo correspondiente, o desde la pestaña contextual Diseño → grupo Configuración de consultas → Generador.

La interfaz se divide en tres zonas:

ZonaContenido
Cuadro de expresión (superior)Área de texto donde se escribe o construye la expresión. La expresión resultante (p. ej. =[Precio]*1,21) se muestra aquí.
Panel izquierdo — ElementosÁrbol con todos los objetos disponibles: tablas, consultas, formularios e informes; funciones integradas (agrupadas por categoría); constantes (Verdadero, Falso, Nulo); y operadores.
Panel central — CategoríasSubcategorías del elemento seleccionado en el panel izquierdo. Al hacer clic en «Funciones integradas», muestra los grupos: Fecha/hora, Texto, Matemáticas, Flujo de programa, etc.
Panel derecho — ValoresElementos concretos de la categoría seleccionada. Al seleccionar un grupo de funciones, aparecen aquí todas las funciones de ese grupo con su sintaxis.

Al seleccionar una función en el panel derecho y hacer doble clic (o Pegar), la función se inserta en el cuadro de expresión con marcadores de posición para los argumentos (p. ej. IIF(<<condición>>;<<valor_si_verdadero>>;<<valor_si_falso>>)). El usuario reemplaza los marcadores por los valores reales.

El Generador de expresiones no crea ningún objeto nuevo: simplemente ayuda a construir la sintaxis correcta de una expresión que se almacena en la propiedad correspondiente. La expresión se puede escribir a mano sin usar el generador si se conoce la sintaxis.


9. Funciones incorporadas

Access dispone de un amplio conjunto de funciones incorporadas utilizables en campos calculados de consultas, cuadros de texto calculados de formularios/informes, reglas de validación y macros. Las funciones se agrupan en seis categorías relevantes para el nivel C1 AGE.

Las funciones se muestran en la interfaz castellana del Generador con los nombres traducidos (SIINM, IZQ, DER…). Internamente, la consulta SQL guarda el equivalente en inglés (IIf, Left, Right…), pero el usuario puede escribir ambos.

9.1. Funciones de fecha y hora

FunciónSintaxisDescripción
FECHAFECHA()Devuelve la fecha actual del sistema (sin hora).
AHORAAHORA()Devuelve la fecha y hora actuales del sistema.
HORAACTUALHORAACTUAL()Devuelve solo la hora actual del sistema.
AÑOAÑO([campo])Extrae el año de una fecha.
MESMES([campo])Extrae el mes (1–12).
DÍADÍA([campo])Extrae el día del mes (1–31).
HORAHORA([campo])Extrae la hora (0–23).
MINUTOMINUTO([campo])Extrae los minutos (0–59).
SEGUNDOSEGUNDO([campo])Extrae los segundos (0–59).
DIFFECHADIFFECHA("unidad"; fecha1; fecha2)Diferencia entre dos fechas en la unidad indicada: aaaa (años), t (trimestres), m (meses), ee (semanas), d (días).
AGREGFECHAAGREGFECHA("unidad"; n; fecha)Suma n intervalos de la unidad indicada a una fecha.
DÍASEMANADÍASEMANA([campo]; [inicio])Devuelve un número del 1 al 7 indicando el día de la semana. El segundo argumento define qué día es el 1 (1 = domingo predeterminado).
SERIEFECHASERIEFECHA([año]; [mes]; [día])Construye una fecha a partir de sus componentes.
SERIEHORASERIEHORA([hora]; [min]; [seg])Construye una hora a partir de sus componentes.

9.2. Funciones de texto

FunciónSintaxisDescripción
IZQIZQ(texto; n)Extrae los n primeros caracteres por la izquierda.
DERDER(texto; n)Extrae los n últimos caracteres por la derecha.
MEDIOMEDIO(texto; inicio; n)Extrae n caracteres a partir de la posición inicio.
LONGITUDLONGITUD(texto)Número total de caracteres de la cadena.
MAYÚSMAYÚS(texto)Convierte la cadena a MAYÚSCULAS.
MINÚSMINÚS(texto)Convierte la cadena a minúsculas.
NOMPROPIONOMPROPIO(texto)Primera letra de cada palabra en mayúscula.
RECORTARRECORTAR(texto)Elimina los espacios al principio y al final.
ENCADENCAD([inicio]; texto; buscado)Posición del texto buscado dentro de la cadena.
CADENACADENA(n; texto)Repite el primer carácter de texto n veces.
FORMATFORMAT(campo; "formato"; ...)Formatea un valor según el patrón indicado.

9.3. Funciones condicionales (flujo de programa)

FunciónSintaxisDescripción
SIINMSIINM(prueba; valorSí; valorNo)Si la prueba lógica es verdadera devuelve valorSí; en caso contrario valorNo. Equivale al SI() de Excel.
CONMUTADORCONMUTADOR(prueba1; val1; prueba2; val2; ...)Evalúa las pruebas en orden; devuelve el valor asociado a la primera prueba verdadera. Equivale a SI() anidados de Excel.
ELEGIRELEGIR(índice; op1; op2; op3; ...)Devuelve la opción cuya posición coincide con el índice. ELEGIR(2;"A";"B";"C")"B".

La función equivalente al SI() de Excel en Access se llama SIINM (abreviatura de «Si Inmediato»). El nombre se confunde con frecuencia con IIF (su denominación interna en inglés). Ambas formas son válidas en la sintaxis. Sintaxis castellana: SIINM(condición; valor_si_verdadero; valor_si_falso).

9.4. Funciones matemáticas

FunciónSintaxisDescripción
ABSABS(número)Valor absoluto (siempre positivo).
INTINT(número)Parte entera (trunca los decimales hacia abajo).
REDONDEARREDONDEAR(número; decimales)Redondea al número de decimales especificado.
RAÍZ2RAÍZ2(número)Raíz cuadrada.
NÚMALEATNÚMALEAT()Número aleatorio entre 0 y 1.

9.5. Funciones de agregación de SQL (consultas de totales)

Estas funciones se usan en la fila Total de la cuadrícula QBE en las consultas de totales, y también en controles calculados de informes y formularios:

FunciónDescripción
SUMA([campo])Suma todos los valores del campo.
PROMEDIO([campo])Media aritmética.
CUENTA([campo])Número de registros con contenido (no nulos).
MÁX([campo])Valor máximo del campo.
MÍN([campo])Valor mínimo del campo.
DESVEST([campo])Desviación estándar.
VAR([campo])Varianza.

9.6. Funciones de dominio

Las funciones de dominio (también llamadas D-Aggregate) son similares a las funciones de agregación de SQL, pero pueden usarse en cualquier lugar donde se admita una expresión: valor predeterminado, regla de validación, control calculado de formulario o informe. Operan sobre un dominio (tabla o consulta) y opcionalmente con un criterio de filtro.

FunciónSintaxisDescripción
DSUMADSUMA("campo"; "tabla"; [criterio])Suma los valores del campo que cumplen el criterio.
DPROMDPROM("campo"; "tabla"; [criterio])Promedio de los valores que cumplen el criterio.
DCONTDCONT("campo"; "tabla"; [criterio])Cuenta los registros no nulos que cumplen el criterio.
DMÁXDMÁX("campo"; "tabla"; [criterio])Máximo del campo que cumple el criterio.
DMÍNDMÍN("campo"; "tabla"; [criterio])Mínimo del campo que cumple el criterio.
DBÚSQDBÚSQ("campo"; "tabla"; criterio)Valor único que cumple el criterio (error si hay más de uno).
DPRIMDPRIM("campo"; "tabla"; [criterio])Primer valor encontrado que cumple el criterio.
DÚLTIMODÚLTIMO("campo"; "tabla"; [criterio])Último valor encontrado que cumple el criterio.
DVARDVAR("campo"; "tabla"; [criterio])Varianza de los valores que cumplen el criterio.
DDESVESTDDESVEST("campo"; "tabla"; [criterio])Desviación estándar de los valores que cumplen el criterio.

Ejemplo del uso de DSUMA en el valor predeterminado de un campo:

=DSUMA("[Importe]"; "Pedidos"; "[ClienteID]=" & [ClienteID])

devuelve la suma de todos los importes de pedidos del cliente actual.

9.7. Funciones financieras

FunciónSintaxisDescripción
PAGOPAGO(tasa; plazos; valorActual)Cuota periódica de un préstamo.
NPERNPER(tasa; pago; valorActual)Número total de períodos necesarios para amortizar un capital.
TASATASA(plazos; pago; valorActual)Tasa de interés por período de una anualidad.

10. Comparativa Excel ↔ Access

Las principales funciones de Excel tienen su equivalente en Access, aunque los nombres y la sintaxis difieren:

Función ExcelFunción AccessDescripción
=SUMA(n1;n2;...)SUMA([campo])Suma los valores.
=RAIZ(número)RAÍZ2(número)Raíz cuadrada.
=ALEATORIO()NÚMALEAT()Número aleatorio entre 0 y 1.
=ENTERO(número)INT(número)Parte entera.
=REDONDEAR(n;dec)REDONDEAR(n;dec)Redondea al número de decimales.
=ABS(número)ABS(número)Valor absoluto.
=MAYUSC(texto)MAYÚS(texto)Convierte a mayúsculas.
=MINUSC(texto)MINÚS(texto)Convierte a minúsculas.
=LARGO(texto)LONGITUD(texto)Número de caracteres.
=IZQUIERDA(texto;n)IZQ(texto;n)Extrae n caracteres por la izquierda.
=DERECHA(texto;n)DER(texto;n)Extrae n caracteres por la derecha.
=EXTRAE(texto;pos;n)MEDIO(texto;pos;n)Extrae n caracteres desde la posición.
=ENCONTRAR(bus;texto;pos)ENCAD(pos;texto;bus)Posición de una cadena dentro de otra.
=REPETIR(texto;n)CADENA(n;texto)Repite el primer carácter de texto n veces (≠ Excel: Excel repite la cadena completa; Access solo el primer carácter).
=CONTARA(...)CUENTA([campo])Cuenta registros no vacíos.
=MAX(...)MÁX([campo])Valor máximo.
=MIN(...)MÍN([campo])Valor mínimo.
=PROMEDIO(...)PROMEDIO([campo])Media aritmética.
=VAR(...)VAR([campo])Varianza.
=SUMAR.SI(...)DSUMA("[campo]";"tabla";"crit")Suma con criterio.
=CONTAR.SI(...)DCONT("[campo]";"tabla";"crit")Cuenta con criterio.
=MAX.SI.CONJUNTO(...)DMÁX("[campo]";"tabla";"crit")Máximo con criterio.
=MIN.SI.CONJUNTO(...)DMÍN("[campo]";"tabla";"crit")Mínimo con criterio.
=PROMEDIO.SI(...)DPROM("[campo]";"tabla";"crit")Promedio con criterio.
=AHORA()AHORA()Fecha y hora actuales.
=HOY()FECHA()Fecha actual (sin hora).
=AÑO(n) / =MES(n) / =DIA(n)AÑO([campo]) / MES([campo]) / DÍA([campo])Año, mes o día.
=HORA(n) / =MINUTO(n) / =SEGUNDO(n)HORA([campo]) / MINUTO([campo]) / SEGUNDO([campo])Hora, minuto o segundo.
=FECHA(año;mes;día)SERIEFECHA([año];[mes];[día])Compone una fecha.
=NSHORA(hora;min;seg)SERIEHORA([hora];[min];[seg])Compone una hora.
=DIASEM(fecha;tipo)DÍASEMANA([campo];1er día)Número del día de la semana.
=SI(prueba;v_v;v_f)SIINM(prueba;v_v;v_f)Función condicional.
=SI.CONJUNTO(p1;v1;p2;v2;...)CONMUTADOR(p1;v1;p2;v2;...)Múltiples condiciones encadenadas.
=PAGO(tasa;nper;va;...)PAGO(tasa;plazos;VA)Cuota periódica de préstamo.
=TASA(nper;pago;va;...)TASA(plazos;pago;VA)Tasa de interés por período.

Tres diferencias Excel ↔ Access que conviene retener:

  • =SI de Excel ↔ SIINM de Access (no Si).

  • =HOY() de Excel ↔ FECHA() de Access (no HOY).

  • =SUMAR.SI de Excel ↔ DSUMA de Access (las funciones condicionales agregadas de Excel se traducen en Access como funciones de dominio con prefijo D).


Epígrafe 4 — Formularios

1. Concepto

Un formulario es un objeto de Access que proporciona una interfaz visual para introducir, modificar, buscar y visualizar datos de una tabla o consulta. Facilita el trabajo del usuario al presentar los datos de forma ordenada y permite añadir validaciones visuales mediante controles especializados.


2. Métodos de creación

2.1. Métodos rápidos del grupo Formularios

Access ofrece cinco métodos de creación rápida desde la pestaña Crear → grupo Formularios, sin pasar por el asistente:

BotónQué genera
FormularioFormulario simple de una columna (un registro a la vez) con todos los campos de la tabla o consulta seleccionada. Es la opción más rápida.
Formulario en blancoAbre un formulario vacío en vista Presentación para que el usuario arrastre los campos deseados desde el panel «Lista de campos».
Varios elementosFormulario tipo hoja de datos que muestra varios registros a la vez en cuadrícula, pero con aspecto visual de formulario.
Hoja de datosFormulario con el aspecto exacto de la vista Hoja de datos de una tabla: cuadrícula con todos los campos y todos los registros.
Formulario divididoCombina dos vistas simultáneas: la mitad superior muestra el formulario de detalle (un registro) y la mitad inferior la hoja de datos (todos los registros). La selección en una vista sincroniza la otra.

La pestaña Crear ofrece además Diseño de formulario (formulario en blanco en vista Diseño), Asistente para formularios y Navegación (formulario de navegación por pestañas).

2.2. Asistente para formularios

El Asistente guía al usuario en la creación paso a paso. Permite:

  • Seleccionar la tabla o consulta de origen.
  • Elegir los campos que se mostrarán.
  • Seleccionar la distribución y el estilo visual.
  • Asignar un título al formulario.

Se inicia desde Crear → Formularios → Asistente para formularios. Las cuatro distribuciones disponibles son:

DistribuciónDescripción
En columnasCada campo ocupa una fila: etiqueta a la izquierda y cuadro de texto a la derecha. Muestra un registro a la vez. Distribución más habitual.
TabularLos campos se muestran en columnas como en una hoja de datos, pero con aspecto de formulario. Muestra varios registros a la vez.
Hoja de datosIgual que la vista Hoja de datos estándar. Muestra varios registros en cuadrícula.
JustificadoLos campos se distribuyen rellenando el ancho disponible, sin patrón de filas o columnas fijo.

3. Vistas de un formulario

Los formularios tienen tres vistas accesibles desde Inicio → Ver:

VistaUso
Vista FormularioVista de trabajo habitual. El usuario introduce y edita datos. No se puede modificar la estructura.
Vista PresentaciónPermite ajustar el diseño visual (tamaño, posición, formato de controles) mientras se ven datos reales del origen.
Vista DiseñoPermite modificar completamente la estructura del formulario: añadir/eliminar controles, editar propiedades, programar eventos. Los datos no son visibles en esta vista.

La diferencia clave Vista Presentación vs Vista Diseño: en Presentación se ven datos reales mientras se ajusta el diseño visual (útil para dimensionar controles al contenido real); en Diseño la estructura es totalmente editable pero no hay datos visibles.


4. Controles de un formulario

Un control es cualquier elemento que se coloca en un formulario. Los controles se añaden desde la Galería de controles de la pestaña Diseño. Se clasifican en tres categorías según su origen:

TipoDescripciónEjemplos
DependientesVinculados a un campo de la tabla o consulta de origen. Muestran y permiten editar el valor del campo.Cuadro de texto · Casilla de verificación · Cuadro de lista · Cuadro combinado · Grupo de opciones
IndependientesNo están vinculados a ningún campo. Información fija o elementos decorativos.Etiqueta · Imagen · Línea · Rectángulo
CalculadosMuestran el resultado de una expresión evaluada en tiempo de ejecución. No modifican datos.Cuadro de texto con expresión como =[Precio]*[Cantidad]

4.1. Galería de controles principal

ControlUso
Cuadro de textoDependiente o calculado. Muestra y edita texto, números, fechas y expresiones.
EtiquetaIndependiente. Texto fijo (título, descripción).
BotónEjecuta una acción (macro o VBA) al hacer clic.
Cuadro combinadoLista desplegable + cuadro editable. Permite seleccionar o escribir.
Cuadro de listaLista visible sin desplegar. Solo se puede seleccionar (no escribir).
Casilla de verificaciónControl Sí/No. Activada = Sí/Verdadero.
Botón de alternanciaAlternativa visual a la casilla: botón pulsado = Sí.
Botón de opción (radio)Permite elegir una opción dentro de un grupo.
Grupo de opcionesContiene varios botones de opción o casillas. Solo una a la vez.
Control de pestañaAñade páginas al formulario, organizando controles en pestañas.
Subformulario / SubinformeInserta otro formulario o informe en el formulario actual.
Marco de objeto dependienteMuestra objetos OLE vinculados a un campo (imágenes, documentos).
Marco de objeto independienteMuestra objetos OLE fijos no vinculados a ningún campo.
ImagenInserta una imagen estática.
Datos adjuntosMuestra y permite gestionar archivos adjuntos del campo Datos adjuntos.
Línea / RectánguloElementos gráficos decorativos independientes.
HipervínculoInserta vínculo a URL, ruta local o dirección de correo.
GráficoGráfico moderno (compartido con informes).
Control explorador EdgeMuestra contenido web dentro del formulario.

4.2. Hoja de propiedades

Cada control (y el propio formulario) tiene una hoja de propiedades con todas sus características configurables. Se abre con la tecla F4 o desde Diseño → Herramientas → Hoja de propiedades. Está organizada en cinco pestañas:

PestañaContenido
FormatoAspecto visual: fuente, color, tamaño, alineación, bordes, formato de número…
DatosConexión con los datos: Origen del control (campo vinculado), Valor predeterminado, Regla de validación…
EventosAcciones programadas (macros o VBA) ante eventos como Al hacer clic, Al cambiar, Al perder el enfoque…
OtrasNombre del control, Texto de la barra de estado, Ficha de detención (si participa en el orden de tabulación)…
TodasMuestra todas las propiedades de las cuatro pestañas anteriores en una sola lista.

5. Estructura: secciones de un formulario

Un formulario puede tener hasta cinco secciones, aunque solo Detalle es obligatoria:

SecciónDescripción
Encabezado del formularioSe muestra solo al principio (primera pantalla o primera página impresa). Contiene el título del formulario, logotipos, etc. Se activa desde Ver → Encabezado o pie del formulario.
Encabezado de páginaSolo visible en la impresión. Se repite en la parte superior de cada página impresa.
DetalleSección principal y obligatoria. Muestra los datos de cada registro.
Pie de páginaSolo visible en la impresión. Se repite en la parte inferior de cada página.
Pie del formularioSe muestra solo al final del formulario. Suele contener botones de navegación o totales generales.

Un formulario tiene cinco secciones (no cuatro, no seis): Encabezado del formulario · Encabezado de página · Detalle · Pie de página · Pie del formulario. Solo Detalle es obligatoria; las demás se añaden desde el menú Ver. Los formularios no tienen secciones de grupo (solo los informes agrupan datos): esa es la diferencia fundamental con las siete secciones de un informe (ver Ep. 5).


6. Barra de navegación y buscador

La barra de navegación en la parte inferior de un formulario en Vista Formulario es idéntica en funcionalidad a la de la Vista Hoja de datos: permite desplazarse entre registros (primero · anterior · siguiente · último · nuevo) y muestra el número del registro actual y el total. También contiene un cuadro de búsqueda que filtra registros mientras se escribe.

La barra puede ocultarse estableciendo la propiedad Botones de desplazamiento del formulario a No en la hoja de propiedades (pestaña Formato). Es habitual en formularios de diálogo o formularios modales.


7. Orden de tabulación

El orden de tabulación es la secuencia en que el cursor salta de un control al siguiente cuando el usuario pulsa Tab (o Intro) al rellenar un formulario. El orden predeterminado va de izquierda a derecha y de arriba abajo, siguiendo la posición de los controles en el diseño.

Para personalizar el orden: vista Diseño → pestaña Diseño de formulario → grupo Herramientas → Orden de tabulación. Se abre un cuadro donde se listan todos los controles; se cambia el orden arrastrando por el selector de fila a la izquierda.

La propiedad Ficha de detención de cada control (hoja de propiedades → pestaña Otras) controla si ese control participa en la secuencia de tabulación:

  • (predeterminado): el cursor se detiene en él.
  • No: el cursor lo omite y pasa directamente al siguiente.

8. Subformularios

Un subformulario es un formulario insertado dentro de otro formulario. El contenedor se llama formulario principal y el contenido subformulario. Esta técnica se usa para mostrar simultáneamente datos de dos tablas relacionadas: el principal muestra los datos del lado «uno» y el subformulario los datos del lado «varios».

Ejemplo clásico: formulario principal con los datos de un Cliente y subformulario con la lista de todos sus Pedidos. Las dos tablas deben estar relacionadas (Clientes — Pedidos con integridad referencial o, al menos, con un campo común).

Existen dos métodos para crear un formulario con subformulario:

MétodoCómo
Asistente para formulariosAl crear el formulario desde el asistente, se seleccionan campos de varias tablas relacionadas. El asistente detecta la relación y propone automáticamente un formulario principal + subformulario.
Control Subformulario/SubinformeEn Vista Diseño del formulario principal → pestaña Diseño → Controles → Subformulario/Subinforme. Se arrastra al área de diseño y se lanza el asistente de configuración.

El control de subformulario tiene dos propiedades clave para la vinculación en la hoja de propiedades (pestaña Datos):

  • Objeto de origen: nombre del formulario que actúa como subformulario.
  • Vincular campos secundarios / Vincular campos principales: campos comunes que sincronizan ambos formularios.

Un subformulario en Vista Hoja de datos solo puede mostrar una hoja secundaria de datos a la vez. Para mostrar dos niveles de detalle simultáneamente se necesita un sub-subformulario (tres niveles de anidamiento). El máximo absoluto en Access es de 7 niveles de anidamiento de formularios.


Epígrafe 5 — Informes

1. Concepto

Un informe es el objeto de Access diseñado para presentar los datos con formato profesional, ya sea en pantalla o en papel. A diferencia de los formularios (orientados a la introducción y edición), los informes son de solo lectura y están optimizados para la impresión y la distribución. Un informe puede presentar datos de una tabla o consulta, agrupados, ordenados y con totales y subtotales calculados.


2. Métodos de creación

2.1. Métodos rápidos del grupo Informes

Como ocurre con los formularios, Access ofrece métodos de creación rápida desde Crear → grupo Informes:

BotónQué genera
InformeInforme automático con todos los campos de la tabla o consulta seleccionada. Opción más rápida.
Informe en blancoAbre un informe vacío en vista Presentación para que el usuario arrastre campos desde el panel «Lista de campos».
Asistente para informesGuía al usuario paso a paso: selección de campos, agrupaciones, ordenaciones, distribución y estilo.
EtiquetasCrea etiquetas de correspondencia (mailing labels). El asistente permite elegir el tipo de etiqueta Avery u otro formato estándar.

La pestaña Crear ofrece además Diseño de informe como entrada para crear un informe en blanco directamente en vista Diseño.

2.2. Asistente para informes

El asistente para informes es la herramienta más completa para crear informes sin necesidad de programar. Sus pasos:

  1. Selección de tabla/consulta y campos.
  2. Definición de niveles de agrupación.
  3. Criterios de ordenación y funciones de resumen (suma, promedio, mín, máx, cuenta).
  4. Selección de distribución (Escalonado · En bloques · Contorno) y orientación (Vertical · Horizontal).
  5. Título del informe.

3. Vistas de un informe

Los informes tienen cuatro vistas accesibles desde Inicio → Ver:

VistaUso
Vista InformeMuestra el informe en pantalla con todos los datos y el formato final. Optimizada para lectura en pantalla (scroll continuo, sin saltos de página artificiales).
Vista Presentación preliminarMuestra exactamente cómo se imprimirá el informe, con las páginas separadas. Permite configurar papel y márgenes antes de imprimir.
Vista PresentaciónPermite ajustar el diseño visual mientras se ven datos reales. Equivalente a la Vista Presentación de los formularios.
Vista DiseñoPermite modificar completamente la estructura del informe: añadir controles, editar secciones, configurar agrupaciones. Sin datos visibles.

Los informes tienen 4 vistas (Informe · Presentación preliminar · Presentación · Diseño). Los formularios tienen 3 (Formulario · Presentación · Diseño). La Vista Presentación preliminar es exclusiva de los informes: es la única que muestra el documento paginado tal y como se imprimirá.


4. Secciones de un informe

Un informe puede tener hasta siete secciones, aunque solo Detalle es obligatoria:

SecciónDónde se imprimeContenido habitual
Encabezado del informeSolo al principio (primera página).Título del informe, fecha de generación, logotipo corporativo.
Encabezado de páginaEn la parte superior de cada página.Nombres de las columnas (etiquetas de campo), número de página.
Encabezado de grupoAntes del primer registro de cada grupo.Nombre del grupo, descripción del nivel de agrupación.
DetalleUna vez por cada registro. Sección obligatoria.Los datos de cada registro (cuadros de texto vinculados a los campos).
Pie de grupoDespués del último registro de cada grupo.Subtotales del grupo (Suma, Cuenta, Promedio…).
Pie de páginaEn la parte inferior de cada página.Número de página, fecha de impresión.
Pie del informeSolo al final (última página).Totales generales del informe, firma, aviso legal.

Los informes tienen 7 secciones posibles; los formularios solo 5 (no tienen secciones de grupo porque los formularios no agrupan datos). Las secciones de grupo (Encabezado de grupo y Pie de grupo) solo aparecen si se ha definido al menos un nivel de agrupación. Pueden existir varios niveles anidados (hasta 10 en Access). Pie del informe vs Pie de página: el pie del informe aparece una sola vez (al final del informe); el pie de página aparece en cada página.


5. Gráficos en informes

Access 365 incorpora el moderno control Gráfico (compatible con los gráficos modernos de Microsoft Office) que permite insertar gráficos interactivos directamente en informes y formularios. Se añade desde Diseño → Controles → Insertar gráfico moderno.

Los tipos de gráfico disponibles incluyen:

  • Columnas (agrupadas / apiladas) · Barras · Línea · Área.
  • Circular (tarta) · Anillo · Radial (araña).
  • Cascada · Histograma · Dispersión · Burbuja.

El gráfico se vincula a los datos de la tabla o consulta del informe mediante las propiedades Origen de filas y Campos de datos del panel del gráfico.

Panel de configuración del gráfico moderno en Access 365: panel de tareas derecho con las pestañas Datos y Formato y acceso a los ejes de categorías, leyenda y valores.


Epígrafe 6 — Relaciones

1. Por qué se relacionan las tablas

El modelo relacional se basa en distribuir la información en tablas especializadas y conectarlas mediante campos comunes, en lugar de almacenar todos los datos en una sola tabla. Esto persigue tres objetivos:

  • Evitar la redundancia: el mismo dato no se repite en varias tablas.
  • Garantizar la consistencia: un cambio en un dato solo se realiza en un lugar.
  • Facilitar el mantenimiento a largo plazo.

Ejemplo: si se almacena el nombre de la provincia en cada registro de una tabla de municipios, y luego cambia el nombre de una provincia, habría que actualizar miles de filas. Con el modelo relacional, la provincia se almacena una sola vez en su propia tabla y los municipios solo guardan el código de provincia como clave externa.


2. La ventana Relaciones

La ventana Relaciones es el panel central de diseño donde se visualizan y crean todas las relaciones entre las tablas de la base de datos. Se abre desde Herramientas de base de datos → Relaciones. Las tablas aparecen como listas de campos; las relaciones se representan como líneas que unen los campos vinculados.

Operaciones básicas:

  • Agregar tablas al diagrama: clic derecho en el área en blanco → Mostrar tabla (o pestaña Diseño → Mostrar tabla).
  • Eliminar una tabla del diagrama (sin borrarla de la BD): seleccionar y pulsar Supr.
  • Borrar una relación: clic en la línea que une las tablas → Supr.
  • Informe de relaciones: pestaña Diseño → Informe de relaciones. Access crea automáticamente un informe imprimible que se puede guardar.

Ventana Relaciones de Access 365 con tres tablas relacionadas: la línea que une los campos muestra los símbolos 1 y (infinito) en los extremos para indicar el tipo de relación.


3. Tipos de relación

Existen tres tipos de relación entre tablas, que se diferencian por la cardinalidad (número de registros de cada tabla que pueden vincularse con registros de la otra).

3.1. Uno a varios (1:N)

Un registro de la tabla A puede estar asociado con varios registros de la tabla B, pero cada registro de B solo está asociado con uno de A. Es el tipo más habitual en bases de datos relacionales. La línea muestra el símbolo 1 en el extremo de la tabla principal (lado «uno») e en el extremo de la tabla relacionada (lado «varios»).

Ejemplos clásicos: un Cliente puede tener varios Pedidos, pero cada Pedido pertenece a un solo Cliente; un Departamento puede tener varios Empleados, pero cada Empleado pertenece a un solo Departamento.

3.2. Uno a uno (1:1)

Un registro de la tabla A solo puede estar asociado con un registro de la tabla B, y viceversa. La línea muestra el símbolo 1 en ambos extremos. Se utiliza para:

  • Dividir una tabla con muchos campos en dos tablas más manejables.
  • Separar datos confidenciales (p. ej., una tabla Empleados y una tabla Datos_Confidenciales con salarios y datos bancarios, vinculadas por el DNI).

El campo de unión debe ser la clave principal en ambas tablas, o la clave principal en una y un índice único (sin duplicados) en la otra.

3.3. Varios a varios (N:M)

Un registro de la tabla A puede estar asociado con varios de B, y viceversa. Access no permite crear directamente una relación N:M: es necesario descomponerla en dos relaciones 1:N a través de una tabla intermedia (también llamada tabla de unión o tabla de enlace). La tabla intermedia contiene, al menos, las claves externas de las dos tablas originales (que forman su clave principal compuesta).

Ejemplo: un Alumno puede estar matriculado en varios Cursos, y un Curso puede tener varios Alumnos. La tabla Matrículas actúa de puente: contiene IdAlumno e IdCurso como clave principal compuesta.

Las relaciones N:M no se pueden crear directamente en Access. Siempre requieren una tabla intermedia con clave principal compuesta por las claves externas de las dos tablas originales. El dato preciso es tres tipos de relación en Access (1:1 · 1:N · N:M), aun cuando la N:M se implemente con tabla de unión.


4. Integridad referencial

La integridad referencial es un conjunto de reglas que garantiza la coherencia entre los datos de dos tablas relacionadas. Cuando está activa, Access comprueba que no existan registros «huérfanos» en la tabla del lado N (registros sin correspondencia en la tabla del lado 1).

Para activarla: en la ventana Relaciones, doble clic sobre la línea de relación → cuadro Modificar relaciones → activar la casilla Exigir integridad referencial.

Con integridad referencial activa, Access bloquea las siguientes operaciones:

Operación bloqueadaEjemplo
Añadir un registro en la tabla N con un valor de clave externa que no existe en la tabla 1.Crear un Pedido con IdCliente=99 si ese cliente no existe en Clientes.
Eliminar un registro de la tabla 1 que tenga registros relacionados en la tabla N.Eliminar un Cliente que tiene Pedidos asociados.
Modificar el valor de la clave principal de la tabla 1 si hay registros relacionados en la tabla N.Cambiar el IdCliente de un cliente que tiene pedidos.

Tres condiciones técnicas para exigir integridad referencial:

  • El campo vinculado en la tabla principal debe ser la clave principal (o tener un índice único sin duplicados).

  • Los campos relacionados deben tener el mismo tipo de datos (salvo Autonumeración con Número-Entero largo, que sí se pueden relacionar).

  • Ambas tablas deben pertenecer a la misma base de datos Access.

4.1. Opciones en cascada

Las opciones en cascada modifican el comportamiento de Access cuando el usuario intenta actualizar o eliminar registros en la tabla principal con integridad referencial activa:

OpciónEfecto
Actualizar en cascada los campos relacionadosSi cambia el valor de la clave principal en la tabla 1, Access actualiza automáticamente todos los valores de la clave externa en la tabla N.
Eliminar en cascada los registros relacionadosSi se elimina un registro de la tabla 1, Access elimina automáticamente todos los registros relacionados en la tabla N.

Sin las opciones en cascada activas, intentar modificar la clave principal o eliminar un registro con relacionados provoca error de integridad referencial. Con «Eliminar en cascada» activa, eliminar un Cliente borra automáticamente todos sus Pedidos, Facturas, etc. — es una opción potencialmente peligrosa. La regla general: «Actualizar en cascada» conviene activarla cuando la clave principal pueda cambiar (códigos alfanuméricos editables); con claves de Autonumeración no tiene efecto, porque ese valor no se modifica. «Eliminar en cascada» debe activarse solo con plena consciencia de las dependencias.


5. Tipos de combinación

El tipo de combinación (join) determina qué registros se incluyen en el resultado cuando se ejecuta una consulta que usa las tablas relacionadas. Se configura en el cuadro Modificar relaciones → Tipo de combinación (o en las propiedades de unión de la consulta). Existen tres opciones:

OpciónDenominación SQLRegistros incluidos
Opción 1 (predeterminada)INNER JOINSolo los registros donde el campo vinculado tiene valores coincidentes en ambas tablas.
Opción 2LEFT JOINTodos los registros de la tabla izquierda (principal) y solo los registros de la tabla derecha que coincidan. Los de la izquierda sin coincidencia aparecen con nulos en los campos de la derecha.
Opción 3RIGHT JOINTodos los registros de la tabla derecha y solo los de la izquierda que coincidan. Los de la derecha sin coincidencia aparecen con nulos en los campos de la izquierda.

Cuando se establece una combinación LEFT o RIGHT, la línea de relación en la ventana Relaciones muestra una flecha en el extremo de la tabla «todos los registros».

Mnemotécnico para los JOIN:

  • INNER → INTERSECCIÓN (solo los que coinciden en ambas).

  • LEFT → TODOS los de la izquierda + coincidentes de la derecha.

  • RIGHT → TODOS los de la derecha + coincidentes de la izquierda.

LEFT JOIN y RIGHT JOIN son combinaciones externas (outer join). La combinación que devuelve todos los registros de ambas tablas aunque no haya coincidencia se llama FULL OUTER JOIN, y Access no la soporta de forma nativa: se simula combinando LEFT JOIN + RIGHT JOIN mediante una cláusula UNION.

5.1. Combinaciones cruzadas (producto cartesiano)

Las combinaciones cruzadas (CROSS JOIN) son el resultado de incluir dos tablas en una consulta sin definir ninguna condición de unión entre ellas. Access devuelve todas las combinaciones posibles de registros de ambas tablas: si la tabla A tiene N filas y la tabla B tiene M filas, el resultado tendrá N × M registros. Rara vez produce resultados útiles; normalmente es un error involuntario.

La combinación cruzada no tiene botón propio en la interfaz: se produce automáticamente cuando se añaden dos tablas a la zona de tablas de una consulta sin relacionarlas. En vista Diseño se reconoce porque no hay ninguna línea de unión entre las tablas.

Una combinación cruzada accidental es un error frecuente al crear consultas con varias tablas. Si una consulta devuelve un número de registros sorprendentemente grande (p. ej. 1.000 clientes × 500 productos = 500.000 filas), lo más probable es que se haya omitido la condición de unión. La solución es unir las tablas por sus campos comunes en vista Diseño.


6. Orden de introducción y eliminación de datos

Cuando se trabaja con tablas relacionadas con integridad referencial activa, existe un orden obligatorio para introducir y eliminar datos correctamente:

OperaciónOrden correcto
Insertar datosPrimero tabla 1 (principal) → después tabla N (relacionada).
Eliminar datos (sin cascada)Primero tabla N (relacionada) → después tabla 1 (principal).
Eliminar datos (con «Eliminar en cascada»)Solo se borra el registro de la tabla 1; Access borra los de la tabla N automáticamente.

Al crear una relación con integridad referencial entre dos tablas que ya tienen datos, Access no permitirá activar la integridad hasta que se corrijan o eliminen los registros huérfanos. Si ya existen registros en la tabla N con valores de clave externa sin correspondencia en la tabla 1, Access muestra un error al intentar guardar la relación con integridad exigida.


Epígrafe 7 — Importación, vinculación y exportación de datos

1. Tres operaciones con datos externos

Access ofrece tres operaciones distintas con datos almacenados fuera de la base de datos activa, todas accesibles desde la pestaña Datos externos:

OperaciónQué haceAcceso
ImportarCopia los datos de una fuente externa a una tabla de Access (nueva o existente). Los datos importados son independientes: los cambios en la fuente no se reflejan en Access ni viceversa.Datos externos → grupo Importar y vincular
VincularCrea un vínculo dinámico entre Access y una fuente externa. Los datos permanecen en la fuente original y Access los muestra como propios. Los cambios en Access modifican también la fuente (y al revés).Datos externos → grupo Importar y vincular
ExportarCopia datos de Access a un formato externo (Excel, texto, PDF…). No elimina los datos de Access.Datos externos → grupo Exportar

Diferencia nuclear importación vs vinculación:

  • Importación: los datos se copian en Access. Una vez importados, Access y la fuente original son independientes. Los cambios en uno no afectan al otro.

  • Vinculación: los datos permanecen en la fuente. La conexión es permanente y bidireccional: los cambios se sincronizan en ambos sentidos (salvo fuentes de solo lectura).

Importar es la opción adecuada para archivos estáticos o instantáneas; vincular, para datos que se actualizan frecuentemente en la fuente original.


2. Importación de datos

Importar significa copiar datos de una fuente externa a una tabla de Access. Se accede desde Datos externos → grupo Importar y vincular.

2.1. Importar desde Excel

Es el origen más habitual. El Asistente para importación de hojas de cálculo permite:

  • Seleccionar la hoja o rango con nombre.
  • Indicar si la primera fila contiene los nombres de campo.
  • Modificar el nombre y tipo de datos de cada columna.
  • Indicar si se crea una tabla nueva o se añaden los datos a una existente.
  • Elegir la clave principal.

Requisitos previos para una importación correcta desde Excel:

  • La hoja debe tener estructura tabular (sin celdas combinadas ni filas de totales intermedias).
  • Los tipos de datos de cada columna deben ser uniformes.
  • La primera fila debe contener solo encabezados (no datos).

En Excel, las celdas combinadas, las filas en blanco intermedias y las celdas con formatos mixtos en la misma columna causan errores o importaciones incorrectas. Access documenta los problemas en una tabla auxiliar llamada nombre_tabla_ImportErrors con la lista detallada de filas y campos rechazados.

2.2. Importar desde otra base de datos Access

Permite copiar tablas, consultas, formularios, informes, macros y módulos de una BD Access de origen a la BD activa. Se accede desde Datos externos → Importar y vincular → Nueva fuente de datos → Desde base de datos → Access. El asistente permite elegir qué objetos se importan y si las relaciones entre tablas se copian también.

2.3. Otras fuentes de importación

Access 365 admite las siguientes fuentes adicionales:

  • Archivo de texto (.txt) o CSV (.csv).
  • XML (esquema XSD y datos XML).
  • HTML.
  • SharePoint (listas).
  • Dataverse (plataforma cloud de Microsoft Power Platform).
  • ODBC genérico (SQL Server, Oracle, MySQL, PostgreSQL…) mediante un DSN.

3. Vinculación de datos

Vincular (o enlazar) crea un vínculo dinámico entre Access y una fuente externa: los datos permanecen en la fuente y Access los muestra como propios, pero los cambios en Access modifican también la fuente (y al revés). Las tablas vinculadas se identifican en el panel de navegación con un icono de flecha.

Diferencia frente a importar:

CaracterísticaImportarVincular
Los datos residen en…La base de datos Access (copia local).La fuente original (Excel, otra BD Access, SQL Server…).
Cambios en Access afectan a la fuenteNo (salvo fuentes de solo lectura)
Cambios en la fuente se reflejan en AccessNo
Uso recomendadoArchivos estáticos o snapshots.Datos que se actualizan frecuentemente desde otra aplicación.

Si se mueve o renombra el archivo vinculado, el vínculo se rompe. Se puede reparar con el Administrador de tablas vinculadas (Datos externos → Importar y vincular → Administrador de tablas vinculadas).

Las tablas vinculadas se identifican en el panel de navegación con un icono de flecha delante del nombre. El Administrador de tablas vinculadas es la herramienta canónica para reparar vínculos rotos cuando la fuente se mueve, se renombra o cambia de ruta.


4. Exportación de datos

Exportar copia datos de Access a un formato externo. No elimina los datos de Access. Se accede desde Datos externos → grupo Exportar. Access puede exportar a:

FormatoNotas
Excel (.xlsx)Exporta la tabla o consulta como hoja de cálculo. Se puede incluir formato.
Texto (.txt / .csv)Delimitado (comas, tabulaciones…) o de ancho fijo.
PDF / XPSDocumento de solo lectura. Mantiene el formato de informes y formularios.
Word (RTF)Exporta datos en formato de texto enriquecido.
XMLExporta estructura (esquema .xsd) y datos (.xml) por separado.
HTMLGenera una página web estática con los datos.
SharePoint / Listas de SharePointExporta o vincula con listas de SharePoint.
Otra base de datos AccessCopia tablas, consultas u otros objetos a otra BD Access.

5. Combinar correspondencia Access → Word

Access permite iniciar una combinación de correspondencia directamente desde una tabla o consulta, usando Microsoft Word como procesador de documentos. Se accede desde Datos externos → Exportar → Combinar con Microsoft Word.

El asistente ofrece dos opciones iniciales:

  • Vincular los datos a un documento Word existente.
  • Crear un nuevo documento en blanco y vincular los datos.

En ambos casos, Access abre Word con el panel de combinación de correspondencia activo y los campos de la tabla o consulta de Access disponibles como campos de combinación.

El proceso completo en Word sigue estos pasos:

  1. Selección del tipo de documento: cartas, etiquetas, sobres o directorio.
  2. Selección de destinatarios (ya vinculados desde Access).
  3. Inserción de campos combinados en el documento.
  4. Vista previa de cada documento resultante.
  5. Completar la combinación: imprimir o generar documento nuevo por cada registro.

Iniciar la combinación desde Access (en lugar de desde Word) tiene una ventaja operativa: el origen de datos queda definido automáticamente sin necesidad de configurarlo en Word. Access pasa directamente los datos de la tabla o consulta seleccionada al panel de combinación de Word.

¿Quieres entrenar este tema?

El temario es gratis. En la app tienes tests con preguntas reales, flashcards y casos prácticos de este mismo tema.

Ver la app →