Académique Documents
Professionnel Documents
Culture Documents
Cliquez sur OK
Si vous cliquez trop de fois sur les champs dans Catégorie d'expression, il va vous afficher quelque chose de
style :
Avec un <<Expr>> au milieu. Contentez -vous de sélectionner [SalaireMensuel] <<Expr>>
Les crochets sont facultatifs : SalaireMensuel+100 marcherait tout aussi bien que
[SalaireMensuel]+100 . Mais s'il s'agit d'un champ comportant des espaces ( Salaire mensuel par exemple,
1
COURS ACCESS Mme BELLABES
alors, les crochets deviennent obligatoire. C'est une des raisons pour lesquelles je ne mets jamais d'espaces dans les
noms de mes champs.
Le format n'est pas le même dans le champ SalaireMensuel (le format n'a pas été recopié - la preuve avec le
2ème salaire), mais Access a compris qu'il s'agissait d'un type de données monétaire.
Vous pouvez bien sûr changer le format dans les propriétés du champ. Par exemple, enlevez le CHF , en choisissant
comme format : standard.
Recalcul automatique
Si vous modifiez un SalaireMensuel, le calcul s'effectue automatiquement dès que vous enregistrez, ou que vous
changez de champ ou d'enregistrement.
2
COURS ACCESS Mme BELLABES
Si vous cliquez sur les trois petits points tout à droite, vous retournez dans le Générateur d'expression :
Regardons plus attentivement ce que contient ce générateur d'expression (Une expression, c'est un calcul, tout
simplement)
3
COURS ACCESS Mme BELLABES
4
COURS ACCESS Mme BELLABES
Par contre, elle peut être utile pour connaître l'âge de nos clients ! A l'heure où j'écris ces lignes, nous sommes
en 2012. J'ai donc 47 ans, car je suis né le 21.2.1965. Il suffit de calculer 2012 - 1965 = 47.
2012 moins l'année de la date de naissance du client donne donc... son âge (à une vache près).
Marche à suivre
Commencez par créer un champ calculé Age en dessous de DateNaissance.
Dans le générateur d'expression :
Ecrivez 2012-
Choisissez la fonction Année :
précisez DateNaissance comme paramètre :
Et voilà les âges ! Evidemment, l'année prochaine, en 2013, ce champ calculé deviendra faux ! Il faudra penser
à changer 2012 en 2013 ! C'est idiot !
5
COURS ACCESS Mme BELLABES
Ce qui serait bien, ce serait de remplacer 2012 par une fonction qui nous renvoie la date d'aujourd'hui,
dynamiquement.
Dans la leçon 8, quand nous parlions des dates, nous avons vu comment attribuer la valeur par défaut d'un
champ Date/Heure à aujourd'hui grâce à la fonction Date(). Vous vous rappelez ?
Fonctions impossibles à utiliser (Date)
main) : .
Au moment de cliquer sur OK, vous êtes gratifié d'un message d'erreur désagréable :
Pour l'anecdote, Le message d'erreur prétend que vous avez utilisé la fonction Year alors que vous avez
utilisé Année (Une preuve de plus qu'il y a des imperfections lors de la traduction française)
Access nous précise bien que la fonction Date() existe bien mais qu'on ne peut pas l'utiliser dans ce
cadre ! C'est ballot, n'est-ce pas ?
Ce n'est pas un exemple des plus utiles, mais il va vous permettre de bien comprendre le fonctionnement.
En gros :
Il y a 3 éléments :
6
COURS ACCESS Mme BELLABES
Constatez que ce sont des points-virgules (;) qui séparent les paramètres en français, et des virgules (,) dans le cas de
versions anglaises, la plupart du temps.
Oui, il y a 2 i à iif (ne me demandez pas pourquoi)
Faisons-le ensemble
Créez un champ EtatRichesse après salaireAvecPrime, en type de données Calculé (On peut donc faire un calcul basé
sur un autre calcul)
Vous pourriez écrire toute la fonction à la main, mais exploitons plutôt le générateur d'expression :
Cliquez dans Fonctions/Déroulement de *
programme/iif :
Oui, je vous ai dit que la fonction s'appelait VraiFaux en Français, et là, c'est la version anglais iif qui est affichée,
même dans la version française... De plus, au-dessus de iif, il y a la fonction Choisir (qui se traduit par Choose en
anglais), mais on n'en est plus à une fantaisie de traduction près, n'est-ce pas ?
Cliquez dans <<expression>>, et double-cliquez sur SalaireAvecPrime :
Cliquez sur <<truepart>> et écrivez "Riche" :
7
COURS ACCESS Mme BELLABES
Cliquez sur <<falsepart>> et écrivez "Pauvre" :
Mettez NomClient :
Ecrivez & à la main :
Ajoutez le Prenom :
8
COURS ACCESS Mme BELLABES
Exercice
L'exercice consiste à créer une nouvelle base de données que vous
nommerez ExerciceLecon012.accdb.
Vous y créerez une table T_Collaborateur (ce sont tous les salariés d'une société).
Vous y créerez les champs suivants :
NomCol (Texte)
Prenom (Texte)
Departement (Texte)
SalaireMensuel (Monétaire)
Avec ces données :
NomCol Prenom Departement Salaire
Morat Hervé Achats 1500
Caillard Julie RH 7800
Munssen Samuel Marketing 2100
Zubriggen Alicia RH 19800
L'exercice consiste à créer deux champs calculés :
Libelle : L'affichage du prénom, suivi du nom et du département entre parenthèses (mettez-
bien les espaces pour éviter que ce soit tout collé)
SalaireAvecPrime : Les collaborateurs travaillant aux RH (Ressources huimaines) ont droit à
une prime de 500 francs, mais pas les autres.
Voici le résultat escompté :
9
COURS ACCESS Mme BELLABES
10