Fonction Lookup

Récupère la valeur d'un champ dans une table en filtrant sur une colonne de cette table.

Syntaxe

Lookup(<Nom table>, <Champ de recherche>, <Champ à récupérer> [, <Valeur par défaut>])

Paramètres

Nom table

Nom de la table dans laquelle effectuer la recherche.

Champ de recherche

Nom du champ de la table dans lequel effectuer la recherche.

Champ à récupérer

Nom du champ de la table depuis lequel récupérer la valeur. Il peut s'agir d'un champ calculé (FlowField).

Valeur par défaut

Cet argument est optionnel. Si vous l'indiquez et qu'aucun enregistrement n'est trouvé dans la table pour la valeur recherchée, alors la valeur par défaut est renvoyée.

Exemples

A supposer que votre formule repose sur une ligne de type article dans la table Ligne vente, alors les deux expressions ci-dessous sont équivalentes.

{Item."Tariff No." ["No." = field("No.")]}
{"No." | Lookup(Item, "No.", "Tariff No.")}

La seconde récupère le champ No. de la ligne de vente et utilise Lookup comme fonction de formattage. Lookup recherche dans le champ No. (2è argument) de la table Item (1er argument) la même valeur que dans le champ No. de la ligne vente. Une fois trouvé, c'est la valeur de Tariff No. dans la table Item qui est retournée.

Vous utiliserez plutôt Lookup lorsque vous avez déjà fait une recherche par la première syntaxe pour continuer à rechercher sur la table suivante. Par exemple, pour récupérer la description de la nomenclature produit, vous pouvez faire :

{Item."Tariff No." | Lookup("Tariff Number", Code, Description) ["No." = field("No.")]}