enlazar a crystal reports con ado.net (con varias tablas)

29/06/2004 - 20:57 por tOny | Informe spam
hola a todos en el grupo, espero hacerme entender

En la publicación "Setting Up an ADO.NET Report in a
Viewer" que esta en esta dirección
(http://msdn.microsoft.com/library/default.asp?
url=/library/en-
us/crystlmn/html/crtsksettingupanado.netreportinaviewer.as
p); muestra como se despliega un reporte Crystal Reports
a partir de un Dataset. Ahora mi pregunta es la
siguiente: ¿Cómo se puede desplegar un reporte a partir
de un dataset que contiene varias tablas?, cada tabla en
el dataset está destinada a algunas partes específicas en
el reporte. Lo que he intentado es llenar cada una de las
tablas del Dataset y posteriormente enlazarlo al reporte
como dice en la publicación, pero esto no me sale, porfa
una ayudita.

Muchas gracias por la ayuda.

Parte del código que hice esta a continuación:

//ds es el Dataset en cuestión
//CARGAR LOS DATOS AL DATASET dsEjecucionOperaciones
//Las Tablas que tiene son: EjecucionOperaciones_Temp,
ObjetivosGestionIJB, UnidadesFuncionales, Personas,
ResponsablesOperacion
//TABLA: EjecucionOperaciones_Temp
string Sql = "SELECT * FROM EjecucionOperaciones_Temp
WHERE FechaInicioOperacion IS NULL OR
FechaInicioOperacion>='" + FechaInicio + "' AND
(FechaFinOperacion<='" + FechaFin + "') ORDER BY Codigo";
SqlDataAdapter aEjecucionOperaciones_Temp = new
SqlDataAdapter(Sql, sqlConn);
aEjecucionOperaciones_Temp.Fill
(ds, "EjecucionOperaciones_Temp");

//TABLA: ObjetivosGestionIJB
Sql = "SELECT * FROM ObjetivosGestionIJB WHERE
CodigoGestion='" + CodigoGestion + "' AND
CodigoUnidadFuncional='" + CodigoUnidadFuncional + "'
ORDER BY CodigoObjetivoGestionIJB";
SqlDataAdapter aObjetivosGestionIJB = new SqlDataAdapter
(Sql, sqlConn);
aObjetivosGestionIJB.Fill(ds, "ObjetivosGestionIJB");

//TABLA: UnidadesFuncionales
Sql = "SELECT * FROM UnidadesFuncionales WHERE
CodigoUnidadFuncional='" + CodigoUnidadFuncional + "'";
SqlDataAdapter aUnidadesFuncionales = new SqlDataAdapter
(Sql, sqlConn);
aUnidadesFuncionales.Fill(ds, "UnidadesFuncionales");

//TABLA: Personas
Sql = "SELECT * FROM Personas WHERE IdPersona IN (SELECT
IdPersona FROM ResponsablesOperacion)";
SqlDataAdapter aPersonas = new SqlDataAdapter(Sql,
sqlConn);
aPersonas.Fill(ds, "Personas");

//TABLA: ResponsablesOperacion
Sql = "SELECT * FROM ResponsablesOperacion WHERE
CodigoGestion='" + CodigoGestion + "' AND
CodigoObjetivoGestionIJB IN(SELECT
CodigoObjetivoGestionIJB FROM ObjetivosGestionIJB WHERE
CodigoUnidadFuncional='" + CodigoUnidadFuncional + "')";
SqlDataAdapter aResponsablesOperacion = new SqlDataAdapter
(Sql, sqlConn);
aResponsablesOperacion.Fill(ds, "ResponsablesOperacion");

//CONFIGURAR Y DESPLEGAR EL REPORTE
rEjecucionOperaciones.SetDataSource(ds);
crv.ReportSource = rEjecucionOperaciones;
 

Leer las respuestas

#1 Franco Figún
29/06/2004 - 21:13 | Informe spam
Te envio 2 buenos ejemplos:

Reportes en .NET con Crystal Reports
http://www.microsoft.com/spanish/ms.../art11.asp

RTM walkthroughs
http://www.businessobjects.com/prod...roughs.asp

FF
www.francofigun.com.ar
www.microsofties.com.ar
MSN:
UIN: 314408886
Yahoo MSN:
"tOny" wrote in message
news:2297501c45e0a$ea1560d0$
hola a todos en el grupo, espero hacerme entender

En la publicación "Setting Up an ADO.NET Report in a
Viewer" que esta en esta dirección
(http://msdn.microsoft.com/library/default.asp?
url=/library/en-
us/crystlmn/html/crtsksettingupanado.netreportinaviewer.as
p); muestra como se despliega un reporte Crystal Reports
a partir de un Dataset. Ahora mi pregunta es la
siguiente: ¿Cómo se puede desplegar un reporte a partir
de un dataset que contiene varias tablas?, cada tabla en
el dataset está destinada a algunas partes específicas en
el reporte. Lo que he intentado es llenar cada una de las
tablas del Dataset y posteriormente enlazarlo al reporte
como dice en la publicación, pero esto no me sale, porfa
una ayudita.

Muchas gracias por la ayuda.

Parte del código que hice esta a continuación:

//ds es el Dataset en cuestión
//CARGAR LOS DATOS AL DATASET dsEjecucionOperaciones
//Las Tablas que tiene son: EjecucionOperaciones_Temp,
ObjetivosGestionIJB, UnidadesFuncionales, Personas,
ResponsablesOperacion
//TABLA: EjecucionOperaciones_Temp
string Sql = "SELECT * FROM EjecucionOperaciones_Temp
WHERE FechaInicioOperacion IS NULL OR
FechaInicioOperacion>='" + FechaInicio + "' AND
(FechaFinOperacion<='" + FechaFin + "') ORDER BY Codigo";
SqlDataAdapter aEjecucionOperaciones_Temp = new
SqlDataAdapter(Sql, sqlConn);
aEjecucionOperaciones_Temp.Fill
(ds, "EjecucionOperaciones_Temp");

//TABLA: ObjetivosGestionIJB
Sql = "SELECT * FROM ObjetivosGestionIJB WHERE
CodigoGestion='" + CodigoGestion + "' AND
CodigoUnidadFuncional='" + CodigoUnidadFuncional + "'
ORDER BY CodigoObjetivoGestionIJB";
SqlDataAdapter aObjetivosGestionIJB = new SqlDataAdapter
(Sql, sqlConn);
aObjetivosGestionIJB.Fill(ds, "ObjetivosGestionIJB");

//TABLA: UnidadesFuncionales
Sql = "SELECT * FROM UnidadesFuncionales WHERE
CodigoUnidadFuncional='" + CodigoUnidadFuncional + "'";
SqlDataAdapter aUnidadesFuncionales = new SqlDataAdapter
(Sql, sqlConn);
aUnidadesFuncionales.Fill(ds, "UnidadesFuncionales");

//TABLA: Personas
Sql = "SELECT * FROM Personas WHERE IdPersona IN (SELECT
IdPersona FROM ResponsablesOperacion)";
SqlDataAdapter aPersonas = new SqlDataAdapter(Sql,
sqlConn);
aPersonas.Fill(ds, "Personas");

//TABLA: ResponsablesOperacion
Sql = "SELECT * FROM ResponsablesOperacion WHERE
CodigoGestion='" + CodigoGestion + "' AND
CodigoObjetivoGestionIJB IN(SELECT
CodigoObjetivoGestionIJB FROM ObjetivosGestionIJB WHERE
CodigoUnidadFuncional='" + CodigoUnidadFuncional + "')";
SqlDataAdapter aResponsablesOperacion = new SqlDataAdapter
(Sql, sqlConn);
aResponsablesOperacion.Fill(ds, "ResponsablesOperacion");

//CONFIGURAR Y DESPLEGAR EL REPORTE
rEjecucionOperaciones.SetDataSource(ds);
crv.ReportSource = rEjecucionOperaciones;

Preguntas similares