Control ActiveX incluido en un formulario de Access no aparece cuando la licencia en tiempo de diseño no está disponible


En este artículo se aplica a un archivo de base de datos (.mdb) de Microsoft Access o a un archivo de base de datos (.accdb) de Microsoft Access.

Principiante: Se requieren conocimientos de la interfaz de usuario en equipos de usuario único.

Síntomas


En una base de datos de Access, un formulario puede tener un control ActiveX de MFC con licencia. Además, el formulario también puede tener otro control como un cuadro de texto está enlazado a un campo de una tabla vinculada. Si abre este formulario en la vista formulario, el control ActiveX de MFC no aparezcan. Este problema se produce cuando la opción de licencia en tiempo de diseño para el control ActiveX de MFC no está disponible en el mismo equipo donde reside el formulario.

Nota: Si agrega un control ActiveX MFC en el formulario y el control ActiveX de MFC se licencia con una licencia en tiempo de diseño. La disponibilidad de la licencia en tiempo de diseño en el mismo equipo donde reside el formulario no es necesaria a menos que el formulario se abre en la vista Diseño.

Causa


Este problema se produce cuando Access intenta abrir el formulario en la vista Diseño para realizar cambios de nombre al Realizar Autocorrección de nombres está habilitada para la base de datos que contiene el formulario. Debido a la licencia en tiempo de diseño no está disponible en el equipo, Access anula el registro del control ActiveX de MFC. Por lo tanto, no aparece el control ActiveX de MFC.

Solución alternativa


Para evitar este problema, deshabilite registrar información de Autocorrección de nombres para la base de datos o deshabilitar Realizar Autocorrección de nombres para la base de datos antes de registrar el control ActiveX de MFC en el equipo. Para ello, siga estos pasos:
  1. Inicie Access.
  2. Abra la base de datos que contiene el formulario con el control ActiveX de MFC.
  3. En el menú Herramientas , haga clic en
    Opciones.

    Nota: En Access 2007, haga clic en el Botón de Microsoft Officey, a continuación, haga clic en Base de datos actual.
  4. En el cuadro de diálogo Opciones , haga clic en el
    Casilla de verificación de la ficha General y, a continuación, haga clic en para borrar el Realizar Autocorrección de nombres .

    Notas:
    • En Access 2007, haga clic para desactivar la casilla de verificación Realizar Autocorrección de nombres en Opciones de Autocorrección de nombre.
    • También puede hacer clic para desactivar la casilla de verificación registrar información de Autocorrección de nombres para la base de datos. Cuando hace clic para desactivar la casilla de verificación realizar seguimiento de Autocorrección de nombre , el
      Opción Realizar Autocorrección de nombres no está disponible.
  5. Cierre la base de datos.
  6. Salir de Access.
  7. Mover a la línea de comandos y, a continuación, ejecute regsvr32.

    Cuando ejecuta este comando, se registra el control ActiveX de MFC (archivo .ocx).
  8. Abra el formulario en la vista formulario.

    El control ActiveX de MFC aparece en el formulario.

Más información


Al habilitar registrar información de Autocorrección de nombres para la base de datos, Access crea una asignación de nombre para cada objeto en la base de datos. El mapa de nombres se utiliza para realizar un seguimiento de los cambios de nombre. Si la opción Realizar Autocorrección de nombres también está a su disposición, Access comprueba que el cambio de nombre requerido se aplica al objeto o a su contenido cada vez que se abre el objeto. Si se ha producido un cambio, se realizan automáticamente los cambios de nombre.

El problema se produce cuando se mueve la base de datos que contiene el formulario a otro equipo, junto con el archivo de control MFC ActiveX (.ocx), y, a continuación, volver a vincular la tabla que se conoce por el control (por ejemplo, un cuadro de texto) en el formulario. Al volver a vincular la tabla, se activará la información de Autocorrección de nombre de pista para el formulario. Al abrir el formulario en la vista formulario, Access intenta realizar la corrección de nombre automáticamente al abrir el formulario en la vista Diseño. Se produce un error porque no existe la licencia en tiempo de diseño para el control ActiveX de MFC. Por lo tanto, el control ActiveX de MFC no aparece en el formulario.

Este problema no se produce si el formulario no contiene ninguna referencia a las tablas vinculadas.