y en la parte izquierda seleccionamos Data, luego en el panel principal seleccionamos Dataset y de nombre le ponemos Datos, luego presionamos el botón agregar o Add.
Antes de continuar les muestro los campos de la tabla sobre la que creare el reporte:
siguiendo con el Dataset, al presionar el botón Agregar o Add, aparecerá esta pantalla, como recomendación deberían tener el Server Explorer disponible y con una conexión a la base de datos donde este la tabla(s) sobre la cual van hacer el reporte, la pantalla que deberían ver es la siguiente:
Lo siguiente sera "arrastrar" la tabla sobre la que se creara el reporte desde el Server Explorer a la parte gris del Dataset, tal como se muestra:
luego guardamos el trabajo realizado y vamos a agregar un nuevo item al proyecto
y le damos al botón Add, al hacer esto esperas un momento y tendrás una pantalla como esta, de la cual seleccionamos el Usar asistente de informes, así pues al tener esta pantalla solo damos al botón Aceptar
Tendremos la siguiente pantalla, como ya creamos un Dataset en nuestro proyecto escogemos desde Origenes de datos disponibles-->ADO.NET Datasets y buscamos nuestra tabla y la agregamos, luego presionamos el botón siguiente:
y seleccionamos todos los campos, luego presionamos el botón finalizar
Inmediatamente al presionar finalizar tendremos la siguiente pantalla que muestra los campos y el orden de nuestro reporte, los podemos cambiar como queramos, por el momento dejemolo así guardamos y vamos al formulario de nuestro proyecto
Al formulario le agregamos un CrystalreportViewer desde las herramientas o Toolbox del proyecto y en el evento Load del formulario ponemos el siguiente código:
Imports
System.Data
Imports
System.Data.SqlClient
Imports
System.Configuration
Public
Class Reporte
Private Sub Reporte_Load(sender As
System.Object, e As
System.EventArgs) Handles
MyBase.Load
Dim rpt As New Ejemplo 'este es el nombre del reporte que creamos con crystal
report
Dim info As New Datos 'este es el nombre
del Dataset
Try
Using Sql As New SqlConnection(My.Settings.cnn)
Using da As
New SqlDataAdapter("select * from empleado", Sql)
da.Fill(info, "empleado")
rpt.SetDataSource(info)
CrystalReportViewer2.ReportSource = rpt
End Using
End Using
Catch ex As Exception
End Try
End Sub
End Class
y al ejecutar el proyecto deberíamos tener un reporte mostrando los datos de su tabla o de las tablas que seleccionaron, en mi caso tengo esto como resultado:
Pero y si quiero por ejemplo que en el reporte aparezca el total de empleados, lo primero que se debe hacer es converitr el campo string a numérico pues solo se pueden sumar valores numéricos, para eso haremos lo siguiente, nos vamos al reporte en Crystal Reporte, en nuestro caso el que se llama ejemplo y sobre campos de formula damos click derecho y seleccionamos nuevo y tendremos la siguiente pantalla:
le damos aceptar y tendremos esta ventana, coloquen ToNumber(aquí el campo) tal como se muestra, se pueden jalar el campo desde Campos de informe, luego seleccionamos Guardar y cerrar
Ahora como ven ya tendremos suma desde campos de formula, tal como esta:
el siguiente paso es agregar otro campo de formula
y como nombre le ponemos Total o el que te de la gana y le damos aceptar para tener esta ventana, de la cual seleccionamos Resumen para desplegar el menú de opciones, como pueden fijarse en el panel izquierdo ya tenemos los dos campos de formula: Suma y Total
y seleccionamos Sum y el campo que anteriormente habíamos creado que es Suma, así:
le damos guardar y cerra y luego solo jalamos el campo Total a nuestro reporte.