• Annonces

    • Olivier Devriese

      Nouveauté du forum, les blogs !   30/04/2016

      Envie de créer votre blog FileMaker ? Ca ne peut pas être plus simple qu'avec cette nouvelle section du site FM Source qui est désormais plus qu'un simple forum mais un vrai centre de ressource. Vous pouvez aussi facilement l'alimenter en le liant avec le flux RSS d'un autre blog que vous possédez déjà.
  • billets
    69
  • commentaires
    9
  • vues
    2 177

Le retour aux fondamentaux... — La recherche

David Julot

694 vues

Pour le retour du billet dominical je vais revenir aux fondamentaux : la recherche !

Toute personne utilisant une base de données a le besoin d'effectuer des recherches au sein de ses données, sinon quel serait l'intérêt d'une base de données ?! On l'oublie trop souvent, mais la maîtrise du moteur de recherche d'un Système de Gestion de Bases de Données est primordiale ! Je vous propose donc aujourd'hui de revoir nos classiques pour celles et ceux de la vielle génération comme moi qui gravitons dans le monde FileMakerien depuis plus de 20 ans et pour les «petits» nouveaux qui découvrent ce logiciel fantastique !

 

La recherche

Il y a des recherches simples, des moins simples et des complexes ! Il y a même des recherches qui s'effectuent sans passer par le mode recherche. Mais justement, comment s'effectue une recherche classique dans une base de données FileMaker ? Des quatre modes de FileMaker, il y a celui concernant la recherche :

  • Par la barre de menu Affichage > Mode Recherche ;
  • Par les raccourcis clavier : 
    • Sur Mac OS X : cmd + F ;
    • Sur Windows : ctrl + F

Le principe d'une recherche classique suit trois étapes :

  1. On se met en mode recherche ;
  2. On saisit le critère de recherche ;
  3. On exécute la recherche.

Ce principe s'applique aussi lors de l'automatisation d'une recherche par script. J'oublie de préciser que l'on doit se placer à l'endroit où peuvent se trouver les données recherchées, on doit donc se mettre sur le modèle adéquate.

Lorsque l'on effectue une recherche, FileMaker ne s'amuse pas à passer en revue les enregistrements un à un (joli pléonasme !) pour isoler ceux qui répondent aux critères de recherche. Cela serait très long. FileMaker, comme tout SGBD, utilise l'index pour effectuer des recherches. Il faut donc connaître les règles de l'indexation de FileMaker pour comprendre et savoir effectuer des recherche au sein de sa base de données. Si vous vous êtes amusés à regarder les options de vos rubriques, il y en a une qui concerne la langue d'indexation. Par défaut FileMaker utilise la langue du système d'exploitation, ou des préférences, pour ma part c'est le français qui est utilisé. Voici donc les règles de l'indexation française utilisées par FileMaker Pro :

  • Pas de distinction entre les lettres majuscules et les lettres minuscules : a=A ;
  • Pas de distinction entre les lettres accentuées et les lettres non accentuées : e=é=è=ê=ë, a=à, c=ç, etc. ;
    • Conséquences des deux premières règles : e=E=é=É=è=È=ê=Ê=ë=Ë, a=A=à=À, c=C=ç=Ç
  • FileMaker connaît les lettres ligaturées : ae=æ, oe=œ, ss=ß ;
    • attention FileMaker ne reconnaît pas l'esperluette comme la ligature du e et du t : et≠&
  • L'apostrophe et le trait d'union sont considérés comme des séparateurs de mots, pour le trait d'union uniquement depuis FileMaker 7.

Par défaut, FileMaker indexe les rubriques utilisées :

  • Lors d'une recherche ;
  • Lors d'un tri ;
  • Comme clef de liaison d'un lien relationnel.

:excl: Le type de la rubrique influe sur la recherche, le tri et les relations.

 

Recherche simple

Texte

C'est le type de recherche le plus utilisé, mais encore faut-il connaître quelques astuces. Pour retrouver le nom d'un personne, il suffit de saisir le nom recherché dans la rubrique nom est c'est tout. Mais si nous souhaitons rechercher tous les enregistrements dont la rubrique téléphone est vide ? Il y a quelques opérateurs mis à notre disposition :

  • = : le signe égale placé d'une rubrique en mode recherche permet de retrouver tous les enregistrement dont la rubrique est vide ;
  • : le signe étoile (ou astérisque) utilisé seul dans une rubrique en mode recherche permet de retrouver tous les enregistrements dont la rubrique n'est pas vide ;
    • alors qu'utilisé avec d'autres caractères il remplace zéro, un ou plusieurs caractères :
      • *ER : recherche tous les enregistrements dont la rubrique contient un mot se terminant par ER ;
      • *ER* : recherche tous les enregistrements dont la rubrique contient un mot débutant, contenant ou se terminant par ER ;
      • ER* : recherche tous les enregistrements dont la rubrique contient un mot débutant par ER ;
      • ER : idem que précédemment, recherche tous les enregistrements dont la rubrique contient un mot débutant par ER.
  • @ : remplace un caractère et fixe le nombre de caractère d'un mot recherché :
    • M@R : recherche tous les enregistrements dont la rubrique contient un mot de trois lettres débutant par M et se terminant par R.
    • Si vous souhaitez recherche une adresse électronique, vous devez mettre votre critère entre guillemets : "david@lesterius.com" par exemple, ou saisir l'opérateur d'échappement (terme informatique) par exemple david\@lesterius.com.
  • Pour effectuer une recherche par mots clefs, il suffit de saisir les mots clefs, ou leur début, séparés par des espaces ;
  • Pour rechercher strictement un texte, on le précède d'un double signe égale :
    • ==M : recherche tous les enregistrements dont la rubrique texte contient strictement la lettre M (ne tient pas compte de la casse). Cela ne retrouvera pas les enregistrements dont la rubrique contient par exemple "M.", "", "Mr", etc.
  • Pour rechercher un texte accentué sans tenir compte de la casse, on utilise les guillemets :
    • "légitime" : recherche tous les enregistrements dont la rubrique contient le mot légitime mais ne retrouvera pas le mot légitimé ;
    • "légitimé" : recherche tous les enregistrements dont la rubrique contient le mot légitimé mais ne retrouvera pas le mot légitime.
  • Pour rechercher un opérateur FileMaker Pro en tant que caractère :
    • \@ : recherche le caractère @ ;

Nombre

Pour les nombres nous avons pouvons effectuer les recherches suivantes :

  • 100 : recherche tous les enregistrements dont la rubrique nombre contient le nombre 100 ;
  • Pour rechercher un nombre supérieur ou égale à 100 :
    • 100… : utilise l'opérateur intervalle ;
    • ≥100 : utilise l'opérateur supérieur ou égale à.
  • Pour rechercher un nombre inférieur ou égale à 100 :
    • …100 : utilise l'opérateur intervalle ;
    • ≤100 : utilise l'opérateur inférieur ou égale à.
  • Pour rechercher un nombre compris entre 100 et 199, bornes comprises :
    • ≥100 ≤199 : utilise les opérateurs supérieur ou égale à et inférieur ou égale à et les deux critères sont séparés par l'espace ;
    • 100…199 : plus simple, utilise l'opérateur intervalle ;
    • 1## : plus concis encore, utilise l'opérateur # qui remplace un chiffre inconnu, l'équivalent du pour le texte.
  • Pour recherche un nombre supérieur ou inférieur strictement à 100 :
    • <100 : utilise l'opérateur inférieur à ;
    • >100 : utilise l'opérateur supérieur à.
  • Autre critère de recherche :
    • 1#3# : recherche tous les enregistrements dont la rubrique nombre contenant un nombre de quatre chiffres ayant 1 millier et 3 dizaines quelque soit la centaine et l'unité.

Date

Pour les dates nous pouvons effectuer les recherches suivantes, avec un système paramétré avec les date à la française :

  • Pour rechercher tous les enregistrements dont la date est le 1er mai 2016 :
    • 1/5/2016 : on saisit simplement la date ;
  • Pour la recherche de la date du jour :
    • // : on utilise l'opérateur date du jour.
  • Pour rechercher tous les enregistrements dont la date est comprise entre le 1er janvier 2016 et le 31 décembre 2016, bornes comprises :
    • ≥1/1/2016 ≤31/12/2016 : utilise les opérateurs supérieur ou égale à et inférieur ou égale à et les deux critères sont séparés par l'espace ;
    • 1/1/2016…31/12/2016 : plus simple, utilise l'opérateur intervalle ;
    • */*/2016  : utilise l'opérateur * ;
    • 2016 : encore plus concis, on saisit simplement l'année recherchée.
  • Pour rechercher tous les enregistrements dont la date est comprise entre 1er mai 2016 et le 31 mai 2016, bornes comprises :
    • ≥1/5/2016 ≤31/5/2016  : utilise les opérateurs supérieur ou égale à et inférieur ou égale à et les deux critères sont séparés par l'espace ;
    • 1/5/2016…31/5/2016 : plus simple, utilise l'opérateur intervalle ;
    • */5/2016 : utilise l'opérateur * ;
    • 5/2016 : plus simple encore, on saisit uniquement le mois et l'année ;
    • 5 : encore plus concis, on saisit uniquement le mois, FileMaker Pro recherche alors tous les enregistrements dont la date correspond au moi de mai de l'année en cours.
  • Voici d'autres critères de recherche :
    • 15/*/*  : recherche tous les enregistrements dont la rubrique date contient une date tombant le quinze de chaque mois, de chaque année ;
    • vendredi : recherche tous les enregistrements dont la rubrique date contient une date tombant un vendredi ;
    • ven. : plus concis que précédemment, on saisit seulement les trois premières lettres du nom du jour recherché terminé par un point ;
    • {lundi…vendredi}/*/2016 : recherche toutes les dates tombant en semaine pour l'année 2016 ;
    • {15…31}/{1…6}/2016 : recherche toutes les dates tombant en deuxième quinzaine pour le premier semestre 2016 ;

Heure

Pour les heures nous pouvons effectuer les recherches suivantes, avec un système paramètre avec les heures à la française :

  • Pour rechercher tous les enregistrements dont l'heure est 10 heures 30 minutes :
    • 10:30 
  • Pour rechercher tous les enregistrements dont l'heure est comprise entre 10 heures 30 minutes et 15 heures 25 minutes, bornes comprises :
    • ≥10:30 ≤15:25 : utilise les opérateurs supérieur ou égale à et inférieur ou égale à et les deux critères sont séparés par l'espace ;
    • 10:30…15:25 : utilise l'opérateur intervalle.
  • Pour rechercher tous les enregistrements dont l'heure est comprise entre 0 heure et 11 heures 59 minutes 59 secondes :
    • ≥0 ≤11:59:59 : utilise les opérateurs supérieur ou égale à et inférieur ou égale à et les deux critères sont séparés par l'espace ;
    • 0…11:59:59 : utilise l'opérateur intervalle ;
    • …11:59:59 : utilise l'opérateur intervalle ;
    • ≤11:59:59 : utilise l'opérateur inférieur ou égale à ;
    • <12 : utilise l'opérateur inférieur à ;
    • AM : utilise le latin antemeridiem.
  • Pour rechercher tous les enregistrements dont l'heure est comprise entre midi et minuit :
    • ≥12 ≤23:59:59 : utilise les opérateurs supérieur ou égale à et inférieur ou égale à et les deux critères sont séparés par l'espace ;
    • 12…23:59:59 : utilise l'opérateur intervalle ;
    • 12… : utilise l'opérateur intervalle ;
    • ≥12 : utilise l'opérateur supérieur ou égale à ;
    • >11:59:59 : utilise l'opérateur supérieur à ;
    • PM : utilise le latin post meridiem.
  • Voici d'autres critères de recherche :
    • 20:*:* : recherche tous les enregistrements dont la rubrique heure correspond à 20 heures ;
    • 20 : recherche tous les enregistrements dont la rubriques heure correspond à 20 heures ;
    • *:20:* : recherche tous les enregistrements dont la rubrique heure contient une heure ayant 20 comme minutes ;
    • {8…11}:{30…59} : recherche tous les enregistrements dont la rubrique heure contient une heure comprise entre 8 et 11 heures et les minutes comprises entre 30 et 59.

Horodatage

Pour les horodatées utiliser les critères vus précédemment pour les dates et les heures.

Conteneur

C'est encore plus simple pour les conteneurs : on ne peut pas effectuer de recherche dans ce type de rubrique.

 

C'est tout pour aujourd'hui !

Voilà, c'est tout pour aujourd'hui, si ce retour aux fondamentaux vous plaît, je continuerai la semaine prochaine avec les recherches un peu plus compliquées mélangeant les opérateurs booléens ET, OU et NON…


Anthony, Chris_Zef et Bernard M aiment ça
  Signaler le billet


0 Commentaire


Aucun commentaire à afficher.

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant