buenas soy tecnicamente programando en visual c# necesito una ayuda

19 views
Skip to first unread message

Jesus Landaeta

unread,
Feb 21, 2019, 3:52:05 PM2/21/19
to C#.NET Latinoamérica
buenas antes programaba en visual basic .6 y generaba los reportes con crystal report 8 actualmente estoy aprendiendo visual C# y uso crystal report 11 en el cual me siento un poco perdido expongo mi caso a ver quien de este grupo me puede ayudar

tengo una minisistema q debo presentar para la tesis sobre control y procesos de reparacion y diagnosticos de equipo para una dpto de helpdesk,
cree mis pantallas de ingreso de solicitud de reparacion -servicio y una pantalla de para procesar dichos servicion e incluir sus detalles de lo que se le realiza, el tipo de reparacion, que piezas le fueron sustituidas 

la base de datos usada es acces 2007-2016

base de datos.jpg

esta la pantalla q captura los datos de Diagnostico

diagnostico.jpg


hasta aca va bien los procesos
el problema se presenta que debo solicitar una fecha de impresion del diagnostico osea una fecha de inicio y fecha fin para esto cree una pantalla antes de llamar el reporte

selector de impresion.jpg


esta pantalla no presenta inconveniente ya que caga y pide los dos rango de fechas

el diseño el reporte queda de esta manera

parametros.jpg

reporte.jpg

el inconveniente esta es cuando llamo el parametro fechaparam carga bien pero no el ffinparam
 en el comando uso una consulta sql
Select * from SERVICIO WHERE FECHA = '{?fechaParam}'

pero como debo solicitar la fecha inicio y la fecha final 
cambie la consulta sql a:
Select * from SERVICIO WHERE FECHA between  '{?fechaParam}' and '{?ffinParam}'

pero el reporte no carga ningun datos y abre al llamara el formulario crystareport.viewer. una venta solicitando nuevamente el '{?fechaParam}' 

el codigo que tengo en el crystalreport.viewer
 public partial class frmRepo : Form
    {
        
        public frmRepo()
        {
            InitializeComponent();
        }

        private void frmRepo_Load(object sender, EventArgs e)
        {

            ////string texto = Microsoft.VisualBasic.Interaction.InputBox(
            ////         "ingrese la fecha a procesar",
            ////          "Filtro De impresion del reporte-fecha de los Diagnosticos-",
            ////           "indique su respuesta aqui");
            // this.crystalReportViewer2.Refresh();
            //
            // Creo el parametro y asigno el nombre
            //
            ParameterField param = new ParameterField();
            param.ParameterFieldName = "fechaParam";

            //
            // creo el valor que se asignara al parametro de fecha de incio
            //
           //string texto =  Texto1;
            string texto = frmSelector.text1;
            ParameterDiscreteValue discreteValue = new ParameterDiscreteValue();
            discreteValue.Value = (texto);
            param.CurrentValues.Add(discreteValue);
            //******************************************************aca cargo la fecha final 
            ParameterField param2 = new ParameterField();
            param.ParameterFieldName = "ffinParam";

            string texto2 = frmSelector.text2;
            ParameterDiscreteValue discreteValue2 = new ParameterDiscreteValue();
            discreteValue2.Value =(texto2);
            param2.CurrentValues.Add(discreteValue2);


            //
            // Asigno el paramametro a la coleccion
            //
            ParameterFields paramFiels = new ParameterFields();
            paramFiels.Add(param);

            //
            // Asigno la coleccion de parametros al Crystal Viewer
            //
            crystalReportViewer1.ParameterFieldInfo = paramFiels;

            //
            // Creo la instancia del reporte
            //
            crListado report = new crListado();
            crystalReportViewer1.Refresh();
            //
            // Cambio el path de la base de datos
            //
            string rutadb = Path.Combine(Application.StartupPath, "dbSGA.accdb");
            report.DataSourceConnections[0].SetConnection("", rutadb, false);

            //
            // Asigno el reporte a visor
            //
           // crystalReportViewer1.Refresh();
            crystalReportViewer1.ReportSource = report;
           
        
        }
    }


necesito una ayuda por favor ya he probador varias opciones hasta donde dan mis conocimientos en visual c# y crystalreport 11
en la base de datos solo existe un campo de fecha llamado fecha dia
y la idea es que cargue los datos de una fecha o un rango por ejemplo
si tengo 01/01/2019 al 01/01/2019 deba cargara la informacion registrada de esa fecha
o si pongo 01/01/2019 al  20/01/2019 carga ese rango de datos en el reporte 

de ante mano gracias al que pueda ayudarte aclarar esa duda

Edgar Diaz

unread,
Feb 21, 2019, 4:10:29 PM2/21/19
to csharp...@googlegroups.com
Hola, ya verificaste que el parametro en cr recibe la fecha en el mismo formato que la envias desde tu formulario de llamada?

--
Has recibido este mensaje porque estás suscrito al grupo "C#.NET Latinoamérica" de Grupos de Google.
Visita este grupo en https://groups.google.com/group/csharplatino.


--
Saludos

Edgar F. Díaz

Jesus Landaeta

unread,
Feb 21, 2019, 5:35:57 PM2/21/19
to C#.NET Latinoamérica
            string texto = frmSelector.text1;-----------------------------------------------------aca cargo el valor del parametro y se lo asigno a texto
            ParameterDiscreteValue discreteValue = new ParameterDiscreteValue();
            discreteValue.Value = (texto);
            param.CurrentValues.Add(discreteValue);
            //******************************************************aca cargo la fecha final 
            ParameterField param2 = new ParameterField();
            param.ParameterFieldName = "ffinParam";

            string texto2 = frmSelector.text2;-----------------------------------------------------------------------aca cargo el valor para el parametro y se lo asigno a texto2

Domingo Cuevas

unread,
Mar 2, 2019, 4:11:45 PM3/2/19
to csharp...@googlegroups.com
Revisa el codigo en rojo (lo marque en tu correo enviando), en el segundo caso debe ser param2.

Saludos,
Reply all
Reply to author
Forward
0 new messages