Mostrando entradas con la etiqueta conexion nativa. Mostrar todas las entradas
Mostrando entradas con la etiqueta conexion nativa. Mostrar todas las entradas

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