Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Access Practico1 PDF
Access Practico1 PDF
Estas páginas responden al proposito de servir como material de base para el es-
tudio del tema Modelización de la gestión comercial a través de los sistemas gestores de bases
de datos, para los alumnos que cursan la asignatura ”Gestión informatizada del subsis-
tema comercial” en la Licenciatura en investigación y técnicas de mercado. Para ello
utilizaremos como herramienta de trabajo la aplicación más extendida, MsAccess 2000
y siguientes, ya que la consideramos adecuada al perfil para este nivel de aprendizaje.
Se muestra de una forma sencilla, concisa y clara, el proceso de aprendizaje de una
de las materias más importantes en el mundo de la empresa, cual es el de las bases de
datos. Con la ayuda de ejemplos se va introduciendo al alumno en el manejo de esta
aplicación, desde la pantalla inicial.
Para el aprendizaje de bases de datos con MsAccess 200x, se emplean tanto la for-
ma manual de realizar las operaciones, como con la ayuda de los distintos asistentes
incrustados en la herramienta.
Se inicia mostrando el diseño de la base de datos: Qué son y como se crean e im-
portan las tablas; como se manejan, modifican; qué son y como se crean las relaciones
e indices; Una vez diseñada la estructura, se describe como se insertan, manejan y con-
sultan los datos en las tablas.
Otro capítulo lo integra todo el proceso de aprendizaje acerca de las consultas, sus
creación, ejecución, distintos tipos, operadores a utilizar. Además de la creación en for-
ma visual, se introduce el lenguaje SQL y sus instrucciones fundamentales, así como las
subconsultas.
Se dedica un capítulo al estudio detallado de los formularios y subformularios,
describiéndose los distintos controles visuales, así como la codificación de eventos y
acciones.
Por último, dedicamos un capítulo al aprendizaje de las salidas impresas, es decir,
a los informes y etiquetas.
Para hacer más amigable y eficaz el aprendizaje, se incrustan figuras y ejemplos
adecuados a la temática que se va exponiendo a lo largo de las páginas.
Índice general
2. El entorno de Access 15
2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2. El escritorio, o área de trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3. Los ayudantes de Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5
3.3.2. Indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.4. Relaciones entre tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4.1. Tipos de relaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4.2. Crear relaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4.3. Modificar relaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4.4. Eliminar relaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.5. Introducción de datos en la tabla . . . . . . . . . . . . . . . . . . . . . . . . 43
3.5.1. Introducir registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.5.2. Editar registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.5.3. Copiar, mover, eliminar datos . . . . . . . . . . . . . . . . . . . . . . 45
3.5.4. Insertar registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.5.5. Insertar columnas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.5.6. Buscar datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.5.7. Filtrar datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5.8. Reemplazar datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6
4.6.5. Consultas que crean tablas . . . . . . . . . . . . . . . . . . . . . . . 65
4.6.6. Consultas que borran registros (filas) . . . . . . . . . . . . . . . . . 69
4.6.7. Consultas que añaden registros (filas) . . . . . . . . . . . . . . . . . 71
4.6.8. Consultas que actualizan registros (filas) . . . . . . . . . . . . . . . 73
4.7. Consultas con varias tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.8. Consultas SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.8.1. Clases de consultas SQL . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.8.2. Consultas de unión . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.8.3. Cómo crear una consulta de unión . . . . . . . . . . . . . . . . . . . 80
4.8.4. Consulta de paso a través . . . . . . . . . . . . . . . . . . . . . . . . 86
4.8.5. Como crear una consulta de paso a través . . . . . . . . . . . . . . . 86
4.8.6. Consulta de definición de datos . . . . . . . . . . . . . . . . . . . . . 88
4.9. Subconsultas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.9.1. Crear subconsultas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7
5.5.3. Autoformulario: Hoja de Datos . . . . . . . . . . . . . . . . . . . . . 118
5.5.4. Asistente para gráficos . . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.5.5. Asistente para tablas dinámicas . . . . . . . . . . . . . . . . . . . . . 118
5.6. Subformularios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.6.1. Creación de Subformularios . . . . . . . . . . . . . . . . . . . . . . . 123
8
Índice de figuras
9
4.5. Tipos de consultas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.6. Consulta de un parámetro. . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.7. Consulta de dos parámetros. . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.8. Consulta de referencias cruzadas. . . . . . . . . . . . . . . . . . . . . . . . 66
4.9. Consulta de referencias cruzadas. . . . . . . . . . . . . . . . . . . . . . . . 68
4.10. Consulta de eliminación de registros. . . . . . . . . . . . . . . . . . . . . . 70
4.11. Botones de prueba y ejecución de consultas. . . . . . . . . . . . . . . . . . 71
4.12. Consulta de datos anexados. . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.13. Consulta de actualización. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.14. Consulta de varias tablas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.15. Consultas SQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.16. Consulta de unión básica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.17. Consulta de paso a traves. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.18. Consulta con una subconsulta. . . . . . . . . . . . . . . . . . . . . . . . . . 96
10
5.17. Formulario de tablas dinámicas: Resultados. . . . . . . . . . . . . . . . . . 122
5.18. Creación de un subformulario. . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.19. Formulario de clientes y su pedidos. . . . . . . . . . . . . . . . . . . . . . . 125
11
Capítulo 1
1 Creación de acceso directo: Pulsar el botón derecho del ratón, elegir Nuevo, elegir Acceso directo,
buscar el directorio donde se haya situado Access, o sea MSACCESS.EXE. Por ejemplo: C:\Archivos de
programa\Microsoft Office\Office\MSACCESS.EXE.
13
14 Capítulo 1. Introducción a Microsoft Access
El entorno de Access
2.1. Introducción
El entorno de Access se compone de la ventana o marco dentro del cual realiza-
remos nuestro trabajo. Dentro de esta ventana marco, La primera tarea es la de elegir
entre dos opciones:
Antes de seguir adelante hay que señalar que contamos con el ayudante de Office
: Se trata del componente llamado Clipo (Se trata de un clip) , quien amigablemente
nos ofrece ayuda según la tarea que estemos desarrollando. Para que aparezca basta
con pulsar el botón derecho de la barra de herramientas, que aparece con un signo de
interrogación dentro de una viñeta.
También contamos con es sistema de ayuda clásico, es decir, la tecla F1, que nos
brinda información sobre la acción u objeto donde nos encontramos y su contexto. Es-
15
16 Capítulo 2. El entorno de Access
La barra de título: Situada en la parte superior, de color azul y con el titulo Mi-
crosoft Access. A la derecha los tres botones de Windows (Cerrar, Maximizar, Mi-
nimizar).
Bases de datos.
Tablas
Informes o listados
Formularios o pantallas
2.3. Los ayudantes de Access 17
Etiquetas
Gráficos
Vínculos HTML
Publicación en Web
Existen muchos más asistentes. Para ver una relación más completa buscar el ter-
mino asistentes en el índice de la ayuda.
Capítulo 3
3.1. Introducción
Como decimos, nada más entrar en Access deberemos abrir una base de datos o
bien crear una nueva. En cualquiera de ambos casos creemos de suma importancia el
conocimiento aunque sea breve de algunos conceptos básicos sobre las bases de datos.
Una base de datos es un conjunto de datos que pertenecen al mismo contexto, alma-
cenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede
considerarse una base de datos compuesta en su mayoría por documentos y textos im-
presos en papel e indexados para su consulta. En informática existen los ”sistemas ge-
stores de bases de datos” (SGBD), que permiten almacenar y posteriormente acceder
a los datos de forma rápida y estructurada. Las aplicaciones más usuales son para la
gestión de empresas e instituciones públicas. El principal componente de una base de
datos son las tablas. Una tabla de una base de datos, es un conjunto de datos organizado
en una matriz compuesta de filas y columnas.
Cada fila de la tabla es un registro. El registro contiene la información de un indi-
19
20 Capítulo 3. Las Bases de datos de Access
viduo o unidad (en este caso un cliente). Cada columna es un atributo o característica
del registro o individuo. Es lo que se llama un campo del registro. Los campos de cada
registro deben ser homogéneos, es decir deben contener el mismo tipo de información
(por ejemplo, el CIF o el nombre).
2. Diseño lógico: Partiendo del anterior se construyen las distintas tablas que com-
ponen la base de datos.
3. Diseño físico: Se concretan las tablas en ficheros físicos por medio de una determi-
nada aplicación de software, como por ejemplo la Access .
Organización de los datos: Para que la información realmente nos preste un servicio
eficaz, hay que ordenarla. De poco nos valdrá la guía telefónica si no estubiera ordena-
da. Si queremos organizar nuestra biblioteca, debemos decidir qué concepto, o sea qué
columna o campo vamos a tomar como clave (ya sea el título, el autor o el tema sobre el
que trata el libro).
Igualmente hay que tener en cuenta que en una tabla no deben duplicarse los regis-
tros (que pasaría si dos clientes tuvieran el mismo CIF ?). La clave de una tabla, es por
tanto, la columna o columnas cuyos valores no pueden repetirse en dos o más registros.
A cada valor de la clave le corresponde una sola fila (clave única). Se llama clave pri-
maria a la columna por la cual se identificará a la tabla. En el caso de los libros, la clave
primaria sería el código del libro, en el caso de un proveedor o cliente, sería el CIF (u
otro código único).
Otro aspecto que se ha de tener en cuenta es que los datos pueden ser de distinto
tipo: Por ejemplo El título del libro se compone de caracteres alfanuméricos, en tanto
que la edición se compone de datos numéricos. Entre los tipos de datos que contempla
Access, estos son los los fundamentales. Mas adelante se profundizará más:
4. Datos lógicos: Los que tienen sólo dos valores posibles (sí o no; verdadero o falso;
0 o 1, etc.)
Después de diseñar las tablas que conforman la base de datos, hay que determinar
qué relaciones existen entre las tablas, con el fin de dar consistencia a los datos:
Supongamos que tenemos una lista de correos con información sobre los clientes de
un almacén que distribuye accesorios de cocina al por mayor. El almacén puede tener,
además, una base de datos aparte para los pedidos de los clientes, incluyendo campos
para el código del cliente, el código de la mercancía, el precio unitario, la cantidad so-
licitada y el coste total. La base de datos de la lista de correos y la de los pedidos de los
clientes son relacionales, ya que tiene el campo de código de cliente en común (véase
fígura 3.2).
Buscando el código de cliente en la lista de correos y enfrentándolo con el del for-
mulario de pedidos, el gestor de base de datos puede determinar, quién es el comprador
y donde localizarlo, y que es lo que ha pedido y el coste total de la compra, mediante la
otra tabla.
Una vez creada la base de datos, lo primero es crear la o las tablas que la compo-
nen. El proceso es el siguiente: Seleccionar el epígrafe Tablas y pulsar el botón Nuevo.
Aparece la ventana ”Nueva tabla” que contiene varias posibilidades:
Vista Hoja de datos: Para crear una tabla con apariencia de hoja de cálculo.
Vista Diseño: Permite diseñar paso a paso la tabla; es la forma normal de crear las
tablas.
Vincular tabla. Permite leer y en muchos casos modificar y añadir los datos de
tablas externas sin tener que importarlas y respetando el formato original.
Elegimos ”Vista de diseño”, y nos aparece la pantalla Tabla, sobre la que trabajare-
mos para crear la nueva tabla:
La ventana de divide en dos partes: En la superior aparecen distintas filas. En cada
una de las filas escribiremos el nombre de un campo o atributo de la tabla. Cada fila se
divide en tres columnas:
1. Nombre del campo: Puede tener hasta 64 caracteres. No debe empezar por es-
pacios en blanco, ni punto ni admiración no corchetes ni acentos. En una misma
tabla no se pueden definir dos campos con el mismo nombre. Se debe poner a ca-
da campo un nombre que sea lo mas descriptivo posible de su contenido ( ej. si el
campo es de edad, lo mejor es ponerle edad).
1 Por defecto se guarda con la extensión mdb
3.2. Crear una base de datos 25
2. Tipo de datos: Cuando pulsamos es esta columna se despliega una lista con los
tipos de datos disponibles. Veámoslos con detenimiento en la figura 3.6.
Los tipos de datos Numérico, Fecha/Hora, Moneda y Sí/No disponen de formatos
de visualización predefinidos. Establezca la propiedad Formato para seleccionar
uno de los formatos disponibles para cada tipo de datos. También puede crear un
formato de visualización personalizado para todos los tipos de datos excepto para
el tipo de datos Objeto OLE.
2. Formato: Otra propiedad es el formato. Con ella podemos definir la forma en que
Access muestra la información almacenada en el campo. El formato no afecta a
cómo se almacenan los datos, solamente al modo de presentarlos. Si el campo es
numérico, podemos hacer que aparezca con los separadores de millar, si se trata de
fechas, que estas aparezcan con texto o con números, etc. para los tipos numéricos
y de moneda, existen cinco formatos: Moneda (presenta los números con el símbo-
lo del euro), Fijo (sin separadores de miles), Estándar (con separadores de miles),
Porcentaje (multiplica por 100 y añade el carácter de procentaje) y Científica (no-
tación científica estándar).
Para personalizar los distintos formatos, es aconsejable hacer pruebas con ellos,
hasta encontrar los mas adecuados par los campos de nuestras tabla.
1
Carácter Utilización
-------- -----------
0, 9, # Dígitos
L, ?,A,a Letras
&,C Cualquier carácter
.,:;-/ Marcadores
< Convierte a minúsculas
> Convierte a mayúsculas
! Se rellena de derecha a izquierda
Eliminar un campo: para borrar o eliminar un campo basta con seleccionar la fila
y pulsar la tecla Supr., o utilizar el comando Eliminar filas del menú Edición5. Una
vez eliminada la fila (del campo) todas las demás filas se moverán hacia arriba.
Insertar un campo: Otra modificación consiste en insertar filas a la estructura de
la tabla. Para ello se sitúa el cursor en la fila sobre la que se desea insertar, y se
pulsa la tecla INS. Una fila nueva y en blanco aparecerá justo encima.
Mover un campo: Hacer clic sobre el selector de la fila a mover. Esta invertirá
el color. Hacer clic con el ratón sobre el selector de la fila y arrastrarlo hasta la
posición deseada.
3.2. Crear una base de datos 31
Anteriormente, en el epígrafe 3.2.3 elegimos la Vista de diseño para crear una tabla,
sin embargo veíamos que Access nos proporciona otros caminos. Vamos a tratar de
analizarlos brevemente.
El asistente para tablas tiene una ventaja: La comodidad. El nos presenta varias
tablas de ejemplo y nos ayuda a través de ventanas para crear la nueva tabla. El incon-
veniente es que nuestro control sobre el proceso es menor, ya que Access decide por
nosotros sobre muchos detalles. El proceso es el siguiente:
1. Elegir ”Tablas” en la ventana de base de datos, pulsar el botón Nuevo y doble clic
en el Asistente para tablas. Aparece la ventana (Figura 10 )
Se trata de elegir una de las tablas de ejemplo que pueda parecerse a la que de-
seamos crear y después seleccionar los campos de ejemplo3 .
2. Pulsar el botón ”Siguiente”, asignar nombre a la tabla, elegir el campo que será la
clave principal. (Si decidimos asignar nosotros la clave principal, entonces nos pre-
guntará qué campo será la clave; si le dejamos esta decisión al asistente, entonces
elige como clave principal el primer campo de la tabla.
3. Se pueden establecer relaciones con otras tablas, como veremos más adelante.
4. La última ventana antes de crear la tabla nos pregunta qué hacer al terminar: Mo-
dificar manualmente el diseño, introducir datos directamente en la tabla, o intro-
ducir datos en la tabla a través de un formulario o pantalla que crea el propio
asistente.
3 Con >> quedan seleccionados todos los campos.
32 Capítulo 3. Las Bases de datos de Access
Si elegimos esta opción a la hora de crear una tabla, Access crea automáticamente
una especie de hoja de cálculo con 20 campos (llamados Campo1, Campo2. etc.) en la
cual se pueden introducir datos de inmediato. Al pulsar el botón de Cerrar nos pedirá
el nombre para la tabla que se acaba de crear. Es posible posteriormente modificar los
nombres de los campos a través de la opción ”diseño de tablas”.
Importar tabla
Tras seleccionar esta opción, se abre la ventana ”Importar” en la que se busca y elige
la base de datos desde la cual se importará la tabla. De inmediato se abre la ventana
”Importar objetos” (véase figura 3.8) en la que se muestran las distintas tablas a elegir.
34 Capítulo 3. Las Bases de datos de Access
Vincular tablas
Microsoft Access puede importar o vincular una tabla de datos de otras bases de
datos de Microsoft Access (versiones 1.x, 2.x y 7.0/95, y 8.0/200x), al igual que datos de
otros programas y formatos de archivo, como los de Excel, dBASE, FoxPro o Paradox,
bases de datos externas, y varios formatos más. También puede importar (o vincular)
tablas y listas de HTML, las cuales pueden estar en su equipo local, en un servidor de
red, o en un servidor Internet.
Al importar datos se crea una copia de la información en una tabla nueva de su
base de datos de Microsoft Access. La tabla o archivo de origen no se modifica en este
proceso. La vinculación de datos le permite la lectura y en muchos casos la actualización
de los datos en el origen de datos externo sin tener que importar. El formato del origen
de datos externo no se modifica para que pueda continuar utilizando el archivo con el
programa que lo creo originalmente, pero también puede agregar, eliminar o editar sus
datos utilizando Microsoft Access.
El proceso de vinculación de tablas es similar al de importar, tan solo que no se
duplica la información, sino que se crea un enlace a la tabla determinada, y las modifi-
caciones de datos queda reflejadas en la tabla ”original”. Microsoft Access utiliza iconos
diferentes para representar las tablas vinculadas y las tablas que están guardadas en la
base de datos actual. Se pueden vincular distintos tipos de archivos, cuyo contenido
puede examinarse bajo el formato Access y en algunos casos modificar el contenido del
original. Si elimina el icono que representa a una tabla vinculada, elimina el vínculo con
la tabla, pero no la tabla externa.
Para cambiar el nombre a una tabla, se marca con el ratón, se abre el menú desple-
gable ”Edición” situado en la barra de Menús y se pulsa la opción cambiar nombre. Otro
modo de hacerlo es marcar el nombre de la tabla con un solo click, entonces el cursor se
sitúa en el nombre de la tabla.
3.3. Claves e índices 35
Para eliminar una tabla lo primero es marcarla con el ratón, y entonces, podemos
seguir cualquiera de estos tres caminos:
3.3.1. Claves
3.3.2. Indices
Los campos de la tabla tienen una propiedad cuya finalidad es aumentar la veloci-
dad de acceso a los datos. Esta propiedad es la de ser indexados, o sea, que se construya
un índice sobre dicho campo. Cuando buscamos una cierta información en un libro con-
sultamos el índice; esta es la mejor manera de encontrar la información rápidamente.
Por ejemplo, sabiendo que tenemos una extensa biblioteca, un amigo nos pregunta por
un titulo que le es muy necesario. Esta situación tiene dos posibles salidas: Podríamos
buscar uno a uno, sin ningún orden, ya sea físicamente por todas las estanterías , o bien
a través de una lista que fuimos haciendo a medida que los comprábamos; Otra posi-
bilidad sería la que tener creado un fichero ordenado por orden alfabético de títulos o
autores o cualquier otro campo significativo. Evidentemente, nos bastaría con buscar la
ficha para saber si los tenemos o no. Esta segunda opción es más rápida. Con un menor
esfuerzo y menor tiempo saldremos de nuestras dudas bibliográficas. La propiedad de
ser indexado admite tres posibilidades9:
1. No ser índice.
Principal: Sólo hay un índice que es clave principal. Los índices principales garan-
tizan que en un campo sólo se introducen valores únicos.
Ignorar nulos: Permite excluir del índice los registros con valor nulo.
Creación de índices:
sea necesario5 . También aquellos campos que se vayan a relacionar con otras tablas.
Cuando se crea una clave principal, dicho campo queda automáticamente indexado.
El proceso de creación de índices es el siguiente:
A cada índice se le pueden asociar las propiedades que aparecen en la parte infe-
rior de la ventana.
Suprimir índices:
Esta es la relación mas frecuente entre tablas. En este tipo de relación, un registro o
fila de la tabla A puede relacionarse (coincidir) con más de un registro de la tabla B. La
tabla A, que se considera tabla principal o tabla padre puede tener mas de un registro
enlazado con la tabla secundaria o tabla hija.
Podemos apreciar la relación entre un Autor de la tabla autores ( Federico García
Lorca) con varios registros u obras literarias de la tabla libros. Un único autor puede
escribir varios libros, pero un mismo libro no puede estar escrito por varios autores a la
vez.
En este tipo de relación, cada registro de una tabla A puede tener mas de un registro
enlazado en la tabla B, y cada registro de la tabla B puede tener mas de uno enlazado en
la tabla A. Veamos un ejemplo:
Este tercer tipo de relación es menos frecuente: Cada registro de la tabla A sólo
puede estar relacionado un solo registro de la tabla B, y viceversa. Como ejemplo pro-
dríamos señalar dos tablas: Una de Empleados y otra la de las nóminas del mes. Cada
registro de la primera tabla (Datos de un empleado) sólo tiene relación con un único
registro de la otra.(su nómina mensual).
40 Capítulo 3. Las Bases de datos de Access
Integridad referencial
Una vez que se ha establecido el tipo de relación existente entre las distintas tablas
de la base de datos, se puede ir más adelante y obligar a que se cumpla la regla llamada
Integridad referencial. Esto supone que:
No puede haber un registros en la tabla B sin que estén relacionados con un regis-
tro de la tabla A, es decir: no se pueden introducir libros en la tabla hasta que se
haya introducido el autor.
Para crear la relación, con el ratón, se pulsa y arrastra el campo de la tabla prin-
cipal (que al ser clave primaria debe aparecer con letra negrita) hasta el campo
relacionado de la tabla secundaria. De inmediato se abre una pequeña ventana de
Relaciones, en la que aparecen las tablas a relacionar con sus campos respectivos.
En ella se puede establecer la integridad referencial, así como los distintos tipos
de combinación entre los campos de las tablas. para ello se pulsa el botón Tipo de
combinación.
Como muestra la figura, se ha establecido relación entre las tablas tblPaises, tbl-
Provincias y tblSectores con tblClientes. Todas las relaciones son de Uno a Varios. Los
42 Capítulo 3. Las Bases de datos de Access
campos clave de las tablas aparecen en negrita; eso quiere decir que ellos son los ex-
tremos Uno de la relación, o sea los que no se pueden repetir en su tabla; es obvio que
en la tabla tblProvincias no se deben repetir; cada cliente solo pertenece a una provincia,
pero cada provincia puede ser la sede de varios clientes.
Como vemos en la figura, en esta relación se ha activado la casilla en la que se
exige integridad referencial. Ello implica, como se ha señalado anteriormente, una gran
coherencia y consistencia de los datos, lo que lleva consigo una gran seguridad a la base
de datos. Se ha activado la opción de actualizar en cascada los campos relacionados
de ambas tablas, o sea, si se modifica un sector en la tabla tblSectes, automáticamente
quedan modificados los campos sector de la tabla tblClientes. También se ha activado la
opción de borrar en cascada los registros relacionados (si se borra un sector, se borrarán
también los registros de clientes de ese sector).
Si se desea eliminar una relación, hay que seguir estos pasos: En la ventana Rela-
ciones, hacer click sobre la línea de relación entre tablas. Esta aparece con trazo mas
grueso. Entonces se pulsa la tecla Supr. o bien el botón derecho del ratón, apareciendo
la opción Eliminar. basta con confirmar la opción para que la relación quede eliminada.
Hoja de datos de la tabla: Para realizar operaciones con los registros de la tabla
(ordenarlos, buscarlos, imprimirlos, etc.).
En bastantes ocasiones habremos de modificar algún registro cuyos datos sean er-
róneos o hayan cambiado. Para modificar la información contenida en los registros de
la tabla deberemos seguir los pasos siguientes: Por supuesto abrir la tabla. Buscar el re-
gistro a modificar. Los registros pueden ordenarse por el campo deseado mediante las
herramientas proporcionadas en barra Hoja de datos6 . Una vez situados en el registro a
modificar, se coloca el cursor en el campo en cuestión y se modifica el texto. En caso de
equivocación, se puede deshacer la operación utilizando el botón apropiado.
Hay ciertos campos que no pueden ser editados. Son los siguientes:
6 Situar el cursor del ratón en el titulo de la columna a ordenar. Hacer click para marcar toda la columna
Cuando el registro está siendo utilizado por otro usuario de la red, queda momen-
táneamente bloqueado.
Copiar:
Desde la Hoja de datos se seleccionan los campos o registros a copiar, se hace click
en el botón Copiar de la barra de herramientas, se sitúa el cursor en el sitio a reemplazar
o pegar los datos y se hace click en el botón Pegar. Otra manera es utilizando las teclas.
Se marca el texto con MAYUS + Cursor, se copia al portapapeles con Control + Insert,
se sitúa el cursor en el lugar a reemplazar o insertar y se pulsa MAYUS + Insert para
pegar. Para copiar varios registros a la vez, se sitúa el ratón en la columna izquierda
de la Hoja de datos situada delante del primer campo del registro (aparece una flecha
negrita); Se arrastra el ratón hacia abajo tantos registros como se desee copiar; se pulsa
el botón derecho del ratón y se elige la opción Copiar. A continuación se lleva el ratón
al lugar donde se van a insertar los registros, se pulsa el botón derecho y se elige Pegar.
Mover:
Si en vez de Copiar, se desea Mover, hay de seguir el mismo proceso, pero en lugar
de Copiar, se ha de Cortar.
Eliminar:
Se puede eliminar uno o varios campos o el registro entero. Para borrar o eliminar
campos, se sitúa el cursor en el campo, se pulsa F2, o bien se marca el campo o campos o
trozo a eliminar, y se pulsa la tecla Supr. o la opción Cortar del botón derecho del ratón.
Si queremos eliminar un registro o varios, se marcan estos y se pulsa Supr. o Cortar.
Access avisa tanto al Pegar como al Eliminar registros.
46 Capítulo 3. Las Bases de datos de Access
Del mismo modo que podemos insertar registros en una tabla, es posible también
insertar columnas o campos, si bien esto significa un cambio en la estructura de la tabla.
Para insertar una columna, el procedimiento normal es el desarrollado a través de la
ventana de Diseño, sin embargo, también pueden insertarse columnas o campos du-
rante el proceso de introducción de datos; para ello se siguen estos pasos:
Suele ser necesario, sobretodo cuando las tablas contienen muchos registros, buscar
determinados datos de uno o varios registros. En nuestro ejemplo de Clientes, es evi-
dente que en más de una ocasión necesitaremos saber si tenemos un determinado cliente
48 Capítulo 3. Las Bases de datos de Access
está registrado en nuestra tabla. Dependiendo de lo que busquemos en las tablas, pode-
mos hacerlo de varias maneras: Si tenemos ordenada la tabla por el campo de nuestro
interés, por ejemplo por nombre, y la tabla no es demasiado grande, quizá sea fácil de-
splazarse por ella con la ayuda de la barra Vertical e intentar localizar el cliente deseado;
sin embargo, si lo que buscamos en un valor concreto, podemos utilizar la ventana de
dialogo Buscar.
La ventana de Buscar se encuentra situada en el menú desplegable Edición. Tam-
bién puede accederse a ella con el juego de teclas Ctrl B. Como vemos en la figura 3.15
es posible aquilatar la búsqueda con las distintas opciones que vemos en la ventana
Buscar: Buscar en: Todos los registros, sólo hacia Arriba o sólo hacia Abajo. Podemos
hacer que los datos buscados coincidan en todo o en parte con el campo de la tabla, etc.
3.5. Introducción de datos en la tabla 49
Una forma de búsqueda especial es el filtrado de datos, que puede hacerse bien sea
agrupando aquellos registros que cumplan los requisitos, bien sea por exclusión.
El caso que nos presenta la figura 3.16 consiste en buscar todos los clientes de Se-
villa. Para ello utilizamos un filtro por selección. El modo concreto de hacerlo es el si-
guiente:
Situar el cursor en el campo cuyo contenido queramos filtrar (En este caso el cam-
po Provincia y su contenido Sevilla);
Creada la base de datos, introducidos los datos en sus registros, es ahora cuan-
do puede sernos de mayor utilidad. Quizá el objetivo final de la base de datos sea el
de poder sacarle rendimiento consultando la información que contiene. Por ello este
apartado, dedicado a las Consultas ( query ) tiene gran importancia.
La finalidad de una consulta no es otra que acceder a la información de la base de
datos, pero no a todos los registros, sino sólo a aquellos registros y a aquellos campos
cuyo contenido nos sea de interés en un momento dado. Access ofrece varios tipos de
consulta, según las necesidades de cada momento:
Tipos de consulta:
Consultas de selección
Consultas de parámetros
Consultas de acción
Consultas SQL
Para realizar las consultas Access dispone de varios ayudantes o asistentes; son
estos:
51
52 Capítulo 4. Consultar la base de datos
Siguiendo con nuestra base de datos de libros, vamos a generar en primer lugar una
consulta sencilla sobre una tabla con la ayuda del asistente:
Se abre la base de datos Prueba, se elige la solapa Consultas, se pulsa click en el
botón Nuevo y aparece la ventana de Nueva consulta. En ella se elige el asistente para
consultas sencillas.
Tabla: Indica la tabla a la que pertenece el campo de cada una de las columnas. Es
útil cuando se usan varias tablas en una consulta.
O: Esta fila y las que siguen por abajo se utilizan para definir también las condi-
ciones. Junto con la fila Criterios, constituyen las filas de condiciones.
Supongamos que deseamos ver qué clientes tenemos de la población Sevilla. Si-
guiendo las indicaciones expuestas anteriormente, en el campo Criterios escribiremos
”Sevilla”:
Como vemos, sólo aparecen los clientes de Sevilla existentes en la tabla. Podemos
observar que solo aparecen las columnas seleccionadas en la consulta. Esta consulta
contiene una condición simple. Podemos hacer que la consulta sea mas compleja, intro-
duciendo más condiciones. Por ejemplo, podemos pedir a la consulta que nos muestre
los clientes de Sevilla que pertenezcan al sector del transporte (su código es el 02). Para
ello, bastaría con añadir ”02” a la columna del sector en la consulta.
El resultado aparece en la figura 4.3. A continuación, en el cuadro 2 podemos ver,
a modo de introducción, la fórmula que se genera en lenguaje SQL para realizar dicha
consulta1 .
1 Más adelante se verá en detalle.
56 Capítulo 4. Consultar la base de datos
2
Código SQL de la consulta de clientes
-------------------------------------
SELECT tblClientes.Codigo, tblClientes.Cif, tblClientes.Nombre,
tblClientes.Poblacion, tblClientes.Sector
FROM tblClientes
WHERE (((tblClientes.Poblacion)="Sevilla") AND ((tblClientes.Sector)="02"))
ORDER BY tblClientes.Nombre;
Este operador permite unir dos condiciones en una expresión, de tal modo que si
ambas condiciones se cumplen, entonces se ejecuta la consulta. En el ejemplo anterior
vemos que la población es Sevilla ”Y” el sector es el 02. Esto significa que la consulta
mostrará aquellos registros que cumplan las dos condiciones al mismo tiempo.
Permite crear consultas en las cuales se mostrarán aquellos registros que cumplan
al menos una (o varias) de las condiciones. Veamos un ejemplo en la figura 4.4:
Hemos pedido una consulta de los clientes cuya provincia sea Sevilla o Madrid.
Para saber si una columna o campo del registro está vacío, Access nos ofrece el ope-
rador o expresión Nulo. Por ejemplo, si queremos listar todos los registros cuyo sector
58 Capítulo 4. Consultar la base de datos
Para Ejecutar la consulta, basta con pulsar con doble click su nombre o bien pul-
sar el icono Ejecutar (El icono aparece como un signo de admiración ”!” cuando
estamos en modo Diseño) de la barra de herramientas.
Para Cerrar la consulta, basta con pulsar el botón Cerrar de Windows, situado en
la parte superior derecha, o bien a través del menú Archivo, Cerrar.
Para Eliminar una consulta, una vez que se vuelve innecesaria, se la selecciona en
la solapa Consultas de la base de datos y se pulsa la tecla Supr. o el botón Eliminar
del menú contextual que aparece al pulsar el botón derecho del ratón.
Para Copiar una consulta: teniéndola seleccionada se pulsa el botón derecho del
ratón, y ante el menú emergente de contexto, se pulsa Copiar; Después puede
Pegarse con el mismo procedimiento; Habrá que asignarle un nombre nuevo.
Para imprimir: Los resultados de la consultas pueden ser impresos. Para ello primero
hay que ejecutar la consulta, y posteriormente se imprimen a través del menú
Archivo, Imprimir. Conviene antes de imprimir, seleccionar la Vista preliminar,
con el fin de revisar los posibles errores.
Es el tipo de consulta mas habitual; es el que hemos visto hasta ahora. En estas
consultas, se obtienen los datos de una o más tablas mediante la agrupación o filtro de
los registros según las condiciones que se establecen.
4.6. Otros ejemplos de consulta 61
3. En la celda Criterios, para cada campo que se desee utilizar como parámetro, es-
cribir el texto a solicitar entre corchetes. Microsoft Access mostrará este texto cuan-
do se ejecute la consulta. El texto de la solicitud debe ser diferente del nombre del
campo, aunque puede incluir el nombre del campo.
Para crear una consulta de tabla de referencias cruzadas es aconsejable seguir los
pasos que indica el asistente ya que puede ser de gran utilidad la ayuda que este nos
presta.
Sin embargo, vamos a mostrar los pasos a dar para crear la consulta sin usar el
asistente:
En el cuadro de diálogo Mostrar tabla, pulsar clic en la ficha que relaciona las
tablas o consultas con cuyos datos deseamos trabajar.
Pulsar doble clic en el nombre de cada objeto que deseemos agregar a la consulta,
y posteriormente en Cerrar.
Para el campo o los campos cuyos valores deseamos que aparezcan como filas,
pulsar clic en la fila TAB ref cruz y, después, en Encabezado de fila. Hay que man-
tener el Agrupar por predeterminado en la fila Total de esos campos.
Para el campo cuyos valores deseamos que aparezcan como encabezados de colum-
nas, pulsar clic en la fila TAB ref cruz y, después, en Encabezado de columna. Se
puede elegir Encabezado de columna para un sólo campo y debe mantener Agru-
par por en la fila Total de ese campo.
En la fila Total de este campo, hay que pulsar clic en el tipo de función que de-
seamos para la referencia cruzada (como Suma, Promedio o Cuenta).
Para especificar criterios que limiten los encabezados de filas antes de que se real-
ice el cálculo, hay que escribir una expresión en la fila Criterios de un campo con
Encabezado de fila en la celda TAB ref cruz. Esto permite, por ejemplo, presentar
los totales de clientes de ciertos sectores o poblaciones.
Para especificar criterios con los que deseamos limitar los registros antes de que se
agrupen los encabezados de fila y antes de que se realicen las referencias cruzadas,
debemos agregar el campo para el que deseamos establecer dichos criterios. Para
ello pulsamos clic en Dónde en la celda Total, dejando en blanco la celda TAB ref
cruz y escribiendo una expresión en la fila Criterios.
Para ver los resultados de la consulta, hay que pulsar el botón Vista de la barra de
herramientas, o el de Ejecutar la consulta.
Entramos ahora a analizar una serie de consultas que podemos llamar genérica-
mente como Consultas de Acción o que generan acciones. Una consulta de acción es
la que realiza cambios a muchos registros en una sola operación. Existen cuatro tipos
de consultas de acción: La que crean tablas, las que borran registros, las que añaden
registros a tablas y las que actualizan los datos de los registros.
La Consulta de creación de tabla crea una tabla nueva a partir de todos o de parte de
los datos de una o más tablas o consultas. La tabla nueva tendrá tantos registros como
filas se hayan generado en la consulta. Su utilidad se deriva de los factores siguientes:
Es posible crear una tabla para exportar datos a otras bases de datos de Microsoft
Access. Por ejemplo, es posible crear una tabla que contenga varios campos de la
tabla Empleados y, a continuación, exportar esa tabla a una base de datos utilizada
por el departamento de personal.
1. Crear una consulta de selección, para lo cual se deberán seleccionar las tablas o
consultas que contienen los registros a incluir en la nueva tabla.
2. En la vista Diseño de la consulta, pulsar clic en la flecha situada junto al botón Tipo
de consulta en la barra de herramientas y, a continuación, en Consulta de creación
de tabla. Aparecerá el cuadro de diálogo Crear tabla.
4. Pulsar clic en Base de datos activa para incluir la tabla nueva en la base de datos
abierta actualmente. También se 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,
se escribe la ruta de acceso.
5. Pulsar Aceptar.
En el ejemplo de la figura 4.9 vamos a crear una nueva tabla llamada tblProvee-
dores dentro de la base de datos en que estamos trabajando, con los campos Codigo,
CIF, Nombre, Domicilio, Población, Provincia, Pais y Telefono, a partir de la consulta
de Creacion de tabla. La nueva tabla contendrá tantos registros como la tabla origen
(Proveedores-Antigua). La tabla nueva se genera tras la ejecución de la consulta. Si el
nombre de la tabla ya existe, será sustituido por la nueva tabla.
68 Capítulo 4. Consultar la base de datos
Las consultas que borran registros, eliminan un grupo de registros de una o más
tablas que cumplen las condiciones impuestas por la consulta. Por ejemplo, puede uti-
lizar una consulta de eliminación para borrar libros de la tabla. Con las consultas de
eliminación, siempre se eliminan registros enteros, no sólo campos seleccionados den-
tro de los registros.
Puede utilizarse una sola consulta de eliminación para eliminar 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. La relación uno a varios puede
distinguirse en la vista Diseño de la consulta observando las combinaciones entre las
tablas. Si un extremo de una combinación está marcado con el símbolo de infinito ∞ , se
trata de una relación Uno a Varios. Si ambos extremos están marcados con un 1, se trata
de una relación Uno a Uno.
1. Se crea una consulta nueva que contenga las tablas de las cuales deseamos elimi-
nar registros.
5. Para ver una vista previa de los registros que se van a eliminar, se pulsa clic en
Vista en la barra de herramientas.
6. Una vez que se tiene seguridad sobre los registros que se han de borrar, se pulsa
clic en Ejecutar en la barra de herramientas para eliminar los registros.
Ejemplo: Supongamos que los clientes de Barcelona se han trasladado a otra tabla,
y queremos borrarlos de tblClientes. En la figura 4.10 se nos muestra cómo eliminar los
registros de dicha tabla.
70 Capítulo 4. Consultar la base de datos
Si las tablas de las que se van a eliminar registros están relacionadas con otras
tablas, no se podrán eliminar los registros de un modo indiscriminado. Si la relación
que une las dos tablas es de Uno a Varios, al ejecutar una consulta de eliminación,
y si está activada la eliminación en cascada para esta relación, Microsoft Access
también elimina los registros relacionados del lado ”Varios”.
Hay que tener en cuenta que una vez borrados los registros de una tabla, son
irrecuperables, por lo tanto se debe probar qué registros borrará la consulta, antes
de realizar la acción de eliminar. Existen dos botones en la barra de herramientas:
Vista, que prueba la consulta sin realizarla y Ejecutar, que la realiza efectivamente,
como muestra la figura 4.11.
Con estas consultas, llamadas también de datos anexados, podemos añadir filas o
registros que resultan de la consulta a una determinada tabla. Agregan un grupo de re-
72 Capítulo 4. Consultar la base de datos
gistros de una o más tablas al final de una o más tablas. Las consultas de datos anexados
también son útiles para:
Añadir registros cuando algunos de los campos de una tabla no existe en la otra
tabla. Una consulta de datos anexados añadirá los datos de los campos coinci-
dentes e ignorará el resto.
1. Se Crea una consulta que contenga la tabla cuyos registros desea añadir a otra
tabla.
5. Pulsar Aceptar.
9. Para ver una vista previa de los registros que añadirá la consulta, pulsar click en
Vista en la barra de herramientas. Para regresar a la vista Diseño de la consulta,
pulsar click de nuevo en Vista en la barra de herramientas.
10. Pulsar click en Ejecutar en la barra de herramientas para agregar los registros.
1. Crear una consulta, seleccionado las tablas o consultas que incluyen los registros
que se desea actualizar y los campos que se desea utilizar para establecer criterios.
6. Para ver una lista de los registros que se actualizarán, pulsar clic en Vista en la
barra de herramientas.
En la figura 4.13 podemos ver un ejemplo de este tipo de consultas. Con ella, en la
tabla tblClientes se actualizarán los sectores cuyo valor es ”03” con el nuevo valor ”02”.
1. Crear una consulta, seleccionado las tablas o consultas que incluyen los registros
que se desea actualizar y los campos que se desea utilizar para establecer criterios.
2. Relacionar los campos de las tablas. Lo normal es que si ya existe la relación entre
algunos campos de ambas tablas, estas relaciones aparezcan al mostrar las tablas.
4. En la celda Criterios, especificar los criterios por los que vamos a elaborar la con-
sulta.
Supongamos que queremos saber los pedidos de cada cliente desde una fecha de-
terminada. Para ello elegimos las tablas tblClientes y tblPedidosClientes. Ambas tablas
4.7. Consultas con varias tablas 75
están relacionadas por medio del campo cliente. Se observa el criterio: Fecha del pedi-
do mayor que final de 2006, por lo que nos mostrará los pedidos de 2007 en adelante.
Veamos el ejemplo en las figura 4.14
Como podemos suponer, este tipo de consultas con varias tablas (u otras consultas)
es muy utilizado, en los procesos de la empresa.
Este tipo de consulta combina campos (columnas) de una o más tablas o consultas,
en un campo o columna que es el resultado de la consulta. Por ejemplo, si tiene seis
proeveedores que envían nuevas listas de inventario cada mes, puede combinar estas
listas en un conjunto de resultados mediante una consulta de unión y, a continuación,
crear una consulta de creación de tabla basada en la consulta de unión cuyo resultado
dará la creación de una tabla nueva.
4
SELECT [NombreCompañía] AS [Proveedor/Nombre cliente], [Ciudad]
FROM [Proveedores]
La siguiente consulta de unión utiliza la instrucción UNION ALL para extraer to-
dos los registros, incluyendo los registros duplicados:
5
SELECT [NombreCompañía], [Ciudad]
FROM [Proveedores]
Combinar datos en campos de dos o más tablas utilizando una consulta de unión.
Las consultas de unión combinan los campos correspondientes a dos o más tablas o con-
sultas, en un solo campo. Cuando se ejecuta una consulta de unión, la misma devuelve
los registros de los campos correspondientes en las tablas o consultas incluidas.Los pa-
sos para crear una consulta de unión son los siguientes:
3. Sin agregar tablas ni consultas, hacer clic en Cerrar, en el cuadro de diálogo Mostrar
tabla.
7. Para ver los resultados de la consulta, hacer clic en Vista en la barra de herramien-
tas.
7
Parte Descripción
----- -----------
Cuando se crea un objeto Recordset2 , el motor de base de datos Microsoft Jet utiliza
el nombre de campo de la tabla como el nombre de objeto Field en el objeto Recordset. Si
desea un nombre de campo diferente o un nombre que no participe en la expresión uti-
lizada para generar el campo, utilice la palabra reservada AS. El siguiente ejemplo uti-
liza el título Nacimiento para dar nombre al objeto Field devuelto en el objeto Recordset
resultante:
SELECT FechaNacimiento AS Nacimiento FROM Empleados.
Siempre que utilice funciones de dominio agregado o consultas que devuelvan
nombres de objetos Field ambiguos o duplicados, debe utilizar la cláusula AS para pro-
porcionar un nombre alternativo para el objeto Field. El siguiente ejemplo utiliza el
título CuentaEncabezado para dar nombre al objeto Field devuelto del objeto Recordset
resultante:
SELECT COUNT(IdEmpleado) AS CuentaEncabezado FROM Empleados.
Puede utilizar otras cláusulas en una instrucción SELECT para limitar y organizar
aún más los datos devueltos. Para obtener más información al respecto, vea el tema de
Ayuda relativo a las cláusulas que esté utilizando.
Ejemplos de Select
8
Sintaxis
--------
[TABLE] consulta1 UNION [ALL] [TABLE] consulta2 [UNION [ALL] [TABLE]
consulta..n [ ... ]]
9
Parte Descripción
----- -----------
FROM Clientes
WHERE ImportePedido >1000.
De forma predeterminada, no se devuelven los registros duplicados cuando utiliza
una operación UNION; sin embargo, puede incluir el predicado ALL para asegurar
que se devuelven todos los registros. Esto también hace que la consulta se ejecute más
rápidamente.
Todas las consultas de una operación UNION deber requerir el mismo número de
campos. Sin embargo, los campos no tienen que ser del mismo tamaño o tipo de datos.
Utilice alias solamente en la primera cláusula SELECT porque en las demás se ig-
nora. En la cláusula ORDER BY, hacer referencia a los campos por cómo se les llama en
la primera cláusula SELECT.
Este tipo de consulta envía comandos directamente a las bases de datos ODBC3 ,
como las de Microsoft SQL Server, utilizando comandos aceptados por el servidor. Por
ejemplo, puede emplear una consulta de paso a través para recuperar registros o modi-
ficar datos.
Las consultas de paso a través de Microsoft Access envían comandos directamente
a un servidor de base de datos ODBC (como Microsoft SQL Server). Mediante las con-
sultas de paso a través se trabaja directamente con las tablas del servidor, en vez de
establecer vinculación a ellas.
3. Sin agregar tablas o consultas, hacer clic en Cerrar, en el cuadro de diálogo Mostrar
tabla.
5. Colocar el cursor en la banda azul del cuadro que se ha abierto y pulsando el botón
derecho del ratón, hacer clic en Propiedades, para ver la hoja de propiedades de
la consulta.
Si convertimos una consulta de paso a través en otro tipo de consulta, como por
ejemplo una consulta de selección, se perderá la instrucción SQL que se había
introducido.
Las consultas de paso a través son útiles para ejecutar procedimientos guardados
en un servidor ODBC.
88 Capítulo 4. Consultar la base de datos
Algunas consultas de paso a través pueden devolver mensajes junto con los datos.
Si se configura la propiedad AnotarMensajes (LogMessages) de la consulta a Sí,
Microsoft Access crea una tabla que contiene los mensajes devueltos. El nombre
de la tabla es el del usuario, seguido de un guión (-) y un número de secuencia que
comienza en 00. Por ejemplo, el nombre predeterminado de usuario es Admin-
istrador, de modo que el devuelto por las tablas se llamará .ADMIN - 00,ADMIN -
01, así sucesivamente.
2
Este tipo de consulta crea o modifica objetos de la base de datos, como tablas de
Microsoft Access o Microsoft SQL Server por medio de instrucciones SQL.
Se pueden usar consultas SQL de definición de datos para crear, eliminar o modifi-
car tablas o crear índices en la base de datos activa.
3. Sin agregar tablas o consultas, hacer clic en Cerrar en el cuadro de diálogo Mostrar
tabla.
CREATE TABLE
ALTER TABLE
DROP
CREATE INDEX
10
Sintaxis
--------
CREATE TABLE tabla (campo1 tipo [(tamaño)] [NOT NULL] [índice1] [, campo2 tipo
[(tamaño)] [NOT NULL] [índice2] [, ...]] [, CONSTRAINT índicemultiplescampos
[, ...]])
11
Parte Descripción
----- -----------
Anotaciones: Utilice la instrucción CREATE TABLE para definir una tabla nueva, sus
campos y limitaciones de campo. Si se especifica NOT NULL para un campo, se exi-
ge que los registros nuevos tengan datos válidos en ese campo. Una cláusula CON-
STRAINT establece varias limitaciones en un campo y se puede utilizar para establecer
la clave principal. También puede utilizar la instrucción CREATE INDEX para crear una
clave principal o índices adicionales en tablas existentes.
90 Capítulo 4. Consultar la base de datos
Ejemplos de CREATE
En el ejemplo siguiente se crea una tabla nueva con dos campos de Texto:
CREATE TABLE PrimeraTabla (Nombre TEXT, Apellido TEXT)
En el ejemplo siguiente se crea una tabla nueva con dos campos de Texto, un campo
Fecha/Hora y un único índice compuesto de los tres campos:
En el ejemplo siguiente se crea una tabla nueva con dos campos de Texto y un
campo Número entero. El campo SSN es la clave principal.
ALTER TABLE
12
Sintaxis
--------
ALTER TABLE tabla {ADD {COLUMN campo tipo [(tamaño)] [NOT NULL] [CONSTRAINT índice] |
CONSTRAINT índicemúltiplescampos} |
DROP {COLUMN campoI CONSTRAINT nombreíndice} }
13
Parte Descripción
----- -----------
---------------------------------------------------------------------------------
Indice de La definición de un índice de múltiples campos que se va a agregar a
multiples tabla. Para obtener más información acerca de cómo construir esta
campos cláusula, vea el tema de la cláusula CONSTRAINT.
---------------------------------------------------------------------------------
Nombre El nombre del índice de múltiples campos que se va a quitar.
índice
---------------------------------------------------------------------------------
Puede utilizar NOT NULL en un campo único o dentro de una cláusula CON-
STRAINT con nombre que se aplique a uno o varios campos en una cláusula
CONSTRAINT con nombre. Sin embargo, sólo puede aplicar la limitación NOT
NULL a un campo o cuando se produce un error en tiempo de ejecución.
DROP
Elimina una tabla de una base de datos o un índice de un campo o grupo de campos.
14
Sintaxis
--------
DROP {TABLE tabla | INDEX índice ON tabla}
15
Parte Descripción
----- -----------
Ejemplos de DROP
CREATE INDEX
16
Sintaxis
--------
CREATE [ UNIQUE ] INDEX índice
ON tabla(campo [ASC|DESC][, campo [ASC|DESC], ...])
[WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]
17
Parte Descripción
----- -----------
Impedir que se incluyan registros con valores Null en el campo o los campos de
índice utilizando la opción IGNORE NULL.
94 Capítulo 4. Consultar la base de datos
4.9. Subconsultas
Este tipo de consulta consta de una instrucción SQL SELECT dentro de otra con-
sulta de selección o consulta de acción. Puede introducir estas instrucciones en la fila
Campo de la cuadrícula de diseño de la consulta para definir un campo nuevo o bien
en la fila Criterios para definir criterios para un campo.
Usar una subconsulta para definir un campo o definir criterios para un campo
Puede utilizar subconsultas para, por ejemplo, comprobar la existencia de resulta-
dos para la subconsulta, buscar valores en la consulta principal que sean iguales, ma-
yores o menores que valores devueltos por la subconsulta, o para crear subconsultas
dentro de subconsultas.
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 estable-
cer un criterio. Coloque la instrucción SELECT entre paréntesis.
4. 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.
Hasta este momento, nuestra relación con la base de datos y sus tablas se ha desar-
rollado directamente, prácticamente sin intermediarios. Incluso cuando hemos efectua-
do consultas, nos hemos relacionado con los registros y campos (filas y columnas) tal
como ellos se encuentran en las tablas de la base de datos.
Podemos decir que el formulario es una interfaz o intermediario entre las tablas y
el usuario. Su objetivo consiste en presentar al usuario de un modo mas agradable y
cómodo los datos de la tabla con los que va a trabajar.
Los formularios son pantallas o ventanas dentro de las cuales se alojan cuadros de
texto, etiquetas, botones, imágenes, a través de los cuales podemos introducir, extraer o
consultar datos de las tablas. Estos objetos, llamados controles, son fundamentalmente
de dos tipos: los que enseñan o admiten datos de las tablas, y los que muestran la infor-
mación estática, tal como gráficos o textos.
97
98 Capítulo 5. Los Formularios de Access
1. Encabezado: Aquí se coloca la información que siempre está visible (título, botones,
etc.).
2. Detalle: Contiene los campos de la tabla, etiquetas de texto, gráficos, botones, etc.
Es donde se presentan los datos de los registros.
Los controles son los objetos donde se contiene toda la información del formulario.
En ellos se muestran los datos, sirven para realizar acciones o simplemente para decorar.
En la parte superior de la figura 5.5 podemos ver el cuadro de herramientas con los
controles visuales para el diseño.
Etiqueta: Para presentar texto de tipo descriptivo, como títulos, rótulos o breves
instrucciones. Las etiquetas no presentan valores de campos o expresiones; siem-
pre son independientes y no cambian cuando cambia de un registro a otro. Cuando
crea la etiqueta utilizando la herramienta Etiqueta, la etiqueta se mantiene por sí
misma, no está adjunta a ningún otro control. Las etiquetas individuales se uti-
lizan para información, como el título de un formulario o informe, o de otro texto
descriptivo. Las etiquetas individuales no aparecen en la vista Hoja de datos.
Cuadro combinado: Sirve para seleccionar un valor de una lista en vez de tener
que recordarlo y teclearlo. Con un cuadro combinado, puede hacer una de las dos
cosas sin utilizar demasiado espacio en un formulario. Un cuadro combinado es
como un cuadro de texto y un cuadro de lista combinados. La lista en un cuadro
combinado consta de filas de datos. Las filas pueden tener una o más columnas,
que pueden aparecer con o sin encabezados. En la figura 5.7 se muestra cómo ele-
gir el país desde su propia tabla, sin necesidad de teclearlo cada vez. Ello supone
un ahorro de tiempo y menor cantidad de errores.
Cuadro de lista: La lista en un cuadro de lista consiste en filas de datos. Las filas
pueden tener una o más columnas, que pueden aparecer con o sin encabezados. Si
un cuadro de lista de múltiples columnas es dependiente, Microsoft Access guarda
los valores de una de las columnas. Una lista de posibilidades ayuda también a
asegurar que el valor que se ha introducido en el campo es correcto. Es similar al
cuadro combinado. Su unica diferencia es que este se presenta ya desplegado.
formulario. Para hacer que un botón de comando haga algo, se escribe una macro
o procedimiento de evento y se adjunta a la propiedad AlHacerClic (OnClick) del
botón. Con el Asistente para botones de comando se pueden crear más de 30 tipos
diferentes de botones de comando. Cuando utiliza el Asistente para botones de
comando, Microsoft Access crea por el usuario el botón y el procedimiento de
evento.
Botón de verificar: Se utiliza para seleccionar valores del tipo Si/No. Puede uti-
lizarse en un grupo de opciones. Puede utilizarse una casilla o botón de verifi-
cación en un formulario o informe como un control individual para presentar un
valor Sí/No de una tabla, consulta o instrucción SQL base. Funciona de modo
similar al botón de alternar.
Control ficha: Se puede utilizar un control ficha para presentar varias páginas de
información como un solo conjunto de información. Esta posibilidad resulta espe-
cialmente útil cuando se trabaja con muchos controles que pueden ordenarse en
dos o más categorías. Por ejemplo, puede utilizar un control ficha en un formulario
Empleados para separar la información general y la personal.
Otros controles: Abre una lista con más controles para formularios.
Eliminar: Para eliminar un objeto del formulario basta con seleccionarlo con el
ratón y pulsar la tecla Supr. Pueden eliminarse varios objetos simultáneamente,
sólo hay que tenerlos seleccionados.
Para obtener información sobre un control cuando se le está manejado dentro del
formulario, se le selecciona y se pulsa la tecla F1, apareciendo a continuación una ven-
tana pequeña con información sobre el objeto seleccionado.
Esta solapa contiene todas las propiedades que permiten cambiar el aspecto del
control que tengamos seleccionado. Se muestra en la figura 5.8
La mayoría de las propiedades son listas desplegables que contienen los valores
que admite la propiedad, pero en otras veces al lado del campo de la propiedad aparece
un botón con tres puntos suspensivos. Al pulsarlo aparece una ventana con opciones
disponibles. Por ejemplo en la figura 5.8 se muestran las distintas propiedades desple-
gadas en la solapa Formato de la etiqueta. En la línea segunda se observan los tres
108 Capítulo 5. Los Formularios de Access
puntos.
Como se puede ver, podemos cambiar el aspecto del control variando las distintas
propiedades de la solapa Formato. Si no sabemos para qué sirve alguna propiedad,
podemos pulsar F1 y aparecerá la ayuda correspondiente.
Una cosa es la solapa Formato, y otra la propiedad Formato: La propiedad Forma-
to (Format) afecta sólo a cómo se muestran los datos. No afecta a cómo se almacenan
los datos. Microsoft Access dispone de formatos predefinidos para los tipos de datos
Fecha/Hora, Numérico y Moneda, Texto y Memo, y Sí/No. Los formatos predefinidos
dependen del país especificado al hacer doble clic en Configuración regional en el Panel
de control de Windows. Microsoft Access muestra los formatos apropiados para el país
seleccionado. Por ejemplo, si está seleccionado Inglés (Estados Unidos) en la ficha Con-
figuración regional, 1234.56 en el formato Moneda aparece como $ 1,234.56, pero si está
seleccionado Inglés (Británico) en la ficha Configuración regional, el número aparece
como £ 1,234.56.
Si establece la propiedad Formato (Format) de un campo en la vista Diseño de la
tabla, Microsoft Access utiliza ese formato para mostrar datos en las hojas de datos.
También aplica la propiedad Formato (Format) del campo a los nuevos controles de
formularios e informes.
La solapa Datos despliega las propiedades que permiten determinar los datos que
aparecerán en el control que hayamos seleccionado Si el control no es dependiente de
ninguna tabla, como el caso de la etiqueta, esta solapa aparecerá vacía. Si el control es
dependiente, es decir, muestra campos de alguna tabla, entonces sí aparecerán propie-
dades en la solapa Datos.
Como vemos en la figura 5.9 se muestran las propiedades del control correspon-
diente al cuadro conbinado País. Los datos que se introducirán en este campo provienen
de la tabla ”tblPaises”, lo que garantiza una mayor fiabilidad. La propiedad Activado
determina si el control puede recibir el foco, o sea, si en él se van a poder introducir
datos. La propiedad Bloqueado se usa para proteger los datos haciéndolos de sólo lec-
tura. La propiedad Valor predeterminado indica si queremos introducir un valor por
defecto en el campo.
En este ejemplo, la acción de Responder al evento Al hacer clic que hemos uti-
lizado es la de un procedimiento de evento, ya que, si bien no hemos tenido que
escribir ningún código, sin embargo Access lo ha hecho por nosotros mediante el
asistente. Este ha generado el procedimiento de evento e introducido dentro de él
la orden correspondiente a ”Cerrar el formulario”.
18
Private Sub Boton_salir_Click()
On Error GoTo Err_Boton_salir_Click
DoCmd.Close
Exit_Boton_salir_Click:
Exit Sub
Err_Boton_salir_Click:
MsgBox Err.Description
Resume Exit_Boton_salir_Click
End Sub
Esta solapa muestra diversas acciones de tipo general, tales como Nombre ( lo que
permite modificar el nombre del control), y otras que pueden servir de ayuda. Según el
tipo de control, aparecerán unas u otras propiedades.
Como es lógico, bajo la solapa Todas, se muestra la suma de las anteriores solapas.
etiqueta. El proceso para crearlo consiste en pulsar Nuevo estando en la solapa Formu-
larios; elegir el Autoformulario: Columnas, y en el cuadro de texto inferior indicar la
tabla. Una vez aceptado, el proceso se realiza automáticamente y se crea el formulario.
El Proceso se realiza de igual manera. El formulario que se genera muestra los cam-
pos en forma tabular, es decir, cada campo es una columna y cada fila es un registro de
la tabla.
Al igual que los dos anteriores se genera un formulario cuya vista es igual a la de
Hoja de datos de la tabla.
5.6. Subformularios
Los formularios vistos hasta ahora tan sólo utilizan una tabla. Sin embargo, hay
circunstancias en las que se necesita trabajar con datos que están repartidos en dos o
mas tablas relacionadas.
Un subformulario es un formulario dentro de otro formulario. El formulario pri-
mario se llama formulario principal y el otro se llama subformulario. Una combinación
formulario/subformulario se llama a menudo formulario jerárquico, formulario princi-
pal/detalle o formulario principal/secundario.
Los subformularios son muy eficaces cuando se desea mostrar datos de tablas o
consultas con una relación uno a varios29. Por ejemplo, puede crear un formulario con
un subformulario para mostrar los datos de una tabla Categorías y de una tabla Produc-
120 Capítulo 5. Los Formularios de Access
tos. Los datos de la tabla Categorías es el lado üno"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.
El formulario principal y subformulario de este tipo de formularios están vincu-
lados 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 catego-
ría Bebidas.
Un formulario principal puede tener cualquier número de subformularios si coloca
cada subformulario en el formulario principal. Puede anidar hasta dos niveles de sub-
formularios. Esto significa que puede tener un subformulario dentro de un formulario
principal y que puede tener otro subformulario dentro de ese subformulario. Por ejem-
plo, podría tener un formulario principal que mostrara los clientes, un subformulario
que presentara los pedidos y otro subformulario más que mostrara los detalles de los
pedidos.
3. En la ventana del asistente que nos presenta el modo en que se verán los datos en
el formulario.
superior, que contiene su propia botonera para moverse por los registros de la
tabla tblClientes y el área central en la que aparecen los pedidos correspondientes
al cliente actualmente seleccionado.
Acerca de los subformularios podríamos añadir que también es posible agregar
a un formulario creado con anterioridad un subformulario. La forma de crear el
subformulario es a través de la barra de herramientas (activar el botón Asistentes
para controles y el botón Subformularios de la misma barra de herramientas). Con
ellos activados se lleva el cursor dentro del formulario anterior (el cursor cambia a
una pequeña cruz) y allí se pulsa y arrastra hasta crear el sitio del subformulario.
De inmediato aparece el asistente para subformularios; sólo hay que seguir sus
directrices.
Capítulo 6
Hasta ahora hemos visto las distintas formas de manipulación de los datos: Tablas,
Consultas, Formularios, etc„ pero esos datos que hemos almacenado, en algún momen-
to deberemos presentarlos en forma impresa. Access proporciona todas las herramien-
tas necesarias para generar los tipos de impresos: Los Informes y las Etiquetas.
6.1. Informes
Los informes son la forma efectiva de presentar los datos en formato impreso. Los
informes de Access poseen propiedades que controlan los distintos aspectos y elemen-
tos, y que en definitiva mejoran la presentación de los datos.
La mayor parte de la información en un informe proviene de una o varias tablas,
consultas o instrucción SQL. Ese es el origen de los datos del informe. Hay otra infor-
mación del informe que se almacena en el diseño del informe, la que atañe a los objetos
y modos de presentar los datos.
Veamos en primer lugar los distintos tipos de informe que ofrece Access para entrar
a continuación en el proceso de creación o generación de los informes.
Informe tabular
Presenta los datos de los registros de la tabla en forma de filas, donde cada campo
es una columna. Una muestra de este tipo de informe la tenemos en la figura 6.2
127
128 Capítulo 6. Documentos impresos: Informes y etiquetas
Informe de columnas
Muestra todos los campos en una sola columna, normalmente alineada a la izquier-
da de la pagina: Ver figura 6.3.
Etiquetas
Muestra los campos impresos como etiquetas de correo. Lo veremos mas adelante.
Este tipo de informe permite obtener los registros de la tabla sobre la que se realiza
el informe agrupados por los valores de uno o varios campos.
Resumen
Funciona como el tipo anterior de Grupos pero solo muestra la información de los
campos numéricos.
130 Capítulo 6. Documentos impresos: Informes y etiquetas
Podemos crear un informe directamente, sin ayudas o hacer que Microsoft Access
cree un informe automáticamente mediante uno de los asistentes para informes. Un
asistente para informes acelera el proceso de creación ya que hace todo el trabajo básico.
Cuando usamos un asistente para informes, éste nos pide información y crea un informe
basado en nuestras respuestas. Aunque hayamos creado muchos informes, puede que
deseemos utilizar un asistente para organizar rápidamente el informe, y después cam-
biar a la vista Diseño para personalizarlo.
2. Elegir Nuevo.
4. Seleccionar la tabla o consulta que contiene los datos en los que se desea basar el
informe.
Detalle: En esta parte del informe es donde se incluyen los campos de la tablas que
deseamos imprimir.
Pié de página: Se coloca aquí la información que debe aparecer en la parte inferior
de cada página. En este caso a la izquierda aparecerá la fecha de hoy en formato
132 Capítulo 6. Documentos impresos: Informes y etiquetas
Pié del informe: Es donde se imprime la información del final del informe.
El informe modificado quedaría tal como lo muestra la figura 6.6:
agrupar en una sección. Basta con pulsar en una línea en blanco y elegir un campo. Cada
sección o grupo tiene una serie de propiedades.
El modo de eliminar la secciones sigue el mismo procedimiento: Se abre la ventana
Ordenar y Agrupar, se marca el campo cuya sección se desee eliminar, y se pulsa el
botón Suprimir.
Igualmente se pueden introducir en el informe saltos de página con el fin de hacer
la información más presentable. Para introducir saltos de pagina, basta con Pulsar clic
en el control salto de página que está situado en la barra de herramientas y situarlo en
el sitio del informe donde queramos que se inicie una nueva pagina.
6.2. Etiquetas
Como decíamos arriba, las etiquetas está muy relacionadas con los informes. Como
ejercicio, vamos a crear unas etiquetas con los datos de cada cliente de nuestra tabla.
Para crear etiquetas, lo primero que debemos hacer es pulsar Nuevo en la solapa de
Informes, elegir la opción Asistente para etiquetas y seleccionar la tabla. De inmediato
aparece el asistente para etiquetas como muestra la figura 6.7.
El paso siguiente es elegir el tipo y tamaño de letra para las etiquetas, así como los
campos de la tabla que aparecerán en cada etiqueta. En la siguiente pantalla del asistente
elegimos el campo por el cual se van a ordenar las etiquetas. Después habremos de
poner un nombre al informe de etiquetas que se está generando.
Este diseño genera una pagina con varias etiquetas. En este caso elegimos dos eti-
quetas a lo ancho. El resultado aparece en la figura 6.8.
En cuanto al formato de las etiquetas, existen gran variedad de ellos con las distin-
tas medidas del mercado. Pero si deseamos hacer un formato propio podemos hacerlo
con el botón Personalizar. Mediante esta opción es posible diseñar cualquier tipo de
etiqueta que necesitemos.
6.2. Etiquetas 135