web-dev-qa-db-fra.com

Formule de suppression de champ en cas de duplication dans Crystal Reports

J'ai une vue qui montre des données sur les rapports de cristal où j'ai des champs comme le tarif, la location, les actions, le brut et le net. comportement du point de vue de la base de données, mais je veux supprimer le champ de la location mensuelle à 0 si le même identifiant a un tarif différent ou si la location est répétée dans le nouvel enregistrement.

ID  Tariff  Rental
1    20       390
1    15       390

Je souhaite que le champ Location sur les rapports soit supprimé si les doublons sont basés sur id.Actuellement, j’utilise cette formule dans le rapport Crystal pour vérifier les données du champ précédent et les supprimer en cas de doublon.

{DatabaseField} = Previous ({DatabaseField})

Cela fonctionne bien, mais si l'identifiant n'est pas identique et que la location est répétée, elle supprimera également ce que je ne veux pas. Je souhaite le supprimer uniquement pour le même identifiant.

8
Mohsin

Vous devez écrire la formule dans le champ de suppression. (Pas besoin de supprimer si dupliqué)

Sur le terrain en location {ID} = previous({ID}) et {rental} = previous({rental})

Si ID et Location sont identiques, seul le rapport supprime la location.

Je suppose que cela fonctionnera pour vous.

21
Janarthanan
  1. Dans Crystal Reports, cliquez avec le bouton droit sur la section Détails et sélectionnez Expert Section.

    1. Dans la boîte de dialogue Expert Section, sélectionnez le bouton X + 2 en regard de la commande Supprimer. La case à cocher ne doit pas être cochée pour que cette formule fonctionne.
    2. Dans la boîte de dialogue Éditeur de formules, créez une formule conditionnelle contenant la fonction Suivant pour évaluer les enregistrements en double et supprimer la ligne Détails.

    exemple: {Table.Databasefield} = Précédent ({Table.Databasefield})

3
maneesh

Mettez ceci dans la formule de suppression du champ à masquer. 

si {maTable.ID} = précédent ({maTable.ID}) alors vrai sinon faux

0
O'MALLEY

J'ai dû apporter un léger changement à la formule de la solution de Janarthanan en ajoutant des parenthèses pour que cela fonctionne avec Crystal XI.

J'ai utilisé:

{ID}=previous({ID}) and {rental}=previous({rental})

cette variante de formatage, présentée dans la question modifiée, m'a aidé à résoudre un problème similaire.

0
B-Rell