Colabora VB6 |
¿Cómo usar Report Manager con VB 6 (2º Parte)?[Gestor de informes GNU en tus aplicaciones VB 6]Fecha: 20/Dic/2006 (18 Diciembre 2006)Autor: Brian Plano Abad
- [email protected]
|
IntroducciónInicialmente comentar que esta segunda parte ha surgido a raíz de una consulta enviada por el colega Brian Plano. De hecho es de justicia decir que prácticamente todo lo expuesto aquí es obra suya. ¿ Cómo surgió esta segunda parte ?No era la primera vez que me consultaban como definir la ruta de la Base de datos en tiempo de ejecución y no en tiempo de diseño. En mi ejemplo creaba los informes suponiendo a priori la ubicación de la base de datos. La solución pasa por definir un DSN, preferiblemente de sistema y usarlo en el diseño de los reportes. Solución propuesta por Brian:A continuación transcribo literalmente, con su autorización, parte del contenido de su email: Primero al entrar en la aplicación creo un DSN conectando a la base de datos del cliente, este es el código: Utilizo la API “SQLConfigDataSource” para esta acción.
Nota que en la conexión del DSN he utilizado las variables GLOBALES para declarar el servidor, base de datos, usuario y contraseña, estas hay que sustituirlas por las que cada uno tenga. En el formulario de carga de la aplicación coloco el siguiente código:
Ahora llega el punto clave, cuando diseñamos el reporte, debemos tener creada esta conexión DSN en nuestro sistema, de esta manera, la aplicación cuando cree la de nuestro usuario, usará los datos que el programa ha proporcionado para la creación de esta conexión, de esta manera tu puedes diseñar los reportes en tu PC y asegurarte de que tu usuario final siempre verá los datos de su base de datos utilizando el mismo nombre de conexión. Espero haberme explicado bien, ahora te paso la creación de la conexión ADO para MySQL en VB6:
Una vez declaradas estas instrucciones puedes trabajar con el recordset RM1 de manera normal y corriente, es importante remarcar que para poder trabajar de esta manera se tiene que tener instalado en la máquina el conector ODBC de MySQL 3.51, lo puedes descargar de aquí http://dev.mysql.com/get/Downloads/MyODBC3/mysql-connector-odbc-3.51.12-win32.msi/from/pick Lo demás es historia, se puede eliminar el DSN al salir del programa, o que lo elimine cuando entra como hago yo, sobretodo eliminar el conector y el recordset al final de la aplicación. Espero haberte ayudado, creo que ya tienes una buena manera para publicarlo en la web, si puedes hazme referencia que me haría mucha ilusión, gracias por tu genial idea del DSN!! Un abrazo! Destacar que este ejemplo concreto tira de una base de datos MySQL. Estoy adaptando esta idea a un tema que tengo entre manos que trabaja contra Postgress. Mientras tengamos el ODBC podremos adaptarlo a nuestras necesidades. Conclusión.Sólo agradecer al colega Brian por su aportación y como no, al Guille por su dedicación y esfuerzo en el mantenimiento de esta página. Como estamos cerca de Navidad, Felicidades para todos...... Saludos... J. Jesús Daryanani
|