Articulo de referencia

Microsoft Access

"},"discontinued":{"wt":""},"ver layout":{"wt":"stacked"},"latest release version":{"wt":"{{Latest stable software release/Microsoft Office}}"},"programming language":{"wt":"[[C...

Microsoft Access es un sistema de gestión de bases de datos (DBMS) de Microsoft que combina el motor de base de datos relacional Access (ACE) con una interfaz gráfica de usuario y herramientas de desarrollo de software. Forma parte del paquete de aplicaciones Microsoft 365 , incluido en las ediciones Professional y superiores, o bien 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 vincularse directamente a datos almacenados en otras aplicaciones y bases de datos. [ 6 ]

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 orientado a objetos que puede hacer referencia a diversos 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 VBA, y los módulos de código VBA pueden declarar y llamar a operaciones del sistema operativo Windows .

Historia

En la década de 1980, Microsoft Access hacía referencia a un programa de telecomunicaciones independiente que proporcionaba emulación de terminal e interfaces para facilitar el acceso a servicios en línea como Dow Jones , CompuServe y correo electrónico. [ 7 ] [ 8 ]

Con la popularización de la informática personal en el hogar y en el lugar de trabajo, en la década de 1990 las bases de datos de escritorio se volvieron comunes. [ 9 ] Antes de la introducción de Access, Borland (con Paradox ), Ashton-Tate (con dBase , adquirida por Borland en 1991) y Fox (con FoxPro ) dominaban el mercado de bases de datos de escritorio. Microsoft Access fue el primer programa de base de datos de consumo 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ó migrar del mundo de MS-DOS . [ 10 ]

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 . [ 11 ] A finales de la década de 1980, Microsoft desarrolló su propia solución con nombre en clave Omega. [ 12 ] En 1988 se confirmó que un producto de base de datos para Windows y OS/2 estaba en desarrollo. [ 13 ] [ 14 ] Iba a incluir el lenguaje Embedded Basic "EB", [ 12 ] que iba a ser el lenguaje para escribir macros en todas las aplicaciones de Microsoft, [ 15 ] pero la unificación de los lenguajes de macros no se produjo hasta la introducción de Visual Basic para Aplicaciones (VBA). También se esperaba que Omega proporcionara una interfaz para Microsoft SQL Server . [ 16 ] La aplicación era muy intensiva en recursos, y hubo informes de que funcionaba lentamente en los procesadores 386 que estaban disponibles en ese momento. [ 17 ] Su lanzamiento estaba previsto para el primer trimestre de 1990, [ 18 ] pero en 1989 el desarrollo del producto se reinició [ 11 ] [ 19 ] y se reprogramó para su entrega no antes de enero de 1991. [ 20 ] Partes del proyecto se utilizaron posteriormente para otros proyectos de Microsoft: Cirrus (nombre en clave de Access) y Thunder (nombre en clave de Visual Basic , donde se utilizó el motor Embedded Basic). [ 11 ] [ 12 ] Tras el estreno de Access, el proyecto Omega se presentó en 1992 a varios periodistas e incluía características que no estaban disponibles en Access. [ 21 ]

Proyecto Cirrus

Después de que el proyecto Omega fue descartado, algunos de sus desarrolladores fueron asignados al proyecto Cirrus (la mayoría fueron asignados al equipo que creó Visual Basic). [ 11 ] Su objetivo era crear un competidor para aplicaciones como Paradox o dBase que funcionara en Windows. [ 22 ] Después de que Microsoft adquiriera FoxPro , hubo rumores de que el proyecto de Microsoft podría ser reemplazado por él, [ 23 ] pero la compañía decidió desarrollarlos en paralelo. Se asumió que el proyecto usaría Extensible Storage Engine (Jet Blue) [ 24 ] pero, finalmente, solo se proporcionó soporte para Jet Database Engine (Jet Red). El proyecto usó parte del código tanto del proyecto Omega como de una versión preliminar de Visual Basic. [ 12 ] En julio de 1992, las versiones beta de Cirrus se enviaron a los desarrolladores [ 25 ] y el nombre Access se convirtió en el nombre oficial del producto. [ 26 ] "Access" se usó originalmente para un programa de emulación de terminal más antiguo de Microsoft. Años después de que el programa fuera abandonado, decidieron reutilizar el nombre aquí. [ 27 ]

Cronología

Logotipo de Access para Office 2000 y Office XP

Microsoft lanzó Access versión 1.0 el 16 de noviembre de 1992, [ 1 ] anunciando su disponibilidad inmediata en la feria comercial Comdex de otoño, y un lanzamiento de Access 1.1 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 eran Microsoft Windows v3.1, con 4  MB de RAM (se requerían 6  MB) y 8  MB de espacio disponible en el disco duro (se requerían 14  MB). El producto se distribuía 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 la primera base de datos de ejemplo "NorthWind Trader", que abarcaba todos los aspectos posibles de la programación de una base de datos. El ejemplo Northwind Trader introdujo por primera vez las funciones del panel de control principal, nuevas en Access 2.0 para 1994.

Con Office 95, Microsoft Access 7.0 (también conocido como "Access 95") pasó a formar parte de la suite Microsoft Office Professional, uniéndose a Microsoft Excel, Word y PowerPoint, y pasando de Access Basic a VBA. Desde entonces, Microsoft ha lanzado nuevas versiones de Microsoft Access con cada lanzamiento de Microsoft Office. [ 28 ]

Las versiones 3.0 y 3.5 del motor de base de datos Jet (utilizadas por Access 7.0 y Access 97, respectivamente) presentaban un problema crítico que hacía que estas versiones de Access fueran inutilizables en un equipo con más de 1  GB de memoria. [ 29 ] Si bien Microsoft solucionó este problema para Jet 3.5/Access 97 después de su lanzamiento, nunca lo solucionó para 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 son compatibles con el formato Access 2000. Se añadieron nuevas funciones al formato Access 2002, que pueden utilizarse en Access 2002, 2003, 2007 y 2010.

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

Microsoft Access 2007 introdujo un nuevo formato de base de datos: ACCDB. Este formato admite enlaces a listas de SharePoint y tipos de datos complejos , como campos multivalor y de archivos adjuntos. Estos nuevos tipos de campo son esencialmente conjuntos de registros y permiten almacenar varios valores o archivos en un solo campo. Microsoft Access 2007 también introdujo el campo de archivo adjunto, que almacenaba datos de forma más eficiente que el campo OLE (Object Linking and Embedding) .

El logotipo de Access desde 2013 hasta 2019.

Microsoft Access 2010 introdujo una nueva versión del formato ACCDB que permitía alojar servicios web de Access en un servidor SharePoint 2010. Por primera vez, esto permitió ejecutar aplicaciones de Access sin necesidad de instalar Access en el PC del usuario y supuso la primera compatibilidad con usuarios de Mac. Cualquier usuario del sitio SharePoint con los permisos suficientes podía utilizar el servicio web de Access. Aun así, el desarrollador necesitaba una copia de Access para crear el servicio web, y la versión de escritorio de Access seguía formando parte de Access 2010. Los servicios web de Access no eran iguales que las aplicaciones de escritorio. La automatización se realizaba únicamente mediante el lenguaje de macros (no VBA), que Access convertía automáticamente a JavaScript. Los datos ya no se almacenaban en una base de datos de Access, sino en listas de SharePoint. Una base de datos de escritorio de Access podía vincularse con los datos de SharePoint, lo que permitía crear aplicaciones híbridas para que los usuarios de SharePoint que necesitaban vistas y ediciones básicas pudieran acceder a ellas, mientras que las aplicaciones más sofisticadas y tradicionales podían permanecer en la base de datos de escritorio de Access.

Microsoft Access 2013 ofrece aplicaciones de escritorio tradicionales de Access, además de un servicio web SharePoint 2013 significativamente actualizado. [ 30 ] El modelo web de Access en Access 2010 fue reemplazado por una nueva arquitectura que almacena sus datos en bases de datos SQL Server reales. 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 se esperaría de SQL Server. [ 31 ] 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 redimensionamiento para diferentes dispositivos y compatibilidad con la función táctil. El escritorio de Access 2013 es similar a Access 2010, pero se descontinuaron varias características, incluida la compatibilidad con Access Data Projects (ADP), tablas dinámicas, gráficos dinámicos, colecciones de datos de Access, control de código fuente, replicación y otras características heredadas. [ 32 ] 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).

El logotipo de Access desde 2019 hasta 2025.

Microsoft Access ya no se incluye en la versión de compra única de Microsoft Office 2021 , pero permanece en la versión equivalente de Microsoft 365 , como las ediciones Apps for Business y Business Standard. Las nuevas características de Access 2021 incluyen un tipo de datos de fecha y hora de precisión extendida [ 33 ] y compatibilidad con el tema oscuro. [ 34 ]

Además de utilizar su propio archivo de almacenamiento de base de datos, Microsoft Access también puede utilizarse como interfaz de usuario (front-end) de un programa, mientras que otros productos actúan como bases de datos (back-end), como Microsoft SQL Server y productos de terceros como Oracle y Sybase . Una base de datos Jet de Microsoft Access puede utilizar múltiples fuentes de datos (formatos ACCDB y MDB). Del mismo modo, algunas aplicaciones como Visual Basic , ASP.NET o Visual Studio .NET utilizan el formato de base de datos de Microsoft Access para sus tablas y consultas. Microsoft Access también puede formar parte de una solución más compleja, integrándose con otras tecnologías como Microsoft Excel , Microsoft Outlook , Microsoft Word , Microsoft PowerPoint y controles ActiveX .

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

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

El programa incluye plantillas de bases de datos, que también se pueden descargar desde el sitio web de Microsoft. Estas opciones están disponibles al iniciar Access y permiten a los usuarios ampliar una base de datos con tablas, consultas , formularios, informes y macros predefinidos. Las plantillas de bases de datos admiten código VBA , pero las plantillas de Microsoft no lo incluyen.

Los programadores pueden crear soluciones usando VBA, similar a Visual Basic 6.0 (VB6) y utilizado en programas de Microsoft Office como Excel , Word , Outlook y PowerPoint . La mayor parte del código VB6, incluyendo el uso de llamadas a la API de Windows , se puede usar en VBA. Los usuarios avanzados y desarrolladores pueden ampliar las soluciones básicas para usuarios finales a una solución profesional con automatización avanzada, validación de datos , manejo de errores y soporte multiusuario.

El número 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 concurrentes). [ 35 ] Esta capacidad suele ser adecuada para soluciones departamentales. Si se utiliza una solución de base de datos Access en un escenario multiusuario, la aplicación debe estar "dividida". Esto significa que las tablas están en un archivo llamado back-end (normalmente 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 back-end. Cada usuario de la aplicación Access recibiría entonces su propia copia del archivo front-end.

Las aplicaciones que ejecutan consultas o análisis complejos en grandes conjuntos de datos requieren, naturalmente, mayor ancho de banda y memoria . Microsoft Access está diseñado para escalar y admitir más datos y usuarios mediante la conexió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 escalarse hasta alcanzar soluciones de nivel empresarial.

El papel de Microsoft Access en el desarrollo web antes de la versión 2010 es limitado. 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 llamado Páginas de acceso a datos creaba páginas web publicables. Las Páginas de acceso a datos ya no son compatibles. El motor de base de datos Jet , núcleo de Access, se puede acceder a través de tecnologías como ODBC u OLE DB . Los datos (es decir, tablas y consultas) se pueden acceder mediante aplicaciones web desarrolladas en ASP.NET , PHP o Java . Con el uso de los Servicios de Terminal Server y la Aplicación de Escritorio remoto de Microsoft en Windows Server 2008 R2, las organizaciones pueden alojar aplicaciones de Access para que se puedan ejecutar en la web. [ 36 ] Esta técnica no escala como lo haría una aplicación web, pero es apropiada para un número limitado de usuarios dependiendo de la configuración del host.

Access 2010 permite publicar bases de datos en sitios web de SharePoint 2010 que utilizan Access Services. Estos formularios e informes web se ejecutan en cualquier navegador web moderno. Al acceder a ellos a través de un navegador web, no se requieren complementos ni extensiones (por ejemplo, ActiveX y Silverlight ).

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

Los servicios de acceso en SharePoint se han retirado desde entonces. [ 37 ]

Se puede crear una versión compilada de una base de datos de Access (con extensiones de archivo .MDE/.ACCDE o .ADE; ACCDE solo funciona con Access 2007 o posterior) para impedir que los usuarios accedan a las superficies de diseño y modifiquen el código de los módulos, 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 el código fuente editable eliminado. Ambas versiones, .MDE y .ADE, 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 para desarrolladores que se pueden 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 mediante macros . Los usuarios avanzados pueden usar VBA para crear soluciones complejas con manipulación de datos avanzada y control por parte del usuario. Access también incluye funciones de creación de informes que funcionan con cualquier origen de datos al que Access tenga acceso.

El concepto original de Access era que los usuarios finales pudieran acceder a datos desde cualquier fuente. Otras características incluyen: la importación y exportación de datos a diversos formatos, como Excel , Outlook , ASCII , dBase , Paradox , FoxPro , SQL Server y Oracle . También permite vincularse a datos en su ubicación original y utilizarlos para visualizarlos, consultarlos, editarlos y generar informes. Esto permite que los datos existentes se actualicen, garantizando que Access utilice siempre la información más reciente. Puede realizar uniones heterogéneas entre conjuntos de datos almacenados en diferentes plataformas. Access suele ser utilizado por personas que descargan datos de bases de datos empresariales para su manipulación, análisis y generación de informes localmente.

También existe el formato de base de datos de Access (ACE, anteriormente Jet) (MDB o ACCDB en Access 2007), que puede contener la aplicación y los datos en un solo archivo. Esto facilita enormemente la distribución de la aplicación completa a otro usuario, quien podrá ejecutarla en entornos sin conexión.

Una de las ventajas de Access desde la perspectiva del programador es su relativa compatibilidad con SQL ( lenguaje de consulta estructurado ): las consultas se pueden visualizar gráficamente o editar como sentencias SQL, y estas últimas se pueden usar directamente en macros y módulos VBA para manipular tablas de Access. Los usuarios pueden combinar VBA y macros para programar formularios y lógica, lo que ofrece posibilidades de programación orientada a objetos . VBA también se puede incluir en las consultas.

Microsoft Access ofrece consultas parametrizadas . Estas consultas y tablas de Access pueden ser referenciadas desde otros programas como VB6 y .NET a través de DAO o ADO . Desde Microsoft Access, VBA puede referenciar procedimientos almacenados parametrizados mediante ADO.

Las ediciones de escritorio de Microsoft SQL Server se pueden usar con Access como alternativa al motor de base de datos Jet . Esta compatibilidad 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 servidor de archivos . A diferencia de los sistemas de gestión de bases de datos relacionales (RDBMS) cliente-servidor , Microsoft Access no implementa desencadenadores de base de datos , procedimientos almacenados ni registro de transacciones . Access 2010 incluye desencadenadores a nivel de tabla y procedimientos almacenados integrados en el motor de datos ACE. Por lo tanto, no se requiere un sistema de base de datos cliente-servidor para usar procedimientos almacenados o desencadenadores de tabla con Access 2010. Ahora se pueden desarrollar tablas, consultas, formularios, informes y macros específicamente para aplicaciones web en Access 2010. La integración con Microsoft SharePoint 2010 también ha mejorado considerablemente.

La edición de 2013 de Microsoft Access introdujo un diseño mayoritariamente plano y la posibilidad de instalar aplicaciones desde la Tienda Office, pero no incorporó nuevas funciones. El tema se actualizó parcialmente de nuevo en 2016, pero no se creó ningún tema oscuro para Access.

Servicios de acceso y base de datos web

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

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

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

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

Entorno de ejecución de Microsoft Access

Microsoft ofrece versiones 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. Esto permite a los desarrolladores de Access crear bases de datos que pueden distribuirse libremente a un número ilimitado de usuarios finales. Estas versiones de ejecución de Access 2007 y posteriores se pueden descargar gratuitamente desde Microsoft. [ 43 ] Las versiones 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. Esta versión no permite a los usuarios modificar el diseño de tablas, consultas, formularios, informes, macros ni código de módulo de Microsoft Access. Las versiones de tiempo de ejecución son similares a sus versiones completas correspondientes de Access y, por lo general, son compatibles con versiones anteriores; por ejemplo, Access Runtime 2010 permite ejecutar una aplicación de Access creada con la versión 2010, así como con versiones de 2007 a 2000. Debido a las características obsoletas de Access 2013, su versión de tiempo de ejecución tampoco es compatible con dichas características antiguas. Durante el desarrollo, se puede simular el entorno de tiempo de ejecución de la versión completamente funcional mediante la /runtimeopción de línea de comandos . [ 44 ]

Desarrollo

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

Para el desarrollo de consultas, Access ofrece el Diseñador de Consultas, una interfaz gráfica que permite crear consultas sin necesidad de conocimientos de lenguaje de consulta estructurado (SQL). En el Diseñador de Consultas, los usuarios pueden visualizar los orígenes de datos (tablas o consultas) y seleccionar los campos que desean obtener arrastrando y soltando en la cuadrícula. Se pueden crear combinaciones arrastrando y soltando campos de una tabla a otra. Access permite visualizar y manipular el código SQL si se desea. Cualquier tabla de Access, incluidas las tablas vinculadas de diferentes orígenes de datos, puede utilizarse en una consulta.

Access también admite la creación de consultas de paso directo. Estos fragmentos de código SQL pueden acceder a fuentes de datos externas mediante conexiones ODBC en la máquina local. Esto permite a los usuarios interactuar con datos almacenados fuera del programa Access sin usar tablas vinculadas ni Jet. [ 45 ] Los usuarios construyen las consultas de paso directo utilizando la sintaxis SQL compatible con la fuente de datos externa.

Al desarrollar informes (en la vista de diseño), las adiciones o modificaciones a los controles provocan la ejecución en segundo plano de las consultas vinculadas, lo que obliga al diseñador a esperar a que se devuelvan los registros antes de poder realizar otro cambio. Esta función no se puede desactivar.

Los usuarios sin conocimientos de programación pueden usar la función de macros para automatizar tareas sencillas mediante una serie de selecciones desplegables. Las macros permiten encadenar comandos fácilmente, como ejecutar consultas, importar o exportar datos, abrir y cerrar formularios, previsualizar e imprimir informes, etc. Admiten lógica básica (condiciones IF) y la posibilidad de llamar a otras macros. También pueden contener submacros, similares a las subrutinas. En Access 2007, las macros mejoradas incluían gestión de errores y compatibilidad con variables temporales . Access 2007 también introdujo las macros incrustadas, que son esencialmente propiedades del evento de un objeto. Esto eliminó la necesidad de almacenar las macros como objetos individuales. Sin embargo, hasta Access 2013, la funcionalidad de las macros se vio limitada por la falta de bucles de programación y lógica de codificación avanzada. Con las importantes mejoras introducidas en Access 2013, las capacidades de las macros se volvieron totalmente comparables a las de VBA. Esto hizo posible la implementación de aplicaciones web con muchas funciones, a través de una interfaz y herramientas de Microsoft SharePoint mucho más avanzadas, así como en equipos de escritorio Windows tradicionales.

Al igual que otros productos de la suite Microsoft Office, Access utiliza el lenguaje de programación Microsoft VBA. Es similar a Visual Basic 6.0 (VB6) y permite almacenar el código en módulos, clases y en el código subyacente de formularios e informes. Para crear un producto final más completo, eficiente y fácil de mantener, con un buen manejo de errores, la mayoría de las aplicaciones profesionales de Access se desarrollan con el lenguaje de programación VBA en lugar de macros, salvo cuando 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. Objetos de acceso a datos (DAO) (solo de 32 bits), que se incluye en Access y Windows y evolucionó a ACE en Microsoft Access 2007 para el formato de base de datos ACCDE.
  2. Objetos de datos ActiveX ( ADO) (versiones de 32 y 64 bits)

Además de DAO y ADO, los desarrolladores también pueden usar OLE DB y ODBC para desarrollar programas nativos en C/C++ para Access. [ 46 ] Para ADP y la manipulación directa de datos de SQL Server, se requiere ADO. DAO es la opción más adecuada para administrar datos en bases de datos Access/Jet y la única forma de manipular los tipos de campos complejos en 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 (p. ej., tabla, consulta, macro). Muchos desarrolladores de Access utilizan la convención de nomenclatura de Leszynski , aunque no es universal; se trata de una convención de programación, no de una regla impuesta por el sistema de gestión de bases de datos (DBMS). [ 47 ] [ 48 ] Resulta particularmente útil en VBA, donde las referencias a los nombres de los objetos pueden no indicar su tipo de datos (p. ej., 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 velocidad de Access 97 se realizó para 32 usuarios). [ 49 ] 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 la RAM) y 200 usuarios simultáneos están dentro de las capacidades de Microsoft Access. [ 50 ] Por supuesto, el rendimiento depende del diseño de la base de datos y las tareas. El trabajo intensivo en disco, como la búsqueda y consulta complejas, consume más tiempo.

Como los datos de una base de datos de Microsoft Access se pueden almacenar en caché en la 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 provocaba que las bases de datos de Access se ejecutaran lentamente en una red privada virtual (VPN) o una red de área amplia (WAN) frente a una base de datos Jet. A partir de 2010,Las conexiones de banda ancha han mitigado este problema. El rendimiento también puede mejorarse si se mantiene una conexión continua con la base de datos durante toda la sesión, en lugar de abrirla y cerrarla para cada acceso a una tabla.

En julio de 2011, Microsoft reconoció un problema intermitente de rendimiento de consultas en todas las versiones de Access y Windows 7 y Windows Server 2008 R2 debido a que la administración de recursos es muy diferente en los sistemas operativos más recientes. [ 51 ] Este problema afecta gravemente el rendimiento de las consultas tanto en Access 2003 y versiones anteriores con el código del motor de base de datos Jet , como en Access 2007 y versiones posteriores con el motor de base de datos Access (ACE). [ 51 ] 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 principal. [ 51 ]

En versiones anteriores de Microsoft Access, la capacidad de distribuir aplicaciones requería la compra del Kit de herramientas para desarrolladores; en Access 2007, 2010 y Access 2013, la versión "Solo tiempo de ejecución" se ofrece como descarga gratuita, [ 52 ] lo que hace posible la distribución de aplicaciones libres de regalías en Windows XP, Vista, 7 y Windows 8.x. [ 53 ]

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 archivo de "back-end" independiente que contiene las tablas de datos (compartido 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). La aplicación Access "front-end" 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 equipo junto con su base de datos de la aplicación. Esto reduce el tráfico de red, ya que la aplicación no se descarga para cada uso. La base de datos "front-end" aún puede contener tablas locales para almacenar la configuración del 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, lo que 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 [ 54 ] y Linked Table Manager, para facilitar esta arquitectura.

Las tablas vinculadas en Access utilizan 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 bien se puede escribir una rutina de "enlazador dinámico" en VBA .

Para bases de datos Access muy grandes, esto puede generar problemas de rendimiento, por lo que conviene considerar un sistema SQL. Este problema es menor si la base de datos completa cabe en la memoria RAM del ordenador, ya que Access almacena en caché los datos y los índices.

Migración a SQL Server

Para escalar las aplicaciones de Access a soluciones empresariales o web, una técnica posible 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.

Access 2000 a Access 2010 incluía una función llamada Asistente de ampliació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ó en 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. [ 55 ]

Hay varias opciones de actualización disponibles. [ 56 ] 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 SQL, sujeta a limitaciones de conversión de tipos de datos:

  • Tipos "Sí/No": En Microsoft Access, el tipo de datos Sí/No (Verdadero/Falso) tiene tres estados: vacío, no/falso (0) y sí/verdadero (−1). El tipo de datos correspondiente en SQL Server es binario, con solo dos estados; los valores permitidos son 0 y 1.
  • Fecha/Hora (Extendida): El formato smalldatetime de SQL Server tiene una precisión de 1 minuto, el valor mínimo de fecha es 1900-01-01, el valor máximo de fecha es 2079-06-06; el formato datetime tiene una precisión de 10/3 milisegundos (redondeado a incrementos de .000, .003 o .007 segundos), el valor mínimo de fecha es 1753-01-01, el valor máximo de fecha es 9999-12-31; el formato datetime2 tiene una precisión de 100 nanosegundos, el valor mínimo de fecha es 0001-01-01, el mismo valor máximo de fecha que datetime. Fecha/Hora y Fecha/Hora Extendida de Access tienen mayor precisión que smalldatetime y datetime y datetime2, y un rango de fechas más amplio que los formatos smalldatetime y datetime de SQL Server.

En cualquier caso, SQL Server sigue siendo la opción más sencilla para la migración. La recuperación de datos de tablas vinculadas está optimizada para obtener solo los registros necesarios, pero este escenario puede ser menos eficiente que lo que sería óptimo para SQL Server. Por ejemplo, en casos donde las uniones de varias tablas aún requieren copiar la tabla completa a través de la red.

En versiones anteriores de Access, como Access 2010, las bases de datos también se podían convertir en Proyectos de Datos de Access (ADP), que se vinculaban directamente a una base de datos de SQL Server. Esta función se eliminó en Access 2013. Los ADP permiten 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 en las uniones de varias tablas. SQL Server admite tablas temporales y vínculos a otras fuentes de datos además de la base de datos de SQL Server.

Finalmente, algunas bases de datos de Access se reemplazan por completo con otras tecnologías como ASP.NET o Java una vez convertidos 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 las aplicaciones de Access, tanto VBA como macros, se escriben a un nivel relativamente superior al de las alternativas disponibles actualmente, que son robustas y completas. 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 web directas para la gestión de datos utilizando ASP.NET, manteniendo en Access los principales procesos de automatización empresarial, las funciones administrativas y de generación de informes que no necesitan distribuirse a todos los usuarios para que los trabajadores de la información puedan mantenerlos.

Si bien todos los datos de Access se pueden migrar directamente a SQL Server, algunas consultas no se pueden migrar correctamente. En ciertos casos, es posible que deba traducir las funciones VBA y las funciones definidas por el usuario a funciones o procedimientos T-SQL o .NET. Las consultas de tabla cruzada se pueden migrar a SQL Server mediante el comando PIVOT.

Protección

Las aplicaciones de Microsoft Access se pueden proteger mediante diversos métodos, el más básico de los cuales es el control de acceso mediante contraseña; sin embargo, esta es una forma de protección relativamente débil.

Un nivel superior de protección es el uso de la seguridad de grupo de trabajo, que requiere un nombre de usuario y una contraseña . Los usuarios y grupos se pueden especificar junto con sus permisos a nivel de tipo de objeto o de objeto individual. Esto permite especificar personas con permisos de solo lectura o de entrada de datos, aunque puede resultar complejo. Un archivo de seguridad de grupo de trabajo independiente contiene la configuración que se puede usar para administrar varias bases de datos. La seguridad de 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 la admiten para bases de datos MDB.

Las bases de datos también pueden cifrarse. El formato ACCDB ofrece un cifrado significativamente más avanzado que las versiones anteriores. [ 57 ]

Además, si se necesita proteger el diseño de la base de datos para evitar modificaciones, las bases de datos de Access se pueden bloquear/proteger (y compilar el código fuente ) convirtiéndolas a un archivo .MDE. Todos los cambios en el proyecto VBA (módulos, formularios o informes) deben realizarse en el archivo MDB original y luego reconvertirse a MDE. En Access 2007 y Access 2010, la base de datos ACCDB se convierte a un archivo ACCDE. Existen algunas herramientas para desbloquear y " descompilar ", aunque ciertos elementos, como los comentarios y el formato VBA originales, suelen ser irrecuperables.

extensiones de archivo

Izquierda: Icono de .mdbarchivos. Derecha: Icono de .accdbarchivos. Los formatos de archivo se diferencian mediante el logotipo de Access, como se ve en Office 2000, y el logotipo de la versión actual de Access.

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

Versiones

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

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

Véase también

Referencias

  1. 1 2 3 "La historia de Microsoft - 1992 | La historia de Microsoft | Canal 9" . channel9.msdn.com . 4 de junio de 2009. Archivado del original el 26 de septiembre de 2010. Consultado el 14 de octubre de 2025. [ ...] 16 de noviembre de 1992. En COMDEX Fall 1992 en Las Vegas, Nevada, Microsoft anuncia la disponibilidad de Access Database para Windows. [...]
  2. 1 2 "Historial de actualizaciones para Office LTSC 2024 y Office 2024" . Microsoft Learn .
  3. 1 2 "Historial de actualizaciones para Office LTSC 2021 y Office 2021" . Microsoft Learn .
  4. 1 2 "Historial de actualizaciones para Office 2016 C2R y Office 2019" . Microsoft Learn .
  5. "C++ en MS Office" . cppcon. 17 de julio de 2014. Archivado del original el 7 de noviembre de 2019. Consultado el 25 de junio de 2019 .
  6. 1 2 "Introducción a la importación y exportación de datos" . Microsoft . Consultado el 15 de octubre de 2010 .
  7. PC Mag . Ziff Davis, Inc. 15 de octubre de 1985.
  8. "Programa de acceso a información empresarial de Microsoft Access 1.0x" . WinWorld . Consultado el 23 de mayo de 2022 .
  9. Blaser, Albrecht, ed. (1990). Sistemas de bases de datos de los años 90. Lecture Notes in Computer Science. Vol. 466. doi : 10.1007/3-540-53397-4 . ISBN  978-3-540-53397-9ISSN 0302-9743 
  10. "Historial de Microsoft Access" . Consultado el 13 de marzo de 2016 .
  11. 1 2 3 4 Goodhew, Tony (1996). "Motor a reacción: historia" . Recuperado el 2 de enero de 2011 .
  12. 1 2 3 4 Ferguson, Scott. "El nacimiento de Visual Basic" .
  13. Brownstein, Mark; Johnston, Stuart J. (14 de noviembre de 1988). "Microsoft trabaja en la base de datos SAA" . InfoWorld . pág. 5. 
  14. Brownstein, Mark (13 de febrero de 1989). "Microsoft da los últimos retoques a las aplicaciones de Windows" . InfoWorld . pág. 5. 
  15. Flynn, Laurie (8 de mayo de 1989). "Aplicaciones de Microsoft para compartir lenguaje de macros" . InfoWorld . pág. 1. 
  16. Flynn, Laurie (21 de agosto de 1989). "Microsoft espera las interfaces SQL" . InfoWorld . pág. 109. 
  17. Cringely, Robert X. (4 de septiembre de 1989). "Gates afirma que los sistemas 80286 ya no son sus bebés" . InfoWorld . pág. 82. 
  18. Cringely, Robert X. (31 de julio de 1989). "De ninguna manera, la industria de las PC siempre estará dominada por Doritos" . InfoWorld . pág. 86. 
  19. Cringely, Robert X. (16 de octubre de 1989). "Ejecutivo de Lotus relata su terrible experiencia: 'Los extraterrestres me obligan a usar MS Windows'"" . InfoWorld . pág.  106.
  20. Cringely, Robert X. (20 de noviembre de 1989). "Elvis, ahora encargado de un estacionamiento en Las Vegas, retrasa aún más el Intel 486" . InfoWorld . pág. 106. 
  21. Mace, Scott (30 de noviembre de 1992). "Microsoft presenta su desafortunado Omega" . InfoWorld . pág. 16. 
  22. Picarille, Lisa; Mace, Scott (30 de marzo de 1992). "La compra de Fox por parte de Microsoft agita el mercado de XBase" . InfoWorld . pág. 1. Cirrus (...) competirá directamente con Paradox y el programa Metaphor de Metaphor Computer Systems. 
  23. Cringely, Robert X. (4 de noviembre de 1991). "Cualquier disfraz que use Eckhard probablemente asustará a Silicon Graphics" . InfoWorld . pág. 118. (...) rumor (...) de que FoxPro podría reemplazar la base de datos de Redmond, largamente retrasada, ahora con nombre en clave Cirrus. 
  24. Mace, Scott (29 de junio de 1992). "Microsoft crea una API para complementar ODBC" . InfoWorld . pág. 1. El soporte para Open ISAM estará presente en el próximo sistema de gestión de bases de datos Cirrus de Microsoft para Windows. 
  25. "Los desarrolladores obtienen la versión beta del sistema de gestión de bases de datos de Microsoft" . InfoWorld . 13 de julio de 1992. pág. 3. 
  26. Johnston, Stuart J. (20 de julio de 1998). "Cirrus apodado Access; se lanza una versión beta más rápida" . InfoWorld . pág. 1. 
  27. "¿De dónde viene el nombre de Microsoft Access?" . The Old New Thing . Microsoft. 13 de abril de 2006 . Consultado el 13 de marzo de 2016 .
  28. "Historial de versiones, Service Packs, parches y actualizaciones de Microsoft Access" . FMS . Consultado el 20 de agosto de 2023 .
  29. Error "Memoria insuficiente" al iniciar Microsoft Access
  30. "Cambios en Access" . Microsoft . Consultado el 13 de marzo de 2016 .
  31. 1 2 "Novedades en Access para desarrolladores" . Microsoft . Consultado el 13 de marzo de 2016 .
  32. "Funciones descontinuadas y funcionalidad modificada en Access 2013" . Microsoft . Consultado el 13 de marzo de 2016 .
  33. "Uso del tipo de datos Fecha/Hora Extendido" .
  34. "Novedades de Access 2021" .
  35. "Migrar una base de datos de Access a SQL Server" . support.microsoft.com . Consultado el 15 de octubre de 2021 .
  36. "Uso de Terminal Services y RemoteApp para extender Microsoft Access y otras aplicaciones de Windows a través de Internet" . Consultado el 13 de marzo de 2016 .
  37. "Hoja de ruta de los servicios de acceso en SharePoint" . Microsoft . Consultado el 20 de mayo de 2019 .
  38. "Crear formularios web ASP.NET para usar una base de datos de Microsoft Access" . Consultado el 13 de junio de 2017 .
  39. "Creación de bases de datos web con Access 2010 y Access Services" . Msdn.microsoft.com. 22 de julio de 2009. Consultado el 24 de abril de 2013 .
  40. "Aplicaciones web y ejemplos de Microsoft Access 2013" . access-templates.com . Consultado el 4 de septiembre de 2017 .
  41. "De vuelta por demanda popular: compatibilidad con archivos dBASE en Access" . Blogs de Office . Microsoft . 7 de septiembre de 2016. Consultado el 20 de agosto de 2017 .
  42. 1 2 "Funciones descontinuadas y funcionalidad modificada en Access 2010" . Office.com . Microsoft . Consultado el 17 de enero de 2014 .
  43. "Distribución de Microsoft Access Runtime y descargas gratuitas" . Consultado el 15 de junio de 2016 .
  44. "Simulación del entorno de ejecución de Microsoft Access durante el desarrollo" . Consultado el 15 de junio de 2016 .
  45. Sinclair, Russell (2000). Desde el acceso al servidor SQL . Serie Apress. Apress. pág. 39. ISBN  978-1-893115-24-8. Consultado el 8 de julio de 2010. Las consultas SQL de paso directo son consultas en las que se puede introducir una instrucción que se pasa directamente al controlador ODBC sin que el motor Jet la valide ni la analice de ninguna manera.
  46. Aleksandar Jakšić (agosto de 2008). "Desarrollo de soluciones Access 2007 con C o C++ nativo" . Microsoft Corporation . Consultado el 22 de septiembre de 2008 .
  47. "Convenciones de nomenclatura" . Microsoft. 9 de julio de 2007. Consultado el 13 de marzo de 2016 .
  48. Convenciones de nomenclatura para Visual Basic
  49. Kevin Collins (Microsoft Jet Program Management ), "Microsoft Jet 3.5 Performance Overview and Optimization Techniques", MSDN. Consultado el 19 de julio de 2005.
  50. "Escalabilidad de la base de datos de Microsoft Access: ¿Cuántos usuarios puede soportar?" . Blog del equipo de desarrollo de software de FMS . 31 de mayo de 2011 . Consultado el 13 de marzo de 2016 .
  51. 1 2 3 Consulta de Access 2002 muy lenta con Windows 7
  52. "Programas de distribución de Microsoft Access Runtime y descargas gratuitas" . Consultado el 13 de marzo de 2016 .
  53. "Descargar Microsoft Access 2010 Runtime desde el Centro de descargas oficial de Microsoft" . Microsoft . Consultado el 13 de marzo de 2016 .
  54. "Arquitectura de base de datos dividida de Microsoft Access para admitir entornos multiusuario, mejorar el rendimiento y simplificar el mantenimiento" . Fmsinc.com . Consultado el 24 de abril de 2013 .
  55. "Microsoft SQL Server Migration Assistant 7.10 for Access" . Microsoft.com . Consultado el 20 de octubre de 2018 .
  56. "Cuándo y cómo migrar bases de datos de Microsoft Access a SQL Server" . Consultado el 13 de marzo de 2016 .
  57. "Consideraciones de seguridad y orientación para Access 2007" . Microsoft. 5 de mayo de 2014. Consultado el 13 de marzo de 2016 .
  58. "Información sobre el ciclo de vida de Microsoft Access" . Consultado el 23 de octubre de 2011 .
  59. 1 2 3 4 "Historial de versiones, Service Packs, parches y actualizaciones de Microsoft Access" . FMS . Consultado el 20 de julio de 2015 .
  60. "Capítulo 5 – Requisitos del sistema para MS Office" . Kit de recursos de Office 97. Microsoft . Consultado el 2 de mayo de 2013 .
  61. "Requisitos del sistema de Office 2000" . Sitio web de Microsoft Office . Microsoft. Archivado del original el 2 de febrero de 2012. Consultado el 2 de mayo de 2013 .
  62. "Requisitos del sistema de Office XP" . Sitio web de Microsoft Office . Microsoft. Archivado del original el 4 de marzo de 2013. Consultado el 2 de mayo de 2013 .
  63. "Licencias y requisitos del sistema de Office 2003" . Sitio web de Microsoft Office . Microsoft. Archivado del original el 15 de junio de 2013. Consultado el 2 de mayo de 2013 .
  64. "Primeros pasos con el sistema Office 2007" . Microsoft TechNet . Microsoft. 28 de abril de 2009. Consultado el 2 de mayo de 2013 .
  65. "Requisitos del sistema para Office 2010" . Microsoft TechNet . Microsoft. 19 de febrero de 2013. Consultado el 2 de mayo de 2013 .
  66. "Requisitos del sistema para Office 2013" . Microsoft TechNet . Microsoft. 16 de diciembre de 2016. Consultado el 15 de agosto de 2017 .
  67. "Microsoft Access 2016" . Microsoft.
  68. "Microsoft Access 2019" . Microsoft.
  69. 1 2 "Aplicaciones de Microsoft 365 para empresas" . Microsoft.
  70. "Requisitos del sistema de Microsoft 365" . Microsoft.
  71. "Access 2024" . Microsoft.
  72. "Microsoft 365 Business Premium, Standard y Basic" . Microsoft.
  73. "Microsoft 365 Enterprise" . Microsoft.
  • Sitio web oficialEdita esto en Wikidata
  • Acceder al blog
  • Historial de versiones, Service Packs, revisiones y actualizaciones de Microsoft Access