Foros del Web » Programación para mayores de 30 ;) » .NET »

Mandar un informe de un dataset

Estas en el tema de Mandar un informe de un dataset en el foro de .NET en Foros del Web. Miren tengo un pequeño inconveniente estoy haciendo esto: tengo varias consulta y el resultado lo meto a un dataset ahora lo qu eestoy tratando de ...
  #1 (permalink)  
Antiguo 09/01/2010, 10:39
 
Fecha de Ingreso: diciembre-2009
Mensajes: 69
Antigüedad: 14 años, 11 meses
Puntos: 1
Mandar un informe de un dataset

Miren tengo un pequeño inconveniente
estoy haciendo esto:

tengo varias consulta y el resultado lo meto a un dataset
ahora lo qu eestoy tratando de hacer es
en un solo reporte de crystal report mandar el resultado de todas esas consultas
en este caso
No se si debo de crear un dataset mas para almacenar el resultado de todas las consultas
pues ya que todos los dataset se relacionan mediante un id


Código:
 OleDbConnection conexion = new OleDbConnection();
            conexion.ConnectionString = @"Provider = Microsoft.Jet.OleDb.4.0; Data Source=C:\BDasystec\db_parserMaster.mdb";
            conexion.Open();

            ////////1 
            OleDbDataAdapter da = new OleDbDataAdapter();
            OleDbCommand comando = new OleDbCommand();
            comando.Connection = conexion;
            comando.CommandText = "select id,count(lugar_in) from asistencia where fecha_in>=#" + textBox1.Text + "# and fecha_in<=#" + textBox2.Text + "# group by id,hora_in having (((hora_in)=\" \" Or (hora_in) Is Null Or (hora_in)=\" \")) ";
            da.SelectCommand = comando;
            da.Fill(dataSet11, "Tabla1");
          
///////////////////////////////2
            OleDbDataAdapter da2 = new OleDbDataAdapter();
            OleDbCommand comando2 = new OleDbCommand();
            comando2.Connection = conexion;
            comando2.CommandText = "select id,count(lugar_out) from asistencia where fecha_in>=#" + textBox1.Text + "# and fecha_in<=#" + textBox2.Text + "# group by id,hora_out having (((hora_out)=\" \" Or (hora_out) Is Null Or (hora_out)=\" \")) ";
            da2.SelectCommand = comando2;
            da.Fill(dataSet11, "Tabla2");


            ////////3 
            OleDbDataAdapter da3 = new OleDbDataAdapter();
            OleDbCommand comando3 = new OleDbCommand();
            comando3.Connection = conexion;
            comando3.CommandText = "select id,count(lugar_in2) from asistencia where fecha_in>=#" + textBox1.Text + "# and fecha_in<=#" + textBox2.Text + "# group by id,hora_in2 having (((hora_in2)=\" \" Or (hora_in2) Is Null Or (hora_in2)=\" \")) ";
            da3.SelectCommand = comando3;
            da3.Fill(dataSet11, "Tabla3");
  #2 (permalink)  
Antiguo 30/01/2010, 11:36
 
Fecha de Ingreso: marzo-2004
Mensajes: 70
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: Mandar un informe de un dataset

por lo que veo... la estructura de tu reporte es asi

CABECERA
DETALLE
SUBDETALLE


si ese es el caso tienes q utilizar subreportes para q te muestre ese tipo de informacion y el "ID" que mencionas lo tienes que relacionar dentro del reporte
__________________
GuzZpaWn
  #3 (permalink)  
Antiguo 31/01/2010, 17:38
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 15 años, 1 mes
Puntos: 16
Respuesta: Mandar un informe de un dataset

Con el método SetDataSource puedes hacerlo y si usas SubInformes el código para mandarle las tablas de los datasets sería algo así:
Código c#:
Ver original
  1. rpt.SetDataSource(dataSet11.Tables["Tabla1"]);
  2. rpt.Subreports[0].SetDataSource(dataSet11.Tables["Tabla2"]);
  3. rpt.Subreports[1].SetDataSource(dataSet11.Tables["Tabla3"]);

Saludos.
__________________
Eduardo Peredo
Wigoin
  #4 (permalink)  
Antiguo 12/03/2010, 14:59
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 9 meses
Puntos: 37
Respuesta: Mandar un informe de un dataset

Hola gamaro

Trata de hacer una tabla temporal donde almacenes los resultados de tus consultas, esa tabla temporal obviamente tiene que estar en tu dataset, después en tu reporte en el Database Expert agregas el dataset y listo.

Yo estuve en ese mismo dilema y lo solucioné como te comento. Suerte.

Etiquetas: dataset, informe, mandar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:16.