Logo de leçons

Introduction aux Expressions

 

Vue d'ensemble des expressions

 

Introduction

Une expression est une combinaison des zones d'information, des opérateurs, des valeurs, et/ou des procédures destinées à produire une nouvelle valeur. Il y a plusieurs types d'expressions que vous emploierez dans vos applications. En créant une expression, vous demanderez au moteur de la base des données de fournir les données d'un champ spécifique suivant vos recommandations. Les données que vous indiquez ne sont pas nécessairement fournies par un champ d'une table. En plus de cela, vous pouvez créer un champ qui est une combinaison des champs d'une table, d'un formulaire, d'une requête, ou d'un état.

Les données d'une expression peuvent également être le résultat d'une combinaison des champs ou des valeurs externes dépendant de n'importe quelle table, formulaire, requête, ou état.

Il y a deux choses principales que vous allez utiliser pour créer vos expressions : les opérateurs et les fonctions. Comme nous avons vu dans le passé, un opérateur est un symbole (ou un caractère) qui est appliqué à un ou plusieurs articles pour produire une nouvelle valeur. Comme nous l'apprendrons plus tard, une fonction est une tâche qui accomplit un travail spécifique et isolé et alors renvoie un résultat.

Expressions algébriques

Pour créer une expression, vous pouvez utiliser n'importe quelle combinaison des opérateurs que nous avons utilisés jusqu'ici. Une fois que l'expression est prête, vous pouvez l'assigner à un champ dans un formulaire ou un état. Pour ce faire, dans Mode création, vous pouvez accéder à Source contrôle  d'un champ dans sa fenêtre de propriétés et dactylographier l'opérateur des tâches " = ", suivi de l'expression. Par exemple, imaginez que vous voulez créer une expression comme 126.55 + 42.808. Pour afficher le résultat de cette expression dans la boîte de texte d'un formulaire, dans Source contrôle de la boîte de texte, vous pouvez dactylographier = 126.55+42.808 et valider Entrer.

Introduction aux Expressions

En effectuant l'affichage d'un formulaire en Mode formulaire, le champ qui contient l'expression affichera le résultat (il peut fournir avec succès le résultat obtenu). Plus tard, nous verrons d'autres techniques de création des expressions.

Nous savons que les données fournies à un formulaire sont contrôlées par la propriété Source de données. Par conséquent, en créant une expression pour le champ d'un formulaire, vous devez fournir cette expression au champ de la Source de données sur la fenêtre des propriétés. Probablement l'expression la plus simple que vous pouvez créer consiste à transférer une valeur d'un champ existant vers un autre champ. Imaginez que vous voulez avoir un champ d'un formulaire et ce champ est appelé MailingAddress. Si vous voulez que la valeur du champ MailingAddress soit transférée ou assignée à un champ appelé ShippingAddress, dans Source contrôle du champ ShippingAddress, vous dactylographierez =MailingAddress. Vous pouvez également inclure le nom d'un champ entre crochets comme nous avons vu en étudiant l'opérateur. Au lieu de MailingAddress, il deviendra [MailingAddress]. Si vous assigniez le champ à un autre, vous écririez l'énoncé ainsi : = [MailingAddress].

Supposons que vous avez un champ appelé HourlySalary et un autre champ appelé WeeklyHours. Si vous voulez calculer le salaire hebdomadaire d'un employé, vous multiplierez HourlySalary par WeeklyHours et assignerez le résultat à un autre champ. Dans la propriété Source contrôle du champ résultant, vous introduiriez au clavier = [HourlySalary] * [WeeklyHours]

Étude pratique : Les expressions de base

  1. Ouvrez l'application GCS que vous avez créée.
  2. Ouvrez le formulaire OrderProcessing :
     
  3. Après avoir visionné le formulaire, le muter en Mode création.
  4. Cliquez le champ indépendant à gauche sous Total correspondant à Pants.
  5. Dans la fenêtre des propriétés, cliquez Source Contrôle tapez
    = QtyPants * PricePants.
     
  6. Appuyez Entrer. Notez que Microsoft Access ajoute les crochets dans l'expression qui devient = [QtyPants] * [PricePants]
  7. Mutez le formulaire en Mode formulaire pour le visionner et muter de nouveau en Mode création.
  8. Cliquez la boîte de texte du champ indépendant du côté droit de l'étiquette Order Total. Dans Source contrôle de la fenêtre des propriétés dactylographiez ce qui suit :
     
    =[txtPants]+[txtMenSuit2]+[txtMenSuit3]+[txtSweater]+
    [txtRegularShirt]+ [txtSilkShirt]+[txtTie]+[txtOther1]+[txtWomenSuit]+
    [txtDresses]+ [txtRegularSkirt]+ [txtSkirtHook]+[txtCoat]+[txtJacket]+
    [txtSwede]+[txtOther2]
  9. Cliquez la boîte de texte du champ indépendant du côté gauche de l'étiquette Change.
  10. Dans la fenêtre des propriétés, cliquez Source contrôle et dactylographiez.
     
    = [txtAmountTended] - [txtTotalOrder]
     
    Validez Entrer.
  11. Visionnez le formulaire:
     
  12. Sauvegardez et fermer le formulaire. Cliquez la boîte de texte Customer (la boîte de texte du côté droit de l'étiquette Customer)

VBA et expressions

 

Introduction

Comme nous le verrons dans les prochains chapitres, plusieurs fonctions disponibles dans Microsoft Access lui valent une grande sollicitation pour la création des bonnes bases de données fonctionnelles. Cependant, Microsoft Access n'est pas un environnement de programmation mais une bonne plateforme pour créer visuellement des bases de données. Comme votre expérience se développe, vous ferez face à des demandes de plus en plus difficiles à réaliser. Pour cette raison, Microsoft Access fonctionne avec un langage de programmation appelé Visual Basic Application ou VBA. Bien que dans ce document nous n'explorerons pas la programmation par ordinateur, nous ferons néanmoins un aperçu de ce à quoi certaines lignes de programmation ressemblent.

Code Automatiquement Généré

Rappelez-vous que quand nous avons créé les sous formulaires, nous avons choisi seulement quelques champs à partir du point Source de données. Ceci a été fait à dessein, ainsi l'utilisateur peut avoir les informations les plus maniables au sujet des données auxquelles le formulaire courant est lié. Pendant que l'utilisateur exécute la saisie des données, il peut vouloir plus de détails sur les données qui sont présentées. Vous pouvez réaliser ceci en appelant le formulaire de départ. Pour mettre en application cette fonctionnalité, vous pouvez créer un bouton de commandes et laissez Microsoft Access écrire le code qui vous portera directement uniquement à l'enregistrement y relatif .

Étude pratique : Générer le code VBA

  1. Ouvrez la base des données Rockville Techno1 et, dans la fenêtre de la base de données, cliquez Formulaires.
  2. Double-cliquez le formulaire Clients pour l'ouvrir.
  3. Après avoir visionné le formulaire, le muter en Mode création.
  4. Dans la boîte à outils, s'assurer que le bouton Assistants de contrôle est cliqué Control Wizard
    Pour produire le code qui ferme le formulaire, dans la boîte à outils, cliquer Bouton de commande Command Button et cliquez un secteur vide dans la section Pied de formulaire à droite du bouton Preview Invoice.
  5. À la première page l'assistant bouton de commande, dans la liste Catégories, cliquez le Opérations sur formulaire. Dans la liste Actions, cliquez Fermer un formulaire et cliquer suivant.
  6. Dans la boîte de texte, supprimez le mot formulaire pour avoir seulement le mot Fermer et cliquez suivant.
  7. Changez le nom en cmdClose et cliquer Terminer.
  8. Redimentionnez et replacez les boutons comme suit :
     
  9. Pour voir le code que Microsoft Access a produit, droit-cliquez le bouton Fermer que vous avez juste ajouté et cliquez Créer code événement…
     
  10. Fermez la fenêtre Visual Basic pour retourner dans Microsoft Access.
  11. Muter le formulaire en Mode formulaire. Pour le fermer, cliquez le bouton Fermer que vous avez créé.
  12. Une fois demandé si vous voulez le sauvegarder, cliquer oui.

Procédures et Fonctions

 

Introduction aux Procédures et aux Fonctions

Une procédure est une tâche qui doit être accomplie à côté d'une table, d'un formulaire, ou d'un état pour le compléter. Elle est comme une opération ou une expression avec une première différence que c'est quelqu'un d'autre qui l'a créée et vous, vous pouvez juste l'utiliser. Les plateaux de Microsoft Access ont plusieurs procédures pour exécuter des tâches différentes. Il y a un bon nombre d'entre elles que nous passerons en revue, mais seulement celles qui sont le plus régulièrement utilisées.

Si vous devez créer une procédure, une des syntaxes que vous utiliserez est :

ProcedureName()

End

Cette syntaxe est très simple, mais elle indique que l'information minimale dont une procédure a besoin est un nom. Le nom vous permet de vous référer à cette procédure dans d'autres parties de la base de données. En réalité, une procédure est censée accomplir une tâche. Cette tâche et définie ou décrite dans le corps de la procédure. Dans notre syntaxe simple, le corps de la procédure commencera juste sous son nom et s'arrêtera au-dessus du mot End. La personne qui crée une procédure décide également de ce que la procédure peut faire. Après notre syntaxe simple, si nous voulons une procédure qui peut ouvrir l'Application Solitaire, elle pourrait apparaître comme suit :

ProcedureExample()
Open Solitaire
End

Une fois qu'une procédure a été créée, elle peut être utilisée. En utilisant une procédure désignée, il faut l'appeler par son nom. Pour appeler une procédure simple comme l'exemple de procédure ci-dessus, vous dactylographierez juste son nom.

Le type de procédure auquel nous nous sommes référés jusqu'ici dans cette section s'appelle habituellement une procédure secondaire. La plupart des procédures que nous utiliserons dans Microsoft Access s'appellent les fonctions. Par opposition à une procédure secondaire, une fonction utilisera la syntaxe :

ReturnType FunctionName()

End

La différence principale, comme vous pouvez le voir ici est qu'une fonction produit un résultat. On dit encore qu'une fonction renvoie une valeur. Basé sur ceci, le résultat d'une fonction peut être donné pour plus d'utilisation et être assigné (passé) à un champ, à une procédure secondaire, ou à une fonction différente. Pour afficher le résultat d'une fonction dans un champ, vous pouvez accéder à sa propriété Sources contrôle et utiliser l'opérateur des tâches « = », dactylographiez le nom de la fonction, suivi des parenthèses.

La personne qui crée une fonction décide également de quel genre de valeur la fonction peut renvoyer. Par exemple, si vous créez une fonction qui exécute un calcul, la fonction peut renvoyer un nombre. Si vous créez une autre fonction qui combine un prénom et un nom, vous pouvez faire que la fonction retourne une chaîne de caractères qui représente un Nom et Prénom (Full name).

Puisque la plupart, sinon toutes les procédures intégrées que vous utiliserez dans Microsoft Access sont des fonctions, dorénavant, nous utiliserons seulement le mot « fonction » mais ceci se rapporte aux deux types de procédures.
 

Procédures, fonctions, et leurs arguments

Une fois qu'il lui est demandé d'exécuter sa tâche, une fonction peut avoir besoin d'une ou de plusieurs valeurs pour travailler. Cette valeur dont une fonction a besoin s'appelle un argument. Une fonction peut avoir besoin d'un argument pendant qu'une autre fonction aura besoin de beaucoup d'arguments. Le nombre et les types d'arguments d'une procédure dépendent de son but.

Les arguments d'une fonction sont fournis entre parenthèses. La syntaxe utilisée pour créer une telle fonction serait :

ReturnValue FunctionName(Argument)

End

De nouveau, le corps de la fonction sera utilisé pour définir ce qu'est cette fonction. Par exemple, si vous écrivez une fonction qui multiplie son argument par 12.58, elle apparaîtra  comme suit :

Decimal FunctionName(Argument)
Argument * 12.58
End

Pendant qu'une fonction peut utiliser seulement un argument, une autre fonction peut utiliser plus d'un, selon son but. Quand une fonction utilise plus d'un argument, une virgule les sépare. La syntaxe utilisée est :

ReturnValue FunctionName(Argument1, Argument2, Argument_n)

End

Si vous créez une fonction qui ajoute ses deux arguments, elle apparaîtra comme suit :

NaturalNumber AddTwoNumbers(Argument1, Argument2)
Argument1 + Argument2
End

Une fois qu'une fonction a été créée, elle peut être utilisée dans d'autres parties de la base de données. De nouveau, en utilisant une fonction désignée, il faut l'appeler par son nom. Si une fonction prend un ou plusieurs arguments, elle s'appelle différemment d''une fonction qui ne prend aucun argument. Nous avons déjà vu comment vous devez appeler une fonction qui ne prend aucun argument et on ne l'assigne pas à un champ en utilisant sa Source Contrôle. Voici un exemple :

Si une fonction prend un argument, en l'appelant, vous devez fournir une valeur pour l'argument, autrement la fonction ne fonctionnerait pas (quand vous affichez le formulaire ou l'état, Microsoft Access affichera une erreur). 

Pour appeler une fonction qui prend un argument, dactylographiez le nom de la fonction suivie de la parenthèse ouverte "(", suivie de la valeur (ou du nom du champ) qui sera l'argument, suivi d'une parenthèse fermée ")".  L'argument que vous passez peut être une valeur constante régulière, comme ça peut aussi être le nom d'un champ existant. La règle à respecter est que, lorsque Microsoft Access sera invité à accomplir la tâche pour la fonction, l'argument doit fournir, ou doit être prête à fournir une valeur valide. Comme fait avec la fonction sans arguments, en appelant ce type de fonction, vous pouvez l'assigner à un champ en utilisant l'opérateur des tâches dans sa propriété Sources Contrôle. Voici un exemple :

Si la fonction prend plus d'un argument, pour l'appeler, dactylographiez les valeurs pour les arguments dans l'ordre exacte indiqué et les séparer par une virgule. comme les autres fonctions, l'appel peut être à assigner à un champ dans Source contrôle. Voici un exemple :

Arguments par défaut

Nous avons mentionné que, en appelant une fonction qui prend un argument, vous devez assurer une valeur pour l'argument. Il y a une exception. Selon la façon dont la fonction a été créée, elle peut être configurée pour utiliser sa propre valeur si vous échouez, oubliez, ou ne choisissez pas de lui en fournir une. Ceci est connu comme argument par défaut. Toutes les fonctions ne suivent pas cette règle et vous saurez en établir la différence en parcourant la documentation sur les fonctions ou par l'expérience.

Si une fonction qui prend un argument a une valeur par défaut, alors vous ne devez pas assurer une valeur en appelant cette fonction. Un tel argument est considéré comme facultatif. Toutes les fois que vous serez dans le doute, vous devrez fournir votre propre valeur à l'argument. De cette manière, vous serez non seulement sur la bonne voie, mais également vous saurez avec certitude quelle valeur la fonction a dû traiter.

Si une fonction prend plus d'un argument, quelques arguments peuvent avoir des valeurs par défaut et certains autres pas. Les arguments qui ont des valeurs par défaut peuvent être utilisés et vous ne devrez plus leur assurer une valeur.

Le générateur d'expression

Il y a trois principales manières de créer des expressions. Si vous savez par expérience de quoi une expression est faite, vous pouvez juste l'écrire dans Source Contrôle du champ qui contiendra cette expression. Cette technique est plus rapide, mais elle est encline aux erreurs. Créer une expression est une technique qui consiste à donner une valeur « préparée » à un champ. Le champ qui contiendra une telle expression est appelé indépendant parce qu'il n'est directement lié à aucun champ d'une table. Puisque la nouvelle valeur qui constitue l'expression est en fait « assignée » au champ d'expression, vous devez utiliser l'opérateur des tâches qui est « = ». Par conséquent, le premier symbole que vous utiliserez dans une expression est =.

Lorsque vous aurez acquis plus d'expérience avec Microsoft Access, vous pourrez effectuer quelques opérations très rapidement avec peu ou pas d'aide. Néanmoins, pour vous aider à créer des expressions, Microsoft Access continue avec son nombre sans limite d'Assistant, de vous fournir une zone de dialogue spéciale dans ce but spécifique. C'est le rôle du générateur d'expression. Pour accéder à ce générateur, cliquer le champ Sources contrôle dans la fenêtre des propriétés qui indiquera son bouton points de suspension . Cliquez alors le bouton points de suspension . Ceci appellera la zone de dialogue du Générateur d'expression.

Une fois que le générateur d'expression est affiché, vous pouvez inclure un opérateur en cliquant son bouton correspondant. Vous pouvez également dactylographier le symbole de l'opérateur à l'aide de votre clavier. Pour sélectionner un champ qui existe déjà dans le formulaire ou l'état en cours, dans la liste de gauche, vous pouvez cliquer le premier article. Pour accéder à un champ qui existe dans un autre objet, vous pouvez double-cliquer d'abord une catégorie (Tables, Requêtes, Formulaires, ou Etats) dans la liste de gauche. Ceci affichera la liste des objets de cette catégorie. Alors vous pouvez cliquer l'objet lui-même. Pour inclure réellement un champ dans votre expression, vous pouvez la double-cliquer dans la liste du milieu.

Pour utiliser une des fonctions intégrées de Microsoft Access, dans la liste de gauche, vous pouvez double-cliquer le noeud Fonctions pour le dilater. Puis, cliquer Fonction intégrée. Les catégories des fonctions s'afficherons dans la liste du milieu. Les vraies fonctions apparaissent dans la liste de droite. Pour voir la syntaxe d'une fonction, vous pouvez simplement la cliquer une fois. Sa syntaxe apparaîtra dans la section inférieure de la zone de dialogue du générateur d'expression :

Sans être particulièrement explicite, la syntaxe de la fonction vous permet de savoir le nombre et l'ordre des arguments d'une fonction. Pour obtenir plus d'informations sur la fonction, vous pouvez vérifier sa documentation dans les fichiers d'aide.

Pour inclure réellement la fonction désirée dans votre expression, vous pouvez double-cliquer son nom dans la liste de droite. Si vous connaissez déjà le nom de la fonction, vous pouvez néanmoins manuellement le dactylographier dans la section désirée de l'expression.

En créant une expression, si vous cliquez le bouton d'un opérateur, <<expr>> s'affichera comme espace réservé (placeholder), indiquant qu'une valeur est prévue :

Si vous double-cliquez le nom d'une fonction dans la liste de droite, si la fonction prend un ou plusieurs arguments, un placeholder sera créé pour chaque argument :

Vous avez la responsabilité d'assurer une valeur appropriée pour chaque placeholder. Pour faire cela, vous avez deux solutions de rechange. Si vous connaissez la valeur qui devrait être utilisée dans un placeholder, vous pouvez juste la dactylographier. Parallèlement, vous pouvez utiliser les boutons des opérateurs ou la Fonction intégrée pour remplir le placeholder. Nous devrons préciser que toutes les fonctions ne sont pas disponibles dans la liste des fonctions du générateur d'expression mais, tant que vous savez qu'une fonction Visual Basic est soutenue et connaissant sa syntaxe, vous pouvez l'utiliser.

Introduction aux Fonctions Intégrées

 

Vue d'ensemble

Pour soulager votre travail d'exécution de la base de données, Microsoft Access opère avec beaucoup de fonctions. Ces fonctions ont été examinées et sont fortement fiables. Mais dans ce livre, nous utiliserons seulement les fonctions intégrées. Puisqu'il y a tellement de fonctions intégrées, elles sont classifiées en catégories et vous n'êtes pas supposé les utiliser toutes ou même la plupart d'entre elles.

Il sera présenté aux utilisateurs de votre base de données des champs qu'ils peuvent remplir en leur fournissant de nouvelles valeurs ou en changeant les valeurs existantes. Quelque chose que l'utilisateur dactylographie dans un champ est principalement considéré comme une chaîne de caractères. Avant d'exécuter n'importe quel type d'opération qui implique une valeur, vous devrez vous assurer que vous pouvez identifier quel genre de valeur c'est. Par exemple, vous ne devrez pas essayer de multiplier une chaîne de caractères de prénoms à une date, tel que FirstName * le 16 janvier. Bien que vous ne puissiez pas éviter même les simples petits problèmes qui pourraient se produire dans votre base de données, vous pouvez réduire les erreurs en vérifiant la valeur que contient un contrôle.

Références de saut de page

Dans la leçon précédente, nous avons mentionné qu'un formulaire pourrait être divisé en diverses sections séparées par un saut de page. Bien que de telles sections soient créées en Mode création d'un formulaire, Microsoft Access ne fournit pas en soi une manière de leur accéder. Vous avez deux solutions de rechange. Vous pouvez utiliser une macro ou un VBA. Pour une raison, nous n'utiliserons pas de macros dans ce cours. Par ailleurs, nous nous permettrons d'écrire une ligne de codes pour appliquer la fonctionnalité dont nous avons besoin.

Dans un formulaire, pour accéder à une section qui a été séparée avec un saut de page, vous pouvez appeler la fonction GoToPage () (en réalité, GoToPage () est une « méthode » de la « classe » DoCmd ). La méthode GoToPage () prend comme argument exigé le nombre qui correspond à la section à laquelle vous essayez d'accéder.

Fonctions de conversion

La première mesure que vous devrez prendre quand vous traitez la valeur recherchée d'un champ est de la convertir en un type approprié. Il y a plusieurs fonctions de conversion adaptées aux différents genres de valeurs possibles. La syntaxe générale des fonctions de conversion est :

ReturnType = FunctionName (expression)

L'expression peut être de toute sorte. Par exemple, ça pourrait être une chaîne ou une valeur que l'utilisateur aurait fait entrer dans un formulaire. Ça peut également être le résultat d'un calcul exécuté sur un champ ou une fonction différente. La fonction de conversion prendrait une telle valeur ou expression, pour la ficeler et tenter de la convertir. Si la conversion est réussie, la fonction renverrait une nouvelle valeur qui est du type indiqué par ReturnType de notre syntaxe.

Les fonctions de conversion sont comme suit :

Fonction  
Nom Type de retour Description
CBool Booléen Convertit une expression en valeur booléenne
CByte Byte Convertit une expression en nombre byte
CDate Date Convertit une expression en une valeur date ou heure
CDbl Double Convertit une expression en nombre (décimal)
CInt Nombre entier Convertit une expression en nombre (naturel) nombre entier
CCur Monétaire Convertit une expression en valeur (monétaire) 
CLng Long Convertit une expression en long nombre entier (un grand nombre naturel)
CSng Simple Convertit une expression en nombre (décimal)
CStr Chaîne Convertit une expression en chaîne de caractères
 

Étude pratique : Convertir les valeurs des données

  1. Ouvrez la base de données College Park Auto Shop2 et cliquez Formulaires dans la fenêtre de la base de données.
  2. Double-cliquez le sous formulaire sbfParts pour l'ouvrir.
  3. Après avoir visionné le sous formulaire, le muter en Mode création.
  4. Élargir le formulaire de sorte que l'extrémité droite arrive jusqu'à la marque 41/4  soit 10,625 cm sur la règle horizontale.
  5. Dans la boîte à outils, cliquez l'étiquette et cliquez du côté droit de l'étiquette Qty dans la section En-tête du formulaire. Dactylographier Total et appuyez Entrer.
  6. La mettre en Gras comme les autres étiquettes.
  7. Dans la boîte à outils, cliquez le contrôle boîte de texte et cliquez dans la section Détail.
  8. Supprimer son étiquette.
  9. En utilisant la fenêtre des propriétés, changez les propriétés suivantes pour la nouvelle boîte de texte indépendant :
    Nom : txtSubTotal
    Source controle : =CDbl ([UnitPrice]) * CInt ([quantité])
    Format : Monétaire
    Positions décimales : 2
    Haut : 0.02 soit 0,05cm
  10. Sauvegardez le sous formulaire et le fermer.
     

Fonctions logiques

 

Introduction

Dans le sens strict, parce que Microsoft Access n'est pas un environnement de programmation traditionnel, il ne fournit pas un dispositif appelé ordre conditionnel ou contrôle, qui est utilisé pour vérifier une condition. Au lieu de cela, il fournit des fonctions que vous pouvez utiliser pour vérifier qu'une condition est vraie ou fausse. Il y a plusieurs fonctions qui peuvent être utilisées pour créer une expression aussi complexe qu'un algorithme sera requis. Il est important de noter que, bien que la plupart de ces fonctions effectuent la vérification conditionnelle, elles ne renvoient pas le même type de valeur. Pour cette raison, vous devrez choisir la bonne fonction. La plupart de ces fonctions seront également utilisées en combinaison avec d'autres fonctions selon les besoins.

If immédiat

La fonction la plus régulièrement utilisée pour exécuter des énoncés conditionnels s'appelle IIf. La fonction IIf () a besoin de trois informations pour accomplir sa tâche. La syntaxe utilisée est :

IIf(Condition, WhatToDoIfConditionIsTrue, WhatToDoIfConditionIsFalse)

La première action que cette fonction exécute est d'évaluer une condition. Cette condition peut comporter une opération ou le résultat d'une opération. Si la condition est vraie, alors la fonction exécuterait la première expression, qui est identifiée dans notre syntaxe par WhatToDoIfConditionIsTrue.

La condition peut mener seulement à un des deux résultats. Par exemple, la condition pourrait se vérifier q'un employé est marié ou pas. Si le champ est une boîte bascule, il pourrait avoir des valeurs seulement de oui et de non. Dans ce cas, l'utilisateur choisirait seulement l'un ou l'autre, oui ou non. Une condition peut également avoir comme conséquence plus de deux valeurs. Par exemple, supposez que la boîte bascule contienne les catégories de livres d'une base de données. Cette boîte bascule peut afficher des valeurs telles que Histoire, Divertissement, Biographie, Ordinateur, Géographie, et Intelligence artificielle. Lorsqu'un champ peut contenir ces diverses valeurs, la condition IIf peut les indiquer car le premier article de votre fonction IIf () sera vérifié. S'il produit un résultat vrai, l'énoncé WhatToDoIfConditionIsTrue sera exécuté. Si la condition est fausse, l'énoncé WhatToDoIfConditionIsFalse sera exécuté. Il est important de fixer ceci dans l'esprit : les contrôles de la fonction IIf () ont seulement une condition. Si vous voulez vérifier plus d'une condition, vous devrez écrire une expression plus raffinée.

Imaginer que vous avez  une liste d'étudiants et vous devez prendre une certaine mesure sur un étudiant garçon ou une fille. Vous pouvez poser une condition qui vérifierait si le champ qui  contient le genre de l'étudiant: masculin ou féminin. La fonction IIf () utilisée ici pourrait être =IIf (Genre = « masculin », que faire si masculin, que faire si pas masculin). Imaginez qu'une boîte bascule contienne les valeurs M et F. Si vous avez une boîte de texte appelée txtGender qui afficherait une chaîne de caractères du genre selon la valeur choisie dans une boîte bascule appelée cboGender, dans Source contrôle de la boîte de texte, vous pouvez écrire la fonction IIf() comme suit :

=IIf([cboGender]="M","Boy","Girl")

Étude pratique : Utiliser IIf

  1. Ouvrez la base de données Bethesda Car Rental1.
  2. Ouvrez le formulaire Customers1 en Mode création.
  3. Cliquez l'étiquette middle.
  4. Dans la boîte à outils, cliquer la boîte de textes 
  5. Cliquez dans la boîte de texte DriversLicNbr.
     
  6. Changer la légende de l'étiquette en Full Name :
  7. Cliquez la nouvelle boîte de texte pour la sélectionner.
  8. Dans la fenêtre des propriétés, changez le nom en txtFullName et appuyez Entrer. 
  9. Dans Source contrôle tapez (sur une ligne).
     
    =IIf([MI]="",[FirstName] & " " & [LastName],[FirstName]
     & " " & [MI] & " " & [LastName])
  10. Muter en Mode formulaire. Cliquez l'étiquette Driver's License et déplacez vous à travers quelques enregistrements, ceux dont le client a une initiale MI et ceux qui n'ont pas une initiale moyenne.
  11. Sauvegardez et fermez le formulaire.

 Champ vide

Les fonctions de conversion que nous avons passées en revue sont plus efficaces si elles sont fournies par une valeur convertie. Dans certaines de vos expressions, vous fournirez une zone d'information comme argument à l'utilisation d'une fonction. Même si vous décidez de convertir un champ en valeur appropriée, vous pouvez avoir besoin du premier contrôle si le champ est vide. Ceci peut être pris en compte par la fonction IsEmpty(). Sa syntaxe est :

IsEmpty(Value)

Cete fonction vérifie son argument qui pourrait être un champ ou une expression. Si c'est un champ et le champ est vide, cette fonction renvoie vrai. Si le champ n'est pas vide, la fonction IsEmpty () renvoie faux.

Étude pratique : Vérification le champ vide

  1. La base de données Bethesda Car Rental1 devrait encore être ouverte.
    Rouvrez le formulaire Customers1 en Mode création et cliquez l'étiquette Driving Information.
  2. Dans le formulaire, cliquez la boîte de texte txtFullName et, dans la fenêtre des propriétés, changez la valeur Source contrôle en (en une ligne)
     
    =IIf(IsEmpty([MI]),[FirstName] & " " & [LastName],[FirstName]
     & " " & [MI] & " " & [LastName])
  3. Mutez le formulaire en Mode formulaire et vérifier les valeurs des différents enregistrements dans l'étiquette Driving Information.
  4. Sauvegardez et fermez le formulaire.

Vérification de la nullité

Un autre problème que vous pouvez rencontrer quand vous impliquez un champ dans une opération est de savoir si le champ n'a jamais contenu une valeur. Cette opération est parfois confondue avec celle qui consiste à vérifier si un champ est vide. Voici la différence (il est important de comprendre cette différence parce que cette opération est utilisée dans beaucoup d'autres environnements, y compris dans Microsoft Visual Basic et Microsoft SQL Server) :

  • Imaginez qu'un champ est utilisé pour les prénoms et le champ affiche Paul. Si l'utilisateur vient dans cet enregistrement, le champ n'est pas vide, il contient déjà un prénom, qui dans ce cas est Paul. Si l'utilisateur clique dans le champ et supprime Paul, le champ devient vide. Il n'est pas nul.
  • Imaginez en outre qu'un champ est utilisé pour les prénoms. Si l'utilisateur vient à  nouveau dans cet enregistrement, le champ pour les prénoms peut être vide (si vous ne lui avez pas  donné une valeur par défaut). Dans ce cas-ci, le champ est nul : il n'est pas vide parce qu'il n'a jamais contenu quelque chose. Si l'utilisateur dactylographie un nom et le supprime par la suite, le champ n'est plus considéré nul : il est devenu vide.

Pour vérifier si un champ (ou une valeur) est nul, vous pouvez appeler la fonction IsNull (). Sa syntaxe est :

IsNull (value)

La fonction de contrôle IsNull est utilisée pour les champs, mais elle vise uniquement à vérifier l'état d'un champ (se rappeler que cette fonction ne vérifie pas si un champ est vide ou pas, elle vérifie si un champ n'a jamais contenu une valeur). Si le champ est nul, cette fonction renvoie vrai. Si le champ n'est pas nul, cette fonction renvoie faux.

Vérification numérique

Quand l'opération d'un mot est énoncée, la plupart des personnes pensent à une valeur numérique, à un opérateur, et à une valeur numérique différente. De telles valeurs doivent être valides afin que l'opération réussisse. Elle ne se comprendrait certainement pas en multipliant un DateHired par un HourlySalary. Par conséquent, avant d'impliquer une valeur ou un champ dans une opération, vous devrez vérifier qu'elle contient un nombre valide. Pour effectuer cette vérification, Microsoft Access fournit la fonction IsNumeric (). Sa syntaxe est :

IsNumeric(value)

La fonction IsNumeric () renvoie vrai si son argument est un nombre valide. Autrement, elle renvoie faux.

Étude pratique : Vérification de la valeur numérique

  1. Ouvrez la base de données College Park Auto Shop2 et cliquez Formulaires dans la fenêtre de la base de données.
  2. Droit-cliquez le sous-formulaire sbfParts et cliquez Mode création.
  3. Cliquez la boîte de texte sous l'étiquette Total et, dans l'étiquette Données de la fenêtre des propriétés, changez la valeur de Source contrôle comme suit :
    =CDbl([UnitPrice])*IIf(IsNumeric([Quantity]),CInt([Quantity]),0)
  4. Sauvegardez et fermez le sous formulaire.

Vérification de Différente de zéro

Nous avons vu que, avant d'effectuer n'importe quelle opération sur la valeur contenue par un champ, vous devez d'abord la convertir en une valeur appropriée. Les fonctions de conversion que nous avons mentionnées supposent que le champ contient une valeur. Malheureusement, ce n'est pas toujours le cas. Microsoft Access fournit la fonction Nz () qui peut être utilisée pour vérifier si un champ contient une valeur, si le champ est vide, ou s'il est nul. La syntaxe de cette fonction est :

Nz(value, ValueIfNull)

Le premier argument "value" est exigé. Le deuxième argument est facultatif. Le pseudo code pour cette fonction est :

If the field contains a value
    Return that value
Otherwise
    Return 0

En d'autres termes, cette fonction considère la valeur fournie comme argument de valeur. Ceci pourrait être une expression mais elle est habituellement utilisée dans un champ qui est impliqué dans un calcul. Si l'argument de valeur ou le champ passé est vide, retourner cette fonction à 0. Si le champ contient une valeur, retourner cette fonction à cette valeur. L'avantage de cette fonction est qu'elle fournit une sauvegarde valable pour une opération.

Le deuxième argument est facultatif et il serait utilisé comme valeur de retour si l'argument de la valeur était nul.

Étude pratique : Expressions de base

  1. Ouvrez la base de données GCS et ouvrez le formulaire OrderProcessing en Mode formulaire
  2. Après l'avoir visionné, le muter en Mode création
  3. Cliquez la première boîte de texte à gauche sous Total qui correspond à Pants.
  4. Dans la fenêtre des propriétés, changez la valeur de Source contrôle en
    =Nz([QtyPants])*Nz([PricePants])
  5. Faites la même chose pour chacune des boîtes de texte sous chaque étiquette Total.
  6. Sauvegardez et fermez le formulaire.

Résumé de la leçon

 

Matières de MOUS (Microsoft Office User Specialist)

 
S20 utiliser un contrôle calcul sur un formulaire
S31 Créer un champ de calcul
 
 

Précédent Copyright © 2007, Yevol Suivant