Crystal Reports Con Procedimientos Almacenados
EN SQL SERVER
create database empresa
go
use empresa
go
create table empleados(idemp char(2) primary key not null,
apeemp varchar(40),sueemp numeric(9,2),sexemp bit,fnacemp datetime)
go
insert into empleados values('01','Rios Ore',700,0,'12/5/67')
insert into empleadosvalues('02','Castro Lopez',450,1,'3/8/56')
insert into empleados values('03','Rojas Castro',1200,1,'3/3/45')
insert into empleados values('04','Ugaz Lopez',1000,0,'2/8/79')
insert into empleados values('05','Palacios Rojas',600,0,'5/7/45')
insert into empleados values('06','Moreno Torres',1400,1,'8/5/89')
insert into empleados values('07','Moreno Carranza',1500,1,'11/5/67')
insert into empleadosvalues('08','Zambrano Li',500,0,'4/7/62')
insert into empleados values('09','Sampen Huaman',1800,0,'2/6/45')
insert into empleados values('10','Lozada Lopez',2500,1,'3/7/60')
/*Procedimiento para mostrar los sueldos por rango*/
create procedure sp_RepRangoSueldo
@f1 numeric(9,2),@f2 numeric(9,2)
as
select idemp as codigo,apeemp as Apellidos,Sueemp as Sueldo,sexemp as Sexo,fnacemp as [Fecha Nac]from empleados
where sueemp between @f1 and @f2
go
EN VISUAL BASIC NET
Nombre del Proyecto : WREPPARAMETRO.VB
Crear objeto CrystalReport :crpempleado
[pic]
En Categorias, elija Reporting y en plantillas Crystal Reports
Clic en boton Agregar
Elija la 2da opcion: Como informe en blanco y luego Acepte
[pic]
[pic]
De la ventana de Explorador de Campos
Clic con boton derecho enCampos de base de datos y de menú desplegable haga clic en Conectar/Desconectar Servidor
[pic]
Aparece lo siguiente:
[pic]
Haga clic en boton Opciones… y verifique que se encuentra marcado la opcion Procedimientos almacenados. Si no se encontrara marcada, marquela
[pic]
Haga clic en Aceptar
Haga clic en [pic]
[pic]
Y aparece:
[pic]
Elija proveedor indicado y haga clic en botonsiguiente:
Escriba y elija las opciones indicada:y luego haga clic en boton Siguiente
[pic]
Finalmente haga clic en boton Finalizar
[pic]
Y Aparece:
[pic]
Despliegue el servidor conectado y observe que se visualizan aparte de las tablas y vistas los procedimientos almacenados creados:
[pic]
Finalmente haga clic en el boton Cerrar
Haga clic con boton derecho en Campos de base dedatos y del menú desplegable, elija la opcion Agregar o quitar base de datos…
[pic]
Y aparece:
[pic]
Elija objeto: Sp_RepRangoSueldo:1 y agréguelo a la derecha
[pic]
Haga clic en Aceptar
[pic]
Haga clic en boton Aceptar
Observe ahora como queda la ventana Explorador de Campos:
[pic]
Desplegando [pic] y [pic] observamos los campos recuperados por la consulta y los parámetros deentrada del procedimiento almacenado
[pic]
Arrastre los campos recuperados por el sp_RepRangoSueldo al area de Detalle del crystalreport, hasta obtener lo siguiente:
[pic]
Haga clic en icono Guardar(o presiones CTRL + S)
Vaya al diseñador Windows Form1 y diseñe lo siguiente:
Nombre del Diseñador : Form1
[pic]
Escriba codigo
Imports CrystalDecisions.Shared '(=== Iportante paratrabajar con los parametros en Crystal
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim p1 As New ParameterDiscreteValue
Dim p2 As New ParameterDiscreteValue
p1.Value = Me.TextBox1.Text
p2.Value = Me.TextBox2.Text
Dim listaParametros As New ParameterFieldsDim param As ParameterField
param = New ParameterField
param.ParameterFieldName = "@f1"
param.CurrentValues.Add(p1)
listaParametros.Add(param)
param = New ParameterField
param.ParameterFieldName = "@f2"
param.CurrentValues.Add(p2)
listaParametros.Add(param)
Me.crpviews.ParameterFieldInfo = listaParametros...
Regístrate para leer el documento completo.