Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   .NET (https://www.clubdelphi.com/foros/forumdisplay.php?f=17)
-   -   dataset y crystal report (https://www.clubdelphi.com/foros/showthread.php?t=33942)

pepitu 21-07-2006 09:38:05

dataset y crystal report
 
Hola a todos,
estoy intentando hacer un informe maestro-detalle usando crystal report y dataset.
El dataset está formado por dos tablas relacionadas (cobros y detalles, maestro-detalle respectivamente).
El problema lo tengo al mostrar el informe ya que no aparece ningún campo de la tabla detalle ('detalles').

Ya no sé si es un problema de diseño del informe (lo dudo por haber usado el asistente), en el código que llena el dataset (que aporto a continuación) o en el diseño del dataset (lo dudo porqué lo uso en otros lados sin problemas).

He probado (mal asunto ésto de estar probando para que funcione) con varias sentencias SQL, varios diseños del informe, etc... sin resultados.

Agradecería comentarios y opiniones.

Saludos


Código:

OleDbDataAdapter oda = new OleDbDataAdapter("SELECT * FROM cobros", connVETN);
OleDbDataAdapter oda1 = new OleDbDataAdapter("SELECT * FROM detalles", connVETN);
               
bd1DataSet dsImprimir = new bd1DataSet();
     


oda.Fill(dsImprimir, "cobros");
oda1.Fill(dsImprimir, "detalles");
             
CrystalReport1 info = new CrystalReport1();
info.SetDataSource(dsImprimir);

crvwInforme inf = new crvwInforme(info);

inf.Show();


__hector 21-07-2006 19:12:04

y como sabe el dataset que existe tal relacion? Creo que deberias especificarsela, con un DataRelation.

Ademas de esto, puedes en crystal insertar un subreporte, y mostrar alli los datos del detalle, y en la seccion de details del reporte los de la cabecera.

pepitu 21-07-2006 19:49:04

Hola Hector y, ya de antemano, gracias por tu respuesta.

Acabo de probar lo que comentas (usar un DataRelation) y me salta una excepción con el mensaje de que ya existe una relación entre ambas tablas...

Al usar el asistente de crystal le indiqué el tipo de relación entre ambas tablas y por otro lado, uso una instancia de bd1Dataset, el cual ya tiene establecida la relación .... por eso, ya dí por 'entendida' dicha relación.

La verdad es que aún no 'domino' las cosas básicas del .NET....Se nota que soy novatillo en ésto, no? :o

Por otro lado, pensé lo del subinforme.... pero me molesta dejar de usar lo básico por no funcionarme.... (no creo que me explique bien)....

Seguiré 'probando'...

Lo dicho....gracias y cuento (espero) el resultado.

Saludos

pepitu 29-07-2006 13:34:48

Hola de nuevo.
Tras unos cuantos d{ias liado he podido retomar el 'proyecto' y tras varias horas me doy cuenta de que soy incapaz de sacar adelante el problema que os comentaba....ya que no entiendo realmente lo que pasa.

La situacion final es la siguiente: sigo con el mismo informe, el mismo crystalreport1.rpt.... (no he modificado nada y por tanto sigo sin ver los detalles)... Estando en el diseñador del crystalreport1.rpt.....selecciono 'establecer ubicacion en la base de datos' (dentro del submenu 'bases de datos' situado en el menu superior llamado 'crystal reports')....y cambio la ubicacion de la bbdd (es decir, es como si seleccionase otra bbdd) prescindiendo del dataset como origen y seleccionando directamente la ruta absoluta de la bdd....

Y....por arte de magia.....TODO FUNCIONA (sin modificar absolutamente nada mas....ni el codigo aportado en el 1er mensaje).

No entiendo el por que no funciona estableciendo el dataset como origen de datos si lo estoy usando sin problemas en otros lados del proyecto....

¿No necesitare cambiar dicha ruta absoluta en tiempo de ejecucion (si la aplicacion se instala en otro ordenador)? ¿Como hacerlo?

Creo que tengo que repasar conceptos, temas....

Un saludo


La franja horaria es GMT +2. Ahora son las 07:43:39.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi