web-dev-qa-db-fra.com

Suppression d'un sous-rapport sans données et d'un en-tête

J'ai un sous-rapport assez simple que je veux supprimer quand aucun enregistrement n'est sélectionné pour cela. Le problème est que j'ai un en-tête et un pied de page de ce sous-rapport contenant des éléments statiques (zones de texte, lignes, etc.). J'ai défini la section contenant le sous-rapport, le sous-rapport lui-même et les sections du sous-rapport afin que tous soient supprimés lorsqu'il n'y a pas d'enregistrements. Pourtant, le sous-rapport apparaît quand même. La section de données sans données est en effet supprimée, mais les en-têtes et les pieds de page semblent garder le sous-rapport visible.

Des idées? Oh, j'utilise Crystal-Reports 2011. Merci!

13
Dan Berlyoung

Je viens de le rencontrer moi-même en CR2008. Voici les étapes que j'ai suivies pour réussir ce travail:

  1. Allez dans votre sous-rapport (par là, je veux dire, ouvrez-le dans sa propre fenêtre de concepteur) -> allez dans "Options de rapport" dans le menu "Fichier" -> sélectionnez "Supprimer l'impression si aucun enregistrement"
  2. Revenons maintenant à votre rapport principal. Cliquez avec le bouton droit de la souris sur le sous-rapport -> allez à "Format du sous-rapport" -> cliquez sur l'onglet "Sous-rapport" -> cochez la case "Supprimer le sous-rapport vide".
  3. Si le sous-rapport est le seul élément de la section principale du rapport, accédez à cette section dans «Editeur de section» en cliquant dessus avec le bouton droit de la souris -> cochez la case «Supprimer la section vide».

EDIT: Si votre sous-rapport renvoie des enregistrements, mais qu’il n’existe aucun affiché , essayez d’utiliser des variables partagées. Pour ce faire, vous devez tenir compte de la logique que vous utilisez pour afficher les enregistrements dans le sous-rapport. Il s'agit probablement de la logique trouvée dans la formule de suppression de la section de détail, mais cela dépendra beaucoup du format de votre sous-rapport particulier.

Maintenant, initialisez un numbervar partagé dans l'en-tête de rapport de votre sous-rapport, puis incrémentez-le chaque fois qu'une ligne est affichée à l'aide de la logique susmentionnée. 

De retour dans votre rapport principal, vous pourrez peut-être vérifier la valeur de cette variable pour supprimer conditionnellement la section du sous-rapport. Je dis "peut" parce que CR ne peut pas évaluer les variables du sous-rapport avant avant de regarder la formule de suppression, mais donnez-lui un tourbillon. Vous voudrez utiliser le mot clé whileprintingrecords; dans votre formule de suppression de section pour retarder son évaluation. Bonne chance!

19
Ryan

Il est difficile de tout suivre dans le message, mais si des données s’exécutent, ajoutez une section et placez votre sous-rapport dans la section et assurez-vous que la capacité de croissance est cochée. 

Si vous souhaitez afficher des données statiques, vous pouvez créer 2 sous-rapports, un avec les données statiques et l'autre avec les données dynamiques, et le supprimer s'il est vide.

0
Ira

Avez-vous essayé d'utiliser la formule de suppression?

Clic droit Champ de format > Vérifier Supprimer > cliquez sur Modifier la formule [x-2] le bouton

0
LYKS