Problème étrange avec trouver regex

4D : v17R4

Salut à tous,

J’ai un truc bizarre avec Trouver Regex utilisé dans un CHERCHER PAR FORMULE.

Sur ma base de dev, si je fais un
<code 4D>
CHERCHER PAR FORMULE([Tireurs];Trouver regex(".[éèàâîïôö].";[Tireurs]Prenom))
</code 4D>
Je trouve environ 100000 enregistrements, c’est normal.

Sur la même version de la structure, sur mon serveur de prod, ça me renvoie 0 enregistrements trouvés.
Les données y sont sensiblement les mêmes (mes données de dev sont un clone des données de prod d’il y a 10 jours, et j’ai testé un des enregistrements trouvés dans mes datas, il est bien là dans les datas de prod avec l’accent).

J’ai essayé de lancer ma base de dev en compilé, en interprété, en utilisant le 4DC même, et rien, ça marche toujours chez moi et pas sur le serveur…

Une idée de vers où je pourrais chercher ?

Bon, j’ai trouvé, je me suis encore fait avoir par l’absurdité d’avoir l’option
“Utiliser langage français et paramètres régionaux système” au niveau de l’application et pas de la base…

Petite précision quand-même… Le CHERCHER PAR FORMULE n’était pas dans le code, mais je lançais un Chercher par Formule via le formulaire de recherche standard de 4d.

Salut Jayce,

Oui, il faut utiliser https://doc.4d.com/4Dv17/4D/17.2/Utiliser-des-tokens-dans-les-formules.300-4387471.fr.htmldes tokens> dans toutes les formules qu’on maitrise.
Ça protège contre la langue de 4D et contre un éventuel renommage de la commande.

Dans le code, oui, mais là en l’occurence, c’est avec le dialogue de recherche de 4D, et je vais pas donner un token à l’utilisateur pour qui Trouver regex c’est déjà à peine parlant… :slight_smile: