sábado, 13 de agosto de 2016

Crear informe vb.net conexion nativa Mysql

Bueno en esta ocasion utilizaré una tabla con la que estoy trabajando actualmente =)
 
Ahora crearemos un dataset y dentro de este crearemos una tabla 


Sencillo verdad? en este caso lo cree con solo 3 campos pues en la seleccion que hare en visual solo traere los 3 campos, agrupandolos por descripcion y contando, para saber el numero de pacientes por consulta. 
Ahora deben crear un informe .rdlc  y en "Datos de Informe" deben agragar el dataset y escoger la tabla que creamos anteriormente.


 Bueno luego de eso solo debes arrastrar de Dataset1 en Conjunto de datos o crear una tabla dependiendo de como quieran presentar sus datos
 Me ha quedado de esta manera y tambien agregue unos parametros que voy a enviar desde mi formulario =)


Luego crearemos un nuevo formulario donde se visualizara nuestro informe
 


 Agregan un Reportviewer y eligen el rdlc que creamos en el paso anterior.
 
Ahora desde mi formulario enviare 4 parametros, los de las 3 cajas de texto de abajoo y la fecha actual


A continuacion el codigo del boton Imprimir
 Private Sub btn_imprimir_Click(sender As Object, e As EventArgs) Handles btn_imprimir.Click
        Dim fecha_reporte, tot_reg, tot_ate, tot_din As String
        fecha_reporte = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")
        tot_reg = Me.txt_num_reg.Text
        tot_ate = Me.txt_total_atendidos.Text
        tot_din = Me.txt_dinero_atendidos.Text

        Dim fecha_desde, fecha_hasta As String
        fecha_desde = Me.dt_fecha_desde.Value.ToString("yyyy-MM-dd")
        fecha_hasta = Me.dt_fecha_hasta.Value.ToString("yyyy-MM-dd")

        Dim querycab As String
        conexion_global()
        querycab = "select  Descripcion,count(*) numero, sum(total) total from det_fac_con where Dia_Turno>='" & fecha_desde & "' and Dia_Turno<'" & fecha_hasta & "' Group by Descripcion"
        da = ejecuta_consulta_DataAdapter(querycab)
        Dim table As New DS_general_estadisticas.tabla_general_estDataTable
        da.Fill(table)

        ver_pacientes_atendidos.DS_general_estadisticas.tabla_general_est.Merge(table)
        'Parametros 

        Dim parameters As ReportParameter() = New ReportParameter(3) {}
        parameters(0) = New ReportParameter("fecha_reporte", fecha_reporte)
        parameters(1) = New ReportParameter("num_reg", tot_reg)
        parameters(2) = New ReportParameter("tot_ate", tot_ate)
        parameters(3) = New ReportParameter("tot_din", tot_din)


        ver_pacientes_atendidos.ReportViewer1.LocalReport.SetParameters(parameters)
        ver_pacientes_atendidos.ReportViewer1.RefreshReport()

        ver_pacientes_atendidos.ShowDialog()
        cerrar()
    End Sub
Ahora el codigo en el Modulo "Conexion" =)

Imports MySql.Data
Imports MySql.Data.Types
Imports MySql.Data.MySqlClient

Module Conexion
    Public _cadena As String
    Public _conexion As MySqlConnection
    Public cmd As MySqlCommand
    Public da As New MySqlDataAdapter
    Public ultimo_id As Integer
    Public Function conexion_global() As Boolean
        Dim _estado As Boolean = True
        Try
            _cadena = ("server=localhost; database=primeroagosto; user id=root; password=")
            _conexion = New MySqlConnection(_cadena)
            _conexion.Open()

        Catch ex As Exception
            MessageBox.Show(ex.Message)
            _estado = False
        End Try
        Return _estado
    End Function
    Public Sub cerrar()
        _conexion.Close()
    End Sub
End Module

No hay comentarios:

Publicar un comentario