Tengo varios archivos accdb. La mayoría de ellos (los llamaré esclavos) solo tienen tablas y consultas y solo uno (lo llamaré maestro) tiene macros vba que actúan sobre los otros archivos como un motor.
Ahora necesito usar directamente en un archivo 'esclavo' una macro almacenada en el archivo 'maestro', pero no quiero duplicarla porque si hago algún cambio en el código vba en el archivo maestro, también necesitaré replicar el mismo cambio en el código 'esclavo'.
Es posible vincular tablas entre archivos accdb. También es posible vincular consultas entre archivos accdb (usando la ruta completa en la declaración SQL)
Mi pregunta es: ¿existe alguna posibilidad de vincular un código de macro vba desde un archivo de acceso a otro archivo de acceso de manera similar al administrador de tablas de importación o la declaración SQL de consulta de "ruta absoluta"?
Respuesta1
- Cree un nuevo módulo (o abra alguno existente) en el editor VBA de la base de datos "esclava".
- Herramientas-Referencias, busque la base de datos "maestra" (mediante la perilla Examinar) y agréguela.
- Utilice subs/funciones públicas de la base de datos "maestra" en código "esclavo".
Evitar interferencias de nombres (proyecto, módulo, sub/función, variable...).