• Lunes 29 de Abril de 2024, 00:58

Autor Tema:  Datos Especificos  (Leído 1830 veces)

karolarivero

  • Miembro activo
  • **
  • Mensajes: 25
    • Ver Perfil
Datos Especificos
« en: Miércoles 29 de Agosto de 2007, 21:18 »
0
Hola a todos, ya es hora que pida ayuda,  estoy tratando de hacer un reporte que muestre datos concretos, es decir, se hace una busqueda de lugares de almacenamientos no conformes se selecciona uno de los lugares y se manda a imprimir toda la informacion relacionada a  ese lugar la cual proviene de varias tablas que se encuentran relacionadas en la BD,la informacion  deberia presentarse asi:


Fecha de Evaluacion: FechaE.Evaluacion

Producto declarado no conforme: NombreS.Silo “,” NombreT.Trigo

Variables               Resultado                  Valor maximo       Valor Minimo
nombreV.variables     valor.Evaluacion          max.relacionTE           min.relacionTE
(Se debe presentar un listado de las variables…)


Bueno, he intentado hacerlo pero no me sale, porque en vez de salir una sola fecha me aparecen todas las fechas, todos los nombres de los silos…será que alguien me puede dar una orientación, una guía, para poder hacer este reporte que muestre solo datos específicos.


Soy nueva usando CrystalReport …


Saludos, gracias por su atención
MCRS

viHack

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Datos Especificos
« Respuesta #1 en: Jueves 30 de Agosto de 2007, 00:07 »
0
El filtrado es mas facil hacerlo desde codigo, en que lenguaje estas programando?

Me parece que lo mas facil es filtrar antes, y enviar solo los datos que necesitas al reporte.

Saludos

karolarivero

  • Miembro activo
  • **
  • Mensajes: 25
    • Ver Perfil
Re: Datos Especificos
« Respuesta #2 en: Jueves 30 de Agosto de 2007, 15:45 »
0
Hola

Estoy programando en Visual Basic.net 2003.

Ahorita estoy probando con esto:

1.- diseño mi reporte: busco las tablas que voy a necesitar, agrego al informe los campos que quiero que se muestren, por ejemplo necesito mostrar una fecha de evaluacion que esta asociada a un nombre de deposito no conforme, ademas necesito mostrar lo que hay en ese deposito...entonces pongo  Evaluacion.FechaE y asi sucesivamente segun lo que tenga que mostrar, no le hago mas nada, hasta ahorita esto es lo unico que se hacer en CR :(

2.- luego utilizo un formulario para visualizar el reporte (agrego el CrystalReportViewer...) y en el editor de codigo coloco lo siguiente:

Código: Text
  1.  
  2. 'ReporteNcRecepcion: Nombre de la clase donde muestro el reporte
  3.  
  4. Public Sub ReporteNcRecepcion()  
  5.        
  6. Dim CodigoE As Date = #12/3/2006#
  7.         Dim silo As String = "Silo Nº 01"
  8.         Dim trigo As String = "HRW"
  9.  
  10.         InitializeComponent()
  11.  
  12.         Dim Reporte As New CrystalReport1()
  13.  
  14.        
  15.          CrystalReportViewer1.ReportSource = Reporte
  16.          CrystalReportViewer1.SelectionFormula = "Evaluacion.FechaE=" + CodigoE + "and Silo.NombreS = " + silo + "AND Trigo.NombreT = " + trigo
  17.  
  18.        
  19.     End Sub
  20.  
  21.  
  22.  



Luego en otro formulario coloco lo siguiente, para mostrar el reporte:

Código: Text
  1.  
  2.  
  3. Private Sub boton1_Click(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles Boton1.Click
  4.  
  5.                 Dim aviso As New ReporteNcRecepcion()
  6.  
  7.                 Dim a As New ReporteNcRecepcion()
  8.  
  9.                 a.ReporteNcRecepcion()
  10.  
  11.                 aviso.ShowDialog()
  12.  
  13. End Sub
  14.  
  15.  


y sabes que? no pasa nada, no muestra nada, nada de nada...
para ir descartando que puede ser coloque en las propiedades del  CrystalReportViewer1.ReportSource, la ruta donde esta el reporte y lo muestra pero trae todas las fechas, todos los nombres de los lugares de almacenamiento... :blink:  y hasta alli llegue, alguien me puede explicar que estoy haciendo mal o que estoy dejando de hacer?

gracias y saludos...
MCRS

viHack

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Datos Especificos
« Respuesta #3 en: Jueves 30 de Agosto de 2007, 17:03 »
0
Prueba de esta forma

Código: Text
  1.  
  2. Imports System.Data.SqlClient
  3. Imports System.Data.OleDb
  4.  
  5. Public Sub ReporteNcRecepcion()
  6.  
  7.   'Primero que Nada tendrias que tener tu cadena de conexion a la base de datos, asumo que en eso no tienes problema, si me equivoco avisame.
  8.  
  9.   Dim sqlConn As New SqlConnection("AQUI IRIA LA CADENA DE CONEXION A TU BASE DE DATOS")
  10.  
  11.   'Crea una variable de tipo Report, y luego seteala a tu reporte.
  12.  
  13.   Dim Reporte as New CrystalReport1
  14.  
  15.   'Crea un SqlDataAdapter y un Dataset para cargar los datos que deseamos mostrar, ya filtrados por medio de una consulta SELECT.
  16.  
  17.   Dim dsDatos As DataSet
  18.   Dim daTabla As SqlDataAdapter
  19.  
  20.   daTabla = New SqlDataAdapter("AQUI IRIA TU SELECT O CONSULTA", sqlConn)
  21.   dsDatos = New DataSet("CualquierNombre")
  22.  
  23.   'Llenando el Dataset
  24.   daTabla.Fill(dsDatos, "Command")  'El nombre tiene que coincidir con el nombre de la consulta del reporte
  25.  
  26.   'No se que sistema de bases de datos uses, yo uso SQL SERVER 2005, si este fuera tu caso, usa esto para asignar la conexion a tu reporte.
  27.  
  28.   Dim tbCurrent As CrystalDecisions.CrystalReports.Engine.Table
  29.   Dim tliCurrent As CrystalDecisions.Shared.TableLogOnInfo
  30.   For Each tbCurrent In Report.Database.Tables
  31.      tliCurrent = tbCurrent.LogOnInfo
  32.      With tliCurrent.ConnectionInfo
  33.         .ServerName = ".\SQLExpress"  'Puese escribir ".\INSTANCIA" si el nombre de tu instancia no es la que da sqlserver 2005 por default
  34.         .UserID = "sa"   'O el usuario que uses
  35.         .Password = "MyPass"
  36.         .DatabaseName = "MyDataBase"
  37.      End With
  38.      tbCurrent.ApplyLogOnInfo(tliCurrent)
  39.   Next tbCurrent
  40.  
  41.  
  42.   'Luego asignas el DataSet como DataSource de tu reporte
  43.  
  44.   Reporte.SetDataSource(dsDatos)
  45.  
  46.   Luego asignas el reporte a tu crviewer
  47.  
  48.   CrystalReportViewer1.ReportSource = Report
  49.   CrystalReportViewer1.Zoom((85))
  50.   CrystalReportViewer1.Show()
  51.  
  52.  

Al diseñar tu reporte tal vez tengas que agrupar por Silo, no estoy muy seguro ya que no entiendo con exactitud el manejo de tus datos.

Recuerda que el filtrado lo tendrias que hacer con SQL, o con recordset desconectados, si tienes problemas en esto tal vez pueda ayudarte.

Esto me ha funcionado a mi, espero que de igual forma de sirva a ti, cualquier duda me cuentas.

Saludos