Cómo obtener el máximo rendimiento de los datos
Las macros son conjuntos de acciones que se crean para automatizar tareas comunes. Si se utilizan grupos de macros, se pueden realizar varias tareas al mismo tiempo.
¿Qué es una macro?
Una macro es un conjunto de una o más acciones (acción: componente básico de una macro; instrucción independiente que se puede combinar con otras acciones para automatizar tareas. A veces se denomina comando en otros lenguajes de macros.) que cada una realiza una operación determinada, tal como abrir un formulario o imprimir un informe. Las macros pueden ayudar a automatizar las tareas comunes. Por ejemplo, puede ejecutar una macro que imprima un informe cuando el usuario haga clic en un botón de comando.
Cuando se crea una macro, las acciones que se desea realizar se escriben en esta parte de la ventana Macro (ventana Macro: ventana en la que se crean y modifican las macros.).
En esta parte de la ventana se puede especificar los argumentos de una acción.
Una macro puede ser una macro compuesta de una secuencia de acciones, o puede ser un grupo de macros (grupo de macros: colección de macros relacionadas que se almacenan juntas bajo un único nombre de macro. A menudo, se hace referencia a la colección simplemente como una macro.). También se puede usar una expresión condicional (expresión condicional: expresión que se evalúa y compara con un valor, por ejemplo, las instrucciones If…Then y Select Case. Si se cumple la condición, se llevan a cabo una o más operaciones. Si no se cumple, se omite la operación.) para determinar si se llevará a cabo una acción en algunos casos cuando se ejecute la macro.
La siguiente macro está compuesta de una serie de acciones. Microsoft Access lleva a cabo estas acciones cada vez que se ejecuta la macro. Para ejecutar esta macro se hace referencia al nombre de la macro Revisar Productos.
¿Qué es un grupo de macros?
Cuando se tienen muchas macros, el reunir las que estén relacionadas en grupos de macros (grupo de macros: colección de macros relacionadas que se almacenan juntas bajo un único nombre de macro. A menudo, se hace referencia a la colección simplemente como una macro.) puede simplificar la administración de la base de datos.
Por ejemplo, el siguiente grupo de macros, denominado Botones, está compuesto de tres macros relacionadas: Empleados, Productos, y Representantes. Cada macro lleva a cabo la acción AbrirFormulario, y la macro Productos lleva también a cabo la acción DesplazarTamaño.
El nombre en la columna Nombre de macro identifica a cada macro. Cuando se ejecuta una macro en un grupo de macros, Microsoft Access lleva a cabo la acción de la columna Acción y cualquier otra acción que siga inmediatamente con una columna Nombre de macro en blanco.
Para ejecutar una macro de un grupo de macros en un evento o procedimiento de evento (procedimiento de evento: procedimiento que se ejecuta automáticamente en respuesta a un evento iniciado por un usuario o código de programa o el sistema desencadena.), escriba el nombre del grupo de macros seguido de un punto y del nombre de la macro. En el ejemplo anterior, para hacer referencia a la macro Empleados en el grupo de macros Botones, escribiría Botones.Empleados.
Acciones condicionales
En algunos casos, puede desear llevar a cabo una acción o serie de acciones en una macro solamente si se cumple una condición (condición: parte del criterio que debe cumplir un campo cuando se realiza una búsqueda o se aplica un filtro. Algunas condiciones se deben utilizar con un valor; por ejemplo, el campo Autor con la condición igual a con el valor Juan.) concreta. Por ejemplo, si está utilizando una macro para validar los datos de un formulario, puede desear presentar un mensaje en respuesta a un conjunto de valores introducidos en un registro y otro mensaje en respuesta a otro conjunto diferente de valores. En casos como éstos, puede utilizar las condiciones para controlar el flujo de la macro.
Una condición es una expresión (expresión: cualquier combinación de operadores matemáticos o lógicos, constantes, funciones y nombres de campos, controles y propiedades que evalúa a un solo valor. Las expresiones puede realizar cálculos, manipular caracteres o probar datos.) lógica que se evalúa como Verdadero/Falso o Sí/No. La macro sigue trayectorias diferentes dependiendo de si la condición es verdadera o falsa.
Cuando ejecuta la macro, Microsoft Access evalúa la primera expresión condicional (expresión condicional: expresión que se evalúa y compara con un valor, por ejemplo, las instrucciones If…Then y Select Case. Si se cumple la condición, se llevan a cabo una o más operaciones. Si no se cumple, se omite la operación.). Si la condición es verdadera, Microsoft Access lleva a cabo la acción en esa fila y cualquiera de las acciones inmediatamente posteriores que vayan precedidas por puntos suspensivos (…) en la columna Condición.
Microsoft Access ejecuta entonces cualquier acción adicional en la macro que tenga una columna de Condición en blanco, hasta que alcance otra expresión, un nombre de macro o el final de la macro.
Si la condición es falsa, Microsoft Access omite la acción y cualquier otra acción inmediatamente posterior que vaya precedida por puntos suspensivos en la columna Condición. Después, se desplaza a la siguiente fila de acción (fila de acción: fila de la parte superior de la ventana Macro donde se escriben los nombres de macro, acciones, condiciones y comentarios asociados con una macro concreta o un grupo de macros.) que contenga otra condición o una columna Condición en blanco.
La siguiente macro ejecuta las acciones CuadroMsj y DetenerMacro sólo cuando la expresión en la columna Condición sea verdadera (cuando hay un valor Nulo (Null: valor que puede especificarse en un campo o utilizarse en expresiones o consultas para indicar datos desconocidos o ausentes. En Visual Basic, la palabra clave Null indica un valor Null. Algunos campos, como los de clave principal, no pueden contener Null.) en el campo IdProveedor).
Argumentos de acción
Los argumentos de acción son datos adicionales necesarios para algunas acciones de macro, por ejemplo, el objeto que se verá afectado por la acción o las condiciones especiales en las que la acción se ejecuta. Después de agregar una acción a una macro, establezca los argumentos de la acción en la parte inferior de la ventana Macro (ventana Macro: ventana en la que se crean y modifican las macros.). Estos argumentos dan a Microsoft Access información adicional sobre cómo llevar a cabo la acción.
Sugerencias para establecer argumentos de acción:
- En general, es una buena idea establecer los argumentos de la acción en el orden en el que están listados, porque las opciones de un argumento pueden determinar las opciones de los argumentos que le siguen.
- Si agrega una acción a su macro arrastrando un objeto de base de datos (objetos de base de datos: una base de datos de Access contiene objetos como tablas, consultas, formularios, informes, páginas, macros y módulos. Un proyecto de Access contiene objetos como formularios, informes, páginas, macros y módulos.) desde la ventana Base de datos (ventana Base de datos: ventana que aparece cuando se abre una base de datos o un proyecto de Access. Muestra métodos abreviados para crear objetos de base de datos nuevos y abrir otros existentes.), Microsoft Access establece de forma automática los argumentos apropiados para esa acción.
- Si una acción tiene un argumento que requiere el nombre de un objeto de la base de datos, puede establecer de forma automática el argumento y el tipo de objeto correspondiente arrastrando el objeto desde la ventana Base de datos al cuadro del argumento.
- Puede utilizar una expresión (expresión: cualquier combinación de operadores matemáticos o lógicos, constantes, funciones y nombres de campos, controles y propiedades que evalúa a un solo valor. Las expresiones puede realizar cálculos, manipular caracteres o probar datos.) precedida de un signo igual (=) para establecer muchos argumentos de acción.
Módulos: Automatizar las tareas rutinarias y crear soluciones empresariales
Un módulo es básicamente un conjunto de declaraciones, instrucciones y procedimientos que se almacenan en una unidad con nombre para organizar el código de Microsoft Visual Basic (Microsoft Visual Basic: versión visual del lenguaje de programación Basic de alto nivel. Microsoft ha desarrollado Visual Basic para crear aplicaciones basadas en Windows.). Microsoft Access tiene dos tipos de módulos: módulos estándar (módulo estándar: módulo en el que puede colocar los procedimientos Sub y Function que desee que estén disponibles para otros procedimientos de la base de datos.) y módulos de clase (módulo de clase: módulo que puede contener la definición de un nuevo proyecto. Cada instancia de una clase crea un objeto nuevo. Los procedimientos definidos en el módulo se convierten en propiedades y métodos del objeto. Los módulos de clase pueden existir solos o con formularios e informes.).
¿Qué es un módulo?
Un módulo es un conjunto de declaraciones y procedimientos de Visual Basic que se almacenan en una sola unidad.
- Cuadro Objeto
- Cuadro Procedimiento
- Declaraciones
- Procedimientos
- Botón Vista Procedimiento
- Botón Ver módulo completo
Módulos de clases
Los módulos de formularios (módulo de formulario: módulo que incluye código para todos los procedimientos de evento desencadenados por los eventos que suceden en un formulario específico o en sus controles.) y los módulos de informes (módulo de informe: módulo que incluye código para todos los procedimientos de evento desencadenados por los eventos que tienen lugar en un informe específico o en sus controles.) son módulos de clases que están asociados con un formulario o informe determinado. Los modulos de formularios y de informes contienen a menudo procedimientos de evento (procedimiento de evento: procedimiento que se ejecuta automáticamente en respuesta a un evento iniciado por un usuario o código de programa o el sistema desencadena.) que se ejecutan en respuesta a un evento en un formulario o informe. Puede usar los procedimientos de evento para controlar el comportamiento de los formularios e informes, y su respuesta a acciones de los usuarios, como hacer clic en un botón de comando.
Cuando se crea el primer procedimiento de evento para un formulario o informe, Microsoft Access crea automáticamente un módulo de formulario o un módulo de informe.
Para ver o agregar un procedimiento de formulario, elija uno de los objetos del formulario en el cuadro Objeto …
… y, a continuación, seleccione un evento en el cuadro Procedimiento. Los nombres de eventos que ya tienen procedimientos aparecen en negrita.
Los procedimientos en los módulos de formularios y de informes pueden llamar a procedimientos que haya agregado a los módulos estándar.
En Access 97 o versiones posteriores, los módulos de clase pueden existir con independencia de un formulario o informe, y este tipo de módulo de clase se muestra en la ventana Base de datos (ventana Base de datos: ventana que aparece cuando se abre una base de datos o un proyecto de Access. Muestra métodos abreviados para crear objetos de base de datos nuevos y abrir otros existentes.). Puede usar un módulo de clase para crear una definición para un objeto personalizado. En Access 95, los módulos de clase existen únicamente en asociación con un formulario o informe.
Módulos estándar
Los módulos estándar contienen procedimientos generales que no están asociados a ningún otro objeto y procedimientos usados con frecuencia que pueden ser ejecutados desde cualquier parte de la base de datos. Las principales diferencias entre un módulo estándar y un módulo de clase que no está asociado a un objeto determinado son el alcance y la duración. El valor de las variables y constantes declaradas o existentes en un módulo de clase sin un objeto asociado está disponible para su uso sólo cuando el código se está ejecutando y sólo desde ese objeto.
Nombre y argumentos de la función
Declaraciones e instrucciones de código de Visual Basic
Los módulos estándar se muestran en Módulos, bajo Objetos, en la ventana Base de datos (ventana Base de datos: ventana que aparece cuando se abre una base de datos o un proyecto de Access. Muestra métodos abreviados para crear objetos de base de datos nuevos y abrir otros existentes.). Los formularios, informes y módulos estándar se enumeran también en el Examinador de bjetos (Examinador de objetos: cuadro de diálogo que muestra información sobre objetos, propiedades, métodos y constantes en el proyecto actual y en bibliotecas de objetos a las que se hace referencia, y que se utiliza para buscar un elemento, obtener ayuda sobre él o pegarlo en un módulo.).
Relaciones en una base de datos
Una vez creadas tablas diferentes para cada tema de la base de datos de Microsoft Access (base de datos de Microsoft Access: colección de datos y objetos (como tablas, consultas o formularios), que está relacionada con un tema o propósito concreto. El motor de base de datos Microsoft Jet administra los datos.), necesita una forma de indicarle a Microsoft Access cómo debe volver a combinar esa información. El primer paso de este proceso es definir relaciones (relación: asociación que se establece entre campos comunes (columnas) en dos tablas. Una relación puede ser uno a uno, uno a varios o varios a varios.) entre las tablas.
Una vez realizada esta operación, puede crear consultas, formularios e informes para mostrar información de varias tablas a la vez. Por ejemplo, este formulario incluye información de cuatro tablas:
- La tabla Clientes
- La tabla Pedidos
- La tabla Productos
- La tabla Detalles de pedidos
Cómo funcionan las relaciones
Siguiendo en el ejemplo anterior, los campos de las cuatro tablas deben coordinarse de modo que muestren información acerca del mismo pedido. Esta coordinación se lleva a cabo mediante las relaciones entre las tablas. Una relación hace coincidir los datos de los campos clave (normalmente un campo con el mismo nombre en ambas tablas). En la mayoría de los casos, estos campos coincidentes son la clave principal (clave principal: uno o más campos (columnas) cuyos valores identifican de manera exclusiva cada registro de una tabla. Una clave principal no puede permitir valores Nulo y debe tener siempre un índice exclusivo. Una clave principal se utiliza para relacionar una tabla con claves externas de otras tablas.) de una tabla, que proporciona un identificador único para cada registro, y una clave externa (clave externa: uno o más campos de tabla (columnas) que hacen referencia al campo o campos de clave principal de otra tabla. Una clave externa indica cómo están relacionadas las tablas.) de la otra tabla. Por ejemplo, los empleados pueden asociarse a los pedidos de los que son responsables mediante la creación de una relación entre los campos Id. de empleado.
- Id. de empleado aparece en ambas tablas, como clave principal …
- … y como clave externa.
Una relación uno a varios
La relación uno a varios es el tipo de relación más común. En este tipo de relación, un registro de la Tabla A puede tener muchos registros coincidentes en la Tabla B, pero un registro de la Tabla B sólo tiene un registro coincidente en la Tabla A.
- Un proveedor …
- … puede suministrar más de un producto …
- … pero cada producto tiene un único proveedor.
Una relación varios a varios
En una relación varios a varios, un registro de la Tabla A puede tener muchos registros coincidentes en la Tabla B, y viceversa. Este tipo de relación sólo es posible si se define una tercera tabla (denominada tabla de unión) cuya clave principal (clave principal: uno o más campos (columnas) cuyos valores identifican de manera exclusiva cada registro de una tabla. Una clave principal no puede permitir valores Nulo y debe tener siempre un índice exclusivo.
Una clave principal se utiliza para relacionar una tabla con claves externas de otras tablas.) consta de dos campos : las claves externas (clave externa: uno o más campos de tabla (columnas) que hacen referencia al campo o campos de clave principal de otra tabla. Una clave externa indica cómo están relacionadas las tablas.) de las Tablas A y B. Una relación de varios a varios no es sino dos relaciones de uno a varios con una tercera tabla. Por ejemplo, la tabla Pedidos y la tabla Productos tienen una relación de varios a varios que se define mediante la creación de dos relaciones de uno a varios con la tabla Detalles de pedidos. Un pedido puede incluir muchos productos, y cada producto puede aparecer en muchos pedidos.
- Clave principal de la tabla Pedidos
- Clave principal de la tabla Productos
- Un pedido puede incluir muchos productos …
- … y cada producto puede aparecer en muchos pedidos.
Una relación uno a uno
En una relación uno a uno, cada registro de la Tabla A sólo puede tener un registro coincidente en la Tabla B y viceversa. Este tipo de relación no es habitual, debido a que la mayoría de la información relacionada de esta forma estaría en una sola tabla. Puede utilizar la relación uno a uno para dividir una tabla con muchos campos, para aislar parte de una tabla por razones de seguridad o para almacenar información que sólo se aplica a un subconjunto de la tabla principal. Por ejemplo, puede crear una tabla que registre los empleados participantes en un partido de fútbol benéfico. Cada jugador de fútbol de la tabla Jugadores de fútbol tiene un registro coincidente en la tabla Empleados.
- Cada jugador de fútbol tiene un registro coincidente en la tabla Empleados.
- Este conjunto de valores es un subconjunto del campo Id. de empleado y la tabla Empleados.
Definición de relaciones
El tipo de relación que crea Microsoft Access depende de cómo están definidos los campos relacionados.
- Una relación de uno a varios se crea si sólo uno de los campos relacionados es una qclave principal (clave principal: uno o más campos (columnas) cuyos valores identifican de manera exclusiva cada registro de una tabla. Una clave principal no puede permitir valores Nulo y debe tener siempre un índice exclusivo. Una clave principal se utiliza para relacionar una tabla con claves externas de otras tablas.) o tiene un índice único (índice único: índice que se define al establecer la propiedad Indexado de un campo como Sí (Sin duplicados). Un índice único no permite entradas duplicadas en el campo indizado. Al establecer un campo como clave principal, queda automáticamente definido como exclusivo.).
- Se crea una relación uno a uno si ambos campos relacionados son claves principales o tienen índices únicos.
- Una relación de varios a varios es, en realidad, dos relaciones de uno a varios con una tercera tabla cuya clave principal consta de dos campos: las claves externas (clave externa: uno o más campos de tabla (columnas) que hacen referencia al campo o campos de clave principal de otra tabla. Una clave externa indica cómo están relacionadas las tablas.) de las otras dos tablas.
También se puede crear una relación entre una tabla y los elementos que contiene. Esto es útil en situaciones en que deba realizar una búsqueda dentro de la misma tabla. Por ejemplo, en la tabla Empleados se puede definir una relación entre los campos Id. de empleado y Jefe, por lo que el campo Jefe puede mostrar datos de empleado que procedan de un Id. de empleado coincidente.
Nota Si arrastra un campo que no es una clave principal y no tiene un índice único hasta otro campo que tampoco es una clave principal ni tiene un índice único, se crea una relación indeterminada. En las consultas que contienen tablas con una relación indeterminada, Microsoft Access muestra una línea de combinación (combinación: asociación entre un campo de una tabla o consulta y un campo del mismo tipo de datos de otra tabla o consulta. Las combinaciones indican al programa cómo se relacionan los datos. Los registros que no coinciden pueden incluirse o excluirse, dependiendo del tipo de combinación.) predeterminada entre las tablas, pero no se exige la integridad referencial (integridad referencial: reglas que se siguen para preservar las relaciones definidas entre las tablas cuando se especifican o eliminan registros.) y no hay garantías de que los registros sean únicos en ninguna tabla.
Integridad referencial
La integridad referencial es un sistema de reglas que utiliza Microsoft Access para garantizar que las relaciones entre los registros de tablas relacionadas son válidas y que no se eliminan ni modifican accidentalmente datos relacionados. Puede establecer la integridad referencial cuando se cumplen todas las condiciones siguientes:
- El campo coincidente de la tabla principal (tabla principal: extremo "uno" de dos tablas unidas por una relación "de uno a varios". En la tabla principal debe haber una clave principal y cada registro debe ser único.) es una clave principal (clave principal: uno o más campos (columnas) cuyos valores identifican de manera exclusiva cada registro de una tabla. Una clave principal no puede permitir valores Nulo y debe tener siempre un índice exclusivo. Una clave principal se utiliza para relacionar una tabla con claves externas de otras tablas.) o tiene un índice único (índice único: índice que se define al establecer la propiedad Indexado de un campo como Sí (Sin duplicados). Un índice único no permite entradas duplicadas en el campo indizado. Al establecer un campo como clave principal, queda automáticamente definido como exclusivo.).
- Los campos relacionados tienen el mismo tipo de datos (tipo de datos: característica de un campo que determina el tipo de datos que puede albergar. Los tipos de datos son: Booleano, Entero, Largo, Moneda, Simple, Doble, Fecha, Cadena y Variant (predeterminado).). Hay dos excepciones. Un campo Autonumérico (tipo de datos Autonumérico: tipo de datos de campo que, en una base de datos de Microsoft Access, almacena automáticamente un número exclusivo para cada registro en el momento en que éste se agrega a una tabla. Se pueden generar tres tipos de números: secuencial, aleatorio e Id. de réplica.) puede estar relacionado con un campo Numérico con la propiedad TamañoDelCampo (FieldSize) establecida en Entero Largo, y un campo Autonumérico con la propiedad TamañoDelCampo (FieldSize) establecida en Id. de réplica puede estar relacionado con un campo Numérico con la propiedad TamañoDelCampo (FieldSize) establecida en Id. de réplica.
- Ambas tablas pertenecen a la misma base de datos de Microsoft Access. Si las tablas son tablas vinculadas (tabla vinculada: tabla almacenada en un archivo fuera de la base de datos abierta desde donde Access puede tener acceso a los registros. Puede agregar, eliminar y editar registros de una tabla vinculada, pero no puede cambiar su estructura.), deben ser tablas en el formato de Microsoft Access y debe abrir la base de datos en la que están almacenadas para poder establecer la integridad referencial. La integridad referencial no puede exigirse para tablas vinculadas procedentes de bases de datos en otros formatos.
Cuando se utiliza la integridad referencial, se aplican las reglas siguientes:
- No puede introducir un valor en el campo de clave externa (clave externa: uno o más campos de tabla (columnas) que hacen referencia al campo o campos de clave principal de otra tabla. Una clave externa indica cómo están relacionadas las tablas.) de la tabla relacionada que no exista en la clave principal de la tabla principal. No obstante, puede introducir un valor Nulo (Null: valor que puede especificarse en un campo o utilizarse en expresiones o consultas para indicar datos desconocidos o ausentes. En Visual Basic, la palabra clave Null indica un valor Null. Algunos campos, como los de clave principal, no pueden contener Null.) en la clave externa, especificando que los registros no están relacionados. Por ejemplo, no puede tener un pedido asignado a un cliente que no existe, pero puede tener un pedido asignado a nadie mediante la introducción de un valor Nulo en el campo Id. de cliente.
- No puede eliminar un registro de una tabla principal si existen registros coincidentes en una tabla relacionada. Por ejemplo, no puede eliminar un registro de empleados de la tabla Empleados si existen pedidos asignados al empleado en la tabla Pedidos.
- No puede cambiar un valor de clave principal en la tabla principal si ese registro tiene registros relacionados. Por ejemplo, no puede cambiar el Id. de un empleado en la tabla Empleados si existen pedidos asignados a ese empleado en la tabla Pedidos.
Actualizaciones y eliminaciones en cascada
Para las relaciones en las que se exige la integridad referencial (integridad referencial: reglas que se siguen para preservar las relaciones definidas entre las tablas cuando se especifican o eliminan registros.), puede especificar si desea que Microsoft Access actualice en cascada (actualización en cascada: para relaciones que aplican integridad referencial entre tablas, la actualización de todos los registros relacionados de la tabla o tablas relacionadas cuando cambia un registro de la tabla principal.) y elimine en cascada (eliminación en cascada: para las relaciones que aplican integridad referencial entre tablas, la eliminación de todos los registros relacionados de la tabla o tablas relacionadas cuando se elimina un registro de la tabla principal.) automáticamente los registros relacionados. Si establece estas opciones, las operaciones de eliminación y actualización que normalmente impediría la integridad referencial se permiten ahora.
Al eliminar registros o al cambiar los valores de clave principal (clave principal: uno o más campos (columnas) cuyos valores identifican de manera exclusiva cada registro de una tabla. Una clave principal no puede permitir valores Nulo y debe tener siempre un índice exclusivo. Una clave principal se utiliza para relacionar una tabla con claves externas de otras tablas.) de una tabla principal (tabla principal: extremo "uno" de dos tablas unidas por una relación "de uno a varios".
En la tabla principal debe haber una clave principal y cada registro debe ser único.), Microsoft Access realiza los cambios necesarios en las tablas relacionadas con el fin de conservar la integridad referencial.
SI activa la casilla de verificación Actualizar en cascada los campos relacionados al definir una relación, siempre que cambie la clave principal de un registro de la tabla principal, Microsoft Access actualizará automáticamente la clave principal con el nuevo valor en todos los registros relacionados. Por ejemplo, si cambia un Id. de cliente en la tabla Clientes, el campo Id. de cliente de la tabla Pedidos se actualizará automáticamente en cada uno de los pedidos de ese cliente, de modo que la relación no se rompa. Microsoft Access actualiza en cascada sin mostrar ningún mensaje.
Nota Si la clave principal de la tabla principal es un campo Autonumérico (tipo de datos Autonumérico: tipo de datos de campo que, en una base de datos de Microsoft Access, almacena automáticamente un número exclusivo para cada registro en el momento en que éste se agrega a una tabla. Se pueden generar tres tipos de números: secuencial, aleatorio e Id. de réplica.)la activación de la casilla de verificación Actualizar en cascada los campos relacionados no tendrá ningún efecto, porque no puede cambiar el valor de un campo Autonumérico.
Si selecciona la casilla de verificación Eliminar en cascada los registros relacionados al definir una relación, siempre que elimine registros de la tabla principal, Microsoft Access eliminará automáticamente los registros relacionados de la tabla relacionada. Por ejemplo, si elimina el registro de un cliente de la tabla Clientes, todos los pedidos del cliente se eliminarán automáticamente de la tabla Pedidos (esto incluye los registros de la tabla Detalles de pedidos relacionados con los registros de Pedidos).
Al eliminar registros de un formulario u hoja de datos con la casilla de verificación Eliminar en cascada los registros relacionados activada, Microsoft Access le avisa que es posible que también se eliminen los registros relacionados. No obstante, al eliminar registros mediante una consulta de eliminación (consulta de eliminación: consulta (instrucción SQL) que quita las filas que coinciden con el criterio especificado de una o más tablas.), Microsoft Access elimina automáticamente los registros de las tablas relacionadas sin mostrar un aviso.
Especificaciones de base de datos de Microsoft Access
Base de datos de Access
Atributo | Máximo |
Tamaño de archivo de una base de datos de Microsoft Access (.mdb) (base de datos de Microsoft Access: colección de datos y objetos (como tablas, consultas o formularios), que está relacionada con un tema o propósito concreto. El motor de base de datos Microsoft Jet administra los datos.) | 2 gigabytes menos el espacio necesario para los objetos de sistema (objeto del sistema: objetos de base de datos que define el sistema, como la tabla MSysIndexes, o el usuario. Puede crear un objeto del sistema dando nombre al objeto con USys como primeros cuatro caracteres en el nombre del objeto.). |
Número de objetos en una base de datos | 32,768 |
Módulos (incluyendo formularios e informes con la propiedad TieneUnMóduloAsociado (HasModule) establecida a Verdadero) | 1,000 |
Número de caracteres en un nombre de objeto | 64 |
Número de caracteres en una contraseña | 14 |
Número de caracteres en un nombre de usuario o de grupo | 20 |
Número de usuarios que pueden tener acceso a la vez | 255 |
Tabla
Atributo | Máximo |
Número de caracteres en un nombre de tabla | 64 |
Número de caracteres en un nombre de campo | 64 |
Número de campos en una tabla | 255 |
Número de tablas abiertas | 2.048; el número real puede ser menor debido a las tablas que abre Microsoft Access internamente. |
Tamaño de tabla | 2 gigabytes menos el espacio necesario para los objetos de sistema |
Número de caracteres en un campo de texto | 255 |
Número de caracteres en un campo memo | 65.535 cuando se introducen datos desde la interfaz de usuario; 1 gigabyte de almacenamiento de caracteres cuando se introducen datos mediante código |
Tamaño de un campo objeto OLE | 1 gigabyte |
Número de índices en una tabla | 32 |
Número de campos en un índice | 10 |
Número de caracteres en un mensaje de validación | 255 |
Número de caracteres en una regla de validación | 2,048 |
Número de caracteres en una descripción de tabla o campo | 255 |
Número de caracteres en un registro (sin incluir los campos memo y objeto OLE) | 2,000 |
Número de caracteres en la configuración de una propiedad | 255 |
Consulta
Atributo | Máximo |
Número de relaciones forzadas | 32 por tabla menos el número de índices que hay en la tabla para campos o combinaciones de campos que no forman parte de las relaciones |
Número de tablas en una consulta | 32 |
Número de campos en un conjunto de registros | 255 |
Tamaño de un conjunto de registros | 1 gigabyte |
Límite para ordenar | 255 caracteres en uno o más campos |
Número de niveles de consultas anidadas | 50 |
Número de caracteres en una celda de la cuadrícula de diseño de consulta | 1,024 |
Número de caracteres para un parámetro en una consulta de parámetros | 255 |
Número de AND en una cláusula WHERE o HAVING | 99 |
Número de caracteres en una instrucción SQL | aproximadamente 64.000 |
Formulario e informe
Atributo | Máximo |
Número de caracteres en una etiqueta | 2,048 |
Número de caracteres en un cuadro de texto | 65,535 |
Ancho de formulario o informe | 22 pulgadas (55,87 cm) |
Alto de sección | 22 pulgadas (55,87 cm) |
Alto de todas las secciones más los encabezados de sección (en la vista Diseño (vista Diseño: ventana que muestra el diseño de estos objetos de base de datos: tablas, consultas, formularios, informes, macros y páginas de acceso a datos. En la vista Diseño, puede crear objetos de base de datos nuevos y modificar el diseño de otros existentes.)) | 200 pulgadas (508 cm) |
Número de niveles de formularios o informes anidados | 7 |
Número de campos o expresiones que se pueden ordenar o agrupar en un informe | 10 |
Número de encabezados y pies en un informe | 1 encabezado/pie de informe; 1 encabezado/pie de página; 10 encabezados/pies de grupo |
Número de páginas impresas en un informe | 65,536 |
Número de controles y secciones que puede agregar a lo largo de la vida del formulario o del informe | 754 |
Número de caracteres en una instrucción SQL que actúa como la propiedad OrigenDelRegistro (Recordsource) o OrigenDeLaFila (Rowsource) de un formulario, informe o control (tanto .mdb como .adp) | 32,750 |
Macro
Atributo | Máximo |
Número de acciones en una macro (macro: acción o conjunto de acciones utilizados para automatizar tareas.) | 999 |
Número de caracteres en una condición (condición: parte del criterio que debe cumplir un campo cuando se realiza una búsqueda o se aplica un filtro. Algunas condiciones se deben utilizar con un valor; por ejemplo, el campo Autor con la condición igual a con el valor Juan.) | 255 |
Número de caracteres en un comentario | 255 |
Número de caracteres en un argumento de acción (argumento de acción: información adicional que requieren algunas acciones de macro, por ejemplo, el objeto al que afecta la acción o condiciones especiales en las que tiene lugar la acción.) | 255 |
Especificaciones de proyecto de Microsoft Access
Proyecto de Access
Atributo | Máximo |
Número de objetos en un proyecto de Microsoft Access (.adp) (proyecto de Microsoft Access: archivo de Access que se conecta con una base de datos de Microsoft SQL Server y se utiliza para crear aplicaciones cliente-servidor. Un archivo de proyecto no contiene datos ni objetos basados en definiciones de datos, como, por ejemplo, tablas o vistas.) | 32,768 |
Módulos (incluyendo formularios e informes con la propiedad TieneUnMóduloAsociado (HasModule) establecida a Verdadero) | 1,000 |
Número de caracteres en un nombre de objeto | 64 |
Número de columnas en una tabla | 250 (Microsoft SQL Server 6.5) 1024 (Microsoft SQL Server 7.0 y 2000) |
Base de datos de Microsoft SQL Server
La especificaciones de capacidad máxima de Microsoft SQL Server se encuentran descritas en la documentación de SQL Server. Para obtener más información acerca de los manuales en línea de SQL Server, visite el sitio Web de MSDN (sólo disponible en inglés).
Formulario e informe
Atributo | Máximo |
Número de caracteres en una etiqueta | 2,048 |
Número de caracteres en un cuadro de texto | 65,535 |
Ancho de formulario o informe | 22 pulgadas (55,87 cm) |
Alto de sección | 22 pulgadas (55,87 cm) |
Alto de todas las secciones más los encabezados de sección (en la vista Diseño (vista Diseño: ventana que muestra el diseño de estos objetos de base de datos: tablas, consultas, formularios, informes, macros y páginas de acceso a datos. En la vista Diseño, puede crear objetos de base de datos nuevos y modificar el diseño de otros existentes.)) | 200 pulgadas (508 cm) |
Número de niveles de formularios o informes anidados | 7 |
Número de campos o expresiones que se pueden ordenar o agrupar en un informe | 10 |
Número de encabezados y pies en un informe | 1 encabezado/pie de informe; 1 encabezado/pie de página; 10 encabezados/pies de grupo |
Número de páginas impresas en un informe | 65,536 |
Número de controles y secciones que puede agregar a lo largo de la vida del formulario o del informe | 754 |
Número de caracteres en una instrucción SQL que actúa como la propiedad OrigenDelRegistro (Recordsource) o OrigenDeLaFila (Rowsource) de un formulario, informe o control (tanto .mdb como .adp) | 32,750 |
Macro
Atributo | Máximo |
Número de acciones en una macro (macro: acción o conjunto de acciones utilizados para automatizar tareas.) | 999 |
Número de caracteres en una condición (condición: parte del criterio que debe cumplir un campo cuando se realiza una búsqueda o se aplica un filtro. Algunas condiciones se deben utilizar con un valor; por ejemplo, el campo Autor con la condición igual a con el valor Juan.) | 255 |
Número de caracteres en un comentario | 255 |
Número de caracteres en un argumento de acción (argumento de acción: información adicional que requieren algunas acciones de macro, por ejemplo, el objeto al que afecta la acción o condiciones especiales en las que tiene lugar la acción.) | 255 |
Un buen diseño de base de datos garantiza su fácil mantenimiento. Los datos se almacenan en tablas y cada tabla contiene datos acerca de un tema, por ejemplo, clientes. Por tanto, cuando se actualiza una parte de los datos concreta, como una dirección, se hace en un solo lugar, pero ese cambio aparece automáticamente en toda la base de datos.
Una base de datos bien diseñada suele contener distintos tipos de consultas que muestran la información necesaria. Una consulta puede mostrar un subconjunto de datos, como todos los clientes de Londres, o combinaciones de datos de tablas diferentes, como la información de pedidos combinada con la información de clientes.
Esta consulta recupera la información de Id. de pedido, nombre de la compañía, ciudad y fecha de entrega para los clientes de Londres cuyos pedidos se entregaron en el mes de abril.
Los resultados que se desea obtener de una base de datos , es decir, los formularios y las páginas de acceso a datos (página de acceso a datos: página Web, publicada desde Access, que tiene una conexión a una base de datos.
En una página de acceso a datos, puede ver, agregar, editar y manipular los datos almacenados en la base de datos. Una página puede incluir también datos de otros orígenes de datos, como Excel.) que se desea utilizar, y los informes que se desea imprimir , no siempre ofrecen una pista acerca de la estructura de las tablas de la base de datos, ya que normalmente los formularios, los informes y las páginas de acceso a datos se basan en consultas en lugar de basarse en tablas.
Antes de utilizar Microsoft Access para crear tablas, consultas, formularios y otros objetos definitivos, se recomienda realizar un esquema en papel y trabajar el diseño primero. También puede examinar bases de datos bien diseñadas que sean similares a la suya, o puede abrir la ventana Relaciones (ventana Relaciones: ventana en la que se pueden ver, crear y modificar las relaciones entre tablas y consultas.) de la base de datos de ejemplo Neptuno para examinar su diseño.
Siga estos pasos básicos a la hora de diseñar su base de datos.
Determinar la finalidad de la base de datos.
El primer paso para diseñar una base de datos es determinar su finalidad y cómo se va a utilizar.
- Hable con los demás usuarios que utilizarán la base de datos. Piensen detenidamente en las preguntas que desean que responda la base de datos.
- Realice bocetos de los informes que desea que genere la base de datos.
- Reúna los formularios que utiliza actualmente para registrar los datos.
En cuanto determine la finalidad de su base de datos, comenzarán a surgir ideas acerca de la información que desea obtener de ella. Entonces ya puede determinar qué hechos necesita almacenar en la base de datos y a qué tema corresponde cada hecho. Estos hechos se corresponden con los campos (columnas) de la base de datos y los temas a los que pertenecen los hechos son las tablas.
Determinar los campos necesarios en la base de datos
Cada campo es un hecho acerca de un tema determinado. Por ejemplo, puede que sea necesario almacenar los hechos siguientes acerca de los clientes: nombre de la organización, dirección, ciudad, estado o provincia, y número de teléfono. Deberá crear un campo independiente para cada uno de estos hechos. A la hora de determinar qué campos son necesarios, tenga presentes estos principios de diseño:
- Incluya toda la información que necesite.
- Almacene información en partes lógicas que sean lo más pequeñas posibles. Por ejemplo, los nombres de los empleados suelen repartirse en dos campos, Nombre y Apellidos, para que sea más fácil ordenar los datos por Apellidos.
- No cree campos para datos que estén formados por listas de múltiples elementos. Por ejemplo, si en una tabla Proveedores se crea un campo Productos que contenga una lista con los productos que se reciben del proveedor separados mediante una coma, después será más difícil encontrar los proveedores que suministren un producto determinado.
- No incluya datos derivados ni calculados (datos que son el resultado de una expresión (expresión: cualquier combinación de operadores matemáticos o lógicos, constantes, funciones y nombres de campos, controles y propiedades que evalúa a un solo valor. Las expresiones puede realizar cálculos, manipular caracteres o probar datos.)). Por ejemplo, si tiene un campo PrecioUnitario y un campo Cantidad, no cree otro campo que multiplique los valores de ambos.
- No cree campos que sean similares entre sí. Por ejemplo, si en una tabla Proveedores crea los campos Producto1, Producto2 y Producto3, será más difícil encontrar todos los proveedores que suministran un producto determinado. Asimismo, será necesario cambiar el diseño de la base de datos si un proveedor suministra más de tres productos. Sólo necesitará un campo para los productos si coloca dicho campo en una tabla Productos en lugar de en una tabla Proveedores.
Determinar las tablas que se necesitan en la base de datos.
Cada tabla debe contener información sobre un asunto. Su lista de campos le dará pistas acerca de las tablas que necesita. Por ejemplo, si tiene un campo FechaContratación, su asunto es un empleado y, por tanto, pertenece a la tabla Empleados. Puede tener una tabla para Clientes, una tabla para Productos y una tabla para Pedidos.
Determinar a qué tabla pertenece cada campo
A la hora de decidir a qué tabla pertenece cada campo, tenga presentes estos principios de diseño:
- Agregue el campo a una sola tabla.
- No agregue el campo a una tabla si, como resultado, la misma información va a aparecer en varios registros de esa tabla. Si determina que un campo de una tabla va a contener mucha información duplicada, seguramente ese campo se encuentra en una tabla que no le corresponde.
Por ejemplo, si coloca el campo que contiene la dirección de un cliente en la tabla Pedidos, probablemente esa información se va a repetir en más de un registro, porque seguramente el cliente va a realizar más de un pedido. Sin embargo, si coloca el campo de dirección en la tabla Clientes, aparecerá una sola vez. A este respecto, una tabla de una base de datos de Microsoft Access (base de datos de Microsoft Access: colección de datos y objetos (como tablas, consultas o formularios), que está relacionada con un tema o propósito concreto. El motor de base de datos Microsoft Jet administra los datos.) es diferente de una tabla de base de datos de archivos simples, como una hoja de cálculo.
Cuando cada elemento de información se almacena una sola vez, se actualiza en un solo lugar. Esto resulta más eficiente y elimina la posibilidad de que existan entradas duplicadas que contengan información diferente.
Identificar el campo o los campos con valores únicos en cada registro
Para que Microsoft Access conecte información almacenada en tablas distintas (por ejemplo, para conectar un cliente con todos los pedidos del cliente) , cada tabla de la base de datos debe incluir un campo o un conjunto de campos que identifiquen de forma exclusiva cada registro de la tabla. Este campo o conjunto de campos se denomina clave principal (clave principal: uno o más campos (columnas) cuyos valores identifican de manera exclusiva cada registro de una tabla. Una clave principal no puede permitir valores Nulo y debe tener siempre un índice exclusivo. Una clave principal se utiliza para relacionar una tabla con claves externas de otras tablas.).
Determinar las relaciones entre las tablas.
Ahora que ha dividido la información en tablas y que ha identificado los campos de clave principal (clave principal: uno o más campos (columnas) cuyos valores identifican de manera exclusiva cada registro de una tabla. Una clave principal no puede permitir valores Nulo y debe tener siempre un índice exclusivo. Una clave principal se utiliza para relacionar una tabla con claves externas de otras tablas.), necesita una forma de indicar a Microsoft Access cómo volver a reunir toda la información relacionada de un modo significativo. Para ello se definen relaciones (relación: asociación que se establece entre campos comunes (columnas) en dos tablas. Una relación puede ser uno a uno, uno a varios o varios a varios.) entre las tablas.
Puede resultar útil ver las relaciones de una base de datos existente bien diseñada, como la base de datos de ejemplo Neptuno.
Perfeccionar el diseño
Una vez diseñadas las tablas, los campos y las relaciones (relación: asociación que se establece entre campos comunes (columnas) en dos tablas. Una relación puede ser uno a uno, uno a varios o varios a varios.) que necesita, es el momento de estudiar el diseño y detectar los posibles fallos. Es más sencillo cambiar el diseño de la base de datos ahora que una vez que haya rellenado las tablas con datos.
Utilice Microsoft Access para crear las tablas, especificar relaciones entre las tablas e introducir suficientes datos de ejemplo en las tablas para poder comprobar el diseño. Para probar las relaciones de la base de datos, compruebe si puede crear consultas para obtener las respuestas que desea. Cree bocetos de los formularios e informes, y compruebe si muestran los datos esperados. Busque duplicaciones de datos innecesarias y elimínelas.
Introducir datos y crear otros objetos de la base de datos
Cuando considere que la estructura de las tablas cumple los principios de diseño descritos anteriormente, es el momento de comenzar a agregar los datos existentes a las tablas. Después, puede crear otros objetos de base de datos (consultas (consulta: pregunta sobre los datos almacenados en las tablas o solicitud para llevar a cabo una acción en los datos. Una consulta puede unir datos de varias tablas para servir como origen de datos de un formulario, informe o página de acceso a datos.), formularios (formulario: objeto de base de datos de Access en el que se colocan controles para realizar acciones o para especificar, mostrar y editar datos en los campos.), informes (informe: objeto de base de datos de Access que imprime información a la que se ha dado formato y se ha organizado de acuerdo con sus especificaciones.
Ejemplos de informes: resúmenes de ventas, listines telefónicos y etiquetas de correo.), páginas de acceso a datos (página de acceso a datos: página Web, publicada desde Access, que tiene una conexión a una base de datos.
En una página de acceso a datos, puede ver, agregar, editar y manipular los datos almacenados en la base de datos. Una página puede incluir también datos de otros orígenes de datos, como Excel.), macros (macro: acción o conjunto de acciones utilizados para automatizar tareas.) y módulos (módulo: colección de declaraciones, instrucciones y procedimientos almacenados juntos como una unidad con nombre. Existen dos tipos de módulos: módulos estándar y módulos de clase.)).
Utilizar las herramientas de análisis de Microsoft Access
Microsoft Access incluye dos herramientas que pueden ayudarle a perfeccionar el diseño de una base de datos de Microsoft Access (base de datos de Microsoft Access: colección de datos y objetos (como tablas, consultas o formularios), que está relacionada con un tema o propósito concreto. El motor de base de datos Microsoft Jet administra los datos.).
- El Analizador de tablas puede analizar el diseño de una tabla, proponer nuevas estructuras y relaciones (relación: asociación que se establece entre campos comunes (columnas) en dos tablas. Una relación puede ser uno a uno, uno a varios o varios a varios.) de tablas, si es conveniente, y dividir una tabla en nuevas tablas relacionadas, si es necesario.
- El Analizador de rendimiento puede analizar la base de datos completa y realizar recomendaciones y sugerencias para mejorarla. El asistente también puede implantar estas recomendaciones y sugerencias.
Página anterior | Volver al principio del trabajo | Página siguiente |