Cambiar el 'SQL' origen de un informe Crystal Reports

14/07/2005 - 13:05 por Francisco Gomez | Informe spam
Sé que es posible utilizar el modelo Push para entregar directamente al
report un set de registros (SetDataSource) en vez de esperar que el propio
report extraiga los datos (Pull).

Sin embargo mi idea, por ciertas razones, es atenerme al modelo Pull y
cambiar mediante código la consulta almacenada en el report en tiempo de
ejecución. ¿Se puede de alguna manera crear una consulta SQL (un string) y
asociarlo al report (algo sí como funcionan, por ejemplo, los informes de
Access)? El caso es que quiero que el usuario pueda crear una consulta a su
gusto, y poder pasarla al informe. Lo más cercano a ésto que he encontrado es
RecordSelectionFormula. ¿Es lo único?

En el caso que decida usar 'push', ¿puedo asociar mediante SetDatSource un
dataset base a un report y luego seguirán funcionando el
RecordSelectionFormula, ordenaciones y los subinformes (que tienen campos
vinculados al informe base)?

Una última cosa... Me ha parecido entender que puedo hacer una especie de
'fusión' de ambos métodos.. ¿Puedo, por una parte, utilizar SetDataSource
para 'cargar' individualmente cada tabla origen de mi report,

myReport.Database.Tables[0].SetDataSource(myDataSet)

y luego lanzar el report normalmente, de manera que funcionen los parámetros
y demás como si se tratara de un modelo 'pull' normal?

Preguntas similare

Leer las respuestas

#1 manolo
14/07/2005 - 19:34 | Informe spam
mira en esta direccion
http://es.groups.yahoo.com/group/crystalreports/
en el apartado archivos, hay un poryecto de visual con codigo fuente,
que hace que tu quires
si tienes algun problema, me mandas un email

Respuesta Responder a este mensaje
#2 Francisco Gomez
14/07/2005 - 22:31 | Informe spam
El ejemplo esta en Visual Basic 6.0. Afortunadamente, mirando con un simple
un editor de texto el fichero ClassGeneral.cls, veo que utiliza
RecordSelectionFormula para hacer la selección de registros. ¿Es la única
manera? Veo que existen algo llamado 'SQLExpressionFields'. ¿Como trabajan?

"manolo" escribió:

mira en esta direccion
http://es.groups.yahoo.com/group/crystalreports/
en el apartado archivos, hay un poryecto de visual con codigo fuente,
que hace que tu quires
si tienes algun problema, me mandas un email



Respuesta Responder a este mensaje
#3 Octavio Hernandez
15/07/2005 - 21:27 | Informe spam
Francisco,

Las expresiones SQL son como las fórmulas de toda la vida, pero escritas en
SQL en vez de sintaxis Crystal o Basic. Tienes mucha menos potencia a tu
disposición, pero puede ser una ventaja porque garantizas que la selección
se hace del lado del servidor, lo que es más eficiente.

Que yo sepa, solo se puede tocar la parte 'WHERE' de la sentencia SQL, a
través de la propiedad RecordSelectionFormula. En versiones muy antiguas de
Crystal se podía "tocar" la sentencia SQL, pero eso desapareció hace tiempo.

Slds - Octavio

"Francisco Gomez" escribió en el
mensaje news:
El ejemplo esta en Visual Basic 6.0. Afortunadamente, mirando con un
simple
un editor de texto el fichero ClassGeneral.cls, veo que utiliza
RecordSelectionFormula para hacer la selección de registros. ¿Es la única
manera? Veo que existen algo llamado 'SQLExpressionFields'. ¿Como
trabajan?

"manolo" escribió:

mira en esta direccion
http://es.groups.yahoo.com/group/crystalreports/
en el apartado archivos, hay un poryecto de visual con codigo fuente,
que hace que tu quires
si tienes algun problema, me mandas un email



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida