Fonctions dans InfoPath

Les fonctions des modèles de formulaire Microsoft Office InfoPath permettent d'effectuer différentes tâches comme compter le nombre de champs ou calculer la somme d'une colonne dans un tableau extensible. Les fonctions sont utilisées dans les formules (formule : expression XPath qui se compose de valeurs, de champs ou groupes, de fonctions et d’opérateurs. Les formules peuvent être utilisées pour calculer des valeurs mathématiques, afficher la date et l’heure, faire référence à des champs.) que vous entrez dans la boîte de dialogue Insérer une formule pour les contrôles ou les champs de votre modèle de formulaire.

Dans cet article


Présentation des fonctions

Une fonction InfoPath est une expression qui renvoie une valeur basée sur les résultats d'un calcul. Les fonctions sont utilisées dans les formules que vous entrez dans la boîte de dialogue Insérer une formule. Elles sont composées des trois éléments suivants :

Nom    Nom de la fonction. Généralement, le nom donne une indication sur l'action réalisée par la fonction.

Valeur renvoyée    Résultat de la fonction.

Arguments    Valeurs requises par la fonction pour effectuer le calcul.

Une fonction peut nécessiter ou non des arguments pour renvoyer une valeur. Si elle nécessite des arguments, vous devez savoir combien d'arguments sont nécessaires et connaître le type de données de chaque argument. La fonction ne pourra pas être exécutée si vous ne fournissez pas le bon nombre ou les bons types d'arguments.

Dans une fonction, un argument est une expression XPath constituée d'une combinaison de valeurs, de fonctions et d'opérateurs permettant de calculer une valeur unique. Le schéma suivant décrit les relations entre les fonctions, les expressions et les formules.

Schéma illustrant les relations entre les formules et les expressions

Haut de la page Haut de la page

Fonctions de date et heure

Fonction Description Syntaxe
addDays

Renvoie une date obtenue par l'ajout du deuxième argument au premier argument. Le type de données de la valeur renvoyée dépend du type de données du premier argument.

  • Le type de données Date (date) renvoie un type de données Date (date).
  • Le type de données Date et heure (dateTime) renvoie un type de données Date et heure (dateTime).

addDays(argument1, argument2)

argument1    Le deuxième argument sera ajouté à cette date. Les données de cet argument peuvent être de type Date (date) ou Date et heure (dateTime).

argument2     Nombre de jours que vous voulez ajouter au premier argument. Les données de ce paramètre doivent être de type Nombre entier (integer).

addSeconds

Renvoie une heure obtenue par l'ajout du deuxième argument au premier argument. Le type de données de la valeur renvoyée dépend du type de données du premier argument.

  • Le type de données Heure (time) renvoie un type de données Heure (time).
  • Le type de données Date (date) ou Date et heure (dateTime) renvoie un type de données Date et heure (dateTime).

addSeconds(argument1, argument2)

argument1     Le deuxième argument sera ajouté à cette heure. Les données de cet argument peuvent être de type Heure (time), Date (date) ou Date et heure (dateTime).

argument2     Nombre de secondes que vous voulez ajouter au premier argument. Les données figurant dans le champ de ce paramètre doivent être de type Nombre entier (integer).

maintenant Renvoie la date et l'heure dans des données de type Date et heure (dateTime) à la première ouverture du formulaire.

maintenant()

Cette fonction n'utilise pas d'arguments.

auj Renvoie la date dans des données de type Date (date) à la première ouverture du formulaire.

auj()

Cette fonction n'utilise pas d'arguments.

Haut de la page Haut de la page

Fonctions de champ

Fonction Description Syntaxe
nombre Renvoie le nombre d'instances du champ ou du groupe dans un formulaire.

nombre(argument)

argument     Nom du champ ou du groupe à compter dans le formulaire.

current

Renvoie le champ ou groupe actif dans un groupe. Cette fonction permet de faire référence à une ligne active d'un tableau ou d'une section extensible d'une expression plus grande.

 Remarque   Cette fonction n'est pas disponible dans la boîte de dialogue Insérer une fonction. Pour utiliser cette fonction, tapez la fonction en tant qu'expression XPath dans la zone Formule de la boîte de dialogue Insérer une formule.

current()

Cette fonction n'utilise pas d'arguments.

id

Renvoie l'expression XPath pour les champs ou groupes ayant l'ID spécifié.

Lorsqu'un utilisateur remplit un formulaire basé sur un modèle de formulaire navigateur, une formule qui utilise cette fonction envoie les données du formulaire au serveur pour obtenir une valeur de retour pour cette fonction.

 Remarque   Cette fonction n'est pas disponible dans la boîte de dialogue Insérer une fonction. Pour utiliser cette fonction, tapez la fonction en tant qu'expression XPath dans la zone Formule de la boîte de dialogue Insérer une formule.

id("argument")

argument     Valeur de l'attribut ID pour le champ ou le groupe. Cette valeur doit être mise entre guillemets doubles (" ").

dernier

Renvoie la valeur de la dernière occurrence du champ.

 Remarque   Si vous concevez un modèle de formulaire compatible avec les navigateurs, cette fonction n'apparaît pas dans la liste Fonctions de la boîte de dialogue Insérer une fonction.

nom du champ[dernier()]

Même si la fonction elle-même n'a pas les paramètres requis, vous pouvez l'utiliser comme prédicat pour un nom de champ spécifié.

nom-local

Renvoie le nom du champ sans l'espace de noms ou le dernier nom de l'expression XPath. Si le paramètre est un ensemble de champs ou de groupes, la fonction renvoie la valeur du premier champ ou groupe.

Lorsqu'un utilisateur remplit un formulaire basé sur un modèle de formulaire navigateur, une formule qui utilise cette fonction envoie les données du formulaire au serveur pour obtenir une valeur de retour pour cette fonction.

nom-loca(argument)

argument     Nom du champ dont vous souhaitez obtenir l'attribut de nom local.

nom

Renvoie le nom étendu correspondant au nom de champ spécifié dans l'argument. Le nom étendu contient le préfixe d'espace de noms existant et le nom du champ ou du groupe spécifié. Si l'argument correspond à un ensemble de champs ou de groupes, la fonction renvoie le nom et le préfixe du premier champ ou groupe du formulaire.

Lorsqu'un utilisateur remplit un formulaire basé sur un modèle de formulaire navigateur, une formule qui utilise cette fonction envoie les données du formulaire au serveur pour obtenir une valeur de retour pour cette fonction.

nom(argument)

argument     Nom du champ dont vous souhaitez obtenir le préfixe d'espace de noms et le nom.

uri-espace-de-noms

Renvoie l'URI (Uniform Resource Identifier) (Uniform Resource Identifier (URI) : chaîne de caractères utilisée pour identifier une ressource sur Internet par son type et son emplacement.) d'espace de noms complet de l'argument. Si l'argument correspond à un ensemble de champs ou de groupes, la fonction renvoie l'espace de noms du premier champ ou groupe du formulaire.

Lorsqu'un utilisateur remplit un formulaire basé sur un modèle de formulaire navigateur, une formule qui utilise cette fonction envoie les données du formulaire au serveur pour obtenir une valeur de retour pour cette fonction.

uri-espace-de-noms(argument)

argument     Nom du champ dont vous souhaitez obtenir l'URI (Universal Resource Identifier) d'espace de noms.

position

Renvoie l'index (ou position) du champ ou groupe par rapport aux autres champs ou groupes présents dans le même groupe.

Cette fonction renvoie toujours 1 si elle est utilisée dans une formule associée à un calcul ou située dans une règle.

 Remarque   Si vous concevez un modèle de formulaire compatible avec les navigateurs, cette fonction n'apparaît pas dans la liste Fonctions de la boîte de dialogue Insérer une fonction.

position()

Cette fonction n'utilise pas d'arguments.

Haut de la page Haut de la page

Fonctions mathématiques

 Remarque   Les formules qui contiennent des fonctions mathématiques nécessitent généralement des arguments constitués de nombres entiers ou décimaux. Pour garantir que les arguments seront toujours des nombres entiers ou décimaux et non des valeurs Null, activez la case à cocher Considérer les valeurs vides comme égale à zéro sous la catégorie Avancé de la boîte de dialogue Options de formulaire (menu Outils).

Fonction Description Syntaxe
moy Renvoie la valeur moyenne des champs d'un groupe. Chaque champ doit être un type de données numérique inclus dans un groupe.

moy(argument)

argument     Noms des champs du groupe dont vous voulez obtenir la valeur moyenne.

booléen Renvoie la valeur vrai si l'argument est un nombre positif ou faux s'il est nul ou négatif.

booléen(argument)

argument     Expression que la fonction doit évaluer.

plafond Renvoie le plus petit nombre entier supérieur ou égal à la valeur de l'argument. Les nombres décimaux sont arrondis au nombre entier supérieur.

plafond(argument)

argument     Nom du champ contenant une valeur numérique.

éval Renvoie le résultat obtenu lorsqu'on applique au premier argument l'expression spécifiée dans le deuxième argument.

éval(argument1, argument2 )

argument1     Nom du champ ou groupe dont les valeurs seront évaluées par l'expression indiquée dans le deuxième argument.

argument2     Expression, entre guillemets doubles (" "), qui doit être appliquée au premier argument.

faux Renvoie la valeur booléenne faux. Cette fonction est à utiliser dans une série de règles exécutées lorsqu'une condition n'existe pas.

faux()

Cette fonction n'utilise pas d'arguments.

plancher Renvoie le plus petit nombre entier inférieur ou égal à la valeur de l'argument. Les nombres décimaux sont arrondis au nombre entier inférieur.

plancher(argument)

argument     Nom du champ contenant une valeur numérique.

max Renvoie la valeur la plus élevée d'un champ dans un groupe.

max(argument)

argument     Nom du groupe contenant les champs dont vous souhaitez trouver la valeur la plus élevée.

min Renvoie la valeur la plus basse d'un champ dans un groupe.

min(argument)

argument     Nom du groupe contenant les champs dont vous souhaitez trouver la valeur la plus basse.

non Renvoie la valeur vrai si l'expression donne une valeur inférieure ou égale à zéro, la valeur faux ou la valeur Null ; renvoie la valeur faux si l'expression donne une valeur supérieure ou égale à zéro, la valeur vrai ou la valeur non-Null.

non(argument)

argument     Expression que la fonction doit évaluer.

nombre Renvoie le résultat de la conversion en nombre de l'expression figurant dans l'argument.

nombre(argument)

argument     Expression que la fonction doit évaluer.

nz Renvoie zéro si la valeur de l'argument est vide ou renvoie la valeur de l'argument.

nz(argument)

argument     Nom du champ que la fonction doit évaluer.

arrondi Renvoie un nombre entier arrondi. Si le nombre décimal se situe exactement à mi-chemin entre deux entiers arrondis, la valeur renvoyée est le nombre entier supérieur le plus proche.

arrondi(argument)

argument     Expression que la fonction doit évaluer.

somme Renvoie la somme des valeurs des champs d'un groupe.

somme(argument)

argument     Noms des champs du groupe dont les valeurs seront ajoutées. Pour ajouter des champs dans deux groupes différents, utilisez l'opérateur d'union (|) pour séparer les arguments. Par exemple : somme( nom de champ 1 | nom de champ 2).

vrai Renvoie la valeur booléenne vrai. Cette fonction est à utiliser dans une série de règles exécutées lorsqu'une condition existe.

vrai()

Cette fonction n'utilise pas d'arguments.

Haut de la page Haut de la page

Fonctions de texte

Fonction Description Syntaxe
concat Renvoie le texte qui résulte de la combinaison des arguments.

concat(argument1, argument2, ...)

argument     Deux ou plusieurs expressions contenant du texte à combiner en un texte unique. Sépare les expressions par une virgule.

contient Renvoie la valeur vrai si le premier argument contient le texte spécifié dans le deuxième argument, ou la valeur faux dans le cas contraire.

contient(argument1, argument2)

argument1     Nom du champ contenant le texte à explorer.

argument2     Expression contenant le texte à rechercher dans le premier argument.

normaliser-espace

Renvoie le texte avec tous les espaces d'en-tête, de fin et vides extensibles supprimés.

Lorsqu'un utilisateur remplit un formulaire basé sur un modèle de formulaire navigateur, une formule qui utilise cette fonction envoie les données du formulaire au serveur pour obtenir une valeur de retour pour cette fonction.

 Remarque   Les champs dont les données sont de type Texte suppriment automatiquement les espaces d'en-tête, de fin et vides extensibles de la valeur.

normaliser-espace(argument)

argument     Texte contenant les espaces d'en-tête, de fin et vides extensibles que vous voulez supprimer. Le texte est inséré entre guillemets doubles (" ").

commence-par Renvoie la valeur vrai si le texte du premier argument commence par le texte du second argument ou la valeur faux dans le cas contraire.

commence-par(argument1, argument2)

argument1     Nom du champ contenant le texte à explorer.

argument2     Texte à rechercher au début du champ spécifié dans le premier argument. Cet argument peut être soit du texte placé entre guillemets doubles (" "), soit un nom de champ.

chaîne Renvoie l'argument sous forme de texte.

chaîne(argument)

argument     Nom du champ contenant la valeur à convertir en texte.

longueur-chaîne Renvoie le nombre de caractères figurant dans la valeur de l'argument.

longueur-chaîne(argument)

argument     Nom du champ contenant le texte dont vous souhaiter compter le nombre de caractère.

sous-chaîne Renvoie, en commençant à la position spécifiée dans le deuxième argument, le nombre de caractères spécifié dans le troisième argument.

sous-chaîne(argument1, argument2, argument3)

argument1     Expression contenant le texte que la fonction doit explorer. La fonction lance la recherche dans ce texte et renvoie, en commençant à la position spécifiée dans le deuxième argument, le nombre de caractères spécifié dans le troisième arguments ou tous les caractères jusqu'à la fin du texte si le nombre de caractères restants est inférieur au nombre de caractères spécifiés.

argument2     Position de départ du texte que vous souhaitez extraire du premier argument.

argument3    Nombre de caractères que vous souhaitez récupérer, à partir de la position spécifiée dans le deuxième argument.

sous-chaîne-après Renvoie le texte du premier argument qui apparaît après le texte spécifié dans le deuxième argument. Le texte du deuxième argument n'est pas inclus dans le texte renvoyé.

sous-chaîne-après(argument1, argument2)

argument1     Expression contenant le texte que la fonction doit explorer. La fonction lance la recherche dans le texte de cet argument et renvoie tous les caractères situés après le texte spécifié dans le deuxième argument.

argument2     Expression contenant du texte. La fonction recherche ce texte dans le texte du premier argument et renvoie tous les caractères situés après le texte recherché dans cet argument.

sous-chaîne-avant Renvoie tout le texte du premier argument qui apparaît avant le texte spécifié dans le deuxième argument. Le texte du deuxième argument n'est pas inclus dans le texte renvoyé.

sous-chaîne-avant(argument1, argument2)

argument1    Expression contenant le texte que la fonction doit explorer. La fonction lance la recherche dans le texte de cet argument et renvoie tous les caractères situés avant le texte spécifié dans le deuxième argument.

argument2    Expression contenant du texte. La fonction recherche ce texte dans le texte du premier argument et renvoie tous les caractères situés avant le texte recherché dans cet argument.

traduire Renvoie le texte obtenu après remplacement des caractères du deuxième argument par les caractères du troisième argument.

traduire(argument1, argument2, argument3)

argument1     Nom du champ contenant le texte dont les caractères seront remplacés.

argument2     Expression permettant de trouver le caractère qui sera remplacé par l'expression du troisième argument.

argument3     Expression permettant de trouver le caractère qui remplacera chaque instance du caractère spécifié dans le deuxième argument.

Haut de la page Haut de la page

Autres fonctions

Pour que cette fonction figure dans la liste Fonctions, cliquez sur Toutes dans la liste Catégories de la boîte de dialogue Insérer une fonction.

Fonction Description Syntaxe
userName

Renvoie l'alias de messagerie pour l'utilisateur remplissant le formulaire. L'alias de messagerie provient du service d'annuaire Active Directory.

 Remarque   Si l'utilisateur remplit un modèle de formulaire compatible avec les navigateurs, l'alias de messagerie provient de Windows SharePoint Services 3.0.

userName()

Cette fonction n'utilise pas d'arguments.

 
 
S'applique à :
InfoPath 2007