Bueno, en primera, no tomes a mal algunas correcciones que pueda hacerte, ok? Bien, te aclaro que siempre estas utilizando recordset, es decir, rs es una instancia de la clase recordset y a la postre "contenedor" de los datos que recupera la sentencia SQL y que despues asignas al origen de datos del Datareport. El mensaje efectivamente, debe ser porque utilizas diferentes formas de conexion, aunque creo que no es necesario todo el codigo que veo, ya que el dataenvironment justamente fue implementado en VB6 (sin mucho éxito creo) con la finalidad de hacer todo de una forma visual, generando la sentencia SQL en el mismo procedimiento de configuracion del entorno de datos (osea DATAENVIRONMENT). No, no te estoy gritando

Pero veamos. Hice algo similar con la base de datos ejemplo NWind, veo en tu consulta que tu reporte es un listado, asi que no hay mucha complicacion. Veamos, ojo, hasta que no te indique lo contrario, todo el proceso siguiente se realiza en el dataenvironment:
1. Agregue un Dataenvironment al proyecto
2. Al lado derecho, se ve el "arbol" del dataenvironment1, hazle clic derecho, Propiedades
3. Selecciona el proveedor de base de datos, si es Access: MICROSOFT JET 4.0 OLEDB
4. Pulsa siguiente, ahora pulsa el boton de los ... puntitos. Selecciona tu base de datos
5. Puedes probar conexion si lo deseas. Satisfactorio? OK!!!
6. Nuevamente, clic derecho sobre Connection 1 para Aagregar comando
7. Sobre el objeto command1 clic derecho, propiedades.
8. En la ventana vamos a configurar el origen de datos para obtener el conjunto de registros que llenara el recordset a traves del comando de seleccion, o sea Command1, selecciona Instrucción SQL
9. Pulsa Generador SQL
10. En la pequeña ventana VISTADATOS, despliega Connection1, encontraras Tablas, y alli selecciona la tabla correspondiente. Por ejemplo, Clientes (de NWind.mdb), luego arrastra la miniatura hacia la parte gris de la ventana del generador de SQL
11. En la "miniatura" que ha aparecido, cada campo tiene un check, marca los campos que quieres en tu reporte. Luego cierra la ventana DEL GENERADOR, confirma.
12. Regresamos al Dataenvironment, si te fijas en el objeto Command1, ahora tiene un [+] a la izquierda, pulsa el [+], encontraras los campos que marcamos.
13. Hasta ahi, ya tenemos la cadena de conexion y el conjunto de registros (recordset)
14. Agrega un diseñador de reportes (DataReport), acomoda ambas ventanas como para poder hacer DRAG & DROP a cada campo en el objeto command1 del dataenvironment hacia la seccion detalle del datareport.
15. Ahora, selecciona CORRECTAMENTE el datareport (en su barra de titulo de preferencia), y busca la propiedad DataSource para configurar el nombre del objeto DATAENVIRONMENT1. Luego en la propiedad DATAMEMBER para configurar el nombre del objeto COMMAND1, que es el que proporciona finalmente los datos al reporte.
16. Agrega un boton a tu formulario, digita el cógido siguiente:
DataReport1.Show
17. LISTO, uff
Espero haberte ayudado, suerte en tus proyectos. Bye... ah! como hago siempre: saludos desde Arequipa, la ciudad blanca del Perú.
Alien .Net
11.
[Editado: evegalle, 05/12/2007 05:35:38]