frmImprimir.vb 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. Imports CrystalDecisions.CrystalReports.Engine
  2. Imports CrystalDecisions.Shared
  3. Public Class frmImprimir
  4. Public NombreRPT As String = String.Empty
  5. Public IdDocumento As String = String.Empty
  6. Public VistaPrevia As Boolean = True
  7. Sub New()
  8. ' Esta llamada es exigida por el diseñador.
  9. InitializeComponent()
  10. ' Agregue cualquier inicialización después de la llamada a InitializeComponent().
  11. End Sub
  12. Sub New(ByRef NombreRPT As String, ByRef IdDocumento As String, ByRef VistaPrevia As Boolean)
  13. Me.New
  14. Me.NombreRPT = NombreRPT
  15. Me.IdDocumento = IdDocumento
  16. CargarRPT()
  17. End Sub
  18. Private Sub frmImpresion_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  19. End Sub
  20. Public Sub CargarRPT()
  21. Dim crSubDB As Database
  22. Dim crTables As Tables
  23. Dim cInfo = New ConnectionInfo()
  24. Dim oRPT As New ReportDocument
  25. crViewer.SetProductLocale(Threading.Thread.CurrentThread.CurrentUICulture.LCID)
  26. cInfo.ServerName = My.Settings.ServidorSQL
  27. cInfo.UserID = My.Settings.UsuarioSQL
  28. cInfo.Password = My.Settings.ClaveSQL
  29. cInfo.DatabaseName = My.Settings.BaseDeDatos
  30. oRPT.Load(My.Settings("RutaReportes") & NombreRPT)
  31. oRPT.SetDatabaseLogon(cInfo.UserID, cInfo.Password)
  32. oRPT.SetParameterValue(0, IdDocumento)
  33. crSubDB = oRPT.Database
  34. crTables = crSubDB.Tables
  35. Dim crTableLogOnInfo As TableLogOnInfo
  36. For Each crTable In crTables
  37. crTableLogOnInfo = crTable.LogOnInfo
  38. crTableLogOnInfo.ConnectionInfo = cInfo
  39. crTable.ApplyLogOnInfo(crTableLogOnInfo)
  40. Next
  41. If VistaPrevia = False Then
  42. oRPT.PrintToPrinter(IdDocumento, False, 0, 0)
  43. End If
  44. crViewer.ReportSource = oRPT
  45. End Sub
  46. Private Sub crViewer_Load(sender As Object, e As EventArgs) Handles crViewer.Load
  47. End Sub
  48. End Class