Crystal Reports - Usar un SQL query que se mande desde VB.NET

01/07/2005 - 16:11 por Marcos Beccar Varela | Informe spam
Hola a todos, estoy teniendo un problema que necesito resolver ya que al
usar un reporte de Crystal, realizé un command que es una seleccion de una
tabla, luego le paso unos parámetros para que unicamente elija donde el
campo {command.codigo} = 1, el tema es que veo que trae TODOS los resultados
de la tabla y luego el mismo Crystal report viewer hace el filtro, y
selecciona unicamente donde el campo codigo sea igual a 1, yo necesito poder
cambiar ese parametro "codigo" desde el VB.NET y que en vez de 1 sea el que
corresponda, 1 o 2 o 3 etc.. pero que al solicitar los datos de la base
de datos, no traiga TODOS los registros para luego hacer el filtro, sino que
directamente obtenga los datos ya filtrados para ahorrar recuros de red y de
memoria del cliente.

Vi que hay algo sobre data sets para realizar esto.. si hay un ejemplo que
me puedan enviar le estaria muy agradecido, y si hay una forma alternativa
de realizarlo mejor!

Saludos y gracias
 

Leer las respuestas

#1 Demian
01/07/2005 - 17:41 | Informe spam
En realidad es muy simple..

Paso 1 Construye un DataSet con los campos que quieras, lo debes construir
es decir, es de tipo definido, lo puedes hacer yendo a Archivo -> Agregar
Nuevo Elemento y eliges DataSet, los nombres de las columnas deben ser igual
al nombre de los campos que vas a seleccionar de la base de datos. Si no
sabes como crear un dataset documentate en ese aspecto de lo contrario no
podras continuar

Paso 2. Crea un nuevo reporte y en la fuente de datos del mismo elige la
carpeta Datos del Proyecto y despues Ado.Net Datasets y eliges como fuente de
datos el dataset que creaste

Paso 4 Este paso ya no es necesario algunas veces pero creo que casi siempre
da problemas. Indicale al reporte (es decir a la clase ReportDocument) cual
es la fuente de datos que debe usar, esto lo haces de la siguiente forma

ReportDocument.Database.Tables(0).SetDataSource(Tabla)

ten en cuenta que ReportDocument es una clase que provee Crystal report o
bien un reporte Personalizado y que es la fuente de datos de tu
CrystalReportViewer

Espero haberte ayudado con esto... Saludos

"Marcos Beccar Varela" wrote:

Hola a todos, estoy teniendo un problema que necesito resolver ya que al
usar un reporte de Crystal, realizé un command que es una seleccion de una
tabla, luego le paso unos parámetros para que unicamente elija donde el
campo {command.codigo} = 1, el tema es que veo que trae TODOS los resultados
de la tabla y luego el mismo Crystal report viewer hace el filtro, y
selecciona unicamente donde el campo codigo sea igual a 1, yo necesito poder
cambiar ese parametro "codigo" desde el VB.NET y que en vez de 1 sea el que
corresponda, 1 o 2 o 3 etc.. pero que al solicitar los datos de la base
de datos, no traiga TODOS los registros para luego hacer el filtro, sino que
directamente obtenga los datos ya filtrados para ahorrar recuros de red y de
memoria del cliente.

Vi que hay algo sobre data sets para realizar esto.. si hay un ejemplo que
me puedan enviar le estaria muy agradecido, y si hay una forma alternativa
de realizarlo mejor!

Saludos y gracias



Preguntas similares