sagi_raquel
Usuario (El Salvador)

hola! este es mi primer post, asi que no se si lograre explicarles bien esto hace unos meses estuve peleando con cristal report xq no podia generarlos..... bueno, si estan usando visual studio 2008 aca mas o menos les explico como hacerlos, espero que les sea de utilidad... primero crear el dataset con el nombre de las tablas y campos que queremos para crearlo, en el proyecto damos clic derecho y agregar nuevo elemento: conjunto de datos (dataset) probablemente les pida crear una nueva conexion... seleccionan la base de datos que estan utilizando, si no me equivoco eso no lo recuerdo bien...... y luego ahi agregamos un datatable desde cuadro de herramientas. luego de haber creado nuestro dataset creamos un formulario y le agregamos (del cuadro de herramientas) el componente cristal report viewer. Ahora en otro formulario, del cual mandaremos a llamar el reporte, escribimos el siguiente codigo en el boton respectivo: Private Sub BtnVer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnVer.Click ' consultas es una clase Dim ver As New Consultas If RadioButton1.Checked Then 'ver_todas_polizas es una funcion ver.ver_todas_polizas() End If End Sub ahora la funcion que lleva el codigo anterior es: Public Sub ver_todas_polizas() ' ver todas las polizas Try conexion1.Open() ' modulo creado previamente para establecer la conexion con la base de datos 'Crear el dataadapter Dim odataadapter As OleDbDataAdapter = New OleDbDataAdapter("SELECT campo1, campo2 FROM tabla original", conexion1) 'crear dataset para multiples tablas de los adaptadores Dim oDataSet As New DataSet odataadapter.Fill(oDataSet, "Todas_Polizas" 'todas polizas es la tabla creada en el dataset odataadapter.Update(oDataSet, "Todas_Polizas" oDataSet.AcceptChanges() Dim prueba As New CrystalReport1 prueba.SetDataSource(oDataSet) Form5.CrystalReportViewer1.ReportSource = prueba ' aca asignamos el cristal report al formulario con el cristal report viewer Form5.Show() Catch ex As Exception MessageBox.Show(ex.Message) Finally conexion1.Close() End Try End Sub por si se perdieron en la parte de la conexion, esta la tengo establecida en un modulo dentro de mi proyecto se las pongo por cualquier cosa: Module conexion Public ruta As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= C:Aseguradora.mdb" Public conexion1 As New OleDb.OleDbConnection(ruta) End Module yo creo la conexion en un modulo por cuestiones de facilidad, pero esto no es ley, pueden hacer su conexion en las funciones solo q no es recomendable para las aplicaciones vayan siendo lo mas livianas posibles espero que les haya servido y que me hayan entendido xD sino aca estamos... pues lo poco que se lo puedo compartir! saludos y feliz dia!