Ejecutar un report desde un dataset

03/09/2004 - 10:31 por Silvia | Informe spam
Mi problema es que: he programado una estructura de tres
tablas en un dataset con sus relaciones y cuando intento
ejecutar en report que muestra los datos del dataset, me
da error de motor de consulta.

He comprobado que todo esté con la misma configuración
pero no siempre relleno datos en las tres tablas, según la
consulta, ¿Puede ser por este problema?

Gracias por todo, Silvia.

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
03/09/2004 - 21:34 | Informe spam
No siempre relleno datos en las tres tablas, según la consulta, ¿Puede




ser por este problema?

Creo que no, en todo caso el informe saldría vacío, pero no habría un error
del motor...

Slds - Octavio
Respuesta Responder a este mensaje
#2 christian
05/09/2004 - 05:43 | Informe spam
te cuento silvia que yo tube el mismo problema y si da
error en el motor cuando no llenas tablas sobre todo si
están relacionadas. ahora una forma de arreglarlo es
crear una tabla que tenga los datos que necesites en el
reporte, llenarla el momento de mandar a ejecutar el
reporte y vaciarla cuando se termine su ejecucion.
Respuesta Responder a este mensaje
#3 cmantilla
24/10/2004 - 05:17 | Informe spam
Cristian,

Ten el error de motor de consulta y no se porque razón no puedo
solucionarlo me sercioro de que ambas tablas en el dataset y asociadas
al reporte tengan datos

<?xml version="1.0" standalone="yes" ?>
- <NewDataSet>
- <Reporte>
<Dia>24</Dia>
<Mes>10</Mes>
<semanaNro>5</semanaNro>
<CONTADOR>0</CONTADOR>
<CONTADORANT>0</CONTADORANT>
<CONSUMO>0</CONSUMO>
<CODMAQ>102</CODMAQ>
</Reporte>
- <Reporte>
<Dia>12</Dia>
<Mes>10</Mes>
<semanaNro>3</semanaNro>
<CONTADOR>0</CONTADOR>
<CODMAQ>102</CODMAQ>
</Reporte>
- <InfoMaq>
<DESCRIPCION>Planta Baja</DESCRIPCION>
<CODMAQ>102</CODMAQ>
<Operador>Developer2</Operador>
<NOMBRE>CA-JXM SISTEMS</NOMBRE>
</InfoMaq>
</NewDataSet>

Este es el código que estoy utilizando para llenar los dataSet

//Inicializamos y abrirmos muna nueva conexión con la base de datos
oConn = new OleDbConnection(strConn);
oConn.Open();

//Informacion de la maquina
OleDbCommand oCmdInfoMaq = new OleDbCommand("select * from InfoMaq
where CodMaq = " + CodMaq, oConn);
OleDbDataAdapter oDAInfoMaq = new OleDbDataAdapter(oCmdInfoMaq);
//Informacion de la maquina
OleDbCommand oCmdVisita = new OleDbCommand("select * from Reporte
where CodMaq = " + CodMaq, oConn);
OleDbDataAdapter oDAVisita = new OleDbDataAdapter(oCmdVisita);

//Creamos el Dataset y los llenamos de datos con el adaptador
DataSet ds = new DataSet();
/*
oDAVisita.Fill(ds.Tables["Reporte"], "Reporte");
oDAInfoMaq.Fill(ds.Tables["InfoMaq"], "InfoMaq");
*/
oDAVisita.Fill(ds, "Reporte");
oDAInfoMaq.Fill(ds, "InfoMaq");

//Almaacenamos el resultado del reporte para accederlo de forma
desconectada luego
ds.WriteXml(Directory.GetCurrentDirectory()+"\\xmlData.xml");
ds.WriteXmlSchema(Directory.GetCurrentDirectory()+"\\xmlSchema.xsl");

//Liberamos recursos
ds.Dispose();
oDAInfoMaq.Dispose();
oDAVisita.Dispose();

Y este para llenar el reporte

data.ReadXml(Directory.GetCurrentDirectory()+"\\xmlData.xml");
data.ReadXmlSchema(Directory.GetCurrentDirectory()+"\\xmlSchema.xsl");

//Creo el repote y lo publico en el viewer
CrystalReport1 cr1 = new CrystalReport1();
CrystalReportPrueba oRpt = new CrystalReportPrueba();
//oRpt.SetDataSource(data.Tables["[Trans X Visita]"]);
oRpt.SetDataSource(data);

crystalReportViewer1.ReportSource = oRpt;
//crystalReportViewer1.ReportSource = cr1;
crystalReportViewer1.Show();
podrian ayudarme, realmente no veo el error.

Muchas Gracias
Respuesta Responder a este mensaje
#4 cmantilla
24/10/2004 - 05:48 | Informe spam
Le agrego a mi pregunta que el error ocurre cuendo se ejecuta el metodo
Show() del Control Viewer del reporte.

Gracias nuevamente
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida