Acceso Microsoft

Ajustar Compartir Imprimir Citar

Microsoft Access es un sistema de gestión de bases de datos (DBMS) de Microsoft que combina el motor de base de datos de acceso relacional (ACE) con una interfaz gráfica de usuario y herramientas de desarrollo de software (que no debe confundirse con el antiguo Microsoft Access, que era un programa de telecomunicaciones que proporcionaba emulación de terminal e interfaces para facilitar el acceso a servicios en línea como Dow Jones, Compuserve y buzón de correo electrónico en la década de 1980). Es miembro del conjunto de aplicaciones de Microsoft 365, incluido en las ediciones Professional y superiores o se vende por separado.

Microsoft Access almacena datos en su propio formato basado en el motor de base de datos de Access (anteriormente motor de base de datos Jet). También puede importar o enlazar directamente con datos almacenados en otras aplicaciones y bases de datos.

Los desarrolladores de software, los arquitectos de datos y los usuarios avanzados pueden usar Microsoft Access para desarrollar software de aplicación. Al igual que otras aplicaciones de Microsoft Office, Access es compatible con Visual Basic para aplicaciones (VBA), un lenguaje de programación basado en objetos que puede hacer referencia a una variedad de objetos, incluidos los DAO (objetos de acceso a datos) heredados, los objetos de datos ActiveX y muchos otros componentes ActiveX.. Los objetos visuales utilizados en formularios e informes exponen sus métodos y propiedades en el entorno de programación de VBA, y los módulos de código de VBA pueden declarar y llamar a operaciones del sistema operativo Windows.

Historia

Antes de la introducción de Access, Borland (con Paradox y dBase) y Fox (con FoxPro) dominaban el mercado de bases de datos de escritorio. Microsoft Access fue el primer programa de base de datos del mercado masivo para Windows. Con la compra de FoxPro por parte de Microsoft en 1992 y la incorporación de las rutinas de optimización de consultas Rushmore de Fox en Access, Microsoft Access se convirtió rápidamente en la base de datos dominante para Windows, eliminando efectivamente a la competencia que no logró la transición desde MS-DOS. mundo.

Proyecto Omega

El primer intento de Microsoft de vender un producto de base de datos relacional fue a mediados de la década de 1980, cuando Microsoft obtuvo la licencia para vender R:Base. A fines de la década de 1980, Microsoft desarrolló su propia solución con el nombre en código Omega. En 1988 se confirmó que se estaba desarrollando un producto de base de datos para Windows y OS/2. Iba a incluir el "EB" Embedded Basic language, que iba a ser el lenguaje para escribir macros en todas las aplicaciones de Microsoft, pero la unificación de los lenguajes de macros no se produjo hasta la introducción de Visual Basic for Applications (VBA). También se esperaba que Omega proporcionara una interfaz para Microsoft SQL Server. La aplicación consumía muchos recursos y había informes de que funcionaba lentamente en los procesadores 386 que estaban disponibles en ese momento. Estaba programado para ser lanzado en el primer trimestre de 1990, pero en 1989 se reinició el desarrollo del producto y se reprogramó para ser entregado no antes de enero de 1991. Partes del proyecto se usaron más tarde para otros proyectos de Microsoft: Cirrus (nombre en clave para Access) y Thunder (nombre en clave para Visual Basic, donde se usó el motor Embedded Basic). Después del estreno de Access, el proyecto Omega se demostró en 1992 a varios periodistas e incluyó funciones que no estaban disponibles en Access.

Proyecto Cirro

Después de que se descartara el proyecto Omega, algunos de sus desarrolladores fueron asignados al proyecto Cirrus (la mayoría fueron asignados al equipo que creó Visual Basic). Su objetivo era crear un competidor para aplicaciones como Paradox o dBase que funcionaran en Windows. Después de que Microsoft adquirió FoxPro, hubo rumores de que el proyecto de Microsoft podría ser reemplazado por él, pero la compañía decidió desarrollarlos en paralelo. Se supuso que el proyecto utilizaría el motor de almacenamiento extensible (Jet Blue) pero, al final, solo se proporcionó soporte para el motor de base de datos Jet (Jet Red). El proyecto usó parte del código tanto del proyecto Omega como de una versión preliminar de Visual Basic. En julio de 1992, las versiones beta de Cirrus se enviaron a los desarrolladores y el nombre Access se convirtió en el nombre oficial del producto. "Acceso" se usó originalmente para un programa de emulación de terminal más antiguo de Microsoft. Años después de que se abandonara el programa, decidieron reutilizar el nombre aquí.

Cronología

Logo de acceso para Office 2000 y Office XP

Microsoft lanzó la versión 1.0 de Access el 13 de noviembre de 1992 y una versión 1.1 de Access en mayo de 1993 para mejorar la compatibilidad con otros productos de Microsoft e incluir el lenguaje de programación Access Basic.

Con Access v2.0, Microsoft especificó que los requisitos mínimos de hardware fueran Microsoft Windows v3.1 con 4 MB de RAM requeridos, 6 MB de RAM recomendados; Se requieren 8 MB de espacio disponible en el disco duro, se recomiendan 14 MB de espacio en el disco duro. El producto se envió en siete disquetes de 1,44 MB. El manual muestra una fecha de copyright de 1994.

Como parte de Microsoft Office 4.3 Professional con Book Shelf, Microsoft Access 2.0 se incluyó con las primeras bases de datos de muestra "NorthWind Trader" que cubría todos los aspectos posibles de la programación de su propia base de datos. La muestra de Northwind Traders presentó por primera vez las características del panel de control principal nuevas en Access 2.0 para 1994. La foto de Andrew Fuller, registro n.º 2 de esa base de datos de muestra, fue la persona que presentó y trabajó con Microsoft para proporcionar una base de datos de ejemplo tan destacada.

Con Office 95, Microsoft Access 7.0 (también conocido como "Access 95") se convirtió en parte de Microsoft Office Professional Suite, se unió a Microsoft Excel, Word y PowerPoint y pasó de Access Basic a VBA. Desde entonces, Microsoft ha lanzado nuevas versiones de Microsoft Access con cada lanzamiento de Microsoft Office. Esto incluye Access 97 (versión 8.0), Access 2000 (versión 9.0), Access 2002 (versión 10.0), Access 2003 (versión 11.5), Access 2007 (versión 12.0), Access 2010 (versión 14.0) y Access 2013 (versión 15.0).).

Las versiones 3.0 y 3.5 de Jet Database Engine (usadas por Access 7.0 y el Access 97 lanzado más tarde, respectivamente) tenían un problema crítico que hacía que estas versiones de Access no se pudieran usar en una computadora con más de 1 GB de memoria. Si bien Microsoft solucionó este problema para Jet 3.5/Access 97 después del lanzamiento, nunca solucionó el problema con Jet 3.0/Access 95.

El formato de base de datos nativo de Access (la base de datos Jet MDB) también ha evolucionado a lo largo de los años. Los formatos incluyen Access 1.0, 1.1, 2.0, 7.0, 97, 2000, 2002 y 2007. La transición más significativa fue del formato Access 97 al formato Access 2000; que no es compatible con versiones anteriores de Access. A partir de 2011, todas las versiones más recientes de Access admiten el formato Access 2000. Se agregaron nuevas características al formato de Access 2002 que pueden ser utilizadas por Access 2002, 2003, 2007 y 2010.

Microsoft Access 2000 aumentó el tamaño máximo de la base de datos a 2 GB de 1 GB en Access 97.

Microsoft Access 2007 introdujo un nuevo formato de base de datos: ACCDB. Admite enlaces a listas de SharePoint y tipos de datos complejos, como campos multivalor y adjuntos. Estos nuevos tipos de campo son esencialmente conjuntos de registros en campos y permiten el almacenamiento de múltiples valores o archivos en un campo. Microsoft Access 2007 también introdujo el campo Archivo adjunto, que almacenó datos de manera más eficiente que el campo OLE (Vinculación e incrustación de objetos).

El logo Access de 2013 a 2019

Microsoft Access 2010 presentó una nueva versión del formato ACCDB compatible con el alojamiento de servicios web de Access en un servidor de SharePoint 2010. Por primera vez, esto permitió ejecutar las aplicaciones de Access sin tener que instalar Access en su PC y fue el primer soporte de los usuarios de Mac. Cualquier usuario en el sitio de SharePoint con suficientes derechos podría usar el servicio web de Access. Seguía siendo necesaria una copia de Access para que el desarrollador creara el servicio web de Access, y la versión de escritorio de Access seguía siendo parte de Access 2010. Los servicios web de Access no eran lo mismo que las aplicaciones de escritorio. La automatización fue solo a través del lenguaje de macros (no VBA) que Access convirtió automáticamente a JavaScript. Los datos ya no estaban en una base de datos de Access sino en listas de SharePoint. Una base de datos de escritorio de Access podría vincularse a los datos de SharePoint, por lo que las aplicaciones híbridas eran posibles para que los usuarios de SharePoint que necesitaban vistas y ediciones básicas pudieran ser compatibles, mientras que las aplicaciones tradicionales más sofisticadas podían permanecer en la base de datos de escritorio de Access.

Microsoft Access 2013 ofrece aplicaciones de escritorio de Access tradicionales además de un servicio web de SharePoint 2013 significativamente actualizado. El modelo Web de Access en Access 2010 fue reemplazado por una nueva arquitectura que almacena sus datos en bases de datos reales de SQL Server. A diferencia de las listas de SharePoint, esto ofrece un verdadero diseño de base de datos relacional con integridad referencial, escalabilidad, extensibilidad y rendimiento que uno esperaría de SQL Server. Las soluciones de base de datos que se pueden crear en SharePoint 2013 ofrecen una interfaz de usuario moderna diseñada para mostrar múltiples niveles de relaciones que se pueden ver y editar, junto con el cambio de tamaño para diferentes dispositivos y soporte táctil. El escritorio de Access 2013 es similar a Access 2010, pero se suspendieron varias funciones, incluida la compatibilidad con Access Data Projects (ADP), tablas dinámicas, gráficos dinámicos, recopilaciones de datos de Access, control de código fuente, replicación y otras funciones heredadas. El tamaño máximo de la base de datos de escritorio de Access se mantuvo en 2 GB (como ha sido desde la versión 2000).

Usos

Además de usar su propio archivo de almacenamiento de base de datos, Microsoft Access también se puede usar como 'front-end' de un programa mientras que otros productos actúan como 'back-end' tablas, como Microsoft SQL Server y productos que no son de Microsoft, como Oracle y Sybase. Una base de datos Jet de Microsoft Access (formatos ACCDB y MDB) puede utilizar múltiples fuentes de back-end. De manera similar, algunas aplicaciones como Visual Basic, ASP.NET o Visual Studio.NET usarán el formato de base de datos de Microsoft Access para sus tablas y consultas. Microsoft Access también puede ser parte de una solución más compleja, donde puede integrarse con otras tecnologías como Microsoft Excel, Microsoft Outlook, Microsoft Word, Microsoft PowerPoint y controles ActiveX.

Las tablas de Access admiten una variedad de tipos de campos estándar, índices e integridad referencial, incluidas las actualizaciones y eliminaciones en cascada. Access también incluye una interfaz de consulta, formularios para mostrar e ingresar datos e informes para imprimir. La base de datos de Access subyacente, que contiene estos objetos, es multiusuario y maneja el bloqueo de registros.

Las tareas repetitivas se pueden automatizar a través de macros con opciones de apuntar y hacer clic. También es fácil colocar una base de datos en una red y hacer que varios usuarios compartan y actualicen datos sin sobrescribir el trabajo de los demás. Los datos se bloquean en el nivel de registro, lo que es significativamente diferente de Excel, que bloquea toda la hoja de cálculo.

Hay bases de datos de plantillas dentro del programa y para descargar desde el sitio web de Microsoft. Estas opciones están disponibles al iniciar Access y permiten a los usuarios mejorar una base de datos con tablas, consultas, formularios, informes y macros predefinidos. Las plantillas de base de datos admiten código VBA, pero las plantillas de Microsoft no incluyen código VBA.

Los programadores pueden crear soluciones usando VBA, que es similar a Visual Basic 6.0 (VB6) y se usa en todos los programas de Microsoft Office como Excel, Word, Outlook y PowerPoint. La mayoría del código VB6, incluido el uso de llamadas a la API de Windows, se puede usar en VBA. Los usuarios avanzados y los desarrolladores pueden ampliar las soluciones básicas de usuario final a una solución profesional con automatización avanzada, validación de datos, detección de errores y soporte multiusuario.

La cantidad de usuarios simultáneos que se pueden admitir depende de la cantidad de datos, las tareas que se realizan, el nivel de uso y el diseño de la aplicación. Los límites generalmente aceptados son soluciones con 1 GB o menos de datos (Access admite hasta 2 GB) y funciona bastante bien con 100 o menos conexiones simultáneas (se admiten 255 usuarios simultáneos). Esta capacidad es a menudo una buena opción para las soluciones departamentales. Si usa una solución de base de datos de Access en un escenario multiusuario, la aplicación debe estar "dividida". Esto significa que las tablas están en un archivo llamado back-end (generalmente almacenado en una carpeta de red compartida) y los componentes de la aplicación (formularios, informes, consultas, código, macros, tablas vinculadas) están en otro archivo llamado front-end. Las tablas vinculadas en el front-end apuntan al archivo de back-end. Cada usuario de la aplicación de Access recibiría su propia copia del archivo front-end.

Las aplicaciones que ejecutan consultas o análisis complejos en grandes conjuntos de datos naturalmente requieren mayor ancho de banda y memoria. Microsoft Access está diseñado para escalar para admitir más datos y usuarios mediante la vinculación a múltiples bases de datos de Access o el uso de una base de datos de back-end como Microsoft SQL Server. Con este último diseño, la cantidad de datos y usuarios puede escalar a soluciones de nivel empresarial.

La función de Microsoft Access en el desarrollo web anterior a la versión 2010 es limitada. Las características de la interfaz de usuario de Access, como formularios e informes, solo funcionan en Windows. En las versiones 2000 a 2003, un tipo de objeto de Access denominado Páginas de acceso a datos creaba páginas web publicables. Las páginas de acceso a datos ya no son compatibles. Se puede acceder al Jet Database Engine, el núcleo de Access, a través de tecnologías como ODBC u OLE DB. Se puede acceder a los datos (es decir, tablas y consultas) mediante aplicaciones basadas en web desarrolladas en ASP.NET, PHP o Java. Con el uso de Terminal Services y Remote Desktop Application de Microsoft en Windows Server 2008 R2, las organizaciones pueden hospedar aplicaciones de Access para que puedan ejecutarse en la web. Esta técnica no escala como lo haría una aplicación web, pero es apropiada para un número limitado de usuarios según la configuración del host.

Access 2010 permite que las bases de datos se publiquen en sitios web de SharePoint 2010 que ejecuten Servicios de Access. Estos formularios e informes basados en la web se ejecutan en cualquier navegador web moderno. Los formularios e informes web resultantes, cuando se accede a través de un navegador web, no requieren complementos ni extensiones (por ejemplo, ActiveX y Silverlight).

Access 2013 puede crear aplicaciones web directamente en sitios de SharePoint 2013 que ejecutan Servicios de Access. Las soluciones web de Access 2013 almacenan sus datos en una base de datos subyacente de SQL Server que es mucho más escalable y robusta que la versión de Access 2010 que usaba listas de SharePoint para almacenar sus datos.

Desde entonces, se retiraron los servicios de Access en SharePoint.

Se puede crear una versión compilada de una base de datos de Access (extensiones de archivo.MDE/ACCDE o.ADE; ACCDE solo funciona con Access 2007 o posterior) para evitar que los usuarios accedan a las superficies de diseño para modificar el código del módulo, los formularios y los informes.. Un archivo MDE o ADE es un archivo de base de datos de Microsoft Access con todos los módulos compilados y todo el código fuente editable eliminado. Las versiones.MDE y.ADE de una base de datos de Access se utilizan cuando no se permiten modificaciones por parte del usuario final o cuando el código fuente de la aplicación debe mantenerse confidencial.

Microsoft también ofrece extensiones de desarrollador para descargar para ayudar a distribuir aplicaciones de Access 2007, crear plantillas de bases de datos e integrar el control de código fuente con Microsoft Visual SourceSafe.

Características

Los usuarios pueden crear tablas, consultas, formularios e informes y conectarlos con macros. Los usuarios avanzados pueden usar VBA para escribir soluciones enriquecidas con manipulación avanzada de datos y control del usuario. Access también tiene funciones de creación de informes que pueden funcionar con cualquier fuente de datos a la que Access pueda acceder.

El concepto original de Access era que los usuarios finales pudieran acceder a los datos desde cualquier fuente. Otras características incluyen: la importación y exportación de datos a muchos formatos, incluidos Excel, Outlook, ASCII, dBase, Paradox, FoxPro, SQL Server y Oracle. También tiene la capacidad de vincular datos en su ubicación existente y usarlos para ver, consultar, editar e informar. Esto permite que los datos existentes cambien al mismo tiempo que garantiza que Access utilice los datos más recientes. Puede realizar uniones heterogéneas entre conjuntos de datos almacenados en diferentes plataformas. El acceso suele ser utilizado por personas que descargan datos de bases de datos de nivel empresarial para manipularlos, analizarlos e informar localmente.

También existe el formato Access Database (ACE y anteriormente Jet) (MDB o ACCDB en Access 2007) que puede contener la aplicación y los datos en un archivo. Esto hace que sea muy conveniente distribuir la aplicación completa a otro usuario, quien puede ejecutarla en entornos desconectados.

Uno de los beneficios de Access desde la perspectiva de un programador es su compatibilidad relativa con SQL (lenguaje de consulta estructurado): las consultas se pueden ver gráficamente o editarse como declaraciones SQL, y las declaraciones SQL se pueden usar directamente en macros y Módulos VBA para manipular tablas de Access. Los usuarios pueden mezclar y usar VBA y "Macros" para formas de programación y lógica y ofrece posibilidades orientadas a objetos. VBA también se puede incluir en las consultas.

Microsoft Access ofrece consultas parametrizadas. Se puede hacer referencia a estas consultas y tablas de Access desde otros programas como VB6 y.NET a través de DAO o ADO. Desde Microsoft Access, VBA puede hacer referencia a procedimientos almacenados parametrizados a través de ADO.

Las ediciones de escritorio de Microsoft SQL Server se pueden usar con Access como una alternativa al Jet Database Engine. Este soporte comenzó con MSDE (Microsoft SQL Server Desktop Engine), una versión reducida de Microsoft SQL Server 2000, y continúa con las versiones SQL Server Express de SQL Server 2005 y 2008.

Microsoft Access es una base de datos basada en un servidor de archivos. A diferencia de los sistemas de administración de bases de datos relacionales cliente-servidor (RDBMS), Microsoft Access no implementa disparadores de bases de datos, procedimientos almacenados ni registro de transacciones. Access 2010 incluye activadores a nivel de tabla y procedimientos almacenados integrados en el motor de datos de ACE. Por lo tanto, un sistema de base de datos cliente-servidor no es un requisito para usar procedimientos almacenados o activadores de tablas con Access 2010. Ahora se pueden desarrollar tablas, consultas, formularios, informes y macros específicamente para aplicaciones basadas en web en Access 2010. La integración con Microsoft SharePoint 2010 también ha mejorado mucho.

La edición de 2013 de Microsoft Access introdujo un diseño mayormente plano y la capacidad de instalar aplicaciones desde la Tienda Office, pero no introdujo nuevas características. El tema se actualizó parcialmente nuevamente para 2016, pero no se creó ningún tema oscuro para Access.

Servicios de acceso y base de datos web

Los formularios web ASP.NET pueden consultar una base de datos de Microsoft Access, recuperar registros y mostrarlos en el navegador.

SharePoint Server 2010 a través de Access Services permite que las bases de datos de Access 2010 se publiquen en SharePoint, lo que permite que varios usuarios interactúen con la aplicación de la base de datos desde cualquier navegador web compatible con los estándares. Las bases de datos web de Access publicadas en SharePoint Server pueden usar objetos estándar como tablas, consultas, formularios, macros e informes. Access Services almacena esos objetos en SharePoint.

Access 2013 ofrece la posibilidad de publicar soluciones web de Access en SharePoint 2013. En lugar de usar listas de SharePoint como fuente de datos, Access 2013 usa una base de datos de SQL Server real alojada en SharePoint o SQL Azure. Esto ofrece una verdadera base de datos relacional con integridad referencial, escalabilidad, mantenibilidad y extensibilidad en comparación con las vistas de SharePoint que usaba Access 2010. El lenguaje de macros se ha mejorado para admitir una lógica de programación más sofisticada y una automatización a nivel de base de datos.

Importar o vincular fuentes

Microsoft Access también puede importar o vincular directamente a datos almacenados en otras aplicaciones y bases de datos. Microsoft Office Access 2007 y versiones posteriores pueden importar desde o vincular a:

Tiempo de ejecución de Microsoft Access

Microsoft ofrece versiones de tiempo de ejecución gratuitas de Microsoft Access que permiten a los usuarios ejecutar una aplicación de escritorio de Access sin necesidad de comprar o instalar una versión comercial de Microsoft Access. En realidad, esto permite a los desarrolladores de Access crear bases de datos que se pueden distribuir libremente a un número ilimitado de usuarios finales. Estas versiones de tiempo de ejecución de Access 2007 y posteriores se pueden descargar de forma gratuita desde Microsoft. Las versiones de tiempo de ejecución para Access 2003 y anteriores formaban parte de Office Developer Extensions/Toolkit y requerían una compra por separado.

La versión de tiempo de ejecución permite a los usuarios ver, editar y eliminar datos, además de ejecutar consultas, formularios, informes, macros y código de módulo VBA. La versión de tiempo de ejecución no permite a los usuarios cambiar el diseño de tablas, consultas, formularios, informes, macros o código de módulo de Microsoft Access. Las versiones de tiempo de ejecución son similares a su correspondiente versión completa de Access y, por lo general, son compatibles con versiones anteriores; por ejemplo, Access Runtime 2010 permite a un usuario ejecutar una aplicación de Access creada con la versión 2010 y 2007 a 2000. Debido a las funciones obsoletas de Access 2013, su versión de tiempo de ejecución tampoco es compatible con esas funciones anteriores. Durante el desarrollo, se puede simular el entorno de tiempo de ejecución desde la versión totalmente funcional utilizando la opción de línea de comandos /runtime.

Desarrollo

Access almacena todas las tablas, consultas, formularios, informes, macros y módulos de la base de datos en la base de datos Access Jet como un único archivo.

Para el desarrollo de consultas, Access ofrece un "Diseñador de consultas", una interfaz gráfica de usuario que permite a los usuarios crear consultas sin conocimiento del lenguaje de consulta estructurado. En el Diseñador de consultas, los usuarios pueden "mostrar" las fuentes de datos de la consulta (que pueden ser tablas o consultas) y seleccione los campos que desea devolver haciendo clic y arrastrándolos a la cuadrícula. Uno puede configurar uniones haciendo clic y arrastrando campos en tablas a campos en otras tablas. El acceso permite a los usuarios ver y manipular el código SQL si lo desean. Cualquier tabla de Access, incluidas las tablas vinculadas de diferentes orígenes de datos, se puede utilizar en una consulta.

Access también admite la creación de "consultas de transferencia". Estos fragmentos de código SQL pueden abordar fuentes de datos externas mediante el uso de conexiones ODBC en la máquina local. Esto permite a los usuarios interactuar con datos almacenados fuera del programa Access sin usar tablas vinculadas o Jet. Los usuarios construyen las consultas de paso mediante la sintaxis SQL admitida por la fuente de datos externa.

Al desarrollar informes (en "Vista de diseño"), las adiciones o cambios en los controles hacen que las consultas vinculadas se ejecuten en segundo plano y el diseñador se ve obligado a esperar a que se devuelvan los registros antes de poder realizar otra cambio. Esta función no se puede desactivar.

Los no programadores pueden usar la función de macros para automatizar tareas simples a través de una serie de selecciones desplegables. Las macros permiten a los usuarios encadenar fácilmente comandos, como ejecutar consultas, importar o exportar datos, abrir y cerrar formularios, obtener una vista previa e imprimir informes, etc. Las macros admiten lógica básica (condiciones IF) y la capacidad de llamar a otras macros. Las macros también pueden contener submacros que son similares a las subrutinas. En Access 2007, las macros mejoradas incluían manejo de errores y compatibilidad con variables temporales. Access 2007 también introdujo macros incrustadas que son esencialmente propiedades del evento de un objeto. Esto eliminó la necesidad de almacenar macros como objetos individuales. Sin embargo, las macros estaban limitadas en su funcionalidad por la falta de bucles de programación y lógica de codificación avanzada hasta Access 2013. Con importantes mejoras adicionales introducidas en Access 2013, las capacidades de las macros se volvieron completamente comparables a VBA. Hicieron prácticas las implementaciones de aplicaciones basadas en web ricas en características, a través de una interfaz y herramientas de Microsoft SharePoint muy mejoradas, así como en los escritorios tradicionales de Windows.

Al igual que otros productos de la suite de Microsoft Office, el otro lenguaje de programación utilizado en Access es Microsoft VBA. Es similar a Visual Basic 6.0 (VB6) y el código se puede almacenar en módulos, clases y código detrás de formularios e informes. Para crear un producto terminado más rico, más eficiente y fácil de mantener con un buen manejo de errores, la mayoría de las aplicaciones profesionales de Access se desarrollan utilizando el lenguaje de programación VBA en lugar de macros, excepto donde la implementación web es un requisito empresarial.

Para manipular datos en tablas y consultas en VBA o macros, Microsoft proporciona dos bibliotecas de acceso a bases de datos de componentes COM:

  1. Data Access Objects (DAO) (32-bit only), que se incluye en Access y Windows y evoluciona a ACE en Microsoft Access 2007 para el formato de base de datos ACCDE
  2. ActiveX Data Objects ActiveX Data Objects (ADO) (ambas versiones de 32 bits y 64 bits)

Además de DAO y ADO, los desarrolladores también pueden usar OLE DB y ODBC para desarrollar programas C/C++ nativos para Access. Para ADP y la manipulación directa de datos de SQL Server, se requiere ADO. DAO es más apropiado para administrar datos en bases de datos Access/Jet y la única forma de manipular los tipos de campos complejos en las tablas ACCDB.

En el contenedor de la base de datos o en el panel de navegación de Access 2007 y versiones posteriores, el sistema clasifica automáticamente cada objeto por tipo (por ejemplo, tabla, consulta, macro). Muchos desarrolladores de Access usan la convención de nomenclatura Leszynski, aunque esto no es universal; es una convención de programación, no una regla impuesta por DBMS. Es particularmente útil en VBA donde las referencias a nombres de objetos pueden no indicar su tipo de datos (por ejemplo, tbl para tablas, qry para consultas).

Los desarrolladores implementan Microsoft Access con mayor frecuencia para proyectos individuales y de grupos de trabajo (la caracterización de la velocidad de Access 97 se realizó para 32 usuarios). Desde Access 97 y con Access 2003 y 2007, Microsoft Access y el hardware han evolucionado significativamente. Las bases de datos de menos de 1 GB de tamaño (que ahora pueden caber completamente en RAM) y 200 usuarios simultáneos están dentro de las capacidades de Microsoft Access. Por supuesto, el rendimiento depende del diseño y las tareas de la base de datos. El trabajo intensivo en disco, como búsquedas y consultas complejas, lleva la mayor parte del tiempo.

Como los datos de una base de datos de Microsoft Access se pueden almacenar en caché en la memoria RAM, la velocidad de procesamiento puede mejorar sustancialmente cuando solo hay un usuario o si los datos no cambian. En el pasado, el efecto de la latencia de los paquetes en el sistema de bloqueo de registros hacía que las bases de datos de Access se ejecutaran lentamente en una red privada virtual (VPN) o una red de área amplia (WAN) contra una base de datos Jet. A partir de 2010, las conexiones de banda ancha han mitigado este problema. El rendimiento también se puede mejorar si se mantiene una conexión continua con la base de datos de back-end durante toda la sesión en lugar de abrirla y cerrarla para cada acceso a la tabla.

En julio de 2011, Microsoft reconoció un problema de rendimiento de consultas intermitentes con todas las versiones de Access y Windows 7 y Windows Server 2008 R2 debido a que la naturaleza de la administración de recursos es muy diferente en los sistemas operativos más nuevos. Este problema afecta gravemente al rendimiento de las consultas en Access 2003 y versiones anteriores con el código Jet Database Engine, así como en Access 2007 y versiones posteriores con Access Database Engine (ACE). Microsoft ha publicado las revisiones KB2553029 para Access 2007 y KB2553116 para Access 2010, pero no solucionará el problema con Jet 4.0 ya que no cuenta con soporte estándar.

En versiones anteriores de Microsoft Access, la capacidad de distribuir aplicaciones requería la compra de Developer Toolkit; en Access 2007, 2010 y Access 2013, la opción "Runtime Only" La versión se ofrece como descarga gratuita, lo que hace posible la distribución de aplicaciones libres de regalías en Windows XP, Vista, 7 y Windows 8.x.

Arquitectura de base de datos dividida

Las aplicaciones de Microsoft Access pueden adoptar una arquitectura de base de datos dividida. La base de datos única se puede dividir en un "back-end" que contiene las tablas de datos (compartidas en un servidor de archivos) y un "front-end" (que contiene los objetos de la aplicación, como consultas, formularios, informes, macros y módulos). El "front-end" La aplicación de acceso se distribuye al escritorio de cada usuario y se vincula a la base de datos compartida. Con este enfoque, cada usuario tiene una copia de Microsoft Access (o la versión de tiempo de ejecución) instalada en su máquina junto con la base de datos de su aplicación. Esto reduce el tráfico de red ya que la aplicación no se recupera para cada uso. El "front-end" La base de datos aún puede contener tablas locales para almacenar la configuración de un usuario o datos temporales. Este diseño de base de datos dividida también permite el desarrollo de la aplicación independientemente de los datos. Una desventaja es que los usuarios pueden realizar varios cambios en su propia copia local de la aplicación y esto dificulta la gestión del control de versiones. Cuando una nueva versión está lista, la base de datos front-end se reemplaza sin afectar la base de datos de datos. Microsoft Access tiene dos utilidades integradas, Database Splitter y Linked Table Manager, para facilitar esta arquitectura.

Las tablas vinculadas en Access usan rutas absolutas en lugar de rutas relativas, por lo que el entorno de desarrollo debe tener la misma ruta que el entorno de producción o un "enlace dinámico" La rutina se puede escribir en VBA.

Para bases de datos de Access muy grandes, esto puede tener problemas de rendimiento y se debe considerar un servidor SQL en estas circunstancias. Esto es un problema menor si toda la base de datos cabe en la memoria RAM de la PC, ya que Access almacena datos e índices en caché.

Migración a SQL Server

Para escalar las aplicaciones de Access a soluciones empresariales o web, una posible técnica consiste en migrar a Microsoft SQL Server o una base de datos de servidor equivalente. Un diseño cliente-servidor reduce significativamente el mantenimiento y aumenta la seguridad, la disponibilidad, la estabilidad y el registro de transacciones.

De Access 2000 a Access 2010 se incluía una función denominada Asistente para conversión que permitía a los usuarios actualizar sus bases de datos a Microsoft SQL Server, una base de datos cliente-servidor ODBC. Esta función se eliminó de Access 2013. Una solución adicional, el Asistente de migración de SQL Server para Access (SSMA), sigue estando disponible para su descarga gratuita desde Microsoft.

Hay una variedad de opciones de actualización disponibles. Después de migrar los datos y las consultas a SQL Server, la base de datos de Access se puede vincular a la base de datos de SQL. Sin embargo, ciertos tipos de datos son problemáticos, sobre todo "Sí/No". En Microsoft Access hay tres estados para el tipo de datos Sí/No (Verdadero/Falso): vacío, no/falso (cero) y sí/verdadero (-1). El tipo de datos de SQL Server correspondiente es binario, con solo dos estados, valores permitidos, cero y 1. Independientemente, SQL Server sigue siendo la migración más sencilla. La recuperación de datos de tablas vinculadas está optimizada solo para los registros necesarios, pero este escenario puede funcionar de manera menos eficiente de lo que sería óptimo para SQL Server. Por ejemplo, en los casos en que las uniones de varias tablas todavía requieren copiar toda la tabla en la red.

En versiones anteriores de Access, incluido Access 2010, las bases de datos también se pueden convertir a Proyectos de datos de Access (ADP), que están vinculados directamente a una base de datos de SQL Server. Esta función se eliminó de Access 2013. Los ADP admiten la capacidad de crear y modificar directamente objetos de SQL Server, como tablas, vistas, procedimientos almacenados y restricciones de SQL Server. Las vistas y los procedimientos almacenados pueden reducir significativamente el tráfico de red para las uniones de varias mesas. SQL Server admite tablas temporales y enlaces a otras fuentes de datos más allá de la única base de datos de SQL Server.

Finalmente, algunas bases de datos de Access se reemplazan completamente por otra tecnología como ASP.NET o Java una vez que se convierten los datos. Sin embargo, cualquier migración puede requerir un gran esfuerzo ya que el lenguaje SQL de Access es un superconjunto más potente del SQL estándar. Además, los procedimientos de aplicación de Access, ya sean VBA o macros, están escritos en un nivel relativamente más alto en comparación con las alternativas disponibles actualmente que son sólidas y completas. Tenga en cuenta que el lenguaje de macros de Access, que permite un nivel de abstracción aún mayor que VBA, se mejoró significativamente en Access 2010 y nuevamente en Access 2013.

En muchos casos, los desarrolladores crean interfaces directas de la web a los datos mediante ASP.NET, al tiempo que mantienen los principales procesos de automatización comercial, las funciones administrativas y de generación de informes que no necesitan distribuirse a todos en Access para que los trabajadores de la información puedan mantener.

Si bien todos los datos de Access pueden migrar a SQL Server directamente, algunas consultas no pueden migrar correctamente. En algunas situaciones, es posible que necesite traducir funciones VBA y funciones definidas por el usuario en funciones/procedimientos T-SQL o.NET. Las consultas de tabulación cruzada se pueden migrar a SQL Server mediante el comando PIVOT.

Protección

Las aplicaciones de Microsoft Access pueden protegerse mediante varios métodos, siendo el más básico el control de acceso mediante contraseña; esta es una forma relativamente débil de protección.

Un mayor nivel de protección es el uso de la seguridad del grupo de trabajo que requiere un nombre de usuario y una contraseña. Los usuarios y grupos se pueden especificar junto con sus derechos en el tipo de objeto o en el nivel de objeto individual. Esto se puede usar para especificar personas con derechos de solo lectura o de entrada de datos, pero puede ser difícil de especificar. Un archivo de seguridad de grupo de trabajo separado contiene la configuración que se puede usar para administrar varias bases de datos. La seguridad del grupo de trabajo no es compatible con el formato de base de datos ACCDB de Access 2007 y Access 2010, aunque Access 2007 y Access 2010 aún lo admiten para las bases de datos MDB.

Las bases de datos también se pueden cifrar. El formato ACCDB ofrece un cifrado significativamente avanzado con respecto a versiones anteriores.

Además, si es necesario asegurar el diseño de la base de datos para evitar cambios, las bases de datos de Access se pueden bloquear/proteger (y compilar el código fuente) convirtiendo la base de datos en un archivo.MDE. Todos los cambios en el proyecto de VBA (módulos, formularios o informes) deben realizarse en el MDB original y luego reconvertirse a MDE. En Access 2007 y Access 2010, la base de datos ACCDB se convierte en un archivo ACCDE. Algunas herramientas están disponibles para desbloquear y "descompilar", aunque ciertos elementos, incluidos los comentarios y el formato VBA originales, normalmente son irrecuperables.

Extensiones de archivo

Microsoft Access guarda la información en los siguientes formatos de archivo:

Formatos actuales
Formato de archivo Extensión
Plantilla de proyecto Blank.adn
Base de datos de acceso (2007 y más tarde).accdb
Access Database Runtime (2007 y más tarde).accdr
Plantilla de bases de datos de acceso (2007 y más tarde).accdt
Access Add-In (2007 y más tarde).accda
Access Workgroup, base de datos para seguridad a nivel de usuario..mdw
Base de datos de acceso protegido, con VBA compilado y macros (2007 y posterior).accde
Acceso a Macro.mam
Windows Shortcut: Access Query.maq
Windows Shortcut: Access Report.mar
Corte de Windows: Tabla de acceso.mat
Windows Shortcut: Access Form.maf
Access lock files (asociado con.accdb).laccdb
Formatos de Legacy
Formato de archivo Extensión
Proyecto de datos de acceso protegido (no apoyado en 2013).ade
Access Data Project (not supported in 2013).adp
Base de datos de acceso (2003 y anterior).mdb
Access Database (Pocket Access for Windows CE).cdb
Access Database, utilizado para addins (Access 2, 95, 97),
anteriormente utilizado para grupos de trabajo (Acceso 2)
.mda
Plantilla de base de datos de acceso (2003 y anterior).mdn
Acceso
Base de datos de acceso (SQL Server) (2000).mdf
Base de datos de acceso protegido, con VBA compilado y macros (2003 y anterior).mde
Acceso a los archivos de bloqueo (asociados con.mdb).ldb

Versiones

VersiónVersión
Número
Fecha de lanzamientoVersión JET/ACESistema operativo compatibleVersión de Office suite
Acceso 1.01.019921.0Windows 3.0
Acceso 1.11.119931.1 Windows 3.1x
Acceso 2.02.019942.0 Windows 3.1x Office 4.3 Pro
Acceso para Windows 957.024 de agosto de 19953.0 Windows 95 Oficina 95 del cuadro orgánico
Acceso 978.016 de enero de 19973.5 Windows 95, Windows NT 3.51 SP5, Windows NT 4.0 SP2 Office 97 Professional and Developer
Acceso 20009.07 de junio de 19994.0 SP1 Windows 95, Windows NT 4.0, Windows 98, Windows 2000 Office 2000 Professional, Premium and Developer
Acceso 200210.031 de mayo de 2001 Windows NT 4.0 SP6, Windows 98, Windows 2000, Windows Me Office XP Professional and Developer
Acceso 200311.027 de noviembre de 2003 Windows 2000 SP3 o posterior, Windows XP, Windows Vista, Windows 7 Office 2003 Professional and Professional Enterprise
Acceso 200712.027 de enero de 200712 Windows XP SP2, Windows Server 2003 SP1, o nuevo sistema operativo Office 2007 Professional, Professional Plus, Ultimate and Enterprise
Acceso 201014.015 de julio de 201014 Windows XP SP3, Windows Server 2003 SP2, Windows Server 2003 R2, Windows Vista SP1, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows Server 2012, Windows 8 Office 2010 Professional, Professional Academic and Professional Plus
Acceso 201315.029 de enero de 201315 Windows 7, Windows Server 2008 R2, Windows Server 2012, Windows 8, Windows 10 Office 2013 Professional and Professional Plus
Acceso 201616.022 de septiembre de 201516 Windows 7, Windows 8, Windows 8.1, Windows 10 Office 2016 Professional and Professional Plus
Acceso 201924 de septiembre de 2018 Windows 10 Office 2019 Professional and Professional Plus

No hay versiones de Access entre la 2.0 y la 7.0 porque la versión de Office 95 se lanzó con Word 7. Todos los productos de Office 95 tienen capacidades OLE 2 y Access 7 muestra que era compatible con Word 7.

Se omitió la versión número 13.