Clase generica para llamar un reporte de cristal report en Visual Basic 2008

//Clase generica para llamar un reporte de cristal report en Visual Basic 2008

Clase generica para llamar un reporte de cristal report en Visual Basic 2008

By | 2018-02-05T06:46:37+01:00 July 16th, 2015|news|0 Comments

Esta clase permite llamar un reporte de Crystal report de forma genérica y estandarizada, aquí

le comparto el método que llama de la clase, la cual puede tener el nombre que ustedes mejor les convenga, yo le llamo clsReporteGenerico.

Public Overloads Shared Sub printrpt(ByVal nombrereporte As String, ByVal REPORTEDOC As ReportDocument, ByVal ParamArray par() As String) Try Dim forma As New frmPrinter ' forma que tiene un objeto de tipo crystalreportviewer forma.MdiParent = mainmenu1 ' El nombre de la mdi del sistema Dim rpt As New ReportDocument rpt = REPORTEDOC With forma.crvVarios .ReportSource = rpt If par.Length > 0 Then .ParameterFieldInfo = genpar(par) End If logonrpt(rpt) 'Configurar aquí cualquier opción de exportación Dim opt As New ExportOptions opt = rpt.ExportOptions ' Ocultar la barra de exportaciones e impresion segun el usuario .ShowExportButton = gexportar_reportes .ShowPrintButton = gimprimir_reportes 'Configurar aquí cualquier opción de impresión Dim prn As PrintOptions prn = rpt.PrintOptions .ReportSource = rpt 'Visualizar el reporte en una ventana nueva forma.Text = custTitle forma.WindowState = FormWindowState.Maximized forma.Show() End With Catch exIOException As IO.IOException MsgBox("Ocurrio el error de I/O siguiente:" & exIOException.Message) Catch ex As Exception MsgBox("Ocurrio el error GENERICO :" & ex.Message) End Try End Sub Private Shared Function logonrpt(ByRef reporte As ReportDocument) As Boolean Dim crtableLogoninfos As New TableLogOnInfos Dim crtableLogoninfo As New TableLogOnInfo Dim crConnectionInfo As New ConnectionInfo Dim CrTables As Tables Dim CrTable As Table crConnectionInfo = loginfo CrTables = reporte.Database.Tables For Each CrTable In CrTables crtableLogoninfo = CrTable.LogOnInfo crtableLogoninfo.ConnectionInfo = crConnectionInfo CrTable.ApplyLogOnInfo(crtableLogoninfo) Next Return True End Function ' -----Metodo conectar Public Shared Sub conectar(ByVal servidor As String, ByVal basedatos As String, ByVal usuario As String, ByVal password As String) loginfo = New CrystalDecisions.Shared.ConnectionInfo loginfo.ServerName = servidor loginfo.DatabaseName = basedatos loginfo.UserID = usuario loginfo.Password = password End Sub

Para llamar la función desde una forma hace lo siguiente:  “clsReporteGenerico.conectar(cn.servidor, “MYBASE”, cn.usuario, cn.password)”

‘ Luego llama al reporte con los parametros separados por comas y cada argumento con su valor unido por un anpersand &.

clsReporteGenerico.printrpt("RPT_ANUAL.rpt", New RPT_ANUAL, "@cod_empre;" & Mid(Cempre, 1, 2), "@anio;" & Me.Combo_anio.SelectedValue, "@cod_taller;" & Me.Combocod_taller.SelectedValue, "@tipo;1", "@tipo2;2")

About the Author:

Leave A Comment