Utilizando Crystal Reports estoy tratando de mostrar el total de ejecución de un campo de base de datos en el encabezado, donde todas las etiquetas.

He intentado hacer esto mediante la colocación de la ejecución total (RTversion) en un campo de fórmula con los siguientes:

Shared stringvar CurrentVers; 
CurrentVers := {#CurrentVers}; 

y, a continuación, en la sección de encabezado de página tengo lo siguiente:

Shared stringvar CurrentVers; 
EvaluateAFter({#currentVers}); 
CurrentVers; 

con {#CurrentVers} ejecutar el 1er número más grande.

Es esto incorrecto?

Actualización: El objetivo es mostrar la versión más reciente en el encabezado cerca de las etiquetas para mostrar lo que la actual verseion es para la comparación.

Mi conjetura es que usted está tratando de mostrar un valor antes de que se ha establecido.
no la EvaluateAfter() la función de decirle que esperar hasta la ejecución total #CurrentVers acabados?
+1 Buena Pregunta. Aunque sé que esta es una pregunta común, yo no era capaz de encontrar aquí en TAN así que esto va a servir como una buena referencia para la gente.

OriginalEl autor phill | 2009-11-02

6 Comentarios

  1. 4

    Ejecución Total de los Campos, en mi experiencia, sólo trabajo en el pie de página de las secciones.

    Será necesario crear un manual de ejecución total.

    Agregar un campo de fórmula a la sección de Detalles que rellena una variable Global con lo que usted está tratando de capturar. Algo así como:

    //use WhileReadingRecords if the values can be gathered as the report pulls in values from the database.  Otherwise, use WhilePrintingRecords. 
    WhileReadingRecords;
    Global Stringvar CurrentVers;
    //logic here to capture what you want
    CurrentVers:=...
    

    Añadir otro campo de fórmula en la sección de Encabezado. Añadir estas dos líneas:

    WhilePrintingRecords;
    Global Stringvar CurrentVers;
    
    +1 yo creo que esto debería funcionar.
    ¿Cómo hacer un manual de ejecución total para la pantalla, para el valor máximo de la currentversion? ¿El uso Máximo de la función() en la sección de detalles? He intentado mucho y me daba un error diciendo que no se puede evaluar con WhileReadingRecords().
    Saqué WhileReadingRecords, establecer el currentvers := … y utiliza el EvaluateAfter() función en el encabezado y funcionó.

    OriginalEl autor craig

  2. 4

    Crear una fórmula como esta

    formula = Count ({Field to count},{GroupFieldName}) 
    

    y colóquelo en la sección encabezado de grupo.

    OriginalEl autor Avneesh Sharma

  3. 1

    Me lo imaginé..

    He tenido que añadir un subinforme al informe principal. He copiado el informe principal y rebautizado como un subinforme. En el subinforme, he añadido una variable compartida y, a continuación, pasó al informe principal. El truco es colocar el subinforme en el mismo encabezado de grupo, pero una sección separada encima de la sección que debe ser suprimida. He añadido las siguientes secciones:

    Nueva sección (mismo grupo-coloqué subinforme aquí; no suprimir)
    Nueva Sección (mismo grupo – coloqué valor de variable compartida aquí; no suprimir)
    Sección Original (mismo grupo que tiene un encabezado necesito suprimida basado en un total de ejecución)

    OriginalEl autor Sarah

  4. 0

    Si {#CurrentVers} es regular total de ejecución de campo, usted debería ser capaz de colocar en el encabezado de página directamente, en lugar de recurrir a una fórmula adicional. No veo la necesidad de un campo de fórmula aquí, a menos que haya algo inusual en la composición de {#CurrentVers} y un mayor número total de ejecución no requiere nada fuera de lo común.

    Tal vez estoy equivocado en esto, pero no creo que el simple hecho de poner el total en la cabecera del trabajo debido a la forma en que el informe se lee de arriba a abajo. Esta es la parte superior de mi cabeza para que yo pudiera estar equivocado.
    Que muestran, pero es obvio que sólo reflejan los registros procesados hasta que punto. Pero la pregunta original está lejos de ser claro en lo que estamos tratando de lograr.

    OriginalEl autor MartW

  5. 0

    Puede resolver esto con un solo campo de fórmula:

    WhilePrintingRecords;
    //Enter logic here e.g.
    //maximum({mytable.myfield});
    

    La WhilePrintingRecords; las fuerzas de la fórmula para no ser evaluado hasta que todos los registros han sido leídos desde la base de datos, y por lo tanto la fórmula campo mostrará el resultado correcto, incluso si se coloca en un encabezado.

    OriginalEl autor LapplandsCohan

  6. 0

    La clave que he encontrado es que el campo de la fórmula que se pasa tiene que ser colocado en el subinforme. Puse la mía en el pie de página, a continuación, suprimida.

    OriginalEl autor Froghos

Dejar respuesta

Please enter your comment!
Please enter your name here