Fonction OCCURS( )
Renvoie un décompte du nombre de fois qu'une sous-chaîne se produit dans une valeur de caractères indiquée.
Syntaxe
OCCURS(chaîne_de caractères; chaîne_recherchée)
Paramètres
Nom | Type | Description |
---|---|---|
chaîne |
caractère |
Valeur dans laquelle effectuer la recherche. Vous pouvez concaténer deux champs ou plus si vous souhaitez que votre recherche porte sur plusieurs champs d'une table : OCCURS(Prénom+Nom;"John") |
chaîne_recherchée |
caractère |
Valeur à rechercher. La recherche est sensible à la casse. |
Sortie
Numérique.
Exemples
Exemples basiques
Renvoie 2 :
OCCURS("abc/abc/a";"ab")
Renvoie 3 :
OCCURS("abc/abc/a";"ab")
Renvoie le nombre de fois qu'un trait d'union apparaît dans chaque valeur du champ No_Facture :
OCCURS(No_Facture; "-")
Exemples avancés
Recherche de numéros de facture comportant plusieurs traits d'union
Si les numéros de facture d'une table ne doivent avoir qu'un trait d'union, utilisez la fonction OCCURS( ) pour créer un filtre qui isole les numéros de facture ayant au moins deux traits d'union :
SET FILTER TO OCCURS(No_Facture; "-") > 1
Recherche des occurrences d'une valeur de champ dans un autre champ
Utilisez OCCURS( ) pour rechercher les occurrences d'une valeur de champ dans un autre champ. Par exemple, vous pouvez créer un filtre isolant les enregistrements dans lesquels les valeurs Nom apparaissent dans le champ Nom_complet :
SET FILTER TO OCCURS(Nom_complet; ALLTRIM(Nom)) = 1
Inclure la fonction ALLTRIM( ) dans l'expression retire les espaces de début ou de fin dans le champ Nom, ce qui permet de s'assurer que seules des valeurs de texte sont comparées.
Recherches sensibles à la casse
À la différence de la fonction FIND( ), la fonction OCCURS( ) est sensible à la casse, ce qui vous permet d'effectuer des recherches sensibles à la casse.
L'expression suivante isole tous les enregistrements contenant le nom « ÉQUIPEMENT UNI », en majuscules, dans le champ Nom_Fournisseur, tout en ignorant les occurrences de « Équipement uni ».
SET FILTER TO OCCURS(Nom_Fournisseur; "ÉQUIPEMENT UNI") > 0
Si vous souhaitez rechercher toutes les occurrences d'"Équipement uni" quelle que soit la casse, utilisez la fonction UPPER( ) pour convertir les valeurs du champ de recherche en majuscules :
SET FILTER TO OCCURS(UPPER(Nom_Fournisseur); "ÉQUIPEMENT UNI") > 0