Access - Access & ActiveX

 
Vista:

Access & ActiveX

Publicado por Ignacio (1 intervención) el 09/05/2001 12:17:21
Mi problema es el siguiente:

Inserto un control ActiveX en un formulario de Access 2000, le doy un nombre y no puedo acceder a sus propiedades y métodos específicos de ese control ActiveX desde el fuente de ese módulo (en el editor de Visual Basic), pudiendo acceder a sus propiedades genéricas como objeto (luego el entorno tiene constacia de ese objeto), quiero decir, en el editor pongo el nombre del control, el punto y se me despliegan las propiedades y características de cualquier objeto, no las específicas de ese control ActiveX

Si me declaro otro objeto control ActiveX global a ese módulo, sí puedo acceder a todas sus propiedades específicas, la pregunta entonces es la siguiente: ¿Qué diferencia hay a la hora de acceder a los métodos y propiedades de un determinado ActiveX cuando lo declaras en el código (a través de un New ...) a cuando lo insertas en un formulario o informe?

Nota: Esto no ocurre por ejemplo en Visual Basic ó Delphi o cualquier entorno de programación 4GL.

Gracias y salu2.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Access & ActiveX

Publicado por Alejandro (4142 intervenciones) el 14/04/2023 20:46:27
El problema que estás experimentando se debe a que cuando insertas un control ActiveX en un formulario de Access, éste se convierte en un objeto incrustado y no puedes acceder a sus propiedades y métodos específicos directamente desde el código del formulario.

Para poder acceder a las propiedades y métodos específicos del control ActiveX desde el código del formulario, debes primero declarar una variable del tipo del control ActiveX en el código del formulario, utilizando la sintaxis "Dim <nombre_de_variable> As <nombre_de_control_ActiveX>". Luego, en el evento correspondiente (por ejemplo, el evento Click de un botón), debes asignar el control ActiveX incrustado en el formulario a la variable que acabas de declarar, utilizando la sintaxis "<nombre_de_variable> = <nombre_de_control_ActiveX>". A partir de ese momento, podrás acceder a las propiedades y métodos específicos del control ActiveX utilizando la variable que has declarado.

La diferencia fundamental entre declarar un control ActiveX en el código y utilizar uno incrustado en un formulario es que en el primer caso, el control ActiveX es creado y gestionado directamente por el código, mientras que en el segundo caso, el control ActiveX es gestionado por Access y el formulario en el que está incrustado. Esto significa que cuando utilizas un control ActiveX incrustado en un formulario, algunas de sus propiedades y métodos pueden no estar disponibles o pueden tener un comportamiento diferente al que tendrían si los utilizaras desde código. Por lo tanto, es recomendable utilizar siempre controles ActiveX declarados en el código cuando necesites acceder a sus propiedades y métodos específicos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar