4D v16.3

Editeur de recherches

Accueil

 
4D v16.3
Editeur de recherches

Editeur de recherches  


 

 

L’éditeur de recherches standard est un éditeur multi-usages pouvant être utilisé pour créer des conditions de recherches simples ou multiples. Vous pouvez construire des recherches multiples liées par les opérateurs de conjonction Et, Ou ou Sauf. Par exemple, vous pouvez utiliser l’éditeur de recherches pour rechercher les employés âgés de plus de 60 ans ou ayant un revenu annuel supérieur à 25 000 Euros.

L’éditeur de recherches vous permet d’effectuer votre recherche parmi les enregistrements de la sélection courante ou parmi la totalité des enregistrements de la table. Les autres modes de recherche s’appliquent uniquement à la totalité de la table. L’éditeur de recherches vous permet de sauvegarder sur disque vos conditions de recherche. Il vous suffit ensuite d’ouvrir un fichier de recherche pour répéter une recherche. Les dernières conditions de recherche utilisées sont conservées en mémoire par l’éditeur de recherches. Vous pouvez modifier ces conditions ou les effacer pour en saisir de nouvelles. L’éditeur de recherches permet d’effectuer des recherches sur tout champ de la table courante ou des tables liées.
Enfin, vous pouvez effectuer des recherches avancées utilisant des formules (cf. section Recherches par formule).

La fenêtre de l’éditeur contient un menu d'édition, un menu d'action sur la sélection et un menu de recherches récentes.

Note : Le menu Recherches récentes est affiché lorsqu’au moins une recherche a déjà été effectuée au cours de la session.

Le menu d’édition regroupe les commandes de gestion du code de recherche.

  • Charger... et Enregistrer... : ces commandes permettent de gérer le chargement et la sauvegarde sur disque des fichiers de recherches. Si vous effectuez souvent la même recherche, il sera peut-être judicieux de sauvegarder vos conditions de recherche sur disque. Lorsque vous stockez une recherche sur disque, vous ne l’écrivez qu’une seule fois. Lors des utilisations ultérieures de l’éditeur de recherches, il vous suffira de charger le fichier depuis le disque et de cliquer sur Chercher pour lancer la recherche.
    Lorsque vous sélectionnez la commande Enregistrer... après avoir défini vos critères, 4D affiche une boîte de dialogue standard d’enregistrement de fichiers, vous permettant de nommer votre fichier de recherche et de choisir son emplacement sur le disque. L’extension des fichiers de recherches 4D est ".4df". Tous les paramètres sont sauvegardés : ligne(s) de recherche, action de la recherche, ainsi que les recherches par formule.
    Lorsque vous sélectionnez la commande Charger..., 4D affiche une boîte de dialogue standard d’ouverture de fichier, vous permettant de choisir un fichier de recherche (extension “.4df”). Lorsqu’un fichier est chargé, il remplace toute formule auparavant affichée dans l’éditeur. 
  • Copier la formule dans le Presse-papiers : place dans le Presse-papiers le code de la formule construite dans la zone d’édition. 
  • Réinitialiser : supprime la totalité de lignes de recherche définies dans l’éditeur. Attention, la suppression de lignes est irréversible.

Ce menu permet de définir l’action de recherche à effectuer en fonction de la sélection courante d’enregistrements existante. 

  • Créer une nouvelle sélection (action par défaut) : 4D effectue une recherche parmi la totalité des enregistrements des tables et affiche les enregistrements trouvés en remplacement de la sélection courante de départ.
  • Chercher dans la sélection : 4D effectue une recherche uniquement parmi les enregistrements de la sélection courante de départ et affiche les enregistrements trouvés en remplacement de cette sélection courante.
  • Ajouter à la sélection : 4D effectue une recherche parmi la totalité des enregistrements des tables et ajoute les enregistrements trouvés à la sélection courante de départ. Les enregistrements trouvés appartenant déjà à la sélection courante sont affichés mais ne sont pas dupliqués.
  • Retrancher de la sélection : 4D effectue une recherche parmi la totalité des enregistrements des tables et retranche de la sélection courante de départ les enregistrements trouvés.

Ce menu apparaît lorsqu’au moins une recherche a déjà été effectuée. Il contient les dernières recherches effectuées au cours de la session, permettant à l’utilisateur de réitérer facilement ses recherches les plus courantes. Un maximum de 10 recherches est conservé. 

A noter que les actions sur la sélection éventuellement associées aux recherches (Chercher dans la sélection, Ajouter à la sélection, etc.) ne sont pas mémorisées. 

Lorsqu’une recherche est sélectionnée dans ce menu, sa description s’affiche dans la zone de construction. Il est alors possible de l’exécuter directement ou de la modifier.

L'éditeur de recherches prend en charge des recherches prédéfinies. Comme une recherche stockée standard, une recherche prédéfinie contient une définition de recherche incluant l'ensemble des critères, et pouvant être chargée dans l'éditeur de recherches à tout moment. Les recherches prédéfinies peuvent en outre être intégrées dans les applications déployées et sont directement accessibles dans un sous-menu de l'éditeur de recherches.

Pour créer une recherche prédéfinie :

  1. Créez un sous-dossier nommé "Queries" dans le dossier "Resources" de votre base de données.
  2. Placez dans ce sous-dossier tous les fichiers de recherches stockées (.4df) à utiliser en tant que recherches prédéfinies :

Lorsqu'au moins un fichier de recherche .4df associé à la table courante est trouvé dans le dossier Resources/Queries, un nouvel item Charger> est ajouté en bas du menu d'édition de l'éditeur de recherches, donnant accès à toutes les recherches prédéfinies en tant qu'éléments de menu :

La sélection d'un élément du sous-menu provoque le chargement de la recherche correspondante dans l'éditeur de recherches.

Rappel : Seuls les fichiers de recherche liés à la table courante sont affichés dans le sous-menu.

Pour créer une recherche standard dans l’éditeur, il suffit de construire une ligne de la forme "champ opérateur valeur" :

  1. Pour désigner le champ, vous pouvez utiliser la liste hiérarchique située à droite de la zone d’édition :

    Vous pouvez également cliquer dans la zone d’édition et saisir la ou les première(s) lettre(s) de la table du champ (ne saisissez pas le caractère "[" ) : un mécanisme d’auto-complétion affiche des propositions correspondant à votre saisie :

    Une fois la table définie, appuyez sur le bouton flèche droite pour valider la proposition et accéder à la liste des champs. Saisissez les premières lettres du champ ou utilisez les boutons flèche haute / flèche basse pour faire défiler les champs de la table :

    Cette liste affiche toutes les tables et les champs de la base. Si une structure virtuelle est définie à l’aide des commandes SET TABLE TITLES et SET FIELD TITLES, elle est prise en compte.
  2. Sélectionnez un opérateur de comparaison dans le menu central. La liste des opérateurs de comparaison est mise à jour en fonction du type de champ défini :

    En plus des opérateurs de comparaison standard, l'éditeur de recherches propose des opérateurs étendus et des types de valeurs pré-saisies permettant d’effectuer rapidement les recherches les plus communes (cf. Opérateurs de comparaison).
  3. Saisissez la valeur à rechercher.
    Avec un champ de type Texte ou Alpha, vous pouvez utiliser le caractère “Joker” (@) à la fin de la valeur, pour spécifier une recherche du type “commence par”.
    Si le champ sélectionné est associé à une énumération, 4D affiche l’énumération afin que vous choisissiez une valeur. Si le champ sélectionné est du type Booléen, 4D affiche deux boutons radio.
  4. Si vous souhaitez définir une recherche multiple, cliquez sur le bouton pour ajouter une autre ligne. 4D duplique le contenu de la ligne correspondant au bouton.
    Si vous souhaitez ajouter une ligne de recherche utilisant une formule, appuyez sur la touche Alt (Windows) ou Option (OS X) avant de cliquer sur le bouton d'ajout. Ce point est détaillé dans la section Recherches par formule.
  5. Sélectionnez l’opérateur de conjonction (Et, Ou, Sauf) que vous souhaitez utiliser.
    Par défaut, lorsque vous ajoutez une ligne, 4D place l’opérateur Et dans la zone correspondante.
  6. Répétez les étapes 1 à 3 afin de définir le nouveau critère.
    Lorsque vous construisez une recherche multiple, 4D considère les conditions de recherche dans l’ordre où elles apparaissent dans l’éditeur de recherches (c’est-à-dire de haut en bas). Il n’y a pas de priorité parmi les opérateurs de conjonction. Cela signifie que si vous utilisez plus de deux conditions de recherche simples pour construire une recherche multiple, l’ordre dans lequel elles ont été placées aura une influence sur le résultat de la recherche.
    Vous pouvez à tout moment modifier un critère de recherche déjà saisi.
    Vous pouvez effacer une ligne de recherche en cliquant sur le bouton correspondant. Attention, la suppression de lignes est irréversible. 
  7. Choisissez la destination de la recherche dans le menu d'action sur la sélection : Créer une nouvelle sélection, Chercher dans la sélection, Ajouter à la sélection, Retrancher de la sélection (cf. paragraphe précédent).
  8. (Facultatif) Pour sauvegarder votre recherche dans un fichier sur disque, sélectionnez Enregistrer... dans le menu d'édition.
  9. Cliquez sur le bouton Chercher pour lancer la recherche.

Dans une condition de recherche, vous indiquez à 4D comment comparer les valeurs spécifiées à celles de la base. Par exemple, la condition de recherche “Nom est égal à ‘Dupont’” utilise l’opérateur de comparaison “est égal à”. 4D devra donc comparer les valeurs du champ Nom à la chaîne de caractères “Dupont”.

Les comparaisons basées sur des caractères alphanumériques ne font pas de distinction entre les majuscules et les minuscules et ne différencient pas non plus les caractères accentués ou étendus. Une recherche sur le nom “Dupont” trouvera les enregistrements contenant “dupont”, “DUPONT”, “dUpont”, etc. Une recherche sur le nom “raté” trouvera “râteau”, “râtelier”, etc.

Les recherches utilisant les opérateurs Contient et Ne contient pas sont toujours des recherches séquentielles. L’opérateur Contient mot-clé est disponible avec les champs de type alpha et texte uniquement. Pour plus d’informations, reportez-vous à la section Opérateurs de comparaison dans le manuel Langage de 4D.

Voici les opérateurs disponibles en fonction des types de champs :

OpérateurAlp/TxtDteHrBoolNumImgDescription
est videxxLe champ ne contient aucune donnée
n’est pas videxxLe champ contient des données
est égal àxComparateurs numériques standard
est supérieur ou égal àx
est strictement supérieur àx
est inférieur ou égal àx
est strictement inférieur àx
est différent dex
est fauxxComparateurs booléens standard
est vraix
estxxxLe champ contient exactement la valeur saisie
n’est pasxxxLe champ est différent de la valeur saisie
est à partir de (du)xxxLa valeur du champ est supérieure ou égale à la valeur saisie (*).
est aprèsxxxLa valeur du champ est strictement supérieure à la valeur saisie (*).
est jusqu’à (au)xxxLa valeur du champ est inférieure ou égale à la valeur saisie (*).
est avantxxxLa valeur du champ est strictement inférieure à la valeur saisie (*).
est entrexLa première date doit être antérieure à la seconde. La recherche trouve les champs contenant les dates saisies (inclusive).
est après le et avant lexLa première date doit être antérieure à la seconde. La recherche ne trouve pas les champs contenant les dates saisies (exclusive).
est aujourd’huixLa date du jour est affichée
est hierxLa date de la veille est affichée
est dans le courant du ou de laxValeurs possibles : - semaine (dim-sam) - semaine (lun-dim)  - semaine (lun-ven) - mois - trimestre - année. Ces valeurs sont calculées relativement à la date courante
est dans le ou la dernièr(e)x
est dans le ou la prochain(e)x
est dans les dernièr(e)sxValeurs possibles : - heures - minutes - secondes. Ces valeurs sont calculées relativement à l’heure courante
est dans les prochain(e)sx
est compris entrexxxLa valeur du champ (incluse) est comprise entre les valeurs saisies (*).
est compris entre (exclus)xxxLa valeur du champ (exclue) est comprise entre les valeurs saisies (*).
dure exactementxValeurs possibles : - heures - minutes - secondes
ne dure pasx
dure au moinsx
dure plus dex
dure au plusx
dure moins dex
commence parxComparateurs texte standard
se termine parx
contientx
ne contient pasx
contient le(s) mots(s)xxRecherche le ou les mot(s)-clé(s). Vous disposez de l’option "tous les mots" (le champ doit contenir tous les mots saisis) ou "certains mots" (le champ doit contenir au moins un des mots saisis)
ne contient pas le(s) mot(s)xx
pèse moins dexRecherche en fonction de la taille de l’image (différentes unités sont proposées : octets, Ko, Mo, Go)
pèse au moinsx

(*) Pour les chaînes, la recherche se base sur l’alphabet (a < b). Par exemple, une recherche du type nom est après "don" trouvera Donna, Don Diego, Smith, etc. mais ne trouvera pas Alves ou Dompierre.

Pour faciliter les recherches, 4D vous propose un caractère “joker” (@) qui peut remplacer un ou plusieurs caractères dans une recherche sur un champ Alpha ou Texte. Par exemple, si vous recherchez les occurrences du nom “Belmondo” dans un champ, vous pouvez définir la valeur à rechercher de différentes manières : 

La recherche deTrouve
Bel@Toutes les valeurs commençant par “Bel”
@doToutes les valeurs se terminant par “do”
Bel@doToutes les valeurs commençant par “Bel” et se terminant par “do”
@elm@Toutes les valeurs contenant “elm”

Note : Il est possible de combiner le joker avec une recherche du type “Contient mot-clé”. Par exemple, la condition de recherche “Notes contient mot-clé ‘anti@’” est valide.

Vous pouvez effectuer une recherche sur un ou plusieurs champs. Une recherche sur un champ est appelée recherche simple. Par exemple, la recherche “Nom est ‘Dupont’” est une recherche simple. Lorsque vous effectuez une recherche simple, 4D examine le contenu d’un seul champ de la base. 

Une recherche sur deux ou plusieurs champs est appelée recherche multiple. Lorsque vous lancez une recherche multiple, vous combinez des recherches simples à l’aide d’un opérateur de conjonction. L’opérateur de conjonction indique à 4D comment combiner les résultats des recherches individuelles. Vous disposez de trois opérateurs de conjonction :

  • Et : cet opérateur permet de trouver tous les enregistrements qui remplissent deux conditions simultanément. Par exemple, la condition de recherche “Trouver tous les employés qui travaillent dans le service comptabilité et qui gagnent plus de 2 000 Euros” sélectionnera uniquement les enregistrements des employés de la comptabilité qui gagnent plus de 2 000 Euros.
  • Ou : cet opérateur permet de trouver tous les enregistrements qui remplissent l’une ou l’autre de deux conditions. Par exemple, la condition de recherche “Trouver tous les employés qui travaillent dans le service comptabilité ou qui gagnent plus de 2 000 Euros” sélectionnera les enregistrements de tous les employés du service comptabilité, ainsi que tous les employés gagnant plus de 2 000 Euros (sans tenir compte du service auquel ils appartiennent).
  • Sauf : cet opérateur permet de trouver tous les enregistrements qui remplissent une première condition, à l’exception de ceux qui en remplissent une seconde. Par exemple, la condition de recherche “Trouver tous les employés qui travaillent dans le service comptabilité sauf ceux qui gagnent plus de 2 000 Euros” exclura de la sélection les comptables gagnant plus de 2 000 Euros.

Pour effectuer une recherche combinant plusieurs critères, il vous suffit de cliquer autant de fois que nécessaire sur le bouton d’ajout de ligne de recherche .

Vous pouvez combiner de nombreux opérateurs de conjonction pour créer des recherches telles que “Trouver les commerciaux à Paris ou en Belgique et dont le taux de commission est supérieur à 30 pourcents et dont les ventes sont inférieures à 1 000 000 Euros”. Voici cette recherche telle qu’elle peut être écrite dans l’éditeur de recherches :

Lorsque cette recherche sera exécutée, 4D sélectionnera tous les commerciaux de Paris et de Belgique prenant une commission élevée pour un volume de ventes réduit.



Voir aussi  

Recherches par formule

 
PROPRIÉTÉS 

Produit : 4D
Thème : Rechercher des enregistrements

 
HISTORIQUE 

Modifié : 4D v15

 
UTILISATION DE L'ARTICLE

4D - Mode Développement ( 4D v16)
4D - Mode Développement ( 4D v16.1)
4D - Mode Développement ( 4D v16.3)