YBET informatique
Rue Albert 1er, 7
B-6810 Pin - Chiny
(/fax: 0032 (0)61/32.00.15

Microsoft Access, la Formation en ligne

FORMATION Le MAGASIN YBET PRODUITS et SERVICES
Notre gamme de formations en informatique Activités et présentation  
Tutorial et formation INTERNET Plan d'accès  
YBET informatique Nous contacter  

9. Table Access avancée: propriété des champs

1. Personnalisation d'une table Access - 2. Propriétés des champs Access - 3. Le format d'un champ - 4. Masque de saisie - 5. Valide Si - 6. Message Si erreur - 7. Null Interdit - 8. Chaîne vide autorisée - 9. Indexé - 10. Compression unicode - 11. Exemple de contraintes - 12. Quelques remarques

Dans le chapitre sur la création d'une table Access de cette formation informatique, nous nous contentions de choisir le type de données.

Cette partie va nous permettre de personnaliser les tables:

2. Propriétés des champs Access dans une table

Chaque champ d'une table Access reprend des caractéristiques spécifiques supplémentaires:

  1. Taille du champ (champs de types texte et numériques à l'aide de caractères spéciaux)
  2. Format: Ce format agit sur la manière d'afficher les informations (pas de les rentrer) et ne modifie pas le contenu)
  3. Masque de saisie: détermine la manière dont les données doivent être saisies
  4. Décimales: (types numériques et monétaires uniquement), le nombre de chiffres derrière la virgule.
  5. Légende: un nom qui remplacera le nom du champ dans les feuilles de données.
  6. Valeur par défaut: la valeur proposée automatiquement
  7. Valide si: règle de validation des données rentrées.
  8. Message si erreur: Texte affiché si les données rentrées ne sont pas conforme à "Valide si"
  9. Null interdit: Si le choix est oui, une donnée doit effectivement être rentrée
  10. Chaîne vide autorisée: (champs de type texte, memo et liens hypertexte) autorise à rentre le caractère d'espace comme valeur. Cette caractéristique est souvent utilisée pour permettre de ne rien rentrer comme donnée (espace quand même) si la caractéristique "Null interdit" est activée.
  11. Nouvelles valeurs (uniquement les champs de type NuméroAuto): incrément (+1) ou aléatoire. Dans les 2 cas, les doublons sont interdits.
  12. Compression unicode: (champs texte et Memo), détermine si le contenu doit être enregistré en format compressé ou non.

Toutes ne sont pas vues ici, seulement les principales.

3. Le format d'un champ.

Reprenons notre table album dans le chapitre "table Access".

Le premier problème vient du classement, le format n'est pas imposé. Nous allons faire quelques aménagements. Dans la partie propriété, Commençons par délimiter la taille du champ. Par exemple, dans notre cas, nous allons utiliser 5 positions. La taille du champ va donc être de maximum 5 caractères. Si cette règle transgresse le format de données existantes, vous pouvez augmenter la taille.

Passons maintenant au format. Ceci va modifier la manière dont les données sont affichées (pas rentrées). La manière de rentrer les données ci-dessus va modifier les caractères rentrés: ">" va convertir les données en majuscules, - va afficher le caractère "-" et @ va obliger de rentrer un caractère (à chaque fois).

Type de données Symboles Explication
Numérique ou monétaire Sans format de champ, affichage des données comme elles sont saisies
0 Affiche un chiffre. En l'absence de chiffre, un 0 est affiché.
# Affiche un chiffre. S'il n'y a pas de chiffre, rien n'est affiché.
F affiche le caractère F (pour Francs)
, (virgule) détermine la position de la virgule dans l'affichage
<espace> (<Space>) Séparateur des milliers
% Multiplie la valeur par 100 et rajoute le symbole %
E+ ou e+ Notation scientifique avec le signe + pour les exposants positifs et signe - pour les exposants négatifs
E- ou e- Notation scientifique avec signe - pour les exposants négatifs, aucun signe pour les exposants positifs.
Date / heure / sépare le jour, le mois, l'année
j Détermine l'affichage du jour
  • j = 5
  • jj = 05
  • jjj = mar
  • jjjj = mardi
m détermine l'affichage du mois
  • m = 1
  • mm = 01
  • mmm = janv
  • mmmm = janvier
a Détermine l'affichage de l'année
  • aa = 99
  • aaaa = 1999
, (vigule) Sépare les heures, les minutes et les secondes
h détermine l'affichage des heures
  • h = 4
  • hh = 04
n Détermine l'affichage des minutes
  • n = 7
  • nn = 07
s Détermine l'affichage des secondes
  • s = 3
  • ss = 03
AM/PM Détermine l'affichage par 12 heures et rajoute la mention
Texte / Memo @ caractère de texte requis
& Caractère de texte non requis
> Convertit les textes en majuscule
< Convertit les textes en minuscule
Général *(caractère) utilise le caractère spécifié après * pour le remplissage

Quelques exemples:

>@@-@@@ oblige à rentrer 5 caractères qui seront affichés en majuscules avec un tiret de séparation. fa001 sera donc affiché FA-001

# ###,00" €": un chiffre sera affiché avec 2 décimales, séparateur des milliers, suivi de €. 1526,3 deviendra 1 526,30 €

4. Masque de saisie

Cette fonction Access est a utiliser avec précaution. Le masque de saisie va obliger à rentrer des données suivant un format prédéfini. Si vous créer un masque de saisie après avoir rentrer des données, les valeurs seront vérifiées et éventuellement rejetées.

  exemple
aucun masque de saisie, les données sont affichées telles que saisies
0 chiffre, signe + ou -, saisie obligatoire masque 0000, le chiffre 123 est refusé, le chiffre +123 est accepté
9 Chiffre ou espace, la saisie est facultative masque 9999, le chiffre 1 est accepté
# chiffre ou espace, la saisie est facultative  
L Lettre, saisie obligatoire
? Lettre, saisie facultative
A lettre ou chiffre, saisie obligatoire
& n'importe quel caractère (lettre, chiffre, ...), saisie obligatoire
C n'importe quel caractère (lettre, chiffre, ...), saisie facultative
> Tous les caractères à droite du symbole sont convertis en majuscule >LLL: 3 lettres obligatoires, automatiquement converties en majuscule
< Tous les caractères à droite du symbole sont convertis en minuscule  
! Masque rempli de droite vers gauche
\ le caractère est ajouté sous sa forme ascii
/,.;:() Caractères spéciaux utilisés tels quels dans le masque de saisie masque LL-999: 2 lettres obligatoire, - ajouté automatiquement, 3 chiffres facultatifs

Exemple:

5. Valide Si.

Sans rentrer dans trop de détails, cette propriété permet de créer une règle pour les messages. Par exemple:

> 2000: chiffre obligatoirement supérieur à 2000

> 25/02/2009: champ date, la date doit être supérieure au 25 février 2009

Pour combiner 2 conditions de validité, vous pouvez utiliser ET et OU.

Exemple: un champ date >=01/01/2000 ET <01/01/2011 n'acceptera que les dates comprises entre le 01 janvier 2000 et le 31 décembre 2010 (=< 01/01/2011)

6. Message si erreur

Ceci permet d'afficher un message dans le cas d'une donnée non valide (dans le cas de l'utilisation de Valide si). Par exemple, si la règle d'une date est >01/01/1900 et le message: erreur d'encodage, la date doit être supérieure à 1900. En cas de date inférieure, la fenêtre suivante apparaît:

7. Null interdit

Cette fonction fort utile permet d'obliger l'utilisateur à rentre une valeur (cas null interdit: Oui). Elle travaille souvent en coordination avec la fonction suivante: Chaîne vide autorisée qui permet de rentrer un espace au lieu d'une valeur.

8. Chaîne vide autorisée.

Cette commande permet d'autoriser à rentrer l'utilisateur de la table access à rentre un espace comme valeur dans un champ. Cette possibilité est souvent utilisée avec la commande Null interdit. En acceptant les 2 propriétés, vous obligez l'utilisateur à rentrer une valeur, mais autorisez de rentrer un espace dans des cas exceptionnels.

9. Indexé.

Cette commande permet directement de trier un champ en ordre croissant. L'option avec ou sans doublon est une contrainte supplémentaire. Si vous choisissez sans doublons, la table refusera de rentrer la même valeur dans le champ pour 2 enregistrements différents de la table access. Mieux vaut généralement utiliser une requête pour cette fonction

10. Compression unicode.

Oui par défaut. Access utilise le codage unicode qui enregistre les lettres sur 2 octets (au lien d'un). Ce système permet d'afficher les caractères dans n'importe quelle langue. Malheureusement, ceci double la taille des caractères enregistrés. La compression va compenser en partie ce doublement d'espace. Cette caractéristique n'est affichée que pour les champs de type texte, memo et liens hypertextes.

11. Exemple de contraintes d'un champ

Comme les possibilités sont multiples, nous allons essayé quelques exemples de ces caractéristiques des champs Access.

11.1. Champ texte

A. Imposer de rentrer une valeur à chaque fois:

Null interdit: Oui - Chaîne vide autorisée: Non.

B. Imposer de rentrer 2 lettres, suivi de 3 chiffres mais afficher le séparateur - et lettres transformé en majuscule. Exemple: MA516 rentrer.

Taille du champ: 5 - Masque de saisie: >LL\-000

11.2. Champ Access numérique

A. Champ numérique compris en 10 et 100

Type numérique, type entier long - Valide si: >10 ET <100

11.3. Champ Access de type Date

A. Date obligatoire comprise supérieure au 01/01/2014

Valide si: >01/01/2014 - Null interdit: Oui - Chaîne vide autorisée: Non

B. Année

Un cas particulier, vous ne souhaitez que l'année. Plusieurs solutions sont possibles.

La première solution permettra de faire des calculs (exemple, + 3 ans)

12. Quelques remarques

Les contraintes et formats d'affichage des champs d'une base de donnée Access peuvent être implantés soit dans la table, soit dans le formulaire (éventuellement dans les états). Ceci est laissé au libre choix suivant votre application. Néanmoins, si vous imposez les contraintes dans la table, elles sont valables également pour les requêtes, formulaires, états, ... Dans le cas où ces contraintes sont rentrées directement dans le formulaire, elles ne sont valables que pour le formulaire. Rentrer des données directement dans la table ou dans une requête n'imposera pas le masque de saisie, d'où un risque d'incohérence de données informatiques.

D'un autre coté, imposer une contrainte directement dans la table va entraîner à long terme des problèmes de conception. Même si une base de donnée est généralement développée au départ sans modifications futures, par expérience, on est amener à ajouter des champs (ou augmenter la taille), souvent plusieurs années plus tard. Insérer les contraintes directement dans la table risque de vous poser quelques problèmes lors de ces modifications de l'application, notamment parce que lors de chaque changement de propriétés de champs, Access va vérifier si les données sont cohérentes. Vous risquez donc de perdre des données ou de devoir revérifier manuellement pour tous les enregistrements que la table accepte les modifications, ce qui n'est pas le cas pour les formulaires.

8 < Macro Access

La suite du tutorial Access> 10. Exercice: gestion d'un club

Plan du cours

1. Introduction aux bases de données - 2. Table - 3. Requête Access - 4. Formulaire - 5. Travailler avec une base de donnée Access - 6. Base de donnée relationnelle - 7. Les Etats - 8. Macros et menus de démarrage - 9. Propriétés avancées des champs - 10. Gestion d'une association - 11. Liste de choix - 12. Macros - 13. Formulaires avancés - 14. Procédures événementielles - 15. Champs Calculés dans les requètes, formulaires et états - 16. Access en réseau - 17. Sécurité et accès utilisateur