Ver Mensaje Individual
  #6 (permalink)  
Antiguo 12/12/2008, 01:29
javi_cassi
 
Fecha de Ingreso: enero-2008
Mensajes: 268
Antigüedad: 17 años, 1 mes
Puntos: 11
Respuesta: Asp.net - vb2005 - crystal reports

Buenas Nelsov.
Te explico y te adjunto código.
Lo priemro qeu tienes que hacer es:
- estar conectado a la bbdd
- tener un reportviewer
- tener un dataset (cion un dataTable que creas al que le vas añadiendo columnas hasta tener todas las que vas a usar en el report
- Y por supuesto tu borón de OK ( o aceptar, etc etc etc) que ejecutará todo el proceso. Este botón será el que además valide los datos del filtro.
Una vez hecho esto, en el click del boton pones el codigo:


Dim DS As New DataSet

Dim tabla As New DataTable
Dim local_data_adapter As New OleDbDataAdapter 'Uso OLDB porque trabajo con oracle
'Dim local_data_adapter2 As New OleDbDataAdapter Si usas más de una query tienes que crearlas separadas

Me.Cursor = Cursors.WaitCursor
cadena_crystal = 'SELECT * from ..... aqui pones la select en cuestion teniendo en cuenta el filtro que has usado

Try
'Definimos lo qeu hacer con la selects, y en donde
local_data_adapter = New OleDbDataAdapter(cadena_crystal, Cadena_Conexion) 'Cadena de conezxion es la cadena qeu usas para conectarte a la bbdd
'local_data_adapter2 = New OleDbDataAdapter("select * from CMDEMANDANTE_CONTADORES", Cadena_Conexion) Esto lo haces si usas mas de una consulta

'Creamos un nuevo DATASET, ha de ser exactamente igual que el que tenemos con las tablas
DS = New DataSet1
DS.Clear()
'Rellenamos las tablas del dataset con los data_adapter que definimos anteriormente
local_data_adapter.Fill(DS, "nombre de la tabla")
' local_data_adapter2.Fill(DS, "CMDEMANDANTE_CONTADORES")

' el informe rep_cmdemandante
Dim oInforme As New rep_inf
oInforme.SetDataSource(DS)
' Le pasamos los parametros en caso de que lso tengas
' oInforme.SetParameterValue("anno", frm_cuadro.cmb_anno.SelectedValue)


'Visor es el nombre del crystal Viewer
visor.Visible = True
'El informe que vemos es el infomre OINFORME
visor.ReportSource = oInforme
Catch ex As InvalidOperationException
MsgBox("Algo ha sucedido")
End Try
Me.Cursor = Cursors.Arrow




Sólo me queda decir que al hacer esto tienes qeu crearte el crystal una vez que hayas creado el dataset. Cuando te creas el crystal, le dices de usar el asistente, y le dices qeu el origen de datos es el dataset que has creado. Le das a aceptar y ya colocas los campo como desees, etc etc etc
Y listo.


Como te digo esto funciona perfectamente en .net, así qeu supongo que para usarlo en asp tendras qeu hacer alguans modificaciones.

Espero haberte sido de ayuda.

Saludos.