2009-09-17 5 views
1

Est-il possible de parcourir par programme une table au sein d'une formule dans les rapports de cristal?Est-il possible de parcourir par programme une table au sein d'une formule dans Crystal Reports?

E.G. Si j'ai une table principale et une table détaillée, puis-je parcourir la table de détail par exemple.

(code psuedo)

numbervar locale Total: = 0

Sans EOF()

IF Type = "+" 
    Total = Total + Quantity 
ELSE IF Type = "-" 
    Total = Total - Quantity 
ENDIF 

<Next Record> 

End While

Répondre

2

Il est possible d'utiliser des boucles dans un champ de formule pour obtenir les données dont vous avez besoin, mais je les ai vraiment utilisées dans la manipulation de chaînes complexes. Si vous avez vraiment besoin de faire cela, vous pourrez peut-être utiliser des sous-rapports, mais vous devrez placer le sous-rapport dans la section des détails, ce qui n'est pas vraiment recommandé car il s'agit essentiellement d'un nouveau rapport pour chaque enregistrement. tiré.

Il semble que ce que vous cherchez vraiment soit un champ total cumulé. Si vous joignez ensemble les tables maître et détaillée, le rapport extrait toutes les lignes des deux tables. Ensuite, vous pouvez grouper par "Type" et créer un champ total cumulé qui additionne le champ "Quantité" pour chaque ligne et réinitialise le changement du groupe. Je pense que c'est une façon de penser un peu différente de la programmation traditionnelle. J'espère que cela t'aides.