version 5
CHERCHER PAR FORMULE ({table}{; }{formule})
Paramètre | Type | Description | |
table | Table | Table dans laquelle effectuer la recherche ou | |
Table par défaut si ce paramètre est omis | |||
formule | Booléen | Formule de recherche |
Description
CHERCHER PAR FORMULE effectue une recherche d'enregistrements dans table. CHERCHER PAR FORMULE modifie la sélection courante de table pour le process courant et fait du premier enregistrement le nouvel enregistrement courant.
CHERCHER PAR FORMULE et la commande CHERCHER PAR FORMULE DANS SELECTION fonctionnent exactement de la même manière, à la différence près que CHERCHER PAR FORMULE effectue sa recherche parmi la totalité des enregistrements de la table alors que CHERCHER PAR FORMULE DANS SELECTION se cantonne aux enregistrements de la sélection courante.
Les deux commandes appliquent formule à chaque enregistrement de la table ou de la sélection. formule est une expression booléenne qui doit retourner VRAI ou FAUX. Si formule retourne Vrai, l'enregistrement est inclus dans la nouvelle sélection.
formule peut être simple (par exemple la comparaison d'un champ à une valeur) ou complexe (réalisation d'un calcul ou même évaluation de valeurs dans une table liée). Ce peut être une fonction 4e Dimension, ou une fonction ou une expression que vous avez créée. Vous pouvez utiliser des jokers dans formule lorsque vous travaillez avec des champs de type Alpha ou Texte.
Si vous omettez le paramètre formule, 4D affiche la boîte de dialogue standard de recherche.
Lorsque la recherche est terminée, le premier enregistrement de la nouvelle sélection est chargé depuis le disque et devient l'enregistrement courant.
Ces commandes effectuent toujours une recherche séquentielle, non indexée. CHERCHER PAR FORMULE et CHERCHER PAR FORMULE DANS SELECTION sont plus lentes que CHERCHER lorsqu'elles sont utilisées sur des champs indexés. La durée de la recherche est proportionnelle au nombre d'enregistrements présents dans la table ou la sélection.
4D Server : Le serveur n'exécute pas la formule de recherche. Chaque enregistrement est envoyé au poste client et la formule de recherche est exécutée sur le client. Ce fonctionnement rend ces commandes moins efficaces avec 4D Server que la commande CHERCHER.
Exemples
(1) L'exemple suivant recherche les enregistrements de toutes les factures qui ont été saisies au mois de décembre, sans tenir compte de l'année. Le principe est d'appliquer la fonction Mois de à chaque enregistrement. Cette recherche ne pourrait pas être effectuée d'une autre manière sans créer un champ séparé pour le mois :
CHERCHER PAR FORMULE ([Factures]; Mois de ([Factures]Saisie) = 12) ` Chercher les factures saisies en décembre
(2) L'exemple suivant recherche les enregistrements de toutes les personnes dont le nom comporte plus de dix caractères :
CHERCHER PAR FORMULE ([Personnes]; Longueur ([Personnes]Nom) > 10) ` Chercher les personnes dont le nom fait plus de dix caractères
Référence
CHERCHER, CHERCHER DANS SELECTION, CHERCHER PAR FORMULE DANS SELECTION.