Pregunta: | 7895 - COMO PASAR UN PARAMETRO CONNECTION A UN CONTROL ACTIVEX |
Autor: | Juan Eusebio Gonzalez Estevez |
Estoy construyendo un control activeX con acceso a datos, lo he diseñado para que utilize una conexión general que tendra la aplicación que lo utilize, esta le pasara por parametro al control una referencia de dicha conección debe ser declarada como:
Public gcnMain As Connection ¿Si sabes como hacerlo ó conoces una alternativa que no sea crear la conneción dentro del control ActiveX te lo agradecere? Gracias de antemano y quedo esperando respuesta. |
Respuesta: | Jhonny Fonseca |
si quieres tener una referencia a la conexion puedes crear una varia de tipo conexion e instancearla de la siguiente manera:
Public Function Conexion(cn As Connection) set ConexionInterna= cn End Function el problema con esto es que si la variable interna (ConexionInterna), es cerrada, la variable que se envio como parametro (cn) tambien se cerrara, para evitar esto hay que utilizar lo siguiente: Public Function Conexion(cn As Connection) set ConexionInterna= new cn End Function ahora, si no quieres usar una variable de conexion puedes darle al recordset o la command la referencia a la conexion de esta manera: Dim Rs As New Recordset Dim Command As New Command Public Function Abrir(cn As Connection) Rs.ActiveConnection = cn Command.ActiveConnection = cn End Function EN TODOS LOS CASOS NO SE HACE OTRA CONEXION, SE HACE UNA REFERENCIA PERO NO UNA NUEVA CONEXION A LA BASE DE DATOS Espero que te sirva |