Mensajes de error o bloqueos de Access después de instalar la actualización de seguridad MS16-004

Síntomas

Después de aplicar 2881067 de actualización de seguridad, 2881029, 3039794 o 2920727 que se describen en el boletín de seguridad MS16-004, tiene problemas que afectan a la base de datos de Access si usa determinados controles comunes de Windows. En concreto, estos problemas se producen si usa los controles asociados al MSCOMCTL. Archivo OCX actualizado en la actualización de seguridad. Estos problemas pueden incluir lo siguiente:

  • El programa se bloquea al intentar abrir un objeto que incluye uno de los controles.

  • Recibe mensajes de error que indican que los eventos se cancelaron. Los mensajes de error de ejemplo incluyen (pero no están limitados a) lo siguiente:

    Error 459: Object or class does not support the set of events. 
    
    2501: <EventName> action cancelled.
    
    The expression <EventName> you entered as the event property setting produced the following error: Object of class does not support the set of events.   
    

Causa

Este problema se produce porque la actualización de seguridad MS16-004 puede impedir que determinados controles ActiveX se carguen correctamente en bases de datos de Access preexistentes o en la vista Diseño.

Solución

Para solucionar este problema, vuelva a registrar el MSCOMCTL. Archivo OCX. Si el método 1 no soluciona el problema, es posible que tenga que usar el método 2 para eliminar primero manualmente una clave del Registro asociada a MSCOMCTL. OCX.

Método 1: Volver a registrar MSCOMCTL. OCX desde un símbolo del sistema con privilegios elevados

Para volver a registrar MSCOMCTL. OCX, siga estos pasos:

  1. Abra un símbolo del sistema administrativo.

  2. En un sistema de 64 bits, ejecute los siguientes comandos:

     Regsvr32 /u "C:\Windows\SysWOW64\MSCOMCTL.OCX" Regsvr32 "C:\Windows\SysWOW64\MSCOMCTL.OCX"
    
  3. En un sistema de 32 bits, ejecute los siguientes comandos:

     Regsvr32 /u "C:\Windows\System32\MSCOMCTL.OCX" Regsvr32 "C:\Windows\System32\MSCOMCTL.OCX"
    

Método 2: Actualización manual del Registro

Nota:

Siga atentamente los pasos de esta sección. La modificación incorrecta del Registro puede producir graves problemas. Antes de modificarlo, realice una copia de seguridad del registro para efectuar la restauración en caso de producirse problemas.

  1. Salga de todos los programas de Office.

  2. Haga clic en Inicio, escriba regedit en el cuadro de búsqueda Inicio y, a continuación, haga clic en Aceptar.

  3. En Editor del Registro, busque y elimine la subclave 2.0 siguiente:

    HKEY_CLASSES_ROOT\TypeLib{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}\2.0

  4. Ejecute los pasos del 1 al 3 en Método.

Método 3 (para administradores): ejecute un archivo por lotes para actualizar los sistemas automáticamente.

Nota:

Siga atentamente los pasos de esta sección. La modificación incorrecta del Registro puede producir graves problemas. Antes de modificarlo, realice una copia de seguridad del registro para efectuar la restauración en caso de producirse problemas.

Después de determinar correctamente la corrección de este problema en el entorno mediante los métodos 1 y 2, puede automatizar el proceso. Para ello, siga estos pasos:

  1. Cree un archivo de texto y, a continuación, pegue el texto siguiente en él:

    reg delete hkcr\typelib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}\2.0 /f
    
    if exist %systemroot%\SysWOW64\cscript.exe goto 64 
    %systemroot%\system32\regsvr32 /u mscomctl.ocx
    %systemroot%\system32\regsvr32 mscomctl.ocx
    exit
    
    :64
    %systemroot%\sysWOW64\regsvr32 /u mscomctl.ocx
    %systemroot%\sysWOW64\regsvr32 mscomctl.ocx 
    Exit
    
  2. Guarde el archivo.

  3. Cambie la extensión de nombre de archivo de .txt a .bat.

  4. Ejecute el archivo .bat. Para ello, haga clic con el botón derecho en él y, a continuación, haga clic en Ejecutar como administrador. (En Windows XP, haga doble clic en el archivo).

Nota:

Si ha determinado en el método 1 que no tiene que eliminar la clave del Registro que se menciona en el método 2 para que la aplicación funcione, puede quitar la línea "reg delete" del archivo por lotes.

Más información

Controles asociados a MSCOMCTL. OCX aparece en el cuadro de diálogo Insertar control ActiveX de la siguiente manera:

Microsoft ImageComboBox Control 6.0 (SP6)

Control Microsoft ImageList 6.0 (SP6)

Control Microsoft ListView 6.0 (SP6)

Control ProgressBar de Microsoft 6.0 (SP6)

Control deslizante de Microsoft 6.0 (SP6)

Control 6.0 de Microsoft StatusBar (SP6)

Control Microsoft TabStrip 6.0 (SP6)

Control de barra de herramientas de Microsoft 6.0 (SP6)

Control Microsoft TreeView 6.0 (SP6)

Nota:

El número de versión y el nivel de Service Pack pueden ser algo distinto de "6.0 (SP6)".

También se informa de que se han producido problemas en otros productos de Office después de instalar esta actualización, aunque los síntomas pueden variar de los que se producen en Access. En otros programas, es posible que no tenga que realizar ningún cambio en el registro.

Referencias

Para obtener más información sobre esta actualización de seguridad, consulte los siguientes artículos de Microsoft Knowledge Base: