Le requêteur est une fonction permettant de créer des écrans d'interrogation faisant apparaître le résultat de requêtes faites sur la base de données. Il fonctionne par extraction temporaire de données dans une table, puis consultation de cette table. La consultation peut ensuite se faire sur plusieurs niveaux de détail, définis par des ruptures successives.

La structure de cette table temporaire fait que chaque utilisateur y conserve les résultats de la dernière requête faite (sauf si c'est une requête partagée), et l'utilisation de cette fonctionnalité implique trois étapes différentes :

  • définition de la requête par cette fonction.
  • lancement de la requête (soit par le bouton  , soit par entrée dans la fonction d'interrogation et demande de rafraîchissement des données).
  • interrogation de la requête si elle a déjà été exécutée.

La définition des requêtes se fait en donnant une liste de champs issus de tables de la base, d'expressions faisant intervenir des champs de la base, des constantes et des expressions. Les jointures entre tables sont déterminées automatiquement à partir du dictionnaire, mais il est possible de les définir explicitement grâce à l'onglet Avancé.

Il est à noter que deux outils complémentaires existent. Un requêteur équivalent à celui-ci mais basé sur un éditeur visuel et un requêteur SQL passant par des écrans d'interrogation similaires mais dont le but est de concevoir des requêtes basées sur le langage SQL.

Pré-requis

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre

Gestion de l'écran

La définition d'une requête se fait sur plusieurs onglets, dont seul le premier est obligatoire.

En-tête

En tête, on trouve des informations permettant d'identifier la requête et quelques paramètres de portée générale.

Onglet Champs

Cet onglet permet de définir les informations à éditer, sous la forme d'un tableau définissant les tables de la base dont sont issues les informations, les champs ou les expressions à extraire, ainsi que des critères de cumul et de rupture.

A partir de l'ensemble des informations définies dans ce tableau, le requêteur détermine une requête sur des tables liées par des conditions de jointure déterminées par défaut. Ainsi, dans les cas simples, il n'est pas nécessaire de remplir les onglets suivants.

Onglet Avancé

Cet onglet, dont la saisie est optionnelle, permet de préciser :

  • des critères relatifs à la présentation des données (pagination, état utilisé...).
  • des critères de sélection complémentaires.
  • des conditions de jointure particulières.

Les conditions de jointure sont utiles dans les deux cas suivants :

  • si l'algorithme de jointure automatique n'aboutit pas. Ce cas est facile à diagnostiquer, car un message d'erreur explicite est affiché à la validation de la requête. Il suffit parfois de rajouer un lien vers une des tables dont les liens ne sont pas décrits dans le dictionnaire pour résoudre ce cas (les autres resteront déterminés automatiquement).
  • si l'algoritme de jointure lie les tables d'une façon non conforme à ce qui est attendu. En effet, dans des cas complexes, plusieurs liens peuvent exister entre des tables ; or l'algorithme s'arrête au premier lien trouvé. Pour vérifier que la jointure est conforme à ce que l'on attendait, on peut utiliser le bouton Infos / Liens, qui donne le détail des liens trouvés.

Onglet Accès

Cet onglet permet de définir les conditions d'accès à la requête et aux données extraites.

Onglet Graphique

Cet onglet ne peut être rempli que si une présentation graphique est possible pour la requête. On définit alors la façon dont les données sont présentées sur le graphique.

Boutons spécifiques

Valider

Ce bouton génère un traitement associé à la requête, ainsi que l'écran de consultation dédié. Cette validation est enchaînée à l'enregistrement d'une fiche, mais il est possible de la lancer indépendamment si une requête a par exemple été transférée par copie.