public virtual CrystalDecisions.CrystalReports.Engine.ReportDocument CreateReport() { rptEstadisticasLicenciasMedicas rpt = new rptEstadisticasLicenciasMedicas(); rpt.Site = this.Site; return(rpt); }
private void btnImprimir_Click(object sender, EventArgs e) { //clsConexion a la base de datos MySqlConnection myclsConexion = new MySqlConnection(DispensarioMedico.clsConexion.ConectionString); // Creando el command que ejecutare MySqlCommand myCommand = new MySqlCommand(); // Creando el Data Adapter MySqlDataAdapter myAdapter = new MySqlDataAdapter(); // Creando el String Builder StringBuilder sbQuery = new StringBuilder(); // Otras variables del entorno string cWhere = " WHERE 1 = 1"; string cUsuario = frmLogin.cUsuarioActual; string cTitulo = ""; // Filtrando la informacion a Generar if (rbRango.Checked) { try { // Abro clsConexion myclsConexion.Open(); // Creo comando myCommand = myclsConexion.CreateCommand(); // Adhiero el comando a la clsConexion myCommand.Connection = myclsConexion; // Filtros de la busqueda string fechadesde = fechaDesde.Value.ToString("yyyy-MM-dd"); string fechahasta = fechaHasta.Value.ToString("yyyy-MM-dd"); cWhere = cWhere + " AND fecha >= " + "'" + fechadesde + "'" + " AND fecha <= " + "'" + fechahasta + "'" + ""; sbQuery.Clear(); sbQuery.Append("SELECT upper(rangos.rango_descripcion) as descripcion, count(licenciasmedicas.rango) as cantidad,"); sbQuery.Append(" SUM(licenciasmedicas.idlicencia) as cantidadtotal"); sbQuery.Append(" FROM licenciasmedicas "); sbQuery.Append(" INNER JOIN rangos ON licenciasmedicas.rango = rangos.rango_id"); sbQuery.Append(cWhere); sbQuery.Append(" GROUP BY licenciasmedicas.rango"); // Paso los valores de sbQuery al CommandText myCommand.CommandText = sbQuery.ToString(); // Creo el objeto Data Adapter y ejecuto el command en el myAdapter = new MySqlDataAdapter(myCommand); // Creo el objeto Data Table DataTable dtLicenciasMedicas = new DataTable(); // Lleno el data adapter myAdapter.Fill(dtLicenciasMedicas); // Cierro el objeto clsConexion myclsConexion.Close(); // Verifico cantidad de datos encontrados int nRegistro = dtLicenciasMedicas.Rows.Count; if (nRegistro == 0) { MessageBox.Show("No Hay Datos Para Mostrar, Favor Verificar", "Sistema Dispensario Medico", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else { //1ero.HACEMOS LA COLECCION DE PARAMETROS //los campos de parametros contiene un objeto para cada campo de parametro en el informe ParameterFields oParametrosCR = new ParameterFields(); //Proporciona propiedades para la recuperacion y configuracion del tipo de los parametros ParameterValues oParametrosValuesCR = new ParameterValues(); //2do.CREAMOS LOS PARAMETROS ParameterField oUsuario = new ParameterField(); //parametervaluetype especifica el TIPO de valor de parametro //ParameterValueKind especifica el tipo de valor de parametro en la PARAMETERVALUETYPE de la Clase PARAMETERFIELD oUsuario.ParameterValueType = ParameterValueKind.StringParameter; //3ero.VALORES PARA LOS PARAMETROS //ParameterDiscreteValue proporciona propiedades para la recuperacion y configuracion de //parametros de valores discretos ParameterDiscreteValue oUsuarioDValue = new ParameterDiscreteValue(); oUsuarioDValue.Value = cUsuario; //4to. AGREGAMOS LOS VALORES A LOS PARAMETROS oUsuario.CurrentValues.Add(oUsuarioDValue); //5to. AGREGAMOS LOS PARAMETROS A LA COLECCION oParametrosCR.Add(oUsuario); //nombre del parametro en CR (Crystal Reports) oParametrosCR[0].Name = "cUsuario"; //nombre del TITULO DEL INFORME cTitulo = "REPORTE ESTADISTICO DE LICENCIAS MEDICAS"; //6to Instanciamos nuestro REPORTE //Reportes.ListadoDoctores oListado = new Reportes.ListadoDoctores(); rptEstadisticasLicenciasMedicas orptEstadisticasLM = new rptEstadisticasLicenciasMedicas(); //pasamos el nombre del TITULO del Listado //SumaryInfo es un objeto que se utiliza para leer,crear y actualizar las propiedades del reporte // oListado.SummaryInfo.ReportTitle = cTitulo; orptEstadisticasLM.SummaryInfo.ReportTitle = cTitulo; //7mo. instanciamos nuestro el FORMULARIO donde esta nuestro ReportViewer frmPrinter ofrmPrinter = new frmPrinter(dtLicenciasMedicas, orptEstadisticasLM, cTitulo); //ParameterFieldInfo Obtiene o establece la colección de campos de parámetros. ofrmPrinter.CrystalReportViewer1.ParameterFieldInfo = oParametrosCR; ofrmPrinter.ShowDialog(); } } catch (Exception myEx) { MessageBox.Show("Error : " + myEx.Message, "Mostrando Reporte", MessageBoxButtons.OK, MessageBoxIcon.Information); clsExceptionLog.LogError(myEx, false); return; } } else if (rbDependencia.Checked) { try { // Abro clsConexion myclsConexion.Open(); // Creo comando myCommand = myclsConexion.CreateCommand(); // Adhiero el comando a la clsConexion myCommand.Connection = myclsConexion; // Filtros de la busqueda string fechadesde = fechaDesde.Value.ToString("yyyy-MM-dd"); string fechahasta = fechaHasta.Value.ToString("yyyy-MM-dd"); cWhere = cWhere + " AND fecha >= " + "'" + fechadesde + "'" + " AND fecha <= " + "'" + fechahasta + "'" + ""; sbQuery.Clear(); sbQuery.Append("SELECT upper(dependencias.nomdepart) as descripcion, count(licenciasmedicas.dependencia) as cantidad,"); sbQuery.Append(" SUM(licenciasmedicas.idlicencia) as cantidadtotal"); sbQuery.Append(" FROM licenciasmedicas "); sbQuery.Append(" INNER JOIN dependencias ON licenciasmedicas.dependencia = dependencias.coddepart"); sbQuery.Append(cWhere); sbQuery.Append(" GROUP BY licenciasmedicas.dependencia"); sbQuery.Append(" ORDER BY licenciasmedicas.idlicencia"); // Paso los valores de sbQuery al CommandText myCommand.CommandText = sbQuery.ToString(); // Creo el objeto Data Adapter y ejecuto el command en el myAdapter = new MySqlDataAdapter(myCommand); // Creo el objeto Data Table DataTable dtLicenciasMedicas = new DataTable(); // Lleno el data adapter myAdapter.Fill(dtLicenciasMedicas); // Cierro el objeto clsConexion myclsConexion.Close(); // Verifico cantidad de datos encontrados int nRegistro = dtLicenciasMedicas.Rows.Count; if (nRegistro == 0) { MessageBox.Show("No Hay Datos Para Mostrar, Favor Verificar", "Sistema Dispensario Medico", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else { //1ero.HACEMOS LA COLECCION DE PARAMETROS //los campos de parametros contiene un objeto para cada campo de parametro en el informe ParameterFields oParametrosCR = new ParameterFields(); //Proporciona propiedades para la recuperacion y configuracion del tipo de los parametros ParameterValues oParametrosValuesCR = new ParameterValues(); //2do.CREAMOS LOS PARAMETROS ParameterField oUsuario = new ParameterField(); //parametervaluetype especifica el TIPO de valor de parametro //ParameterValueKind especifica el tipo de valor de parametro en la PARAMETERVALUETYPE de la Clase PARAMETERFIELD oUsuario.ParameterValueType = ParameterValueKind.StringParameter; //3ero.VALORES PARA LOS PARAMETROS //ParameterDiscreteValue proporciona propiedades para la recuperacion y configuracion de //parametros de valores discretos ParameterDiscreteValue oUsuarioDValue = new ParameterDiscreteValue(); oUsuarioDValue.Value = cUsuario; //4to. AGREGAMOS LOS VALORES A LOS PARAMETROS oUsuario.CurrentValues.Add(oUsuarioDValue); //5to. AGREGAMOS LOS PARAMETROS A LA COLECCION oParametrosCR.Add(oUsuario); //nombre del parametro en CR (Crystal Reports) oParametrosCR[0].Name = "cUsuario"; //nombre del TITULO DEL INFORME cTitulo = "REPORTE ESTADISTICO DE LICENCIAS MEDICAS"; //6to Instanciamos nuestro REPORTE //Reportes.ListadoDoctores oListado = new Reportes.ListadoDoctores(); rptEstadisticasLicenciasMedicas orptEstadisticasLM = new rptEstadisticasLicenciasMedicas(); //pasamos el nombre del TITULO del Listado //SumaryInfo es un objeto que se utiliza para leer,crear y actualizar las propiedades del reporte // oListado.SummaryInfo.ReportTitle = cTitulo; orptEstadisticasLM.SummaryInfo.ReportTitle = cTitulo; //7mo. instanciamos nuestro el FORMULARIO donde esta nuestro ReportViewer frmPrinter ofrmPrinter = new frmPrinter(dtLicenciasMedicas, orptEstadisticasLM, cTitulo); //ParameterFieldInfo Obtiene o establece la colección de campos de parámetros. ofrmPrinter.CrystalReportViewer1.ParameterFieldInfo = oParametrosCR; ofrmPrinter.ShowDialog(); } } catch (Exception myEx) { MessageBox.Show("Error : " + myEx.Message, "Mostrando Reporte", MessageBoxButtons.OK, MessageBoxIcon.Information); clsExceptionLog.LogError(myEx, false); return; } } else if (rbSeccionNaval.Checked) { try { // Abro clsConexion myclsConexion.Open(); // Creo comando myCommand = myclsConexion.CreateCommand(); // Adhiero el comando a la clsConexion myCommand.Connection = myclsConexion; // Filtros de la busqueda string fechadesde = fechaDesde.Value.ToString("yyyy-MM-dd"); string fechahasta = fechaHasta.Value.ToString("yyyy-MM-dd"); cWhere = cWhere + " AND fecha >= " + "'" + fechadesde + "'" + " AND fecha <= " + "'" + fechahasta + "'" + ""; sbQuery.Clear(); sbQuery.Append("SELECT upper(seccionaval.nomsec) as descripcion, count(licenciasmedicas.dependencia) as cantidad,"); sbQuery.Append(" SUM(licenciasmedicas.idlicencia) as cantidadtotal"); sbQuery.Append(" FROM licenciasmedicas "); sbQuery.Append(" INNER JOIN seccionaval ON licenciasmedicas.seccionaval = seccionaval.codsec"); sbQuery.Append(cWhere); sbQuery.Append(" GROUP BY licenciasmedicas.seccionaval"); sbQuery.Append(" ORDER BY licenciasmedicas.idlicencia"); // Paso los valores de sbQuery al CommandText myCommand.CommandText = sbQuery.ToString(); // Creo el objeto Data Adapter y ejecuto el command en el myAdapter = new MySqlDataAdapter(myCommand); // Creo el objeto Data Table DataTable dtLicenciasMedicas = new DataTable(); // Lleno el data adapter myAdapter.Fill(dtLicenciasMedicas); // Cierro el objeto clsConexion myclsConexion.Close(); // Verifico cantidad de datos encontrados int nRegistro = dtLicenciasMedicas.Rows.Count; if (nRegistro == 0) { MessageBox.Show("No Hay Datos Para Mostrar, Favor Verificar", "Sistema Dispensario Medico", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else { //1ero.HACEMOS LA COLECCION DE PARAMETROS //los campos de parametros contiene un objeto para cada campo de parametro en el informe ParameterFields oParametrosCR = new ParameterFields(); //Proporciona propiedades para la recuperacion y configuracion del tipo de los parametros ParameterValues oParametrosValuesCR = new ParameterValues(); //2do.CREAMOS LOS PARAMETROS ParameterField oUsuario = new ParameterField(); //parametervaluetype especifica el TIPO de valor de parametro //ParameterValueKind especifica el tipo de valor de parametro en la PARAMETERVALUETYPE de la Clase PARAMETERFIELD oUsuario.ParameterValueType = ParameterValueKind.StringParameter; //3ero.VALORES PARA LOS PARAMETROS //ParameterDiscreteValue proporciona propiedades para la recuperacion y configuracion de //parametros de valores discretos ParameterDiscreteValue oUsuarioDValue = new ParameterDiscreteValue(); oUsuarioDValue.Value = cUsuario; //4to. AGREGAMOS LOS VALORES A LOS PARAMETROS oUsuario.CurrentValues.Add(oUsuarioDValue); //5to. AGREGAMOS LOS PARAMETROS A LA COLECCION oParametrosCR.Add(oUsuario); //nombre del parametro en CR (Crystal Reports) oParametrosCR[0].Name = "cUsuario"; //nombre del TITULO DEL INFORME cTitulo = "REPORTE ESTADISTICO DE LICENCIAS MEDICAS"; //6to Instanciamos nuestro REPORTE //Reportes.ListadoDoctores oListado = new Reportes.ListadoDoctores(); rptEstadisticasLicenciasMedicas orptEstadisticasLM = new rptEstadisticasLicenciasMedicas(); //pasamos el nombre del TITULO del Listado //SumaryInfo es un objeto que se utiliza para leer,crear y actualizar las propiedades del reporte // oListado.SummaryInfo.ReportTitle = cTitulo; orptEstadisticasLM.SummaryInfo.ReportTitle = cTitulo; //7mo. instanciamos nuestro el FORMULARIO donde esta nuestro ReportViewer frmPrinter ofrmPrinter = new frmPrinter(dtLicenciasMedicas, orptEstadisticasLM, cTitulo); //ParameterFieldInfo Obtiene o establece la colección de campos de parámetros. ofrmPrinter.CrystalReportViewer1.ParameterFieldInfo = oParametrosCR; ofrmPrinter.ShowDialog(); } } catch (Exception myEx) { MessageBox.Show("Error : " + myEx.Message, "Mostrando Reporte", MessageBoxButtons.OK, MessageBoxIcon.Information); clsExceptionLog.LogError(myEx, false); return; } } }