Mejorar el rendimiento de un proyecto de Access


 

MostrarMejorar el rendimiento de un proyecto de Access

En una aplicación cliente/servidor, las reglas generales básicas para reducir el tráfico de red y optimizar el rendimiento de la aplicación son:

  • Realizar el trabajo de procesamiento de datos en el servidor.
  • Reducir al mínimo los “viajes de ida y vuelta” al servidor para obtener acceso a los datos.
  • Limitar los datos que se recuperan desde el servidor.

MostrarDescripción de OLE DB y del entorno cliente/servidor

Los proyectos de Microsoft Access (proyecto de Microsoft­ Access: archivo de Access que se conecta con una base de datos de Microsoft SQL Server y se usa para crear aplicaciones cliente/servidor. Un archivo de proyecto no contiene datos ni objetos basados en definiciones de datos, como tablas o vistas.) utilizan OLE DB para establecer la conexión y comunicación con una base de datos de Microsoft SQL Server. Microsoft ha diseñado la arquitectura OLE DB (OLE DB: arquitectura de base de datos de componentes que proporciona acceso eficaz a la red y a Internet a un gran número de tipos de orígenes de datos, incluidos los datos relacionales, archivos de correo, archivos sin formato y hojas de cálculo.) para poder trabajar con eficacia en un entorno cliente/servidor.

Cuando se obtiene acceso a datos a través de un formulario o de una hoja de datos, OLE DB recupera un conjunto de registros (conjunto de registros: nombre colectivo dado a los objetos Conjunto de registros de tipo Tabla, Conjunto de registros dinámicos e Instantánea, que son conjuntos de registros que se comportan como objetos.) Snapshot actualizable (instantánea actualizable: tipo de conjunto de registros que funciona de forma eficaz en un entorno cliente/servidor almacenando datos en la memoria caché del cliente y reduciendo al mínimo los “viajes de ida y vuelta” al servidor para tener acceso a datos y actualizarlos.) de la base de datos de SQL Server (hasta el límite máximo de registros (límite máximo de registros: para mejorar el rendimiento, puede especificar el número máximo de registros que se recuperarán de una base de datos de Microsoft SQL Server para un formulario u hoja de datos de un proyecto de Access.)) y almacena temporalmente los datos en el cliente, realizando un “viaje de ida y vuelta” al servidor. Access recupera los datos de forma asíncrona, lo que significa que se puede continuar la interacción con Access mientras se produce la carga de los datos. Cuando se trabaja con los datos en el formulario o en la hoja de datos, ya sea para examinar, filtrar, ordenar, buscar o actualizarlos, se está trabajando con los datos que están almacenados temporalmente en el cliente.

MostrarProcesamiento de datos en el servidor

Para procesar datos en el servidor, puede utilizar procedimientos almacenados, desencadenadores, funciones definidas por el usuario e instrucciones SQL SELECT. También puede ordenar datos en el servidor antes de recuperarlos.

Los procedimientos almacenados son una colección precompilada de una o más instrucciones SQL e instrucciones de control de flujo opcionales que pueden aceptar parámetros y que Microsoft SQL Server procesa como una unidad individual. Un procedimiento almacenado reside en la base de datos de SQL Server. Dado que un procedimiento almacenado se compila en el servidor cuando se crea, se ejecutará con mayor rapidez que las instrucciones SQL individuales. Como un procedimiento almacenado se ejecuta en el servidor, éste aprovecha la potencia de procesamiento adicional del mismo.

Los desencadenadores son un tipo especial de procedimiento almacenado que se ejecutan automáticamente cuando se actualizan, insertan o eliminan datos. Los desencadenadores se utilizan para exigir reglas corporativas y restricciones más complejas que las definidas con restricciones (restricción: limitación en el valor que se puede escribir en una columna o fila. Por ejemplo, los valores de la columna Edad no pueden ser menores que 0 ni mayores que 110.) de comprobación (CHECK). A diferencia de las restricciones de comprobación (CHECK), los desencadenadores pueden hacer referencia a columnas de otras tablas. Por ejemplo, un desencadenador puede revocar actualizaciones que intenten aplicar un descuento (almacenado en una tabla Descuentos) a libros (almacenados en una tabla Títulos) con un precio inferior a 10 $.

Las funciones definidas por el usuario combinan las mejores características de procedimientos almacenados y vistas en una sola consulta que se puede anidar, ordenar, así como pasarle parámetros y devolver valores. En muchos casos, las funciones definidas por el usuario son una mejor alternativa a los procedimientos almacenados porque el usuario puede devolver una sola tabla con valor escalar o de datos, ocultar la lógica de empresa y detalles de cómo el usuario creó este valor escalar o de datos, además de simplificar la complejidad de la sintaxis de la instrucción SQL.

Se pueden ordenar registros en el servidor utilizando un procedimiento almacenado, una función definida por el usuario o una instrucción SQL almacenada en la propiedad OrigenDelRegistro (RecordSource) de un formulario o informe (que se almacena en el proyecto de Access, aunque se ejecuta en el servidor). La acción de ordenar registros en el servidor es otro medio de aprovechar la potencia de procesamiento adicional del mismo.

MostrarLimitar información de datos y propiedades recuperada del servidor

En la medida de lo posible, conviene limitar la cantidad de datos que la aplicación recupera de la base de datos de SQL Server. Utilice vistas (vista (objeto): en un proyecto de Access, un tipo de consulta que es una tabla virtual basada en una instrucción SQL SELECT. Por ejemplo, una vista puede contener únicamente 3 de las 10 columnas disponibles en una combinación de dos tablas, con el fin de limitar el acceso a determinados datos.), procedimientos almacenados, funciones definidas por el usuario, filtros de servidor y cláusulas WHERE de instrucciones SQL para limitar los datos que los usuarios puedan ver en un formulario o una hoja de datos. En general, se debe evitar el diseño de escenarios de aplicaciones en que los usuarios examinen la base de datos sin limitaciones.

Se puede utilizar el botón límite máximo de registros (límite máximo de registros: para mejorar el rendimiento, puede especificar el número máximo de registros que se recuperarán de una base de datos de Microsoft SQL Server para un formulario u hoja de datos de un proyecto de Access.) o la propiedad Número máximo de registros (MaxRecords) para limitar los datos que los usuarios puedan ver en un formulario o una hoja de datos.

También se pueden utilizar filtros de servidor para limitar registros antes de recuperarlos de la base de datos en el servidor, y filtros para limitar registros en el cliente. Se puede definir un filtro de servidor en la propiedad FiltroServidor (ServerFilter) de un formulario o de un informe. También se puede optimizar el rendimiento de las listas de valores en las ventanas Filtro de servidor por formulario (filtro de servidor por formulario: técnica que usa una versión del formulario o de la hoja de datos activa con campos vacíos en los que puede escribir los valores que deban contener los registros filtrados. El servidor filtra los datos antes de que se recuperen de la base de datos.) y Filtro por formulario (Filtro por formulario: técnica para filtrar datos que utiliza una versión del formulario o de la hoja de datos activa con campos vacíos en los que puede escribir los valores que desee que contengan los registros filtrados.) modificando la propiedad BuscarPorFiltro (FilterLookup) para controlar el número de valores mostrados según los valores se recuperen del servidor o del cliente.

Deshabilite el procedimiento de reajuste automático de las filas si no es necesario. Después de actualizar un registro en una base de datos de SQL Server 2000, Access normalmente vuelve a sincronizar los datos para reflejar los valores cambiados. Sin embargo, estas operaciones requieren “viajes de ida y vuelta” adicionales al servidor. Puede deshabilitar el procedimiento de reajuste automático de las filas estableciendo la propiedad VolverARealizarSinc (PerformResync) en No.

Deshabilite la obtención previa de valores predeterminados si no es necesario. Al mostrar un formulario u hoja de datos, Access muestra los valores predeterminados en la nueva fila de la hoja de datos de forma predeterminada y los controles del formulario de nuevos registros de formularios. Este paso requiere un “viaje de ida y vuelta” al servidor. Puede deshabilitar la obtención previa de valores predeterminados estableciendo la propiedad Valores predeterminados de búsqueda (Fetch Defaults) en No.

MostrarOptimizar la base de datos de SQL Server

A continuación se especifican unas directrices generales para optimizar el rendimiento de una base de datos de SQL Server. Para obtener información detallada sobre cómo mejorar el rendimiento de una base de datos de SQL Server, vea la documentación de SQL Server.

MostrarOptimización de tablas vinculadas creadas en el Asistente para vinculación de tablas

Si la base de datos de SQL Server con la que establece un vínculo se encuentra en otro SQL Server, debe crear un servidor vinculado (seleccione SQL vinculado en la primera página del Asistente para vinculación de tablas). En la mayoría de los casos, SQL Server optimizará las operaciones de combinación.

Cree un origen de datos OLE DB que utilice funciones Transact-SQL (seleccione Transact-SQL en la primera página del Asistente para vinculación de tablas) si establece un vínculo con Excel, un texto o archivos HTML, puesto que el rendimiento generalmente es mejor que el de la creación de un servidor vinculado.

MostrarOptimizar formularios

Cuando diseñe un formulario, determine los datos y funciones que se necesitan y, a continuación, demore la solicitud al servidor de estos datos y funciones hasta que el usuario solicite la información. Por ejemplo, puede crear un formulario de modo que no solicite que se recuperen datos desde el servidor durante el proceso de apertura del formulario. Por ejemplo, puede agregar un botón de comando (botón de comando: control que ejecuta una macro, llama a una función de Visual Basic o ejecuta un procedimiento de evento. En otras aplicaciones, se suele denominar botón pulsador a los botones de comando.) al formulario para cargar datos en el mismo.

Utilice las instrucciones UPDATE y DELETE de SQL con la cláusula WHERE apropiada para actualizar o eliminar varios registros que cumplan los mismos criterios. Esta operación es más eficaz que la de abrir un conjunto de registros (conjunto de registros: nombre colectivo dado a los objetos Conjunto de registros de tipo Tabla, Conjunto de registros dinámicos e Instantánea, que son conjuntos de registros que se comportan como objetos.) y efectuar las actualizaciones o eliminaciones de registros de uno en uno.

Los campos que tardan mucho tiempo en recuperar datos del servidor, por ejemplo los campos de texto (tipo de datos Texto: en una base de datos de Microsoft Access, tipo de datos de campo. Los campos de texto pueden contener hasta 255 caracteres o el número de caracteres especificado por la propiedad TamañoDeCampo, el que sea inferior.) y de imagen (tipo de datos image: en un proyecto de Access, tipo de datos de longitud variable que puede albergar un máximo de 2^31 -1 (2,147,483,647) bytes de datos binarios. Se utiliza para almacenar objetos binarios grandes (BLOB), como imágenes, documentos, sonidos y código compilado.), deben mostrarse sólo cuando se solicitan. Se pueden utilizar las siguientes técnicas:

En un formulario basado en un procedimiento almacenado o en una función definida por el usuario que sea una consulta de parámetros, utilice la propiedad Parámetros de entrada (Input Parameters) para proporcionar los valores de parámetros.

MostrarOptimizar informes

En lugar de imprimir un informe de gran extensión, es conveniente dividir los informes en subconjuntos de datos más pequeños mediante la utilización de vistas, procedimientos almacenados, funciones definidas por el usuario e instrucciones SQL como origen de registros (origen de registros: origen de datos subyacente de un formulario, informe o página de acceso a datos. En una base de datos de Access, puede ser una tabla, una consulta o una instrucción SQL. En un proyecto de Access, puede ser una tabla, una vista, una instrucción SQL o un procedimiento almacenado.) o mediante el uso de filtros.

Utilice la vista previa del diseño en lugar de la Vista preliminar cuando diseñe informes. Puede tener una visión rápida del diseño, que incluya únicamente una muestra de los datos en la vista previa del diseño. Cuando esté realizando trabajos en el diseño del informe, compruebe los datos abriendo el informe en la Vista preliminar.

Normalmente, se crean y distribuyen informes de acuerdo con un programa de envíos periódicos establecidos por la organización, como estados semanales del nivel de existencias, informes mensuales de ventas o resúmenes financieros trimestrales. Cree y distribuya estos informes como archivos Snapshot de informe (instantánea de informe: archivo (extensión .SNP) que contiene una copia de alta fidelidad de cada página de un informe de Access y que conserva el diseño bidimensional, los gráficos y otros objetos insertados del informe.) en un archivo de proceso por lotes. Los usuarios pueden utilizar el Snapshot Viewer (Visor de instantáneas: programa que puede usar para ver, imprimir o enviar por correo una instantánea, como la instantánea de un informe. El Visor de instantáneas consta de un programa ejecutable independiente, un control de Visor de instantáneas (Snapview.ocx) y otros archivos relacionados.) para ver e imprimir los informes. Si los usuarios necesitan informes de última hora, utilice páginas de acceso a datos agrupadas.

E n un informe basado en un procedimiento almacenado o en una función definida por el usuario que sea una consulta de parámetros, utilice la propiedad Parámetros de entrada (Input Parameters) para proporcionar los valores de parámetros.

MostrarOptimizar el rendimiento de Microsoft Access y del equipo

Las siguientes pautas pueden ayudarle a optimizar el rendimiento de Microsoft Access en su PC:

  • Si utiliza bases de datos que no necesite compartir con otros usuarios, instale Microsoft Access y todas las bases de datos en su unidad de disco duro en lugar de en un servidor de red.
  • Si es la única persona que utiliza una base de datos, ábrala para uso exclusivo; en el cuadro de diálogo Abrir, haga clic en la flecha que aparece junto al botón Abrir y, a continuación, haga clic en Abrir en modo exclusivo.
  • Libere memoria cerrando las aplicaciones que no utilice.
  • Aumente la memoria RAM de su equipo. Se recomiendan 40 MB de memoria: 32 MB de memoria más 8 MB adicionales para Microsoft Access.
  • No utilice la memoria RAM de su equipo para un disco RAM.
  • Elimine periódicamente los archivos innecesarios y vacíe la Papelera de reciclaje, compacte las bases de datos y, a continuación, defragmente el disco duro con el Defragmentador de disco de Microsoft Windows. Para ejecutar el Defragmentador de disco, haga clic en el botón Inicio de Windows, elija Programas, seleccione Accesorios, elija Herramientas del sistema y, a continuación, haga clic en Defragmentador de disco.
  • En la mayoría de los casos, la configuración de memoria virtual predeterminada que utiliza Windows debe ser la óptima. Sin embargo, en algunas ocasiones se puede mejorar el rendimiento mediante el ajuste de los parámetros de la memoria virtual. Si ya ha eliminado los archivos innecesarios y sigue experimentando problemas de rendimiento, pruebe a cambiar la configuración de memoria virtual predeterminada en estos casos:
    • No tiene mucho espacio de disco disponible en la unidad que se usa para la memoria virtual y otra existe otra unidad local con espacio disponible.
    • Hay otra unidad local disponible más rápida que la actual (a no ser que el disco esté sometido a un uso exhaustivo).

En estos casos, debería obtener un mayor rendimiento especificando otra unidad para la memoria virtual.

También puede mejorar el rendimiento si especifica que el espacio en disco disponible para la memoria virtual sea igual a 25 MB menos la memoria RAM disponible. Por ejemplo, si el equipo tiene 12 MB de RAM, ha de especificar al menos 13 MB de memoria virtual. Si está ejecutando varias aplicaciones grandes, es conveniente especificar más.

Para cambiar los parámetros de la memoria virtual de Windows, en el Panel de control haga doble clic en el icono Sistema, seleccione la ficha Rendimiento, haga clic en Memoria virtual y, finalmente, haga clic en Permitir especificar la configuración de memoria virtual. A continuación, indique un disco duro diferente o escriba un valor en el cuadro Mínimo que sea por lo menos igual a 25 menos la RAM disponible.

  • Si tiene un mapa de bits como tapiz (fondo a pantalla completa) en el escritorio de Windows, sustitúyalo por un color sólido o un mapa de bits de trama, o no use ningún mapa de bits.
  • Si usa un protector de pantalla, seleccione uno que deje la pantalla en blanco o planteese no utilizarlo en absoluto.
  • Elimine cualquier software de compresión de disco, o considere desplazar las bases de datos a una unidad sin comprimir.
  • Para garantizar un rendimiento óptimo, utilice fuentes de sustitución sólo si necesita compatibilidad con fuentes duales para mostrar todos los datos.

MostrarOptimizar el rendimiento de la ventana Filtro por formulario

Si las listas de campos de las ventanas Filtro por formulario (Filtro por formulario: técnica para filtrar datos que utiliza una versión del formulario o de la hoja de datos activa con campos vacíos en los que puede escribir los valores que desee que contengan los registros filtrados.) o Filtro del servidor por formulario (filtro de servidor por formulario: técnica que usa una versión del formulario o de la hoja de datos activa con campos vacíos en los que puede escribir los valores que deban contener los registros filtrados. El servidor filtra los datos antes de que se recuperen de la base de datos.) tardan demasiado en visualizarse o no muestran valores de la tabla base, se puede cambiar su rendimiento. Para ambos tipos de ventanas, se puede evitar que las listas muestren los valores de los campos de la tabla base o se puede cambiar el límite de registro que determina si la lista muestra los valores del campo.

MostrarOptimizar el rendimiento de Filtro por formulario para todas las tablas, consultas y formularios de la base de datos u optimizar Filtro del servidor por formulario para todos los formularios

Para Filtro por formulario, estos valores afectan a todas las tablas y consultas, así como a todos los controles (control: objeto de interfaz gráfica para el usuario, como un cuadro de texto, una casilla de verificación, una barra de desplazamiento o un botón de comando, que permite a los usuarios controlar el programa. Utilice los controles para mostrar datos y opciones, realizar una opción o facilitar la lectura de la interfaz.) de cuadro de texto cuya propiedad BuscarPorFiltro (FilterLookup) esté establecida como Predeterminado de la base de datos. Para Filtro del servidor por formulario, estos valores afectan a todos los controles de cuadro de texto cuya propiedad BuscarPorFiltro (FilterLookup) esté establecida como Predeterminado de la base de datos.

  1. En el menú Herramientas, haga clic en Opciones.
  2. Haga clic en la ficha Modificar/Buscar y, a continuación, establezca Valores predeterminados de filtro por formulario de acuerdo con el rendimiento que desee conseguir.
    • Si la lista de valores tarda mucho tiempo en mostrarse, puede evitar que la lista recupere los valores únicos para cada campo desactivando las casillas de verificación Registros en archivo Snapshot local, que afecta a la ventana Filtro por formulario, y Registros en servidor, que afecta a la ventana Filtro del servidor por formulario.
    • Si las listas no muestran los valores de los campos, compruebe Mostrar lista de valores en para asegurarse de que están seleccionados los cuadros adecuados, o intente aumentar la cifra en el cuadro No mostrar listas cuando el número de registros leídos sea superior a para que sea mayor o igual al número máximo de valores únicos de cualquier campo de la tabla u otro origen de registro base.

MostrarOptimizar el rendimiento de Filtro por formulario o de Filtro del servidor por formulario para un formulario específico

Para cada control (control: objeto de interfaz gráfica para el usuario, como un cuadro de texto, una casilla de verificación, una barra de desplazamiento o un botón de comando, que permite a los usuarios controlar el programa. Utilice los controles para mostrar datos y opciones, realizar una opción o facilitar la lectura de la interfaz.) de cuadro de texto de un formulario, puede especificar si desea que los valores almacenados en el campo aparezcan en su lista en la ventana Filtro por formulario o en la ventana Filtro del servidor por formulario.

  1. Abra un formulario en la vista Diseño del formulario (vista Diseño: vista que muestra el diseño de los siguientes objetos de base de datos: tablas, consultas, formularios, informes y macros. En la vista Diseño, puede crear objetos de base de datos nuevos y modificar el diseño de otros existentes.).
  2. Muestre la hoja de propiedades de cualquier control de cuadro de texto.
  3. En el cuadro de la propiedad BuscarPorFiltro (FilterLookup), establezca el valor necesario para conseguir el rendimiento deseado.
    • Si la lista tarda mucho tiempo en mostrarse en la ventana Filtro por formulario o en la ventana Filtro del servidor por formulario, establezca la propiedad BuscarPorFiltro (FilterLookup) en Nunca o establézcala en Predeterminado de la base de datos y, a continuación, realice los cambios apropiados en el cuadro de diálogo Opciones (menú Herramientas)
    • Si la lista de la ventana Filtro por formulario o de la ventana Filtro del servidor por formulario no muestra los valores que están almacenados en dicho campo, o si sólo muestra algunos de dichos valores, asegúrese de que la propiedad BuscarPorFiltro (FilterLookup) no está establecida como Nunca. Si la propiedad Buscar por filtro (FilterLookup) está establecida a Predeterminado de la base de datos o a Siempre, realice los cambios apropiados en el cuadro de diálogo Opciones (menú Herramientas).

MostrarOptimizar el rendimiento de la búsqueda y la sustitución

Mostrar¿Qué es un índice?

Puede utilizar un índice para acelerar el acceso a la información específica de una tabla de base de datos. Un índice es una estructura que ordena los valores de una o varias columnas de una tabla de base de datos, por ejemplo la columna de apellidos (apellidos) de la tabla empleados. Si busca un empleado específico por su apellido, con el índice encontrará la información más rápidamente que si la buscase en todas las filas de la tabla.
El índice proporciona punteros para los valores de datos almacenados en columnas específicas de la tabla y, a continuación, ordena los punteros de acuerdo con el orden especificado. La base de datos utiliza el índice como si se tratase del índice de un libro: busca un valor determinado y, después, sigue el puntero hasta la fila que contiene ese valor.

En los diagramas de base de datos puede crear, modificar o eliminar cada tipo de índice de la página de propiedades Índices/Claves de la tabla seleccionada. El índice se guarda en la base de datos al guardar la tabla a la que está adjunto o al guardar el diagrama de base de datos en el que aparece la tabla.

Como regla general, cree el índice de una tabla sólo si consulta con frecuencia los datos de las columnas indizadas. Los índices ocupan bastante espacio de disco y reducen la velocidad al agregar, eliminar y actualizar filas. En la mayoría de los casos, las ventajas de la velocidad con la que los índices devuelven datos superan con creces estas desventajas. Sin embargo, si la aplicación actualiza los datos con mucha frecuencia o si existen restricciones de espacio en disco, es aconsejable limitar el número de índices.

Antes de crear un índice, determine las columnas que utilizará y qué tipo de índice creará.

MostrarColumnas de índice

Puede crear índices basados en una o en varias columnas de la tabla de base de datos. Los índices basados en varias columnas permiten distinguir las filas en las que una columna tiene el mismo valor.

Además, si con frecuencia busca u ordena dos o más columnas al mismo tiempo, los índices le resultarán útiles. Por ejemplo, si establece con frecuencia criterios para las columnas de apellidos y de nombre de la misma consulta, resulta práctico crear un índice de múltiples columnas con esas dos.

Para determinar la utilidad de un índice:

  • Examine las cláusulas WHERE y JOIN de las consultas. Las columnas incluidas en las cláusulas podrían formar parte del índice.
  • Pruebe el índice para examinar el efecto en el rendimiento de la ejecución de las consultas.
  • Tenga en cuenta el número de índices que ya existen en la tabla. Es mejor no acumular muchos índices en una misma tabla.
  • Examine las definiciones de los índices que ya existen en la tabla. Es mejor evitar que se superpongan índices que comparten columnas.
  • Examine el número de valores de datos únicos de una columna y compárelo con el número de filas de la tabla. El resultado le indica las posibilidades de selección de esa columna y le resultará útil para decidir si una columna podría formar parte de un índice y en qué tipo de índice.

MostrarTipos de índices

Según la funcionalidad de la base de datos, puede crear tres tipos de índices, único, clave principal y agrupado, con el Diseñador de bases de datos.

MostrarSugerencia

Incluso si un índice único le ayuda a localizar información, es recomendable que para obtener un rendimiento óptimo utilice en su lugar una clave principal o restricciones únicas.

 

MostrarÍndice único

Un índice único es aquel en el que dos filas no pueden tener el mismo valor de índice.

La mayoría de las bases de datos evitan que se guarde una tabla con un índice único que se acaba de crear si encuentran valores de clave duplicados en los datos existentes. La base de datos también puede evitar que se agreguen datos nuevos que crearían valores de clave duplicados en la tabla. Por ejemplo, si crea un índice único de los apellidos de los empleados (apellidos) de la tabla empleados, dos empleados no podrán tener el mismo apellido.

MostrarÍndice de clave principal

Con frecuencia, en una base de datos hay una columna o combinación de columnas cuyo único valor es identificar cada una de las filas de la tabla. A este tipo de columna se le denomina clave principal de la tabla.

Cuando se define la clave principal de una tabla en un diagrama de base de datos se crea, automáticamente, un índice de clave principal, es decir, un tipo específico de índice único. Es necesario que en este índice cada valor de la clave principal sea único. Asimismo, si utiliza el índice de clave principal en las consultas tendrá acceso rápidamente a los datos.

MostrarÍndice agrupado

En un índice agrupado, el orden físico de las filas de la tabla es el mismo que el orden lógico (indizado) de los valores de clave. Sólo puede haber un índice agrupado en cada tabla.

Si no se agrupa un índice, el orden físico de las filas de la tabla no coincidirá con el orden lógico de los valores de clave. Normalmente, un índice agrupado proporciona un acceso más rápido a los datos que un índice no agrupado.

MostrarOptimizar el rendimiento de los formularios o subformularios

Hay varias cosas que puede hacer para que los formularios se ejecuten más rápido.

MostrarSugerencias generales

MostrarSugerencias para formularios que contienen imágenes y objetos

  • Utilice los mapas de bits y otros elementos gráficos con moderación.
  • Convierta los marcos de objeto independientes que muestren gráficos a controles de imagen.
  • Utilice mapas de bits en blanco y negro, en vez de en color.

MostrarSugerencias para formularios que contienen código

Un formulario sin módulo de formulario (módulo de formulario: módulo que incluye un código de Visual Basic para Aplicaciones (VBA) para todos los procedimientos de evento desencadenados por los eventos que suceden en un formulario específico o en sus controles.) se carga más rápidamente y ocupa menos espacio en el disco. Si un formulario o los controles de un formulario no utilizan 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.), el formulario no requiere un módulo de formulario.

Notas

MostrarSugerencias para subformularios

MostrarOptimizar el rendimiento de los cuadros de lista o cuadros combinados

Hay varias cosas que puede hacer para que los cuadros de lista, cuadros combinados y cuadros de lista desplegable (cuadro de lista desplegable: control de una página de acceso a datos que, cuando se hace clic en él, muestra una lista en la que puede seleccionar un valor. No puede escribir ningún valor en un cuadro de lista desplegable.) se ejecuten más rápidamente.

Nota El Generador de consultas no está disponible en las páginas de acceso a datos. Los asistentes no están disponibles en una página de acceso a datos independiente, o cuando apunta una página de acceso a datos a una base de datos que no sea la que esté abierta en ese momento. En ambos casos, deberá crear un cuadro de lista o un cuadro de lista desplegable por su cuenta.

MostrarOptimizar el rendimiento de informes y subinformes

Hay varias cosas que puede hacer para conseguir que los informes se impriman más rápidamente.

MostrarSugerencias generales

MostrarSugerencias para informes que contienen imágenes y objetos

MostrarSugerencias para subinformes

MostrarMejorar el rendimiento de las páginas de acceso a datos

Para que el proceso de cargar las páginas de acceso a datos en la vista Página (vista Página: ventana de Access en la que se puede examinar el contenido de una página de acceso a datos. Las páginas tienen la misma funcionalidad en la vista Página que en Internet Explorer 5.0 o posterior.) o en Microsoft Internet Explorer 5.01 con Service Pack 2 (SP2) o posterior sea más rápido, puede realizar varias acciones.

MostrarSugerencias generales

  • Cuando utilice una página de acceso a datos en Microsoft Access, cierre todos los objetos de base de datos que no se estén utilizando. Cuando utilice una página de acceso a datos en Internet Explorer, cierre todas las ventanas que no se estén utilizando.
  • En las páginas de acceso a datos utilizadas para la entrada de datos, establezca la propiedad EntradaDeDatos (DataEntry) de la página en Verdadero para que la página se abra con un registro en blanco.
  • Indice los campos que ordene, agrupe o filtre.
  • Asocie una página de acceso a datos a un archivo de datos XML de modo que la página pueda obtener sus datos de un archivo ubicado en el cliente local en lugar de tener que disponer de acceso al servidor de bases de datos.

MostrarControles

  • Evite los controles superpuestos.
  • Utilice controles de span enlazado en lugar de cuadros de texto para mostrar los datos que no sean actualizables; por ejemplo, para mostrar valores de tipo Autonumérico, valores derivados de expresiones e hipervínculos.

Seguridad Los controles de span dependientes o de hipervínculo deberán utilizarse con precaución, pues algún usuario no autorizado podría intentar insertar en ellos código HTML dañino que, al procesarse sin validación o modificación, acabara resultando en una pérdida de información personal u otros datos. Para evitar que se represente el posible código HTML contenido en un control, se recomienda codificar su contenido.

MostrarImágenes y objetos

  • Utilice los mapas de bits y otros elementos gráficos con moderación. Utilice mapas de bits en blanco y negro, en vez de en color.

MostrarPáginas agrupadas

  • Asegúrese de que la propiedad ExpandedByDefault esté establecida en Falso para el nivel de grupo más alto. Al establecerla en Falso para los niveles de grupo inferiores, se acelerarán otras interacciones una vez abierta la página.
  • Asegúrese de que la propiedad de nivel de grupo DataPageSize esté establecida en un número bajo en lugar de un número alto, o esté establecida en Todos. Cuanto más bajo sea el número, mayor será la velocidad de presentación de los registros.
  • En una página que contiene registros con una relación uno a varios, agrupe los registros por tabla y no por campo o expresión.
  • En una página basada en tablas con una relación uno a varios, asocie cada sección con una tabla en lugar de una consulta. Microsoft Access recupera los registros de una tabla sólo cuando necesita mostrarlos en la página. En una consulta, Access recupera todos los registros antes de mostrar registros en la página. Utilice una consulta sólo cuando desee limitar los datos utilizados en la página, calcular valores agregados o realizar una tarea que sólo es posible en una consulta.

MostrarObtener información sobre cómo convertir su proyecto de Access en un archivo ADE para mejorar el rendimiento

Si el archivo de 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 usa para crear aplicaciones cliente/servidor. Un archivo de proyecto no contiene datos ni objetos basados en definiciones de datos, como tablas o vistas.) contiene código de Visual Basic para Aplicaciones (VBA) (Visual Basic para Aplicaciones (VBA): versión del lenguaje de macros de Microsoft Visual Basic que se utiliza para programar aplicaciones basadas en Microsoft Windows y que se incluye en varios programas de Microsoft.) y se guarda el proyecto de Access como un archivo .ade (archivo ADE: archivo de proyecto de Microsoft Access (archivo .adp en Access 2003 y versiones anteriores, archivo .accdp en Access 2007 y versiones posteriores) que tiene todos los módulos compilados y se le ha quitado todo el código fuente editable.), se compilarán todos los módulos, se quitará todo el código de origen modificable y se compactará el archivo de proyecto de destino de Access. El código de VBA seguirá ejecutándose, pero no puede verse ni modificarse.

El archivo de proyecto de Access seguirá funcionando con normalidad, y podrá seguir actualizando los datos y ejecutando informes. Además, el tamaño del proyecto de Access se verá reducido debido a la eliminación del código y, por tanto, se optimizará el uso de la memoria y se mejorará el rendimiento.

Al guardar el archivo de proyecto de Access como un archivo .ade, impedirá las siguientes acciones:

MostrarConsideraciones a la hora de modificar el diseño de formularios, informes o módulos

Asegúrese de guardar una copia del archivo de proyecto original de Access. Si necesita modificar el diseño de formularios, informes o módulos en un archivo de proyecto de Access guardado como un archivo .ade, deberá modificar el proyecto original de Access y, a continuación, volver a guardarlo como un archivo .ade.

No podrá abrir, convertir o ejecutar el código en un archivo .ade en las futuras versiones de Access. La única manera de convertir un archivo .ade en una versión futura consistirá en abrir el proyecto original de Access a partir del cual fue creado el archivo .ade, convertirlo a la versión posterior de Access y, a continuación, guardar el archivo de proyecto convertido de Access como un archivo .ade.

MostrarConsideraciones anteriores a guardar el archivo de proyecto de Access como un archivo .ade

Puede que algunas restricciones impidan guardar el archivo de proyecto de Access como un archivo .ade:

  • Debe tener acceso mediante contraseña al código de VBA si se ha definido una contraseña.
  • Si el proyecto de Access hace referencia a otro proyecto o complemento de Access, deberá guardar todos los proyectos y complementos de Access en la cadena de referencias como archivos .ade.

MostrarReferencias y archivos .ade

Si intenta crear un archivo .ade a partir de un archivo de proyecto o complemento de Access que hace referencia a otro proyecto o complemento de Access, la aplicación mostrará un mensaje de error y no permitirá completar la operación. Para guardar un proyecto de Access que hace referencia a otro proyecto de Access como un archivo .ade, deberá guardar todos los proyectos en la cadena de referencias como archivos .ade o .mde, comenzando por el primer proyecto al que se hace referencia. Después de guardar el primer proyecto como un archivo .ade o .mde, deberá actualizar la referencia del siguiente proyecto para que apunte al nuevo archivo antes de guardarlo como un archivo .ade, y así sucesivamente.

Por ejemplo, si Proyecto1.adp hace referencia a Proyecto2.adp, que hace referencia a Proyecto3.mda, deberá proceder de esta manera:

  1. Guarde Proyecto3.mda como Proyecto3.mde.
  2. Abra Proyecto2.adp y cambie su referencia de modo que apunte al nuevo archivo Proyecto3.mde.
  3. Guarde Proyecto2.adp como Proyecto2.ade.
  4. Abra Proyecto1.adp y cambie su referencia de modo que apunte al nuevo archivo Proyecto2.ade.
  5. Guarde Proyecto1.adp como Proyecto1.ade.

MostrarObtener información sobre cómo compactar un proyecto de Access

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s