La Web del Programador: Comunidad de Programadores
 
    Pregunta:  3674 - REGISTRAR CONTROLES ACTIVEX DE VISUAL BASIC EN ACCESS
Autor:  Luis Fernando Botero Rojas
Quiero utilizar algunos controles en MS-Access 97 como el PROGRESSBAR que viene con el MS-Visual Basic. Sé que éste tipo de control al igual que otros se encuentra contenido en un archivo llamado "COMCTL32.OCX". He probado registrar éstos controles a través del menú Herramientas-Controles ActiveX... Todo parece indicar que ya están registrados y que los puedo utilizar, sin embargo, cuando pretendo insertar un control en un formulario, Access me responde con un mensaje "El servidor OLE no está registrado". Quieren explicarme para qué sirve entonces ésta opción de registrar si realmente no pude utilizar el control?. También sé que un servidor OLE se registra cuando se instala un software de base de datos (éste podría ser el caso de MS-Visual Basic). Mi intención no es instalar MS-Visual Basic para poder utilizar dichos controles en MS-Access (Esto ya lo probé y funcionó ya que pude
utilizar el control PROGRESSBAR). Instalar MS-Visual Basic sería una solución a mi problema, pero, se imaginan ustedes si llevo mi aplicación a otro PC en donde no se encuentre instalado el VISUAL BASIC?. Seguramente el control PROGRESSBAR no funcionaría hasta no instalar el MS-Visual Basic quien puede resgistrar verdaderamente a dicho control junto a otros. También probé con un programa llamado "REGOCX32.EXE" a registrar el archivo COMCTL32.OCX para poder utilizar en MS-Access sus controles contenidos y ésto tampoco
funcionó. Igualmente utilizé el comando "REGSVR32.EXE" sobre el archivo COMCTL32.OCX esperando que el Servidor OLE solicitado, quedara registrado para windows y ésto, una vez más, no funcionó. No encuentro más soluciones a mi problema. Podría alguien indicarme cómo puedo utilizar un control de MS-Visual Basic como el PROGRESS

  Respuesta:  Héctor Ramírez Torres
He tenido el mismo problema que Tú al querer usar el control MS-COMM y tenía que tener instalado el Visual Basic para que funcione. La solución que he encontrado es utilizar un programa de instalación, como el CreateInstall, al cual le añades tu archivo de Access y los controles ActiveX que necesitas. Al ejecutar el programa de instalación se copia la base de datos de una carpeta especificada y los controles active x en una carpeta especificada, generalmente el System32, registrando los controles, y así se podrá utilizar en Access. Si usas CreteInstall, que lo puedes descargar de la Web de Goku e incluso hay un tutorial de su uso (http://lawebdegoku.es/)

Para registrar un control OCX en CreateInstall, en el asistente para Registrar y en la pestaña Archivos DLL, OCX, TLB, pulsas en "+" , en Directorio de Destino seleccionas Custom Path y en Nombre del Archivo digitas C:WINDOWSsystem32MSCOMCTL.OCX o lo seleccionas a traves del icono de carpeta del lado derecho.

  Respuesta:  Joan Ratera
Hola, buscando entre las preguntas por contestar y contestadas de Access, me he encontardo con la tuya (nº 3674, registrar controles ActiveX de Visual en Access) y casualmente es la misma que hace tiempo intento solucionar. Mi caso es idéntico al tuyo y también probe los mismos pasos que tu sin resultado, Lo que si puedo indicarte es que con el control Regsvr32.exe lo que si haces es registrar el control para poderlo usar, es decir ver el resultando, pero sigues sin tener permiso para crear o modificar forms con este control. Te agradeceria que si descubres la solución me la hagas llegar a la dirección de correo arriba indicada. Muchas gracias.

  Respuesta:  José Maldonado
Siento no poder ayudarte, pero te escribo esperando servirte de algo, creo que se trata de que tendrá algún tipo de dependencia, osea que el ocx necesita de alguna dll adicional o algo así. Se podría comprobar utilizando el ocx en una aplicación de visual basic y utilizar el asistente de empaquetado para ver si realmente se trata de dependencias o no. Pero es una suposición, compruébalo ... si tienes alguna duda escríbeme.