DotNetcr.com
Si deseas hacer un intercambio de links con DotNetcr, escríbenos aquí
Recibe las actualizaciones vía RSS
Te invitamos a unirte en nuestras redes
   http://www.facebook.com/DotNetcr
   http://www.twitter.com/dotnetcr

Como aplicarle filtros a nuestros reportes en Crystal Reports

Por royrojas | 9/23/2005 | Visitas 20,545 | Voto 5.00
Muchas veces luego de obtener los datos para mostrarlos en el reporte, necesitamos filtrar la información para desplegar solo cierta parte, para esto utilizamos la propiedad RecordSelectionFormula
Categorías : VB.NET
Descargar solución VBNET_Crystal_Filtro.zip

Para este ejemplo vamos a crear un DataSet con la siguiente estructura:

Codigo tipo Short
Descripcion tipo String
Valor tipo decimal
Moneda tipo String

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema id="dsDatos" targetNamespace="http://tempuri.org/dsImagenes.xsd"
elementFormDefault="qualified" attributeFormDefault="qualified"
xmlns="http://tempuri.org/dsImagenes.xsd"
xmlns:mstns="http://tempuri.org/dsImagenes.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">

<xs:element name="dsDatos" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="Datos">
<xs:complexType>
<xs:sequence>
<xs:element name="Codigo" type="xs:short" minOccurs="0" />
<xs:element name="Descripcion" type="xs:string" minOccurs="0" />
<xs:element name="Valor" type="xs:decimal" minOccurs="0" />
<xs:element name="Moneda" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>


Como aplicamos el filtro?

Luego de instanciar el reporte, he indicarle el Load le definimos el filtro que puede ser tan complejo como lo queramos.

En este caso los datos tienen 10 registros y vamos a filtrar por el código, le indicaremos que solo muestre los registros con el código mayor a 4

SQL = "{Datos.Codigo} > 4"


o que solo muestre los registros 1,4 y 6

SQL &= "{Datos.Codigo} in [1, 4, 6]"


también podemos hacer una mezcla de varios filtros utilizando en "AND"

SQL = "{Datos.Codigo} > 4"
SQL &= "AND {Datos.Moneda} > 'Colones'"

como vemos si el filtro es un string debemos definirlo con comillas simples '

incluso hacer operaciones en el filtro

SQL &= "{Datos.Valor} + {Datos.Codigo} - 10 <> 0"


En los tipos de filtros podemos utilizar diferente <>, igual que =, mayor que >, menor que <, mayor igual >=, menor igual <=, por rango in.

Private Sub MostrarReporte()
Try
Dim iReporte As New VisorReporte
Dim SQL As String
Dim rpt As New crDatos

rpt.Load()

If Me.chkFiltro.Checked Then
SQL = "{Datos.Codigo} > 4"
ElseIf Me.chkFiltro2.Checked Then
SQL = "{Datos.Codigo} in [1, 4, 6]"
ElseIf Me.chkFiltro3.Checked Then
SQL = "{Datos.Codigo} > 4"
SQL &= "AND {Datos.Moneda} = 'Colones'"
End If

rpt.RecordSelectionFormula = SQL
rpt.SetDataSource(ReturnDataSet)
rpt.Refresh()

iReporte.Reporte = rpt
iReporte.ShowDialog()
Catch ex As Exception
Throw ex
End Try
End Sub


Descargar solución VBNET_Crystal_Filtro.zip
Area de Comentarios
Por Anónimo - Fecha: 2005/09/30 11:05 AM
y para web form?
Por Bigpercynet - Fecha: 2005/10/06 03:05 PM
Bien hecho...!!! felicitaciones

PERCY REYES PAREDES
Microsoft Certified Professional
http://percyreyes.blogspot.com/
Por royrojas - Fecha: 2005/10/22 03:46 PM
para web forms funciona igual
Por royrojas - Fecha: 2005/10/30 11:07 PM
si lo del filtro funciona igual para web
Por Anónimo - Fecha: 2006/02/15 09:44 AM
Excelente. Felicitaciones y muchas gracias por vuestro artículo.
Por Anónimo - Fecha: 2006/03/24 04:00 PM
Excelente pero lo necesitamos en Web Form
Por Anónimo - Fecha: 2006/03/24 04:02 PM
Como se hace con un reporte creado con conexion a DB SQL
Por Anónimo - Fecha: 2006/06/28 11:33 AM
Pone muchos ejemplos en VBNET, deberian poner tambien para C#.
En todo caso como en los tutoriales de microsoft, escoger en que lenguaje.
Roberto.
Por royrojas - Fecha: 2006/06/28 10:13 PM
los ejemplos para WebForms estan aqui.
http://www.dotnetcr.com/index.aspx?ID=3&cat=6&aut=&key=crystal
Por Anónimo - Fecha: 2007/10/05 09:54 AM
como seria para campos de tipo fecha digamos un rango de fechas
Por Anónimo - Fecha: 2008/01/11 06:52 AM
me pasa esto: hagi un reporte filtrado en crystal pero cuando lo lkevanto desde el programa, me pasan todos los registros, como hago que vaya con filtros incluidos?
Por Anónimo - Fecha: 2008/08/16 12:34 PM
me parace exelente el programita de filtos.
Pero quisiera pedirte un favor
Por Anónimo - Fecha: 2010/06/08 10:56 AM
gracias excelente articulo andaba buscando como filtrar los datos de un reporte y me tope con este articulo Muchas gracias EXCELENTE
Por Anónimo - Fecha: 2010/09/23 04:16 PM
Gracias Amigo!!! No sabes cuanto me complique por esto!!!!! Gracias!!! Yo ponia en: SQL &= "{Datos.Codigo} in [1, 4, 6]" entre parentesis (1,4,6), pero es entre corchetes Gracias!!!!
Por Anónimo - Fecha: 2012/08/26 05:40 AM
Hello! dbgeade interesting dbgeade site! I'm really like it! Very, very dbgeade good!
Por Anónimo - Fecha: 2012/08/26 05:40 AM
Very nice site! [url=http://yieapxo1.com/qoqvvt/2.html]cheap cialis[/url]
Por Anónimo - Fecha: 2012/08/26 05:40 AM
Very nice site! cheap cialis http://yieapxo1.com/qoqvvt/4.html
Por Anónimo - Fecha: 2012/08/26 05:40 AM
Very nice site!
Por Anónimo - Fecha: 2012/08/26 05:40 AM
Hello! eccegad interesting eccegad site! I'm really like it! Very, very eccegad good!
Por Anónimo - Fecha: 2012/08/26 05:40 AM
Very nice site! [url=http://yieapxo1.com/qoqvvt/2.html]cheap cialis[/url]
Por Anónimo - Fecha: 2012/08/26 05:40 AM
Very nice site! cheap cialis http://yieapxo1.com/qoqvvt/4.html
Por Anónimo - Fecha: 2012/08/26 05:41 AM
Very nice site!
Por Anónimo - Fecha: 2012/09/08 02:29 PM
Hello! fgebgke interesting fgebgke site! I'm really like it! Very, very fgebgke good!
Por Anónimo - Fecha: 2012/09/08 02:29 PM
Very nice site! [url=http://opxaiey1.com/oyyxxty/2.html]cheap cialis[/url]
Por Anónimo - Fecha: 2012/09/08 02:29 PM
Very nice site! cheap cialis http://opxaiey1.com/oyyxxty/4.html
Por Anónimo - Fecha: 2012/09/08 02:29 PM
Very nice site!
Por Anónimo - Fecha: 2012/09/08 02:30 PM
Hello! ecedekg interesting ecedekg site! I'm really like it! Very, very ecedekg good!
Por Anónimo - Fecha: 2012/09/08 02:30 PM
Very nice site! [url=http://opxaiey1.com/oyyxxty/2.html]cheap cialis[/url]
Por Anónimo - Fecha: 2012/09/08 02:30 PM
Very nice site! cheap cialis http://opxaiey1.com/oyyxxty/4.html
Por Anónimo - Fecha: 2012/09/08 02:30 PM
Very nice site!
Por Anónimo - Fecha: 2012/09/26 08:29 PM
SQL can execute qreuies against a database, retrieve,update,insert data from a database and empty refer to an empty result of no rows and NULL refer to a table with one row holding a NULL value.
Por Anónimo - Fecha: 2012/09/28 02:29 AM
bxhfcE , [url=http://vtorblptyuhg.com/]vtorblptyuhg[/url], [link=http://mwvdsdjqchno.com/]mwvdsdjqchno[/link], http://movziyvxzdql.com/
Por Anónimo - Fecha: 2012/09/29 02:35 PM
N88v22 , [url=http://wcmujypojcgs.com/]wcmujypojcgs[/url], [link=http://wpjrmnurwzan.com/]wpjrmnurwzan[/link], http://nopsdjelnxle.com/
Por Anónimo - Fecha: 2015/12/17 01:51 PM
Aricltes like this are an example of quick, helpful answers.
Por Anónimo - Fecha: 2015/12/19 02:46 AM
I haven't read the book yet. It should arvire in a few days. However, I do read his blog and he makes a strong point that wheat changed 30 years ago. The WAPF people could embrace this message as I have seen them moving in the direction of heirloom grains. http://rfkhfhisdg.com [url=http://zbqgte.com]zbqgte[/url] [link=http://dkyltffmj.com]dkyltffmj[/link]
Por Anónimo - Fecha: 2015/12/20 02:20 PM
I set pFraudPrevention to none, but I still get an error. Commenting out 'on error resume next' in the file comuesrs_saveOrder.asp gives me the following error:Error Type:Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)[Microsoft][ODBC SQL Server Driver][SQL Server]'lCase' is not a recognized function name./comuesrs/includes/databaseFunctions.asp, line 41Browser Type:Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; DigExt; T312461) Page:POST 410 bytes to /comuesrs/store/comuesrs_saveOrder.asp[] http://vqrwoviiawa.com [url=http://ddqlvzimb.com]ddqlvzimb[/url] [link=http://llglpl.com]llglpl[/link]
Ingrese su Comentario
Comentario
Para poder votar debe estar registrado en DotNetcr.com
Solo queda registrado el primer voto enviado
Voto


Últimos Recursos
ricardo leppe t
pedrojavier
CALIN
willipinru
richard
ragomez
PER 238
MEX 236
CRI 188
COL 118
ESP 105
ARG 88