Elaboration d'un script
Plus vous prendrez de temps pour bien préparer la création de votre script, plus vous aurez de chance d'obtenir le résultat escompté. Au cours de l'élaboration, posez-vous les questions suivantes :
 •
Pouvez-vous diviser ce travail en plusieurs tâches ? Le cas échéant, vous devez définir des sous-scripts pour chacune de ces tâches, puis définir un script qui exécute ces sous-scripts. Il est généralement plus aisé d'écrire et de tester plusieurs petits sous-scripts qu'un seul script plus complexe. Ces sous-scripts peuvent être réutilisés ailleurs (utilisez l'Exécuter script action de script pour exécuter un sous-script à l'intérieur d'un script).
 •
Quelles actions de script doivent être exécutées et dans quelles conditions ? Toutes les actions de script doivent-elles être toujours exécutées ? Certaines doivent-elles être exécutées un certain nombre de fois jusqu'à une certaine condition ? Le script doit-il invoquer d'autres scripts et sous-scripts ? Vous pouvez contrôler la progression d'un script de diverses manières. Pour plus d'informations concernant la création de scripts avec des étapes conditionnelles, consultez la rubrique Actions de script Contrôle.
 •
Souhaitez-vous que le script s'exécute sur un modèle en particulier ? Etant donné que les scripts sont définis au niveau du fichier et qu'ils peuvent être invoqués depuis un modèle, vous devez vérifier que le script fonctionne dans le ou les modèles souhaités. Utilisez l'Activer modèle action de script pour modifier des modèles. Utilisez l'Si action de script et d'autres Actions de script Contrôle pour exécuter des actions de script en fonction des conditions définies (par exemple en fonction du nom d'un modèle).
 •
Toutes les données dont vous avez besoin figurent-elles dans un seul fichier de base de données ou le script devra-t-il faire appel à plusieurs fichiers ? Si vous utilisez plusieurs fichiers, lesquels doivent être ouverts par le script ? Dans quel fichier le ou les scripts doivent-ils être définis ? Dans la plupart des cas, un script doit être défini dans le fichier où se trouvent les données à traiter. Il vous faudra peut-être créer des scripts séparés pour chaque fichier dans les solutions de base de données avec plusieurs fichiers, selon la complexité de la tâche.
 •
Avec quel enregistrement le script doit-il démarrer ? Par exemple, lorsque vous utilisez l'Boucle action de script, vous devez décider si la boucle démarre au premier enregistrement, au dernier enregistrement, à un enregistrement précis ou à l'enregistrement actif du jeu d'enregistrements trouvés. (Utilisez l'Afficher enreg/requête/page action de script, l'Activer enregistrements liés action de script ou l'Activer rangée externe action de script pour indiquer un enregistrement de départ. Si vous n'incluez pas une action de script Navigation pour déterminer l'enregistrement actif, le point de départ de la boucle est l'enregistrement actif au moment de l'exécution du script.)
 •
Quelle fenêtre souhaitez-vous utiliser ? Un script est initialement associé à une fenêtre spécifique, qui peut se trouver à l'arrière-plan. Le script demeure sur cette fenêtre, tant que l'action du script active une autre fenêtre. Par exemple, utilisez l'Sélectionner fenêtre action de script pour indiquer une autre fenêtre. Si la fenêtre indiquée n'est pas disponible, le script active la fenêtre du fichier se situant au premier plan. Lorsque vous mettez un script en pause, la fenêtre associée passe au premier plan.
 •
Le script doit-il passer d'un mode à un autre ? Un script peut être lancé en mode Utilisation, Recherche, Modèle ou Prévisualisation. Assurez-vous que le mode activé au moment de l'exécution d'une action est correct. Par exemple, utilisez l'Mode Utilisation action de script pour modifier des données dans des rubriques et des enregistrements et utilisez l'Mode Recherche action de script pour définir ou exécuter une requête.
Remarque  Les scripts exécutés en mode Modèle basculent vers le mode Utilisation avant l'exécution.
 •
De quelles rubriques et de quels modèles le script a-t-il besoin ? Certaines actions ont besoin de la présence d'une rubrique sur le modèle actif (comme l'Activer rubrique action de script, l'Insérer texte action de script et l'Insérer résultat du calcul action de script), ce qui n'est pas le cas pour d'autres (par exemple l'Définir rubrique action de script et l'Remplacer contenu rubrique action de script). Utilisez l'Activer modèle action de script pour passer à un modèle où les rubriques requises sont présentes.
 •
Le script doit-il s'appliquer à tous les enregistrements de la base de données, au jeu d'enregistrements trouvés ou uniquement à certains enregistrements ? (Utilisez l'Exécuter la requête action de script, l'Afficher tous les enreg. action de script, l'Afficher enreg. ignorés uniq. action de script, l'Ignorer enregistrement action de script, l'Ignorer plusieurs enreg. action de script et l'Modifier la recherche action de script pour inclure uniquement les enregistrements du jeu d'enregistrements trouvés sur lesquels vous souhaitez travailler.)
 •
Les enregistrements doivent-ils être traités dans un ordre précis ? Choisissez entre l'ordre de tri actif, un ordre de tri précis ou aucun tri (ordre de création des enregistrements). Utilisez l'Annuler tri des enreg. action de script ou l'Trier enregistrements action de script afin de saisir une boucle pour trier correctement vos enregistrements avant de les traiter.
 •
 •
Quand le script doit-il s'achever ? Après le traitement de tous les enregistrements ? Une fois qu'une certaine condition est remplie ? (Utilisez l'Si action de script, l'Sinon si action de script et l'Fin de boucle si action de script pour exécuter une tâche lorsque le script rencontre une condition précise.)
 •
Comment allez-vous tester votre script ? Utilisez l'Suspendre/reprendre script action de script pour faire une pause à des endroits prédéfinis de votre script. Afin de préserver les données originales, enregistrez un clone de votre base de données dans lequel vous définissez et testez votre script. Une fois le test effectué, importez les données du fichier initial dans le clone.
 •
Comment les situations d'erreur sont-elles gérées (aucun enregistrement trouvé, par exemple) ? Vous pouvez capturer la dernière condition d'erreur rapportée par FileMaker Pro en utilisant la Obtenir ( DernièreErreur ) fonction. Utilisez cette fonction ainsi que l'Si action de script, l'Sinon si action de script et l'Sinon action de script pour créer des scripts réagissant aux erreurs de l'utilisateur ou aux résultats inattendus. Pour un contrôle plus avancé, utilisez l'Gestion erreurs action de script pour supprimer les alertes d'erreur habituellement affichées par FileMaker Pro dans ces situations et les remplacer par des alertes personnalisées à l'aide de l'Ouvrir boîte dial. person. action de script.
 •
Tous les utilisateurs doivent-ils avoir l'autorisation d'exécuter tous les scripts ? Utilisez les jeux de privilèges pour contrôler l'accès des utilisateurs aux scripts ? Avec les jeux de privilèges, vous pouvez autoriser les utilisateurs à exécuter ou modifier des scripts individuels, aucun script ou tous les scripts. Vous pouvez également définir les privilèges par défaut de chaque jeu concernant les futurs scripts définis dans le fichier. Si un script est défini pour s'exécuter avec un accès intégral, il peut effectuer des étapes pour l'utilisateur alors que ces étapes ne sont normalement pas autorisées par les privilèges attribués. Pour plus d'informations, reportez-vous à la rubrique Création et gestion des jeux de privilèges.
 •
Comment les utilisateurs exécutent-ils le script ? Vous pouvez créer un bouton à partir duquel le script sera lancé ou faire en sorte que le script soit répertorié dans le menu Scripts. Il est également possible d'exécuter les scripts à partir de la boîte de dialogue Gérer les scripts ou encore au moment de l'ouverture ou de la fermeture d'une base de données. Pour plus d'informations sur l'exécution de scripts lors de l'ouverture ou de la fermeture de fichiers, consultez la rubrique Définition des options de fichier.
Une fois que vous avez étudié toutes ces questions, vous pouvez gérer des scripts dans votre base de données. Consultez la rubrique Création et modification de scripts.