ExecuterSQL
 
Objet 
Exécute une instruction de requête SQL pour l’occurrence de table spécifiée dans un fichier FileMaker Pro.
Format 
ExecuterSQL ( RequêteSQL ; séparateurRubrique ; séparateurLigne { ; arguments... } )
Paramètres 
requêteSQL : instruction SQL SELECT. L'instruction peut inclure une clause Union associant les résultats de deux requêtes. L'instruction peut contenir des éléments SQL générés par programmation (paramètres dynamiques) indiquant où les arguments facultatifs doivent être utilisés dans la requête. Utilisez lepoint d'interrogation (?) pour indiquer un paramètre dynamique.
séparateurRubrique : chaîne de caractères utilisée en tant que séparateur entre les rubriques du résultat. Si une chaîne vide est indiquée, le séparateur est une virgule. Le séparateur de rubrique n'est pas affiché après la dernière rubrique du résultat.
séparateurLigne : chaîne de caractères utilisée en tant que séparateur entre les enregistrements du résultat. Si une chaîne vide est indiquée, le séparateur est un retour chariot. Le séparateur de ligne n'est pas affiché après la dernière ligne du résultat.
arguments : une ou plusieurs expressions évaluées et utilisées en tant que valeurs pour les paramètres dynamiques de l'instruction de requête.
Résultat 
Texte
Provenance 
FileMaker Pro 12.0
Description 
ExecuterSQL vous permet d'exécuter des instructions SQL SELECT contenant des paramètres dynamiques afin d'interroger en toute sécurité des bases de données FileMaker Pro et d'éviter les vulnérabilités de sécurité par l'introduction d'attaques.
ExecuterSQL ne reconnaît pas les liens créés dans FileMaker Pro, ce qui vous offre la flexibilité de définir des liens dans les instructions SQL et de récupérer les données de n'importe quelle table, indépendamment du contexte du modèle.
ExecuterSQL ne peut pas être utilisé avec des instructions SQL qui modifient des données ou le schéma de la base de données (par exemple les commandes Insérer dans ou Supprimer table).
En cas d'erreur pendant l'analyse ou l'exécution, FileMaker Pro renvoie?.
Remarques
 •
 •
 •
 •
 •
Exemple 1 
Supposons qu'une base de données contient deux tables, Employés et Salaires, liées par la rubrique IDEmployés.
Liste affichant les employés et les salaires
Remarque  Les rubriques Employés::IDEmployés, Salaires::IDEmployés et Salaires::Salaire sont des rubriques Nombre.
Vous pouvez utiliser la fonction ExecuterSQL pour renvoyer une valeur de rubrique depuis un enregistrement spécifique sans modifier l’enregistrement actif, ni le jeu d’enregistrements trouvés.
ExecuterSQL ( "SELECT Service FROM Employés WHERE IDEmployés = 1" ) renvoie Développement, quels que soient l’enregistrement actif, le jeu d’enregistrements trouvés ou le modèle.
Exemple 2 
Supposez que vous souhaitiez ajouter une rubrique à la table Employés pour afficher le pourcentage du salaire d’un employé par rapport au total des salaires d’un service. Même si vous pourriez utiliser un calcul dans FileMaker Pro pour générer cette valeur, vous pouvez utiliser la fonction ExecuterSQL pour définir cette requête à l'aide de paramètres dynamiques.
Définissez une rubrique Calcul dans la table Employés, puis utiliser la fonction ExecuterSQL pour définir l'instruction de requête suivante :
Arrondi ( 100 * Salaires::Salaire / ExecuterSQL ( "select sum ( S.salaire ) from Employés E join Salaires S on E.IDEmployés = S.IDEmployés where E.Service = ?" ; "" ; "" ; Employés::Service ) ; 2 )
Dans chaque enregistrement d’employé, la rubrique Calcul affiche le pourcentage du salaire de l’employé par rapport au total des salaires du service de l’employé. Par exemple, l’enregistrement avec le Nom "Martin" renvoie 52,97 et l’enregistrement avec le Nom "Mehmet" renvoie 100.
Rubriques connexes 
Page de référence des fonctions (liste des catégories)
Page de référence des fonctions (liste alphabétique)
A propos des formules
A propos des fonctions
Définition de rubriques Texte
Utilisation des opérateurs dans les formules