Se connecter avec Microsoft
S'identifier ou créer un compte.
Bonjour,
Sélectionnez un autre compte.
Vous avez plusieurs comptes
Choisissez le compte avec lequel vous voulez vous connecter.

Vous pouvez utiliser la fonction Eval pour évaluer une expression qui aboutit à une chaîne de texte ou à une valeur numérique.

Vous pouvez construire une chaîne, puis la passer à la fonction Eval comme si la chaîne était une expression réelle. La fonction Eval évalue le expression de chaîne et retourne sa valeur. Par exemple, Eval("1 + 1") retourne 2.

Si vous passez à la fonction Eval une chaîne qui contient le nom d’une fonction, la fonction Eval retourne la valeur de retour de la fonction. Par exemple, Eval("Chr$(65)") retourne « A ».

Syntaxe

Eval ( stringexpr )

L’argument stringexpr est une expression qui prend la valeur d’une chaîne de texte alphanumérique. Par exemple, stringexpr peut être une fonction qui retourne une chaîne ou une valeur numérique. Il peut également s’agir d’une référence à un contrôle sur un formulaire. L’argument stringexpr doit prendre la valeur d’une chaîne ou d’une valeur numérique ; il ne peut pas être évalué à un objet Microsoft Access.

Remarque : Les exemples suivants illustrent l’utilisation de cette fonction dans un module Visual Basic pour Applications (VBA). Pour plus d’informations sur l’utilisation de VBA, sélectionnez Référence du développeur dans la liste déroulante en regard de Rechercher et entrez un ou plusieurs termes dans la zone de recherche.

Remarque : Si vous passez le nom d’une fonction à la fonction Eval , vous devez inclure des parenthèses après le nom de la fonction dans l’argument stringexpr . Par exemple :

' ShowNames is user-defined function.
Debug.Print Eval("ShowNames()")

Debug.Print Eval("StrComp(""Joe"",""joe"", 1)")

Debug.Print Eval("Date()")

Remarques

Vous pouvez utiliser la fonction Eval dans un contrôle calculé sur un formulaire ou un état, ou dans une macro ou un module. La fonction Eval retourne un Variant qui est une chaîne ou un type numérique.

L’argument stringexpr doit être une expression stockée dans une chaîne. Si vous passez à la fonction Eval une chaîne qui ne contient pas d’expression numérique ou de nom de fonction, mais uniquement une chaîne de texte simple, une erreur d’exécution se produit. Par exemple, Eval("Smith") génère une erreur.

Vous pouvez utiliser la fonction Eval pour déterminer la valeur stockée dans la propriété Value d’un contrôle. L’exemple suivant transmet une chaîne contenant une référence complète à un contrôle à la fonction Eval . Il affiche ensuite la valeur actuelle du contrôle dans une boîte de dialogue.

Dim ctl As Control
Dim strCtl As String
Set ctl = Forms!Employees!LastName
strCtl = "Forms!Employees!LastName"
MsgBox ("The current value of " & ctl.Name & _
" is " & Eval(strCtl))

Vous pouvez utiliser la fonction Eval pour accéder aux opérateurs d’expression qui ne sont pas habituellement disponibles dans un module Visual Basic pour Applications (VBA). Par exemple, vous ne pouvez pas utiliser les opérateurs SQL Between... Et ou Dans directement dans votre code, mais vous pouvez les utiliser dans une expression passée à la fonction Eval .

L’exemple suivant détermine si la valeur d’un contrôle ShipRegion dans un formulaire Commandes est l’une des abréviations d’état spécifiées. Si le champ contient l’une des abréviations, intState aura la valeur True (–1). Notez que vous utilisez des guillemets simples (') pour inclure une chaîne dans une autre chaîne.

Dim intState As Integer
intState = Eval("Forms!Orders!ShipRegion In " _
& "('AK', 'CA', 'ID', 'WA', 'MT', 'NM', 'OR')")

Exemples de requêtes

Expression

Résultats

SELECT Eval(« 15+3 ») AS Expr1 FROM ProductSales GROUP BY Eval(« 15+3 ») ;

Évalue la valeur de chaîne et calcule le résultat. Résultat : 18.

SELECT Eval(« Date()+month(date()) ») AS NewDate FROM ProductSales Group by Eval(« Date()+month(date()) ») ;

Évalue la valeur de chaîne, identifie les fonctions et les exécute. Résultat : date système actuelle + mois en cours, affiché dans la colonne « NewDate ».

Exemples VBA

L’exemple suivant suppose que vous disposez d’une série de 50 fonctions définies comme A1, A2, etc. Cet exemple utilise la fonction Eval pour appeler chaque fonction de la série.

Sub CallSeries()
Dim intI As Integer
For intI = 1 To 50
Eval("A" & intI & "()")
Next intI
End Sub

L’exemple suivant déclenche un événement Click comme si l’utilisateur avait cliqué sur un bouton d’un formulaire. Si la valeur de la propriété OnClick du bouton commence par un signe égal (=), ce qui signifie qu’il s’agit du nom d’une fonction, la fonction Eval appelle la fonction, ce qui équivaut à déclencher l’événement Click . Si la valeur ne commence pas par un signe égal, la valeur doit nommer une macro. La méthode RunMacro de l’objet DoCmd exécute la macro nommée.

Dim ctl As Control
Dim varTemp As Variant
Set ctl = Forms!Contacts!HelpButton
If (Left(ctl.OnClick, 1) = "=") Then
varTemp = Eval(Mid(ctl.OnClick,2))
Else
DoCmd.RunMacro ctl.OnClick
End If

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?
En cliquant sur Envoyer, vos commentaires seront utilisés pour améliorer les produits et services de Microsoft. Votre administrateur informatique sera en mesure de collecter ces données. Déclaration de confidentialité.

Nous vous remercions de vos commentaires.

×