none
Un Windows Form y 3 Reportes Como mostrarlos? RRS feed

  • Pregunta

  • No puedo poner imagenes aun xq no han validado.

    Tengo un GroupBox, con 3 options, y 3 ReportViewer  los 3 visible=false; el tema es:

    si Option1 esta activado, que me muestre el ReportViewer1 segun corresponde si Reporte1.rldlc.

    Y asi para Option2 y Option3 con su respectivo, he echo un Select Case /end Select pero no me muestra

    quizas estoy haciendo algo mal: Les dejare mi codigo

    Quizas la linea de A = los radiobutton es lo  que no esta dejando;? 

    Private Sub Reportes_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Dim A As String
            A = rbEntradas.Checked = True And rbSalidas.Checked = True And rbVacios.Checked = True
            Select Case A
                Case "Entradas"
                    If rbEntradas.Checked = True Then
                        rpvEntradas.Visible = True
    
                        Using cnx As New SqlConnection(ConfigurationManager.ConnectionStrings("cnxString").ToString())
                            Dim ds As New DataTable
                            Dim da As New SqlDataAdapter("Select * from DetalleEntradas ORDER BY CodigoEntrada", cnx)
                            da.Fill(ds)
    
                            If Not ds Is Nothing AndAlso Not ds.Rows.Count = 0 Then
                                Me.rpvEntradas.Visible = True
                                Me.rpvEntradas.LocalReport.ReportPath = "E:\Proyectos Sistemas 2016\Proyectos Actuales\Control de Inventario\Reportes\ReporteEntradas.rdlc"
                                
    
                                Dim oReport As New ReportDataSource("DataSet1", ds)
                                Me.rpvEntradas.LocalReport.DataSources.Clear()
                                Me.rpvEntradas.LocalReport.DataSources.Add(oReport)
                            End If
                            cnx.Close()
                            Me.rpvEntradas.RefreshReport()
                        End Using
                    End If
                Case "Salidas"
                    If rbSalidas.Checked = True Then
                        rpvEntradas.Visible = True
    
                        Using cnx As New SqlConnection(ConfigurationManager.ConnectionStrings("cnxString").ToString())
                            Dim ds As New DataTable
                            Dim da As New SqlDataAdapter("Select * from DetalleSalidas ORDER BY CodigoSalida", cnx)
                            da.Fill(ds)
    
                            If Not ds Is Nothing AndAlso Not ds.Rows.Count = 0 Then
                                Me.rpvSalidas.Visible = True
                                Me.rpvSalidas.LocalReport.ReportPath = "E:\Proyectos Sistemas 2016\Proyectos Actuales\Gestion de Almacen\Reportes\ReporteSalidas.rdlc"
                                
                                Dim oReport As New ReportDataSource("DataSet1", ds)
    
                                Me.rpvSalidas.LocalReport.DataSources.Clear()
                                Me.rpvSalidas.LocalReport.DataSources.Add(oReport)
                            End If
                            cnx.Close()
                            Me.rpvSalidas.RefreshReport()
                        End Using
                    End If
                Case "Vacios"
                    If rbVacios.Checked = True Then
                        rpvEntradas.Visible = True
    
                        Using cnx As New SqlConnection(ConfigurationManager.ConnectionStrings("cnxString").ToString())
                            Dim ds As New DataTable
                            Dim da As New SqlDataAdapter("Select * from Productos WHERE Stock = '0'", cnx)
                            da.Fill(ds)
    
                            If Not ds Is Nothing AndAlso Not ds.Rows.Count = 0 Then
                                Me.rpvVacios.Visible = True
                                Me.rpvVacios.LocalReport.ReportPath = "E:\Proyectos Sistemas 2016\Proyectos Actuales\Gestion de Almacen\ReporteVacios.rdlc"
                                
                                Dim oReport As New ReportDataSource("DataSet1", ds)
    
                                Me.rpvVacios.LocalReport.DataSources.Clear()
                                Me.rpvVacios.LocalReport.DataSources.Add(oReport)
                            End If
                            cnx.Close()
                            Me.rpvVacios.RefreshReport()
                        End Using
                    End If
            End Select
        End Sub

    Espero me puedan ayudar no he querido hacer 3 ventanas para no tener tanto por ello que quiero hacerlo en un mismo Form.

    Gracias


    jueves, 11 de agosto de 2016 21:35

Respuestas

  • Pues primero que nada te recomiendo que no lo pongas en tu Load si no en un boton.

    Y dentro del boton creo que puedes hacer esto

    If rbEntradas.Checked  Then 
        [ tu codido de primero reporte]
    ElseIf rbSalidas.Checked  Then 
        [ tu codigo de segundo reporte ] 
    ElseIf rbVacion.Checked Then 
        [ tu tercer reporte ] 
    Else
         MessageBox.Show("Seleccionar un reporte") 
    End If
    
    




    • Marcado como respuesta Javier Roque viernes, 12 de agosto de 2016 0:56
    jueves, 11 de agosto de 2016 22:20

Todas las respuestas

  • Pues primero que nada te recomiendo que no lo pongas en tu Load si no en un boton.

    Y dentro del boton creo que puedes hacer esto

    If rbEntradas.Checked  Then 
        [ tu codido de primero reporte]
    ElseIf rbSalidas.Checked  Then 
        [ tu codigo de segundo reporte ] 
    ElseIf rbVacion.Checked Then 
        [ tu tercer reporte ] 
    Else
         MessageBox.Show("Seleccionar un reporte") 
    End If
    
    




    • Marcado como respuesta Javier Roque viernes, 12 de agosto de 2016 0:56
    jueves, 11 de agosto de 2016 22:20
  • Bueno de Entradas ya me salio pero solo lo he dejado como indicas y he quitado el case usando la forma de if else if uno me sale los demas sera de revisar, pero lo he dejado en load. Para ver de todos modos gracias.
    viernes, 12 de agosto de 2016 0:56
  • Mira este Link

    Ahi explican como tu lo quieres hacer.

    Saludos

    viernes, 12 de agosto de 2016 1:08
  • Igual tomare encuenta el link peroya lo habia solucionado era por la parte visible estaba repetido como habia hecho primero uno luego copie y pegue olvide cambiar los valores pero ya me a salido de la forma con lo inicial me indicaste gracias
    viernes, 12 de agosto de 2016 2:41