frmImprimir.vb 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. Private Sub frmImpresion_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  13. End Sub
  14. Public Sub CargarRPT()
  15. Dim crSubDB As Database
  16. Dim crTables As Tables
  17. Dim cInfo = New ConnectionInfo()
  18. Dim oRPT As New ReportDocument
  19. crViewer.SetProductLocale(Threading.Thread.CurrentThread.CurrentUICulture.LCID)
  20. cInfo.ServerName = My.Settings.ServidorSQL
  21. cInfo.UserID = My.Settings.UsuarioSQL
  22. cInfo.Password = My.Settings.ClaveSQL
  23. cInfo.DatabaseName = My.Settings.BaseDeDatos
  24. oRPT.Load(My.Settings("RutaReportes") & NombreRPT)
  25. oRPT.SetDatabaseLogon(cInfo.UserID, cInfo.Password)
  26. oRPT.SetParameterValue(0, IdDocumento)
  27. crSubDB = oRPT.Database
  28. crTables = crSubDB.Tables
  29. Dim crTableLogOnInfo As TableLogOnInfo
  30. For Each crTable In crTables
  31. crTableLogOnInfo = crTable.LogOnInfo
  32. crTableLogOnInfo.ConnectionInfo = cInfo
  33. crTable.ApplyLogOnInfo(crTableLogOnInfo)
  34. Next
  35. If VistaPrevia = False Then
  36. oRPT.PrintToPrinter(IdDocumento, False, 0, 0)
  37. End If
  38. crViewer.ReportSource = oRPT
  39. End Sub
  40. Private Sub crViewer_Load(sender As Object, e As EventArgs) Handles crViewer.Load
  41. End Sub
  42. End Class