Bonjour Fabrice,
J’ai intégré la boucle que vous m’avez suggérée à mon script mais ça coince toujours. Voici le contexte dans lequel j’utilise ce script.
J’ai une table REV__RevuesPériodiques dans laquelle je stocke des revues et des périodiques : 1 revue = 1 fiche (ou enregistrement). Chaque revue renferme bien sûr plusieurs articles, et donc plusieurs auteurs. Sur la fiche de la revue, j’ai donc une TE dans laquelle j’affiche le nom de chaque auteur et, en regard du nom de l’auteur (dans la rubrique TitreArticles), le ou les titres des articles dont il est l’auteur.
Si je souhaite voir le portrait global d’un auteur et de tous ses articles publiés dans toutes les revues, je lance le script qui trouve toutes les fiches dans lesquelles l’auteur figure. Dans une table Recherche globale, le script est censé créer un enregistrement pour chaque article trouvé. Par exemple, le philosophe Pierre Manent publie deux articles (disons Essai 1 et Essai 2) dans la revue Commentaire (juillet 2023) et un article (disons Nouvel essai) dans la Revue française de science politique (août 2023). La table REV__RevuesPériodiques aura donc deux fiches, la première affichant deux titres (Essai 1 et Essai 2) dans la rubrique TitreArticles, et la seconde, un titre (Nouvel essai).
Le script de recherche de l’auteur devrait alors créer dans la table Recherche globale trois enregistrements, soit un pour chaque article. Et c’est là que ça coince. Il ne crée que deux enregistrements, soit ceux relatifs à la première fiche. J’ai vérifié le script au moyen du débogueur de scripts et celui-ci ne signale aucune erreur. En suivant attentivement les étapes, je constate que la boucle principale du script, celle qui passe en revue les fiches, fonctionne normalement, le script passant d’une fiche à l’autre jusqu’à la dernière. C’est la seconde boucle, celle que vous m’avez proposée et que j’ai imbriquée à l’intérieur de la boucle principale, qui semble poser problème. Une fois la boucle principale rendue sur la deuxième fiche, la boucle imbriquée s’arrête. La condition « Fin de boucle si » semble se réaliser. Je ne comprends absolument pas pourquoi. C’est probablement une des actions de script qui suivent qui pose problème. J’inclus un lien qui vous permettra de consulter le script.
Script
Merci.