Recherche de code

Recherche par expression régulière, et le code d'un résultat au survol

La vue Recherche de code permet de passer en revue tous les scripts de votre base. Vous pouvez combiner les options suivantes :

BoutonOptionEffet
.*Recherche RegExpInterprète votre requête comme une expression régulière, avec toute la puissance des motifs (quantificateurs, classes, ancres…). Les options Recherche sensible à la casse et Recherche mot entier restent combinables.
AaRecherche sensible à la casseLorsqu'elle est cochée, la recherche distingue les majuscules des minuscules — « A » et « a » sont alors deux caractères différents.
\bRecherche mot entierLimite les résultats aux occurrences qui ne sont pas accolées à d'autres lettres ou chiffres. Les mots séparés par des espaces, de la ponctuation, etc. sont retenus.

Les trois boutons sont dans le champ de saisie, à droite, dans cet ordre ; quand le champ n'est pas vide, une croix les suit, qui l'efface.

La recherche se lance quand vous quittez le champ de saisie — d'un clic ailleurs, par la touche Tab ou, à partir de la version 3.2.0, par la touche Entrée —, ou quand vous choisissez une recherche dans l'historique. Depuis la même version, Échap quitte le champ en abandonnant ce que vous y avez tapé : la recherche en cours reste affichée. Le texte cherché et les trois options sont mémorisés par le navigateur, pour toutes les bases.

L'historique des recherches

Un clic dans le champ de saisie déroule vos 20 dernières recherches, la plus récente en tête ; la liste se filtre pendant la frappe. Une croix retire une recherche de l'historique.

Les résultats

Le compteur indique le nombre de résultats affichés et le nombre total trouvé. Les résultats s'affichent par tranches de 100 : en bas de liste, +100 affiche les 100 suivants (+N quand il en reste moins de 100), et Tout (N) les N restants.

Lire un résultat

Chaque résultat est une ligne présentée comme dans Champs & Formules : icône de type, pastille des dépendances, « Fx », puis le fil d'Ariane de l'élément, dont le passage en gras désigne le code où le texte a été trouvé.

  • Au survol du passage en gras, le code apparaît dans une bulle, le texte trouvé surligné.
  • Un clic sur le passage en gras ouvre l'éditeur de Ninox sur ce code, le texte trouvé surligné.
  • Le bouton rouge qui apparaît au survol, à droite de la ligne, en mode édition (« Edit mode »), sélectionne le champ sur son formulaire pour une ligne qui porte sur un champ, et ouvre l'éditeur du code pour les autres lignes.
  • Un clic sur la pastille des dépendances d'un champ ouvre ce champ dans l'onglet Champs & Formules.

Où la recherche porte

La recherche parcourt tout le code de la base :

  • le code global et le déclencheur « After Open » ;
  • les déclencheurs des tables ;
  • les formules et les déclencheurs des champs : boutons, déclencheurs après création ou modification, « Display only if », droits de lecture et d'écriture, formats d'affichage, choix dynamiques, contraintes ;
  • les colonnes des vues : leur formule et leur mise en forme conditionnelle ;
  • les rapports d'impression : textes contenant des formules entre accolades, blocs HTML, colonnes de révision, champs image avec formule, et source de données des rapports Carbone (seule la formule de la source est lue, pas le fichier Word).

Exemple d'expression régulière

Besoin d'une remise à niveau sur la syntaxe des expressions régulières ? Un tutoriel concis est disponible sur https://regexone.com.

L'expression régulière suivante repère tous les select dont la clause where filtre sur l'ID :

\bselect\b[^;]*(?<!\.)\bid\b

Elle vous aide à repérer rapidement les endroits où remplacer first(select myTable where ID = searchId) par l'alternative plus rapide : record(myTable, searchId).

Comment cela fonctionne, étape par étape :

Motif RegExpExplication
\bselect\bCorrespond au mot entier select (évite de retenir des mots comme « selected »).
[^;]*Correspond à zéro caractère ou plus, hormis ;, ce qui garantit qu'aucun point-virgule n'apparaît entre select et id.
(?<!\.)Une assertion arrière négative, qui vérifie qu'il n'y a pas de . immédiatement avant id.
\bid\bCorrespond au mot entier id (évite de retenir des sous-chaînes comme « userid » ou « ident »).