Error "Número de error de acción: 2950" al ejecutar una macro que llama a una función VBA en una base de datos de Access

Número de KB original: 931407

Nota:

Si es usuario de la edición Pequeña Empresa, podrá encontrar información adicional sobre la solución de problemas y recursos de aprendizaje en el sitio de Soporte para pequeñas empresas.

Síntomas

Al ejecutar una macro que llama a una función de Microsoft Visual Basic para Aplicaciones (VBA) en una base de datos de Microsoft Office Access 2007 o posterior, recibirá el siguiente mensaje de error:

Error en la acción
Nombre de la macro: MacroName
Condición: Condición
Nombre de la macro: RunCode
Argumentos: argumentos
Número de error: 2950

Causa

Este problema se produce si Access no confía en la base de datos. De forma predeterminada, las versiones recientes de Access abren bases de datos que no son de confianza en modo deshabilitado. En el modo Deshabilitado, el contenido ejecutable está deshabilitado.

Solución

Si confía en el autor de la base de datos y si desea habilitar la base de datos, use uno de los métodos siguientes.

Método 1: Habilitar la base de datos para la sesión actual

Cuando se usa este método, Access habilita la base de datos hasta que se cierra la base de datos. Para habilitar la base de datos para la sesión actual, siga estos pasos:

  1. En la barra de mensajes, haga clic en Opciones.
  2. En el cuadro de diálogo Opciones de seguridad de Microsoft Office , haga clic en Habilitar este contenido y, a continuación, haga clic en Aceptar.

Nota:

En función de la versión de Access, es posible que tenga que repetir estos pasos cada vez que abra la base de datos.

Método 2: Mover la base de datos a una ubicación de confianza

Para ello, siga estos pasos:

  1. Determine las ubicaciones de confianza a las que puede mover la base de datos. Para ello, siga estos pasos:

    1. Haga clic en Archivo y, a continuación, en Opciones.

    2. Haga clic en Centro de confianzay, a continuación, haga clic en Configuración del Centro de confianza en Centro de confianza de Microsoft Office Access.

    3. Haga clic en Ubicaciones de confianza y, a continuación, use uno de los procedimientos siguientes:

      • Tenga en cuenta las rutas de acceso de las ubicaciones de confianza que aparecen.
      • Agregue una nueva ubicación de confianza. Para ello, haga clic en Agregar nueva ubicación y, a continuación, especifique la ruta de acceso de la ubicación que desea agregar.
  2. Mueva la base de datos de Access a la ubicación de confianza que especificó.

Más información

Puede usar una AutoExec macro para probar si una base de datos es de confianza al abrir la base de datos. Además, la macro puede abrir un formulario que muestra un mensaje personalizado a los usuarios si la base de datos no es de confianza. Este mensaje permite a los usuarios saber que la base de datos debe estar habilitada o de confianza para que el código se ejecute correctamente.

Para crear la AutoExec macro y el formulario, siga estos pasos:

  1. Cree un formulario en la vista Diseño.

  2. Agregue un cuadro de texto o una etiqueta al formulario y escriba la información que desea mostrar al usuario.

  3. Guarde y cierre el formulario.

  4. Cree una macro y, a continuación, asigne un nombre a la macro AutoExec.

  5. Mostrar la columna Condiciones .

  6. Escriba la siguiente línea en la columna Condiciones :

    CurrentProject.IsTrusted = False

  7. En la columna Acciones , haga clic en AbrirFormulario.

  8. En el cuadro Nombre del formulario en Argumentos de acción, haga clic en el formulario que creó en el paso 1.

  9. Guarde y cierre la macro.

Cuando se abre la base de datos, la AutoExec macro se inicia y, a continuación, prueba la IsTrusted condición. Si Access no confía en la base de datos, la macro abre el formulario que especificó en la OpenForm acción de la macro.