Recherche d'enregistrements ayant des valeurs égales dans différentes rubriques

Vous pouvez rechercher des enregistrements dans lesquels différentes rubriques d'un enregistrement possèdent la même valeur. Par exemple, vous voulez rechercher toutes les commandes pour lesquelles le montant payé est identique au montant facturé. Utilisez une rubrique Calcul ou une boucle dans un script pour comparer les valeurs de ces deux rubriques dans chaque enregistrement.

Pour rechercher des enregistrements ayant des valeurs égales à l'aide d'une rubrique Calcul :

  1. Dans la table contenant les rubriques à comparer, créez une rubrique Calcul dont le type de résultat est Nombre. Consultez la section Définition de rubriques Calcul.

    Par exemple, créez une rubrique Calcul intitulée ComparerRubriques.

  2. Dans la boîte de dialogue Calcul, entrez une expression qui compare les deux rubriques.

    Par exemple, l'expression RubriqueA = RubriqueB définit la rubrique ComparerRubriques sur 1, uniquement si les deux rubriques possèdent la même valeur. Autrement, la valeur de ComparerRubriques est de 0.

  3. Ajoutez la rubrique Calcul (ComparerRubriques) au modèle.

    Consultez la section Placement et suppression de rubriques dans un modèle.

  4. Exécutez une requête de recherche, saisissez 1 dans la rubrique Calcul (ComparerRubriques), puis cliquez sur Exécuter la recherche.

    Consultez la section Définition d'une requête de recherche.

Le jeu trouvé comprend tous les enregistrements pour lesquels la rubrique Calcul ComparerRubriques est égale à 1, c'est-à-dire tous les enregistrements pour lesquels RubriqueA possède la même valeur que RubriqueB.

Pour rechercher des enregistrements ayant des valeurs égales à l'aide d'un script :

  1. Créez un script.

    Consultez la section Création et modification de scripts.

  2. Ajoutez les actions suivantes au script où Table::RubriqueA et Table::RubriqueB sont les deux rubriques à comparer dans un modèle en particulier (dans ce cas, « Mon modèle »).
    Copier
    Activer modèle [ "Mon modèle" (Table) ]
    Afficher tous les enreg.
    Afficher enreg/requête/page [ Premièr(e) ]
    Boucle [ Purge: Systématique ]
         Si [ Table::RubriqueA = Table::RubriqueB ]
             Afficher enreg/requête/page [ Suivant(e) ; Sortie après dernière: Oui ]
         Sinon
             Ignorer enregistrement
         Fin de si
    Fin de boucle
  3. Exécutez ce script.

Ce script affiche tous les enregistrements et accède au premier d'entre eux. Puis, pour tous les enregistrements, il compare les deux rubriques et ignore ceux pour lesquels RubriqueA diffère de RubriqueB.

Remarque  Plutôt que d'utiliser un signe égal à dans la rubrique Calcul, ou dans l'action de script Si au-dessus, vous pouvez utiliser un opérateur de comparaison ou un opérateur logique pour comparer les rubriques. Par exemple, utilisez Table::RubriqueA > Table::RubriqueB pour rechercher des enregistrements dans lesquels RubriqueA est supérieure à RubriqueB. Consultez les sections Opérateurs de comparaison et Opérateurs logiques.