Principales respuestas
consulta de crystal reports

Pregunta
-
Hola a todos
Tengo un par de consultas que hacerles
Estoy trabajando en vb 2008 y crystal report
la cuestion es que estoy armando un reporte en crystal report 2008 y no se como visualizar desde el visual basic sino la mayoria de los ejemplos son con dataset, antes en vb 6 era muy sensillo print report y ya está, seria algo asi también en vb net o tiene su tecnica?
la segunda consulta es mas bien para que me den un link con un tutorial sobre como imprimir a pdf a traves de crystal report
Saludos
Carlos
Respuestas
-
Mira yo le hago de la siguiente manera.
1. creo el crystal y lo guardo.
2. lo adiciono al proyecto.
3. creo el formulario con el CrystalReportViewer
4. creo los textbox que necesito para enviar los parametros al CrystalReport
es alcgo como lo siguiente.
Public Class Form13 Dim con As New MySqlConnection(My.Settings.MysqlConnectionString) Private Sub ComboBox1_DropDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.DropDown Dim dr As MySqlDataReader Dim str As New MySqlCommand("Select f001_id_ped_unoee from t001_pedido_venta") con.Open() str.Connection = con dr = str.ExecuteReader ComboBox1.Items.Clear() Try While dr.Read ComboBox1.Items.Add(dr.Item(0).ToString) End While Catch ex As Exception Finally con.Close() dr = Nothing str = Nothing End Try End Sub Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Dim rept As New PVproduccion Dim par As New ParameterField par = rept.ParameterFields("pedido") par.CurrentValues.AddValue(ComboBox1.Text) Dim con As New CrystalDecisions.Shared.ConnectionInfo rept.SetDatabaseLogon("******", "******") Me.CrystalReportViewer1.ReportSource = rept End Sub Private Sub Form13_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Thread.CurrentThread.CurrentCulture = _ New CultureInfo("es-CO", False) ' Obtengo la informaci?n de formato n?merico, correspondiente ' a la nueva configuraci?n establecida. ' Dim nfi As Globalization.NumberFormatInfo = _ Thread.CurrentThread.CurrentCulture.NumberFormat Console.WriteLine(nfi.NumberDecimalSeparator) Console.WriteLine(nfi.NumberGroupSeparator) Console.WriteLine(nfi.CurrencyDecimalSeparator) Console.WriteLine(nfi.CurrencyGroupSeparator) Console.WriteLine(nfi.CurrencySymbol) End Sub End Class
si ter sive de algo marca la respuesta.- Marcado como respuesta carlosanpy martes, 6 de abril de 2010 13:07
Todas las respuestas
-
No se si te he entendido bien... necesitas como visualizar un informe en pantalla desde VB. Has de usar el CrystalReporViewer que encontrarás en la barra de herramientas...
Y aquí tienes como enlazarlo:
http://msdn.microsoft.com/es-es/library/ms251671.aspx
http://www.vbdotnetheaven.com/UploadFile/sushmita_kumari/Report201242006041121AM/Report2.aspx?ArticleID=d6184a33-ee75-495d-9ef3-1fe3e9a24632
Y desde el propio ReportViewer te da la opción de imprimir en PDF y otros formatos. ;)
Iván Noya Cendal
http://www.seuvella.com
Si la respuesta te ha ayudado, marcala. -
Hola ivan gracias por responder
En realiadad creo que hay una confusión.
Tengo el visual basic 2008. Aparte tengo el crystal report 2008 o sea es otro software. En ella estoy armando un informe y desearia saber cual es el codigo para visualizar ese informe ya que en el crystal ya tengo todo armado.
Estoy conciente de que en un form cargo el crystal report viewer y alli enlazo con el informe en cuestion y seria form1.show solamente?
Saludos
-
A ver, sinceramente, el crystal reports completo no lo tengo por que uso el del VB o el report service del sqlserver como mucho... Así que te hablo teoricamente.
En principio el crystal reports tiene al igual que el SQLServer un servidor de reportes, por lo que puedes enviarle al usuario a la dirección de este reporte o usar el reportviewer, enlazarlo y tal como dices hacer un show...
La forma más sencilla, usando el reportviewer, sino mira a ver que tipo de licencia tienes de crystal y lo que puedes usar. Creo que el servidor es Xcelsius .
Iván Noya Cendal
http://www.seuvella.com
Si la respuesta te ha ayudado, marcala. -
hola
busca en la toolbox del VS el control CrystalReportViewer y arrastralo a un formulario
este es el control que debes usar para visualizar el reporte en tu aplicacion
Using CrystalReportViewer to Display Crystal Reports in .Net
en este link por ahi algo puede difereir en como lo uses dependiendo si el crystal report que usas es el mismo que viene en el VS
ya que para cargar el reporte podrias crear a instancia del mismo y asignarlo a la propiedad ReportSource de este control viewer
me refiero a que si has creado un reporte de nombre ReportTest.rpt
podrias crear una instancia del mismo
Dim rpt As New ReportTest
CrystalReportViewer1.ReportSource = rpt
de esta forma asignas el reporte al control para visualizarlo
por supuesto no te olvides de asignar los datos usando
rpt.SetDataSource(dt)
en donde dt es el datatable
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina -
Edito:
En un form cargo el crystalreportviewer, elijo el crystalreport.rpt y lo inserto a mi crv
pero al introducir el codigo
Dim rpt As New Base_Material me marca error 'Base_Material no esta definido
como hago para dirigir el reporte hacia mibasedatos.mdb
Donde hay un link para exportar directamente a pdf a traves de Crystal Report sin visualizar el reportviewer?
Saludos
Carlos -
mira primero tienes que agregar el report a tu proyecto , te recomiendo hacer una carpeta y ponerlo hay
despues escribes
new report= new Nombrearchivosreportrpt
report.SetDataSource(dset)
crystalview.reportSource()=report
depues de esto te vas al diseño pichas el crystalviewreport y en sus propiedades donde sale reportsource y marca tu informe =).
con el dset es el dataset =).- Editado ARthemiaz martes, 12 de enero de 2010 23:15
-
te recomiedo que cuado este llenado tu dataset use try catch
porque cuado uno llena con mas de una tabla , no te das cuenta y pones primero a llenar una tabla que tiene claves Fk y te tira error porque no tiene de doce sacar la Primary key,
espero te sirva saludos =).
y por si no te acuerdas de como llenar los dataset ejemplillo
dim dset as new NombrearchivosDAtaset
dim sqlda as new sqldaadapter
sqlda=new sqldaadapter("select * from personal",rutabasedatos)
<---------------------------si llenas mas de una tabla recomiendo poner un try catch =)
sqlda.fill(dset.personal)
new report= new Nombrearchivosreportrpt
report.SetDataSource(dset)
crystalview.reportSource()=report- Propuesto como respuesta ARthemiaz martes, 12 de enero de 2010 22:36
-
Aquí te dejo la forma de exportar a pdf directamente sin visualizar. En los ejemplos visualizan, pero puedes poner la propiedad visible a false del reportviewer.
http://vb.net-informations.com/crystal-report/vb.net_crystal_report_export_pdf.htm
http://visualbasic.ittoolbox.com/documents/exporting-crystal-report-to-pdf-using-vb-11675
Y este en español y con ejemplo que puedes descargar. ;)
http://www.dotnetcr.com/recurso.aspx?id=71&tag=Convierte-tu-reporte-Crystal-Reports-a-PDF-y-envialo-por-correo
Iván Noya Cendal
http://www.seuvella.com
Si la respuesta te ha ayudado, marcala.- Propuesto como respuesta IncaSoft miércoles, 13 de enero de 2010 7:49
-
Mira yo le hago de la siguiente manera.
1. creo el crystal y lo guardo.
2. lo adiciono al proyecto.
3. creo el formulario con el CrystalReportViewer
4. creo los textbox que necesito para enviar los parametros al CrystalReport
es alcgo como lo siguiente.
Public Class Form13 Dim con As New MySqlConnection(My.Settings.MysqlConnectionString) Private Sub ComboBox1_DropDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.DropDown Dim dr As MySqlDataReader Dim str As New MySqlCommand("Select f001_id_ped_unoee from t001_pedido_venta") con.Open() str.Connection = con dr = str.ExecuteReader ComboBox1.Items.Clear() Try While dr.Read ComboBox1.Items.Add(dr.Item(0).ToString) End While Catch ex As Exception Finally con.Close() dr = Nothing str = Nothing End Try End Sub Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Dim rept As New PVproduccion Dim par As New ParameterField par = rept.ParameterFields("pedido") par.CurrentValues.AddValue(ComboBox1.Text) Dim con As New CrystalDecisions.Shared.ConnectionInfo rept.SetDatabaseLogon("******", "******") Me.CrystalReportViewer1.ReportSource = rept End Sub Private Sub Form13_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Thread.CurrentThread.CurrentCulture = _ New CultureInfo("es-CO", False) ' Obtengo la informaci?n de formato n?merico, correspondiente ' a la nueva configuraci?n establecida. ' Dim nfi As Globalization.NumberFormatInfo = _ Thread.CurrentThread.CurrentCulture.NumberFormat Console.WriteLine(nfi.NumberDecimalSeparator) Console.WriteLine(nfi.NumberGroupSeparator) Console.WriteLine(nfi.CurrencyDecimalSeparator) Console.WriteLine(nfi.CurrencyGroupSeparator) Console.WriteLine(nfi.CurrencySymbol) End Sub End Class
si ter sive de algo marca la respuesta.- Marcado como respuesta carlosanpy martes, 6 de abril de 2010 13:07