Cómo separar datos en Microsoft Access

Access tiene la funcionalidad integrada de separar los datos de la interfaz y es la práctica recomendada para distribuir aplicaciones. Se llama "dividir la base de datos" (database splitting).

¿Cómo funciona?

Se separa el archivo <code>.accdbcode> en dos partes:

Archivo Contenido Ubicación típica
Back-end (<code>datos.accdbcode>) Solo tablas con los datos Servidor o carpeta compartida
Front-end (<code>app.accdbcode>) Formularios, consultas, informes, macros, VBA PC de cada usuario

¿Es ODBC?

No exactamente. Access usa su propio mecanismo de tablas vinculadas (linked tables), que internamente usa el motor ACE/Jet, no ODBC. La conexión se almacena en el front-end apuntando al back-end mediante una ruta UNC o local.

Puedes usar ODBC si el back-end es SQL Server, MySQL, PostgreSQL, etc., pero para un back-end que sigue siendo <code>.accdbcode>, se usan tablas vinculadas nativas.

Cómo dividir la base de datos

Opción 1 – Asistente automático (recomendado):

  1. Abre tu base de datos en Access.
  2. Ve a Herramientas de base de datos → Bases de datos de Access → Divisor de bases de datos. (NOTA: dependerá de tu versión de Access. Esto es para Microsoft Office LTSC Profesional Plus 2024)
  3. El asistente crea automáticamente el back-end y vincula las tablas.

Opción 2 – Manual:

  1. Copia el <code>.accdbcode> y elimina del back-end todo lo que no sean tablas.
  2. En el front-end, elimina las tablas locales y usa Datos externos → Access → Vincular para apuntar al back-end.

Redistribuir el front-end

Para empaquetar la aplicación:

  • Distribuye solo el front-end a cada usuario.
  • Necesitan tener instalado el Access Runtime (gratuito) si no tienen Access completo.
  • Puedes crear un instalador con el Package Solution Wizard (en versiones antiguas) o simplemente comprimir el <code>.accdbcode>/<code>.accdecode> con un acceso directo.

💡 Tip: Compila el front-end como <code>.accdecode> (equivalente a un ejecutable) para proteger el código VBA y evitar modificaciones accidentales.

¿Cuándo sí usar ODBC?

Si en el futuro quieres migrar el back-end a SQL Server (lo más recomendable para multiusuario o datos grandes), entonces sí se usa ODBC o el conector nativo de SQL Server, y Access actúa solo como interfaz gráfica.