Cómo Access resuelve las referencias de Visual Basic para Aplicaciones

Número de KB original: 824255

Nota:

Este artículo se aplica a una base de datos de Microsoft Access (.mdb) y a un proyecto de Microsoft Access (.adp). Requiere conocimientos expertos de codificación, interoperabilidad y multiusuario.

Resumen

En este artículo se describe la secuencia de tareas que Realiza Microsoft Office Access 2007, Microsoft Office Access 2003, Microsoft Access 2002, Access 2000 o Access 97 para resolver las referencias en Microsoft Visual Basic para Aplicaciones (VBA).

Más información

Importante

Esta sección, método o tarea contiene pasos que le indican cómo modificar el Registro. No obstante, pueden producirse problemas graves si modifica el registro de manera incorrecta. En consecuencia, asegúrese de seguir estos pasos cuidadosamente. Para mayor protección, cree una copia de seguridad del registro antes de modificarlo. Después, puede restaurar el registro si se produce un problema. Para obtener más información sobre cómo hacer una copia de seguridad y restaurar el Registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base: 322756 Cómo hacer una copia de seguridad y restaurar el Registro en Windows.

En Access, puede ver las referencias de VBA que están seleccionadas actualmente mediante el Editor de Visual Basic. Para ello, siga estos pasos:

  1. Iniciar acceso.

  2. Abra una base de datos de Access.

  3. Presione ALT+F11 para abrir la Editor de Visual Basic.

  4. En la ventana Editor de Visual Basic, haga clic en Referencias en el menú Herramientas.

    En el cuadro de diálogo Referencias , puede ver las referencias seleccionadas.

Nota:

Al seleccionar una referencia, también puede ver la información que corresponde al archivo que se debe cargar para usar la referencia.

El archivo pertinente puede ser una biblioteca de tipos, una biblioteca de objetos o una biblioteca de controles. El archivo pertinente para cada referencia se carga según la información que aparece en el cuadro de diálogo Referencias . Sin embargo, si no se encuentra el archivo, Access busca el archivo en diferentes ubicaciones del equipo.

Para cada referencia de VBA seleccionada, Access realiza las siguientes tareas:

  • Access comprueba si el archivo al que se hace referencia ya está cargado.

  • Access comprueba si la clave del RefLibPaths Registro existe si el archivo al que se hace referencia no está cargado actualmente.

    Si existe la clave del RefLibPaths Registro, Access busca un valor con nombre que tenga el mismo nombre que la referencia. Si hay una coincidencia, Access carga la referencia de la ruta de acceso que se menciona en el valor con nombre.

    Nota:

    Puede agregar manualmente la clave del RefLibPaths Registro al Registro y, a continuación, puede agregar los nombres y las ubicaciones de cualquier complemento o de cualquier biblioteca que esté bajo la clave del RefLibPaths Registro. Para ello, siga estos pasos:

    1. Haga clic enInicio y, a continuación, en Ejecutar.

    2. En el cuadro Abrir, escriba regedit y luego haga clic en Aceptar.

    3. En la ventana Editor del Registro, busque la siguiente clave del Registro:

      Access 2007: HKEY_LOCAL_MACHINE\Software\Microsoft\Office\12.0\Access

      Access 2003: HKEY_LOCAL_MACHINE\Software\Microsoft\Office\11.0\Access

      Access 2002: HKEY_LOCAL_MACHINE\Software\Microsoft\Office\10.0\Access

      Access 2000: HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0\Access

      Acceso 97: HKEY_LOCAL_MACHINE\Software\Microsoft\Office\8.0\Access

    4. Haga clic con el botón derecho en la clave del Registro de Access , seleccione Nuevo y, a continuación, haga clic en Clave.

    5. Asigne un nombre a la clave RefLibPathsrecién creada.

    6. Haga clic en RefLibPaths.

    7. Haga clic con el botón derecho en cualquier lugar del panel derecho y, a continuación, haga clic en Valor de cadena.

    8. Asigne al valor string recién creado el nombre con el mismo nombre que la referencia de VBA.

    9. Haga clic con el botón derecho en el valor de cadena que creó en el paso 8 y, a continuación, haga clic en Modificar.

    10. En el cuadro de diálogo Editar cadena , escriba la ubicación del archivo que se debe cargar para corresponder a la referencia en VBA.

      El nombre del valor del Registro debe ser el nombre de archivo más la extensión. La ubicación (datos de valor) debe ser la ruta de acceso más el nombre de archivo. Por ejemplo, si establece una referencia a la base de datos de ejemplo Northwind, puede agregar los siguientes valores:

      • Nombre del valor: Northwind.mdb
      • Datos de valor: C:\Program Files\Microsoft Office\Office11\Samples\Northwind.mdb
    11. Repita el paso 7 al 10 para agregar los nombres y agregar las ubicaciones de los complementos adecuados o de las bibliotecas adecuadas como valores string.

    12. En el menú Archivo, haga clic en Salir.

  • Access usaSearchPathAPI para buscar el archivo al que se hace referencia si la clave del Registro RefLibPaths no existe o no contiene una referencia correcta. Se realizan las siguientes búsquedas.

    Área de búsqueda Descripción
    Directorio de aplicaciones Ubicación de Msaccess.exe.
    Directorio actual Directorio que verá si hace clic en Abrir en el menú Archivo .
    Directorio del sistema La carpeta Sistema y la carpeta System32 que se encuentran en la carpeta Windows o en la carpeta WINNT.
    WinDir Carpeta donde se ejecutan los archivos del sistema operativo. Normalmente se trata de la carpeta Windows o la carpeta WINNT.
    Variable de entorno PATH Esta variable del sistema contiene una lista de carpetas a las que el sistema puede acceder directamente. Microsoft Windows NT 4.0: en Panel de control, haga doble clic en Sistemay, a continuación, haga clic en la pestaña Entorno. La variable PATH se encuentra en la lista Variables del sistema. Microsoft Windows 2000, Microsoft Windows XP y Microsoft Windows Server 2003: en Panel de control, haga doble clic en Sistema, haga clic en la pestaña Opciones avanzadas y, a continuación, haga clic en Variables de entorno. PATH se encuentra en la lista Variables del sistema . Microsoft Windows Vista: en Panel de control, abra el elemento "Sistema y mantenimiento". Haga clic en Sistema, en Configuración avanzada del sistema, en la pestaña Opciones avanzadas y, a continuación, en Variables de entorno. La ruta de acceso está en la lista Variables del sistema
    Directorio de archivos La carpeta que contiene el archivo .mdb, el archivo .mde, el archivo .adp o el archivo .ade y cualquier subcarpeta.

Nota:

Access no requiere la clave del RefLibPaths Registro si el archivo al que desea hacer referencia se encuentra en cualquiera de los directorios que se mencionan en la tabla.

Si Access no encuentra la referencia, recibirá el siguiente mensaje de error al compilar el proyecto o al intentar ejecutar un procedimiento:

La base de datos o el proyecto de Microsoft Office Access contiene una referencia perdida o rota al nombre del archivo.
*Para asegurarse de que la base de datos o el proyecto funcionan correctamente, debe corregir esta referencia.

Nota:

Mientras la base de datos está abierta, recibirá el mensaje de error anterior una vez por cada referencia rota.

Por ejemplo, si abre MyDatabase.mdb y MyDatabase.mdb falta una referencia al control de calendario de Microsoft y a la biblioteca DAO de Microsoft, recibirá dos mensajes de error, uno por cada referencia que falte. No recibirá los mensajes de error de nuevo a menos que no corrija las referencias, cierre la base de datos y vuelva a abrir la base de datos. Si corrige las referencias y, a continuación, guarda la base de datos, no recibirá los mensajes de error la próxima vez que abra la base de datos.

La propiedad BrokenReference

El objeto Application para Access tiene una BrokenReference propiedad que le indica si se interrumpen las referencias. Para comprobar la BrokenReference propiedad, siga estos pasos:

  1. Iniciar acceso.

  2. Abra una base de datos de Access.

  3. Presione ALT+F11 para abrir la Editor de Visual Basic.

  4. Presione CTRL+G para abrir la ventana Inmediato.

  5. En la ventana Inmediato, escriba el comando siguiente y presione ENTRAR:

    ?Application.BrokenReference

    Observe que la BrokenReference propiedad del objeto Application devuelve True si faltan referencias. De lo contrario, la BrokenReference propiedad devuelve False.

Referencias

Para obtener más información sobre las referencias, haga clic en Ayuda de Microsoft Visual Basic en el menú Ayuda , escriba Colección de referencias en el cuadro Buscar en el panel Asistencia y, a continuación, haga clic en Iniciar búsqueda para ver el tema.

Para obtener más información sobre las referencias que faltan, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

283806 funciones de Visual Basic para Aplicaciones (VBA) interrumpen una base de datos con referencias que faltan