Qu'est-ce que le modèle relationnel ?

Comment créer une base Access composée de plusieurs tables ?

Comment gérer les champs ? Leur taille, leur format, leur légende, leur validité ?

Quelle structure pour une table ? La clé primaire, l'index, les clés étrangères, les propriétés

Comment créer un formulaire ? Les contrôles, dépendants, indépendants, les entêtes, leur sélection, leurs propriétés, leur dimensionnement, leur mise en forme ?

Comment créer une requête ? De création de table, d'ajout de table, de suppression de table, d'analyse, Qu'est-ce que les jointures ?...

Comment créer un état ? Insertion de champs, regroupements,
sous-états ?...

Comment structurer l'application ? Avec un menu, des macros, des boutons de commande, des modules, un ruban personnalisé ?...

Comment gérer et publier une base Access ? L'analyseur de tables, de performances, la documentation, l'empaquetage, le serveur, le compactage, la sauvegarde, le runtime ?...

Particuliers, vous pouvez vous connecter sur notre plate-forme de E-learning gratuite :

http://www.informatique-bureautique.com

Professionnels, vous pouvez obtenir des licences de groupe de cet ouvrage, acquérir les sources, ou inscrire vos stagiaires à nos cours de E-learning sur notre site :

http://www.ios.fr

Ce livre présente différentes rubriques repérées par une icône

des procédures décrivent la marche à suivre pour effectuer une action :
3 commandes à se rappeler :
<clic g> pour appuyer sur le bouton gauche de la souris avec l'index
<clic d>  pour appuyer sur le bouton droit de la souris avec le majeur
<double clic> pour appuyer deux fois de suite très rapidement sur le bouton gauche de la souris avec l'index

des informations viennent compléter ces procédures

des exemples viennent illustrer ces procédures

des conseils vous aident à mettre en pratique vos connaissances

des mises en garde vous permettent d'éviter les pièges ou d'en sortir

Les exercices permettent de tester les procédures et d'appliquer vos connaissances. Ils sont téléchargeables ici : http://www.ios.fr/public/exosAccess13n2.exe

des procédures avancées décrivent des actions plus complexes

Souvent, une action peut être effectuée selon plusieurs méthodes :

1ère méthode - 2ème méthode

Une méthode n'est pas meilleure qu'une autre mais l'une ou l'autre peut être mieux adaptée à votre manière de travailler.

Ces actions peuvent être effectuées avec plusieurs moyens :

Avec le bouton gauche de la souris

Avec le bouton droit de la souris

Avec le clavier

Windows demande l’utilisation du bouton gauche et du bouton droit de la souris ainsi que du clavier.

Elles vont s'exercer le plus souvent sur :

La barre d'accès rapide

Le ruban

Le menu contextuel

Dans cet ouvrage, la base de données est à créer complètement ; elle comprend plusieurs tables dans lesquelles les données sont organisées. Des relations lient ces tables. Des menus, des rubans et des barres d'outils structurent l'application.

La conception de la structure de la base de données est l'étape la plus importante.
Elle se décompose en plusieurs étapes :

Analyse du besoin présent et identification des entités tout en prévoyant leur évolution possible

Création des tablesde données correspondant aux entités (Tables des clients, des fournisseurs, des produits ou des ouvrages, des auteurs, des lecteurs, ...)

Inventaire et création pour chacune des tables, des champsreprésentant les données à collecter (nom, prénom, code postal,quantité...)

Création des relations entre les tables(clés primaires, clés étrangères)

Création des requêtes nécessaires à l'affichage ou l'édition des données

Création des formulaires permettant l'affichage des données à l'écran

Création des états permettant l'édition des données

Il est recommandé de comprendre de manière approfondie la structure de la base de données et les relations entre les tables

Le service comptable d'une entreprise gère les factures reçues des clients
Une bibliothèque gère des ouvrages écrits par des auteurs et prêtés à des lecteurs
(les entités sont soulignées)

Si l'analyse est bien faîte et si la structure est bien conçue, la base pourra accueillir des données en quantité et sera capable d'évoluer en même temps que son environnement ; sa seule éventuelle faiblesse pourra résider dans une interface d'utilisation plus simple qu'une interface réalisée par programmation

Un Système de Gestion de Base de Données Relationnelles (SGBDR) permet :

D'ajouter, effacer et mettre à jour les données de la base

De visualiser de différentes manières tout ou partie des données de la base

Pour ce faire, le langage de consultation est basé sur l'algèbre relationnelle qui va permettre, après répartition des données dans des tables, une gestion optimale de l'ensemble.

I.              MODÈLE RELATIONNEL

L'analyse peut être plus ou moins élaborée selon la complexité du projet. Pour une base simple, elle va consister à recenser les informations à gérer, à répartir ces informations de manière logique et homogène dans des tables, à déterminer pour chaque table la clé primaire puis à générer les relations entre chacune des tables.

La méthode classique est d'établir un mcd : modèle conceptuel des données- schéma Entité-Association qui distingue les objets et les relations (type méthode d'analyse Merise). Les objets y sont représentés par des rectangles, les relations par des ellipses ou des losanges. Les entités, objets ou relations, ont des propriétés ou attributs.
Du mcd, on peut déduire le mld(modèle logique de données ou modèle relationnel d'Access)

onglet "… base de données"
groupe "relations" (3èmebloc)
<clic g> sur

Pour une bibliothèque, Les objets sont par exemple : "les lecteurs", "les exemplaires d'ouvrages"…
Les relations entre les objets sont par exemple : "une série", "emprunt"

Même si ce chapitre peut paraitre complexe et rébarbatif, il vous est conseillé de le lire ; les éléments restés obscurs viendront s'éclaircir dans la réalisation pratique qui suivra

Access 2013 est basée sur un modèle théorique, le modèle relationnel, dans lequel les données sont structurées sous forme de tables. La manipulation des données se fait selon le concept mathématique de relation de la théorie des ensembles.

A.             THÉORIE

Le domaine (X, Y…) est un ensemble fini ou infini de valeurs. On le représente par une liste d'éléments ou bien une condition nécessaire et suffisante d'appartenance.

Le modèle relationnel permet de représenter les relations à l'aide de tables :

Chaque colonne a un identificateur qui appartient à un domaine.

Une ligne du tableau représente une occurrence ; on l'appelle tuple

Chacune des cases représente un attribut ; on appelle attributle nom des colonnes qui représentent les constituants de la relation (un attribut est repéré par un nom et un domaine de définition, c'est-à-dire l'ensemble des valeurs qu'il peut prendre).

1.         DOMAINE

Il caractérise un ensemble de valeurs.

couleur = { bleu , gris , rouge }
booléen = { vrai , faux }
prix = { 26000 , 34950 }
entier
réel
chaine

Un produit cartésien de domaines est l'ensemble de tous les couples, dont la première composante appartient à X (ex : couleur) et la seconde à Y(ex : vrai/faux).

Si X = {bleu, blanc, rouge} et Y = {vrai, faux}
Alors le produit cartésien X * Y donne :

X              Y

bleu              vrai

bleu              faux

gris              vrai

gris              faux

rouge              vrai

rouge              faux

2.         RELATION

C'est un sous-ensemble du produit cartésien d’une liste de domaines.

COULEURS DE VOITURES

X = Modèle
Y = Couleur

3.         ATTRIBUT

C'est le nom donné à une colonne d’une relation.

4.         CLÉ PRIMAIRE

Une clé primaire est un groupe d’attributs minimum (un ou plusieurs) qui identifie un tuple de manière unique dans une relation. Elle est obligatoire.

La voiture N°9 est un Toyota Rav4 noir au prix de 26990 émettant 202 g de Co2 au km

Le propriétaire tel que N°Pro=2 s'appelle Marc Perez et habite 12 rue des rosiers à Marseille.

Une relation étant un ensemble de tuples, il ne peut y avoir deux tuples de même clé dans une relation

5.         CLÉ ÉTRANGÈRE

Une clé étrangère est un groupe d’attributs minimum d'une relation (un ou plusieurs) qui identifie une association vers une autre relation.

Il existe une relation entre les propriétaires de véhicules et les véhicules :
À chaque propriétaire appartient un ou plusieurs véhicules et chaque véhicule appartient à un seul propriétaire ; cette relation d'appartenance est matérialisée par la présence de l'identifiant du propriétaire dans la table véhicule sous forme d'une clé étrangère

6.         SCHÉMA

Le schéma d’une relation est composé du nom de la relation suividu nom des attributs. La clé primaire est mise en évidence (souligné…). S'il y a une clé étrangère, elle est mise en évidence (#n°). Le schéma d’une base de données relationnelle est l’ensemble des schémas des relations composantes.

VÉHICULE (N°, Modèle, #N°Pro, Couleur, Prix, Co2)
PROPRIETAIRE (N°Pro, Nom, Prénom, CodePostal, Adresse, Ville)

7.         CONTRAINTE D’ENTITÉ

Toute relation doit posséder une clé primaire non nulle (ex : N° dans Véhicule).

8.         INTÉGRITÉ RÉFÉRENTIELLE

Une référence est un groupe d’attributs (partie d’une clé) qui référence une clé d’une autre relation ; lors d’une insertion, la valeur de la clé étrangère doit exister dans la relation référencée. Elle traduit les liens sémantiques entre deux relations.

VÉHICULE

Le Suzuki Grand Vitara couleur argent appartient à Madame Dupont qui habite Rouen

B.             ALGÈBRE RELATIONNELLE (débuter avec)

L'algèbre relationnelle est constituée d'un ensemble d'opérations formelles sur les relations. Elle permet de créer de nouvelles relations résultantes de ces opérations.

Les opérateurs sont de deux types :

Les opérateurs ensemblistes (Union, Différence, Intersection, Produit cartésien étendu)

Les opérateurs relationnels (Restriction, Projection, Jointure, Division)

1.         OPERATEURS ENSEMBLISTES

L'union, la différence et l'intersection nécessite des relations (tables) de structure compatible.

UNION : REL1 U REL2 REL1

L'opérateur "union" noté "U" fusionne deux relations en une seule.

VÉHICULE-1

VÉHICULE-2

VÉHICULE-1 U VÉHICULE-2

INTERSECTION : REL1 ∩REL2 REL1

L'opérateur "intersection" noté "∩" isole les occurrences communes entre les relations 1 et 2.

VÉHICULE-1

VÉHICULE-2

VÉHICULE-1∩ VÉHICULE-2

2.         OPERATEURs RELATIONNELs

JOINTURE : REL1 REL2REL3

C'est une restriction du produit cartésien des deux relations.

jointure naturelle

La jointure naturelle réalise une liaison logique entre deux tables. La condition de sélection est l’égalité entre la clé primaire d'une relation et la clé étrangère lui correspondant dans une autre relation. La notation est de la forme : r1 r2 et s'écrit Join ( r1, r2).

VÉHICULE

…

PROPRIETAIRE

VÉHICULE PROPRIETAIRE

II.         BASE (structure)

Une table regroupe dans des champs des informations relatives à un même sujet (personnel, client, facture, stock, ouvrage, auteur...). Les données peuvent être du texte, des dates, des nombres, des valeurs logiques, des images, …
Chaque champ contient des informations homogènes (nom, prénom, code, libellé, ...).

A.             CRÉATION BASE

L'utilisateur choisit de créer de toutes pièces la base de données après avoir procédé à l'analyse des informations.

À l'ouverture d'Access
<clic g>  sur
renommer la base
indiquer éventuellement son emplacement
<clic g> sur Access déjà ouvert

menu fichier

<clic g>  sur
renommer la base
indiquer éventuellement son emplacement
<clic g> sur

Lancer Access 2013
Créer un fichier de base de données vide
Le nommer "bibliotheque"

Une table vide est automatiquement créée dans la nouvelle base.

B.             CRÉATION TABLE

Il faut afficher la table en mode création pour créer sa structure de manière élaborée.

onglet "accueil"
groupe "affichages" (1erbloc)
<clic g> sur pour afficher la nouvelle table en mode "création"
nommer la table pour l'enregistrer
il faut maintenant créer les différents champs à inclure dans la table

Dans la base en cours "bibliotheque",
Afficher la table proposée en mode "création"
La nommer "ouvrage

L'ajout de nouvelles tables s'effectue en mode "création".

onglet "créer"
groupe "tables" (2ème bloc)
<clic g> sur pour afficher la nouvelle table en mode "création"
les contrôles et les outils nécessaires s'affichent

III.    CHAMPS (propriétés)

Le volet inférieur de la fenêtre affiche les propriétés du champ sélectionné. La taille du champ, le format, les conditions auxquelles doivent satisfaire les données doivent être définies ici. Toutes ces propriétés peuvent être modifiées.

Taille : Taille d'un champ texte ou fourchette de valeurs d'un champ numérique

Format : Présentation des dates et des nombres

Masque de saisie : Mise en forme et contrôle de la saisie d'un champ

Légende : Étiquette du champ pour la restitution à l’écran ou édition

Valeur par défaut : Valeur par défaut du champ pour chaque nouvel enregistrement

Valide si : Subordonne la validation des données du champ à un critère conditionnel

Message si erreur : Spécifie le message à afficher pour une violation du "Valide si"

Null interdit : Impose la saisie d'une valeur dans un champ

Chaîne vide autorisée : Permet l'enregistrement de chaînes vides dans un champ texte ou mémo

Indexé : Si Oui : accélération de recherche dans le champ fréquemment consulté. Important pour gérer les clés et les relations

Compression unicode : Le codage Unicode représentant chaque caractère avec 2 octets,
la compression permet de réduire l'espace requis (Oui par défaut)

Les propriétés IME sont liées à la conversion des langues orientales

A.             CREATION

Chaque champ est identifié par son nom. Un nom de champ peut avoir jusqu'à 255 caractères alphanumériques (espaces compris). Les noms donnés doivent être explicites afin d'identifier au mieux les champs.

bouton gauche
saisir le nom du champ
dérouler la colonne "type de données"
sélectionner le type de champ
dans le volet bas, renseigner les propriétés du champ

Tenir compte du fait que le contenu des tables de la base de données évolue dans le temps et qu'il arrive souvent que leur structure doive être modifiée pour ajouter un nouveau type d'information à gérer ou au contraire supprimer un type d'information qui n'est plus utile

Le type "texte court" est toujours assigné par défaut à un nouveau champ. Pour le changer, ouvrir la liste déroutante de la colonne Type de Données

Il est préférable de nommer les champs sans utiliser d’espace, d’accentuation, tiret, souligné...uniquement du texte comme DateAchat, PrixAchat, NbEx
Si le nom d'un champ est formé de plusieurs mots à la suite, mettre le premier caractère de chaque mot en majuscule rend plus compréhensible le nom du champ.

LES TYPES DE CHAMPS SONT LES SUIVANTS :

Texte court - alphanumériques : noms, titres… - Jusqu’à 255 caractères

Texte long - (Mémo) - alphanumériques : phrases et paragraphes. - Jusqu’à 1 Go, mais contrôles limités aux 64 000 premiers caractères.

Nombre - Données numériques. - 1, 2, 4, 8 ou 16 octets.

Date/Heure - Dates et heures. - 8 octets.

Monétaire - Valeurs monétaires en devises : 4 chiffres après la virgule. - 8 octets.

NuméroAuto - Valeur incrémentée unique générée pour chaque enregistrement. - 4 octets (16 octets pour ReplicationID).

Oui/Non - Données booléenne (vrai/faux) : zéro (0) pour faux et -1 pour vrai. - 1 octet.

Objet OLE - Images, graphiques ou autres objets à partir d’une autre application Windows. - Jusqu’à 2 Go.

Lien hypertexte - Lien vers document ou fichier - Jusqu’à 8 192 (Chacune des trois parties peut contenir 2048 caractères).

Pièce jointe - images, feuilles de calcul, documents, Graphiques et tout autre type de fichier pris en charge. - Jusqu’à 2 Go.

Calculé - Expression qui effectue un calcul entre champs de tables. - Selon le type de données (selon Type de résultat.

Assistant Liste de choix - N’est pas vraiment un type de données mais définit un champ de recherche :
Un champ de recherche simple valide par le contenu d’une autre table ou liste de valeurs.
Un champ de recherche complexe stocke plusieurs valeurs du même type de données dans chaque ligne.Dépend du type de données du champ de recherche.

QUELQUES RÈGLES DE BASE :

Un fichier de base de données ne peut excéder 2 Go (pièces jointes incluses dans la base)

Une table peut faire au maximum 2 Go (une base d'une table)

Il peut y avoir au maximum 2048 tables ouvertes

Le nom d'une table ou d'un champ ne peut excéder 64 caractères

Il peut y avoir au maximum 255 champs dans une table

Chaque champ contient un seul et unique type de données.

Le type de données est associé à un espace de stockage (taille en octets).

Des opérations ne sont pas possibles pour certains types de données.

Des champs définis en mémo ou OLE ne peuvent pas être triés.

Dans la table "ouvrage" de la base en cours "bibliotheque",
Créer les champs suivants

B.             SUPPRESSION

Elle s'effectue après sélection.

sélectionner le champ
<supp>

bouton gauche
<clic g> sur la case (sélecteur de champ à gauche)
le champ est encadré
<clic g> sur l'outil

bouton droit
<clic g> sur la case (sélecteur de champ à gauche du champ à supprimer)
le champ est encadré
<clic d>

Pour modifier un nom de champ, taper un nouveau nom à la place de celui existant

Les champs supprimés ou ajoutés dans la table ne le sont pas dans les formulaires, requêtes et états existants. il faut alors revoir tous les objets liés à la table

C.             DÉPLACEMENT

La position du champ dans la liste peut être modifiée.

bouton gauche
<clic g> sur la case (sélecteur de champ à gauche du champ à déplacer)
le champ est encadré
<faire glisser> le champ avec la souris à sa nouvelle position

il faut tenir compte des champs liés à celui modifié, des expressions exprimées, des conditions de validation, de la taille des données, des formulaires, requêtes et états l'utilisant. En cas d'impossibilité, le logiciel affiche un message d'avertissement. Pour une réponse affirmative, les valeurs non validées sont remplacées par des valeurs Null: (Ce qui entraîne la perte des données initiales). Si des valeurs indexées ne peuvent être converties, l'indexation est perdue

D.             FORMAT

Le format correspond à une mise en forme spécifique qui s'applique à une valeur brute. Plusieurs formats sont proposés selon les valeurs.

bouton gauche
<clic g> sur la case (sélecteur de champ à gauche du champ)
le champ est encadré et ses propriétés sont affichées dans le volet bas
en face de , saisir le format ou dérouler la liste

Dans la table "ouvrage" de la base en cours "bibliotheque",
Pour les champs désignés, assigner les caractéristiques suivantes

FORMATS

Une fois le format d'un champ défini, Access l'applique automatiquement dans tous les nouveaux formulaires et états, ainsi que dans les feuilles de données de tables et de requêtes. Les formats qui sont modifiés par la suite n'affectent pas les formulaires et états existants ; il faut alors les appliquer manuellement aux contrôles associés.

Il est aussi possible de saisir manuellement son propre format.

"Matricule employé N° " 000 pour : 36 affiche : Matricule employé N° 036
"Matricule employé N° " 000 pour : 125 affiche : Matricule employé N° 125
aa  pour : 31/01/14 affiche : 14
aaaa  pour : 31/01/14 affiche : 2014
mmm pour : 31/01/14 affiche : jan
mmmm pour : 31/01/14 affiche : janvier
mmm aaa pour : 31/01/14 affiche : jan 2014
hh"h"nn pour : 10:35  affiche : 10h35 

Si un format a été affecté en mode "feuille de données", on le retrouve évidemment en mode "création" et réciproquement (format numérique)

Le format est associé au type de valeur qu'il contient.

Le format personnalisé d'un champ numérique se compose de 4 parties

La première partie si la valeur est positive

La seconde partie si la valeur est négative

La troisième partie si la valeur est nulle (zéro)

La quatrième partie s'il n'y a aucune valeur (null)

les différentes parties du format sont séparées par des points-virgules ";"

0; (0);;"Vide" : Affiche 0 pour une réponse positive ou (0) pour une négative, rien pour une valeur égale à 0 et le mot "Vide" s'il n'y a pas de valeur

# ##0;-# ##0;"Zéro";"Vide" : Affiche la valeur sous forme de milliers si elle est positive, avec un signe - si elle est négative, avec le mot  "Zéro" pour la valeur 0 et le mot "Vide" s'il n'y a pas de valeur

Le format personnalisé d'un champ texte se compose de 3 parties.

La première partie correspond aux champs comportant du texte

La seconde partie correspond aux chaînes vides

La troisième partie s'il n'y a aucune valeur (null)

Le format personnalisé d'un champ oui/non se compose de 3 parties.

La première partie non utilisée

La seconde partie réservée aux valeurs 1 (oui, vrai)

La troisième partie réservée aux valeurs 0 (non, faux)

E.              TAILLE

Elle dépend du type de champ, texte ou numérique.

bouton gauche
<clic g> sur la case (sélecteur de champ à gauche du champ)
le champ est encadré et ses propriétés sont affichées dans le volet bas
en face de , saisir ou choisir la taille selon le type de champ
<faire glisser> le champ avec la souris à sa nouvelle position

La taille d'un champ de type "texte" est par défaut de 255 caractères ; elle peut être comprise entre 1 et 255 caractères.

La taille d'un champ de type "numérique" est par défaut "entier long"

Un réplica est une copie synchronisable de tout ou partie de la base

Il est recommandé de choisir la plus petite taille compatible avec les données afin d'optimiser les temps d'exécution. Par exemple pour un nombre, Octet, sinon Entier ou Entier Long

Dans la table "ouvrage" de la base en cours "bibliotheque",
Pour les champs créés, assigner les tailles suivantes

F.              MASQUE SAISIE

Si toutes les valeurs d'un champ doivent avoir le même format, on peut définir un masque de saisie. Il suffit alors de compléter les espaces réservés du masque de saisie. Les masques de saisie permettent de s'assurer que les données entrées ne sont pas tronquées et correspondent au type de valeur spécifié.
Ils peuvent aussi permettre de protéger les données confidentielles : tous les caractères saisis s'affichent alors sous la forme "*" grâce au masque prédéfini : "Mot de passe".

bouton gauche
<clic g> sur la case (sélecteur de champ à gauche du champ)
le champ est encadré et ses propriétés sont affichées dans le volet bas
en face de , saisir le masque
ou
<clic g> sur  pour appeler l'assistant
l'assistant ne fonctionne qu'avec les champs texte ou date

LE MASQUE DE SAISIE COMPORTE TROIS PARTIES :

La première spécifie le masque

La deuxième 0 si les littéraux sont enregistrés avec la valeur, 1 sinon (en général)

La troisième indique quel caractère afficher en attente de saisie("_"par défaut)

(000) 000-0000;0;" "
masque, littéraux enregistrés avec la valeur, espaces remplacés par " ", soit 14 caractères

Dans la table "ouvrage" de la base en cours "bibliotheque",
Pour les champs indiqués, assigner les caractéristiques ci-dessous avec l'assistant

(ISBN13 est le code d'identification unique des livres matérialisé par un code barre)

Caractère              à utiliser pour

0 : Un chiffre (saisie obligatoire)

9 : Un chiffre (saisie facultative)

# : Un chiffre, signes + ou -, ou espace (saisie obligatoire)

L : Une lettre (saisie obligatoire)

? : Une lettre (saisie facultative)

A : Une lettre ou un chiffre (saisie obligatoire)

a : Une lettre ou un chiffre (saisie facultative)

& : Tout caractère ou espace (saisie obligatoire)

C : Tout caractère ou espace (saisie facultative)

. , : ; - / : Virgules décimales, séparateurs milliers, date/heure (panneau conf. Window)

< : Afficher caractères à droite du symbole en minuscules

> : Afficher caractères à droite du symbole en majuscules

! : Remplir le masque de droite à gauche (quand des caractères optionnels
se trouvent dans la partie gauche du masque)

\ : Afficher les caractères suivant ce symbole dans la forme littérale du masque pour inclure dans la mise en forme un des caractères précédents

MASQUE DE SAISIE EXEMPLES DE VALEURS
(000) 000-0000 (800) 251-0211
(999) 000-0000! (800) 251-0211
(000) AAA-AAAA (800) 251-VERT
000-00-0000 536-71-4123
>L????L?000L0 BLUEIO123A4
00000-9999 12345- , 12345-1234
>L<????????????????? Dupont

Dans la table "ouvrage" de la base "bibliothèque", appliquer à "référence" le format :
- R plus un espace
- suivi du genre en 3 lettres (1ère en majuscule) : Pol (policier), Sfi(science fiction)…
- un tiret (haut) puis 3 chiffres (de 001 à 999)
- mettre 0 (les littéraux sont enregistrés avec la valeur)
Assigner un masque de saisie correspondant au champ "reference" de telle manière que le formulaire affiche

G.            LÉGENDE

La légende d'un champ permet d'utiliser un nom plus explicite en mode "feuille de données" dans les requêtes, les formulaires et les états.

bouton gauche
<clic g> sur la case (sélecteur de champ à gauche du champ)
le champ est encadré et ses propriétés sont affichées dans le volet bas
en face de , saisir le libellé

Nom de champ : DateNaiss Légende : Né(e) le
Nom de champ : Qte  Légende : Quantité (Kg)

Dans la table "ouvrage" de la base "bibliotheque",
Assigner des légendes simples à tous les champs

H.             VALEUR PAR DÉFAUT

Lorsqu'une même donnée est saisie régulièrement, il est possible de fixer cette valeur par défaut. Elle est alors automatiquement proposée à l'utilisateur qui peut l'accepter ou l'écraser par une autre valeur. Elle apparaît à la place d'un vide dans les champs des formulaires, requêtes et états liés à la table. Ce peut être une constante numérique ou un texte littéral, mais aussi une expression (alors précédée du symbole "=").

bouton gauche
<clic g> sur la case (sélecteur de champ à gauche du champ)
le champ est encadré et ses propriétés sont affichées dans le volet bas
en face de , saisir la valeur ou l'expression précédée du symbole "="

ou
<clic g> sur  pour appeler l'assistant

=Maintenant()  Date et heure en cours
=date()   Date du jour
=année(date())  Année de la date du jour

Dans la table "ouvrage" de la base en cours "bibliotheque",
Assigner la valeur par défaut "1" au champ "NbEx", 10 au champ "Evaluation" et "maintenant" au champ "DateAchat"

I.                 VALIDITÉ

Pour être sûr qu'une donnée corresponde bien à ce qu'elle doit être, il est intéressant de lui adjoindre un critère de validité.

bouton gauche
<clic g> sur la case (sélecteur de champ à gauche du champ)
le champ est encadré et ses propriétés sont affichées dans le volet bas
en face de , saisir la valeur ou l'expression

ou
<clic g> sur  pour appeler l'assistant

Les règles de validation sont spécifiées sous forme d'expressions qui peuvent être simples ou complexes. Elles sont définies manuellement ou à l'aide du générateur d'expression

En spécifiant <100, une valeur supérieure ou égale à 100 sera rejetée

bouton gauche
<clic g> sur la case (sélecteur de champ à gauche du champ)
le champ est encadré et ses propriétés sont affichées dans le volet bas
en face de , saisir la valeur ou l'expression

Dans la table "ouvrage" de la base en cours "bibliothèque", limiter le champ "NbEx" à une valeur comprise entre 1 et 10 et le champ "Évaluation" à une valeur comprise entre 1 et 20 et afficher un message explicatif en cas d'erreur de saisie

POUR DÉFINIR LES EXPRESSIONS :

Les dièses  #  entourent les dates

Les guillemets  " "  entourent les textes

Le signe  &  entre deux textes les concatènent

Date() donne la date système

Les opérateurs de comparaison sont =, <, >, <=, >= , <>

lesopérateurs arithmétiques sont +, -, /, *, ^ (exposant), mod(Modulo)

Les opérateurs logiques sont et, ou  (ou inclusif), pas(non logique), …

Les autres opérateurs sont entre, in (dans), est null, comme,

OPERATEURS

Entre 1 et 100 : Comprise entre 1 et 100
In ("Policier";"Histoire";"Roman") : Contenue dans la liste
Est Null, est pas null : Est ou n'est pas égale à la valeur Null
Comme "Mor*" : Qui commence par Mor.....
Comme "J???" : Commence par J et a 4 caractères

EXPRESSIONS

> 100 Seules les valeurs  > à 100 peuvent être saisies
0 ou > 100 valeurs égales à 0 ou supérieures à 100
<Date()-30 Inclut les enregistrements datant de plus de 30 jours
>=#01/01/2014# et <=#31/12/2014# Dans l'année 2014

J.               NULL - CHAINE VIDE

La valeur null est une valeur particulière en base de données signifiant : pas de valeur. Access interdit la sauvegarde d'enregistrements s'il n'y a pas de valeurs dans des champs où la valeur null n'est pas permise.

bouton gauche
<clic g> sur la case (sélecteur de champ à gauche du champ)
le champ est encadré et ses propriétés sont affichées dans le volet bas
en face de , indiquer "oui" ou "non"

Les champs de type mémo ou texte possèdent une propriété qui détermine si un champ peut contenir la valeur "" (chaîne vide)

bouton gauche
<clic g> sur la case (sélecteur de champ à gauche du champ)
le champ est encadré et ses propriétés sont affichées dans le volet bas
en face de , indiquer "oui" ou "non"

Bien différencier les notions de "null" et de "chaîne vide" :
"null" : l'information n'est pas connue
"chaîne vide" : il n'y a pas de valeur pour le champ concerné
Ex : champ "SiteWeb", "Null interdit : Non", "Chaîne vide autorisée : Oui"
chaine vide : l'information est connue : il n'y a pas de site web pour l'enregistrement
null : l'information n'est pas disponible

Dans la table "ouvrage" de la base en cours "bibliotheque",
Mettre à jour les propriétés des champs comme ci-dessous

K.             LISTE DE CHOIX

Une liste peut être associée directement à un champ de table, auquel cas, elle sera inclue dans la structure et disponible en mode "feuille de données". Si cette liste a peu de chances de varier dans le temps, définir directement les éléments de la liste ; dans le cas, contraire, il est préférable de stocker les éléments dans une table à laquelle on fait appel.

bouton gauche
<clic g> sur la case (sélecteur de champ à gauche du champ)
le champ est encadré et ses propriétés sont affichées dans le volet bas
<clic g> sur  l'onglet
sélectionner "zone de texte", "zone de liste" ou "zone de liste déroulante"
Les propriétés propres au choix effectué s'affichent
en face de "origine source", choisir "liste valeurs" :

en face de "contenu", saisir les choix séparés par un point-virgule
ou
<clic g> sur  pour saisir les choix

si d'autres objets sont liés à ce champ, <clic g> sur près de "contenu" et choisir

Pour un champ définissant la langue d'un livre, mettre les valeurs possibles directement dans le contenu (séparées par des points-virgules) car ce sont des valeurs simples, en petit nombre et peu sujettes à évolution

Dans la table "ouvrage" de la base en cours "bibliotheque",
affecter les caractéristiques suivantes au champ "Langue"

Si la liste évolue avec le temps, stocker les éléments dans une table à laquelle on fait appel.

bouton gauche
<clic g> sur la case (sélecteur de champ à gauche du champ)
le champ est encadré et ses propriétés sont affichées dans le volet bas
<clic g> sur  l'onglet
sélectionner "zone de texte", "zone de liste" ou "zone de liste déroulante"
Les propriétés propres au choix effectué s'affichent
en face de "origine source", choisir "liste valeurs" :

en face de "contenu", sélectionner la table ou la requête contenant les valeurs
ou
<clic g> sur  pour appeler le générateur d'expression
si d'autres objets sont liés à ce champ, <clic g> sur près de "contenu" et choisir

Dans la base en cours "bibliotheque", créer une table "editeur" ayant les caractéristiques suivantes :

Dans la table "ouvrage", affecter les caractéristiques suivantes au champ "editeur"
en utilisant le générateur de requête et en faisant l'extraction suivante
(qui correspond au code sql de "contenu")

IV.   TABLES (structure)

Certains champs ont un rôle plus important que d'autres puisqu'ils servent de "clé" ou "d'index". Les tables sont "mises en relation" afin que les données soient toutes disponibles.

A.             CLÉ PRIMAIRE

Une table contient toujours au moins un champ qui identifie de manière unique chacun des enregistrements. La valeur d'un champ sur lequel est associée une clé primaire, est unique (pas de doublon - ces derniers sont automatiquement rejetés lors de la saisie).

onglet "création"
groupe "outils" (2ème  bloc)
<clic g> sur la case (sélecteur de champ à gauche du champ)
le champ est encadré et ses propriétés sont affichées dans le volet bas
<clic g> sur
Une petite clé s'affiche à gauche du nom de champ

L'idéal est d'accepter la proposition par Access comme clé primaire d'un champ "NuméroAuto" à incrémentation automatique et indépendant des données, donc toujours unique

Une clé primaire peut être définie sur un champ, mais aussi sur un ensemble de champs ; il suffit de les sélectionner en maintenant la touche <ctrl> enfoncée ; c'est alors la combinaison de champs qui doit être unique

Dans la base en cours "bibliothèque"
Vérifier les correspondances des tables avec les caractéristiques ci-dessous, corriger si nécessaire et créer au besoin les tables manquantes avec leurs propriétés
OUVRAGES

Dans la base en cours "bibliothèque"
Vérifier les correspondances des tables avec les caractéristiques ci-dessous, corriger si nécessaire et créer au besoin les tables manquantes avec leurs propriétés

ÉDITEUR

AUTEUR

Dans la base en cours "bibliothèque",
Vérifier les correspondances des tables avec les caractéristiques ci-dessous, corriger si nécessaire et créer au besoin les tables manquantes avec leurs propriétés

ECRIT

EXEMPLAIRE

EMPRUNT

La table "emprunt" possède une clé composée de 3 champs ; les sélectionner conjointement avec <ctrl> puis cliquer sur <clé primaire> - Penser à enregistrer la structure

Dans la base en cours "bibliothèque",
Vérifier les correspondances des tables avec les caractéristiques ci-dessous, corriger si nécessaire et créer au besoin les tables manquantes avec leurs propriétés

LECTEUR

TYPEGENRE

SERIE

B.             INDEX

La création d'un champ indexé dans une table accélère l'accès aux données fréquemment consultées ou triées. Les valeurs d'un champ indexé sont triées dans un ordre croissant, en association avec leur numéro d'enregistrement respectif. Une valeur cherchée sera plus rapidement trouvée et permettra d'accéder ainsi plus vite aux champs de l'enregistrement.

bouton gauche
<clic g> sur la case (sélecteur de champ à gauche du champ à déplacer)
le champ est encadré et ses propriétés sont affichées dans le volet bas
en face de , indiquer "non" ou "oui",  avec ou sans doublons

Les indexations accélèrent la consultation et les tris, mais ralentissent les mises à jour d'enregistrement

Non : Ne pas créer d'index sur le champ spécifié

Oui - avec doublons : Créer un index sur le champ spécifié
(avec possibilité de valeurs en double sur ce champ)

Oui - sans doublons : Créer un index unique sur le champ spécifié

Pour un index unique, la valeur saisie ne sera acceptée que si celle-ci n'existe pas déjà dans un autre enregistrement (champs servant d'identificateur comme le matricule, le code produit, l'Isbn)
Pour affiner les recherches d'enregistrement, il est utile de créer des index composés sur plusieurs champs à la fois (jusqu'à 10 champs)

Pour afficher les index :

onglet "création"
groupe "afficher/masquer" (3ème  bloc)
<clic g> sur
Les champs indexés s'affichent dans une fenêtre

Pour créer un index multi champs, ajouter une ligne pour chaque champ, en ne faisant figurer le nom de l'index que sur la première ligne
L'index de nom Lecteur est composé de NomLecteur et PrenomLecteur

Dans la table "lecteur" de la base en cours "bibliotheque",
Créer un index composé des champsNomLecteur et PrenomLecteur

C.             CLÉ ÉTRANGÈRE

Pour relier les données de deux tables, il faut créer une relation entre les deux. Des champs spécifiques dans chacune des deux tables reliées sont nécessaires pour cette opération. Dans la table principale, il s'agit de la clé primaire et dans l'autre table de la clé étrangère.

onglet "création"
groupe "relations" (5ème  bloc)
<clic g> sur
<faire glisser> une à une les tables du volet droit vers le volet central
ou  <clic g>  sur
sélectionner les tables à a jouter
<clic g> sur
Les tables s'affichent (avec leurs éventuelles relations)
<clic g> sur

Attribuer le même nom à des champs contenant les mêmes données (clé primaire d'une table et clé étrangère de l'autre) pour les identifier facilement

Une fois les tables affichées, les relations sont créées graphiquement.

bouton gauche
Dans la fenêtre relation
<faire glisser> le champ "clé étrangère"  d'une table vers le champ "clé primaire" de l'autre ou l'inverse (la boite de dialogue de relation s'affiche)
appliquer si nécessaire l'intégrité référentielle
<clic g> sur  
la relation est symbolisée par une ligne de jonction entre les 2 champs

PARAMÈTRES

L'intégrité référentielle contrôle l'intégrité des relations et prémunit contre l'apparition de données incohérentes

Mise à jour en cascade des enregistrements de même valeur de clé étrangère
(option conseillée)

Effacer en cascade les enregistrements de même valeur de clé étrangère
(option dangereuse si utilisée à tort)

À tout moment des relations peuvent être ajoutées, ou supprimées ; mais il est indispensable de définir les relations entre les tables avant de créer formulaires, requêtes et états

Une seule relation entre deux mêmes tables est autorisée. Une table, dont la clé primaire est reliée à d'autres tables, ne pourra pas être détruite, sauf si ces dernières le sont déjà ou que la relation ait été supprimée. Les champs reliés ne peuvent pas être détruits

TYPE DE RELATIONS :

une définit une relation "une à une" entre les deux tables. Chaque enregistrement de la table source est associé à un seul enregistrement de la table destination.

plusieurs définit une relation "une à plusieurs" entre deux tables. Chaque enregistrement de la table source peut être associé à plusieurs enregistrements de la table destination. C'est à dire que chaque valeur de la clé primaire peut exister plusieurs fois dans la table de destination.

Intégrité référentielle : Lors de l'ajout ou de la suppression d'enregistrements dans les tables liées, les données seront gérées de manière cohérente.

Il est évidemment possible de modifier une relation à posteriori.

bouton gauche
Dans la fenêtre relation
<double clic> sur  le trait symbolisant la relation
ou
<clic droit>  sur  le trait symbolisant la relation
la boite de dialogue de relation s'affiche
<clic g> sur  
modifier éventuellement
pour valider
la relation est symbolisée par une ligne de jonction entre les 2 champs

Dans la base en cours "bibliotheque",
Créer les relations entre les tables telles que ci-dessous (avec intégrité référentielle)
Partir de préférence des tables les plus éloignées de la table principale "ouvrage"

D.             VALIDATION

Les propriétés de la table donnent des informations sur cette table et permettent aussi de vérifier les enregistrements pour un ou plusieurs champs.

onglet "création"
groupe "afficher/masquer" (3ème  bloc)
<clic g> sur
La feuille des propriétés s'affiche dans le volet droit

Description : Décrit le du contenu et la fonction de la table

Valide si : Condition à vérifier pour qu'un enregistrement soit valide

Message si erreur : Affiche un message quand la règle de validation n'est pas respectée

RÈGLE DE VALIDATION DES ENREGISTREMENTS :

La validation des données s'effectue dès que l'on quitte le champ. Les règles de validation d'une table peuvent contenir des références à un ou plusieurs champs de la table, ce qui est très utile pour comparer les valeurs de différents champs. Les champs sont encadrés par [  ]. Une seule règle est définie, mais plusieurs critères peuvent être combinés.

Valide si : [DateRetour]>=[DateEmprunt] Ou [DateRetour] Est Null

Message si erreur : Attention ! problème de date

Dans la table "emprunt" de la base en cours "bibliotheque",
Créer les règles de validation :
Valide si : [DateRetour]>=[DateEmprunt] Ou [DateRetour] Est Null
Message si erreur : attention ! problème de date

Les propriétés simplifiées de la table sont affichées lorsque la table n'est pas en mode  "création" ou à partir du volet de navigation.

bouton droit
pointer sur la table dans le volet de navigation
<clic droit>

E.              SOUS-FEUILLE

Du fait de la structure relationnelle, on peut organiser un affichage hiérarchique des données par l'intermédiaire de la propriété de table Sous-feuille données nom.

À partir des relations existant dans la base de données, Access propose automatiquement l'affichage de la table liée.

bouton gauche
table ouverte en mode "feuille de données"
<clic g>  sur le en face de l'enregistrement (pour réduire)

Pour afficher les ouvrages écrits par un auteur, ouvrir la table "auteur"
<clic g> sur le "+" en face de l'auteur

Pour développer / réduire tous les enregistrements de la feuille, <clic g>  auparavant sur pour sélectionner toute la table

V.        FORMULAIRES

Les formulaires ne possèdent à l'origine qu'un espace "détail" pour les données. Des images, des graphiques, des calculs, des messages, des pièces jointes, des dessins... peuvent être insérés dans le formulaire.

A.             CONTRÔLES

Les contrôles sont les objets affichés dans le formulaire (champ, forme, image...). Les contrôles peuvent être dépendants, indépendants ou calculés

dépendants - Ces contrôles affichent les données à partir des tables ou des requêtes. Ils servent à afficher, saisir ou mettre à jour des valeurs des champs

Indépendants - Ces contrôles affichent des informations  non stockées dans les tables

Calculés - Ces contrôles affichent des données générées à partir d'une expression (une expression commence par le signe "=")

B.             MODE CRÉATION

Plusieurs modes d'affichages permettent de travailler avec un formulaire mais le plus complet pour gérer la structure du formulaire est le mode "création".

onglet "créer"
groupe "formulaires" (4èmebloc)
<clic g> sur pour afficher le nouveau formulaire en mode "création"
L'onglet "création" affiche les contrôles et les outils nécessaires

Le meilleur moyen de créer un formulaire est d'utiliser les outils automatiques de l'onglet "créer" du ruban puis de personnaliser le formulaire en mode "création".

À partir d'ici, nous utiliserons la base "Bibliothèque avec données", identique à la base créée mais contenant des données. À partir de la table "ouvrage" de la base "Bibliothèque avec données", Créer un formulaire vierge et l'enregistrer sous le nom "ouvrage"

C.             ENTÊTES-PIEDS DE PAGE

Comme dans une page Word ou une feuille Excel, il est possible d'adjoindre un en-tête et un pied de page. La taille du formulaire, comme l'espace attribué à chacune des parties "en-tête", "détails" et "pied de formulaire", peut être modifiée avec la souris.

onglet "création"
groupe "en-tête/pied de page" (4ème  bloc)

<clic g> sur un outil
l'élément est inséré et les espaces "en-tête" et "pied de page" s'affichent

Des outils appropriés aux en-têtes et pieds de page sont disponibles dans le ruban.

Dans le formulaire "ouvrage" de la base en cours "Bibliothèque avec données",
En mode "création", insérer un titre, la date et un "logo"
Afficher en mode "formulaire" pour visualiser

D.             CONTRÔLES DÉPENDANTS

Les contrôles dépendants vont afficher les valeurs du champ sous diverses formes.

onglet "création"
groupe "outils" (5èmebloc)
<clic g>  sur éventuellement sur
développer éventuellement les tables avec
si la liste des champs n'est pas affichée
<clic g>  sur
la liste des champs s'affiche
<faire glisser> le(s) champ(s) à ajouter à l'endroit voulu du formulaire
le contrôle dépendant lié au champ et le contrôle étiquette associé sont insérés dans le formulaire

Si des champs de plusieurs tables différentes sont affichés dans le formulaire, une requête est automatiquement créée, utilisant les relations existantes entre les tables

À partir de la table "ouvrage" de la base en cours "Bibliothèque avec données",
Dans le formulaire en cours, insérer les champs de la table

Il est possible de modifier le type de contrôle à postériori.

bouton droit
<clic g> sur le champ
<clic d>
<clic g> sur le type de contrôle désiré
le nouveau type de contrôle prend la place du précédent

Le groupe "contrôles" de l'onglet "création" propose les contrôles disponibles.

Les contrôles en gris ne sont pas disponibles de par la nature du champ sélectionné

Dans le formulaire "ouvrage" de la base en cours "Bibliothèque avec données",
Afficher en mode "formulaire", observer le champ "langue" puis revenir en mode création
Remplacer le contrôle du champ "Langue" par un contrôle de type "zone de liste déroulante"
Afficher en mode "formulaire", observer le champ "langue" puis revenir en mode création
Remplacer de nouveau le contrôle du champ "Langue" par un contrôle de type "zone de liste " comme à l'origine

E.              CONTRÔLES INDÉPENDANTS

Les contrôles indépendants vont afficher des données indépendantes des tables (texte, image, forme, dessin…).

onglet "création"
groupe "contrôles" (3èmebloc)
<clic g> sur le type de contrôle à insérer
le contrôle s'insère automatiquement
ou
<faire glisser> la souris pour définir la position et la taille du contrôle

Activer "l'assistant contrôle" en cliquant sur du groupe "contrôles" du ruban puis :
À chaque utilisation d'un contrôle, l'assistant vous guidera dans des fenêtres classiques d'assistance

F.              SÉLECTION

Avant de manipuler un contrôle ou un objet, il est impératif de le sélectionner.

bouton gauche
<clic g> sur un contrôle pour le sélectionner
le contrôle sélectionné est encadré d'un trait orange épais et l'autre d'un trait noir fin
<clic g> de nouveau sur le contrôle donne accès au texte
le texte de l'étiquette peut ainsi être modifié

<faire glisser> déplace les 2 contrôles (étiquette et champ) simultanément ;
Pour les déplacer séparément, faire glisser le carré en haut et à gauche d'un contrôle :
Pour supprimer un contrôle, le sélectionner puis appuyer sur <suppr> du clavier

Pour sélectionner plusieurs contrôles en même temps :

sélection contrôles (adjacents)
<clic g>  à l'extérieur du groupe
<faire glisser> la souris afin d'entourer tous les contrôles
lâcher le bouton de la souris
un cadre pointillé entoure les éléments capturés

contrôles (non adjacents)
maintenez la touche <maj> enfoncée
<clic g>  sur chacun des contrôles à ajouter à la sélection
les sélections s'ajoutent les unes aux autres

<clic g> en dehors d'un objet annule la sélection

Dans le formulaire "ouvrage" de la base en cours "Bibliothèque avec données",
En mode "création", effectuer le type de sélection ci-dessous

G.            PROPRIÉTÉS

Les propriétés du contrôle rassemblent sous forme synthétique toutes les caractéristiques de fond ou de forme du contrôle.

bouton gauche
<double clic> sur le contrôle

bouton droit
<clic d> sur le contrôle

onglet "création"
groupe "outils" (5ème bloc)
sélectionner le contrôle
<clic g>  sur
la liste des propriétés s'affiche classées dans 5 onglets différents

Pour modifier les propriétés du contrôle :

bouton gauche
dans la boite de dialogue "propriétés"
sélectionner l'onglet des propriétés concernées
<clic g>  sur la propriété à modifier
saisir la nouvelle valeur
ou
la choisir dans la liste déroulante par
ou
appeler le générateur d'expression par
<clic g> sur pour fermer la feuille de propriétés

Les onglets regroupent les propriétés par nature.

rassemble toutes les propriétés de mise en forme

rassembleles propriétés des données (origine, masque, contrôle…)

gère les actions liées aux manipulations souris et clavier (macro ou code exécuté suite à l'événement)

gèretoutes les autres propriétés (légende, info-bulle, ordre de saisie…)

regroupe toutes les options

On retrouve évidemment à jour les propriétés modifiées sous un autre mode ou avec les divers outils

<faire glisser>la feuille de propriétés près du formulaire pour l'avoir sous la main(elle se libère du volet)

Dans le formulaire "ouvrage" de la base en cours "Bibliothèque avec données",
En mode création, afficher les propriétés du contrôle "format"
Changer d'onglet de propriété puis se déplacer d'un contrôle à l'autre

H.             CONTRÔLES CALCULES

Il peut être nécessaire d'effectuer un calcul dans un formulaire.

onglet "création"
groupe "contrôles" (3èmebloc)  -  groupe "outils" (5èmebloc)
le formulaire étant créé et affiché en mode "création"
<clic g> sur zone de texte
<faire glisser> pour dessiner le contrôle à ajouter à l'endroit voulu du formulaire
son étiquette s'affichera devant et devra être renseignée, disposée et mise en forme
sélectionner le contrôle seul (sans l'étiquette)
<clic g>  sur si les propriétés ne sont pas affichées
<clic g>  sur pour afficher l'onglet
saisir le nom du contrôle en face de "nom"

<clic g>  sur pour afficher les propriétés de cet onglet
saisir la formule en face de "source contrôle" ou appeler le générateur d'expression

Utiliser le générateur d'expression pour les calculs complexes

On retrouve la syntaxe standard : signe égal "=" pour commencer, crochets [ ] autour du nom de champ et opérateurs arithmétiques classiques +-/*

Dans le formulaire "ouvrage" de la base en cours "Bibliotheque avec donnees"
Créer un contrôle indépendant "PrixHt"
Le disposer et le mettre en forme (euro, 2 décimales) ainsi que son étiquette
Faire calculer par ce contrôle le prix hors taxe des ouvrages soit le prix d'achat divisé par 1,07(1 + tva) en utilisant le générateur d'expression
Afficher en mode "formulaire" pour visualiser puis revenir en mode "création"

I.                 CONTRÔLES

Cette position peut être affinée avec des outils d'alignement notamment.

1.         POSITIONNEMENT

Il est nécessaire de positionner de manière harmonieuse et logique les contrôles.

contrôle et étiquette
<faire glisser>le contrôle (non sélectionné au préalable) à sa nouvelle position
la souris prend la forme suivante :
le contrôle et l'étiquette associée sont déplacés

contrôle seul
sélectionner le contrôle
pointer sur la case de déplacement en haut et à gauche du contrôle
<faire glisser> à la nouvelle position
la souris prend la forme suivante :
le contrôle seul est déplacé

étiquette seule
sélectionner l'étiquette
pointer sur la case de déplacement en haut et à gauche de l'étiquette
<faire glisser> l'étiquette à sa nouvelle position
la souris prend la forme suivante : l'étiquette seule est déplacée

Dans le formulaire "ouvrage" de la base en cours "Bibliothèque avec données"
En mode création, présenter les contrôles dans cet ordre en les faisant glisser

Il est aussi possible de couper/coller ou copier/coller un contrôle avec le presse-papiers

2.         ALIGNEMENT

Malgré la grille de positionnement, il reste difficile d'aligner correctement les contrôles. C'est pourquoi des outils d'alignement sont disponibles.

bouton gauche bouton droit

sélectionnerles contrôles à aligner (tous) en faisant glisser la souris
<clic d>  sur un des contrôles sélectionnés
<clic g>  sur
sélectionnerles contrôles à aligner verticalement (sur une même colonne)
en faisant glisser la souris
<clic d>  sur un des contrôles sélectionnés
<clic g>  sur ou
l'ensemble de la sélection s'aligne sur le contrôle le plus à gauche ou le plus à droite
répéter l'opération pour chaque "colonne" du formulaire
sélectionnerles contrôles à aligner horizontalement (sur une même ligne)
<clic d>  sur un des contrôles sélectionnés
<clic g>  sur ou
l'ensemble de la sélection s'aligne sur le contrôle le plus bas ou le plus haut
répéter l'opération pour chaque "ligne" du formulaire

Ces outils sont aussi disponibles dans le ruban.

onglet "organiser"
"redimensionnement/classement" (6èmebloc)
sélectionnerles contrôles à aligner (selon le type d'alignement désiré)
<clic g>  sur
<clic g>  sur le type d'alignement voulu

les contrôles et les étiquettes sont alignés séparément

Aligner les contrôles par blocs homogènes, par exemple d'abord les étiquettes de la 1ère colonne verticalement puis les contrôles, idem pour la 2ème colonne …puis la 1ère ligne horizontalement, la deuxième…

Pour aligner verticalement les étiquettes associées aux contrôles de la partie droite du formulaire sur l'étiquette la plus à gauche :
Déplacer éventuellement vers la gauche l'étiquette par rapport à laquelle on veut s'aligner
Sélectionner les contrôles en faisant glisser la souris
(il suffit de sélectionner une partie de l'étiquette)

Cliquer sur de l'outil de l'onglet "organiser" du ruban

Dans le formulaire "ouvrage" de la base en cours "Bibliothèque avec données"
En mode création, aligner les contrôles

3.         ESPACEMENT

Des outils gèrent les espacements horizontaux et verticaux des contrôles sélectionnés.

onglet "organiser"
"redimensionnement/classement" (6èmebloc)
sélectionner les contrôles à ajuster(selon le type d'ajustementdésiré : horizontal ou vertical)
<clic g>  sur
<clic g>  sur le type d'ajustement voulu 

Dans le formulaire "ouvrage" de la base en cours "Bibliothèque avec données"
En mode création, espacez régulièrement les contrôles

J.               DIMENSIONNEMENT

Il est important de donner une dimension adéquate au contrôle, afin que les données soient affichées en entier. Ils peuvent être traités globalement.

bouton gauche
sélectionner le contrôle ou les contrôles

positionner le pointeur sur une des petites cases du cadre orange (poignée de redimensionnement) encadrant un contrôle:le pointeur de la souris prend la forme d'une double flèche ou sur les côtés et ou sur les angles
<faire glisser> la souris pour modifier la taille

bouton droit
sélectionner les contrôles en faisant glisser la souris
<clic d>  sur un des contrôles sélectionnés
<clic g>  sur le type d'ajustement voulu

organiser
groupe "dimensionnement et classement" (6)

sélectionner les contrôles à ajuster (selon l'ajustement désiré : horizontal ou vertical)
<clic g>  sur
<clic g>  sur le type d'ajustement voulu

Pour donner la même hauteur et la même largeur aux contrôles "reference" et "titre"
Sélectionner les 2 contrôles avec la touche "maj" (ne pas prendre les étiquettes ici)

<clic g> sur puis de

Dans le formulaire "ouvrage" de la base en cours "Bibliothèque avec données"
En mode création, adapter la disposition et la taille des contrôles comme ci-dessous

K.             MISE EN FORME

Les contrôles peuvent recevoir une mise en forme (police, taille, couleur, alignement, bordures)

onglet "format"
groupe "polices" (2ème bloc)
sélectionner le ou les contrôles
<clic g> sur un des outils
le contrôle prend la mise en forme choisie

bouton droit
sélectionner les contrôles en faisant glisser la souris
<clic d> 
les options de mise en forme s'affichent

À noter quelques outils de mise en forme  particulièrementpratiques (notamment l'aspect du contrôle) situés dans le bloc "contrôler la mise en forme" (dernier bloc)

Pour mettre en forme les étiquettes des 4 premiers contrôles
Sélectionner les étiquettes avec la touche "maj" (ne pas prendre les contrôles)

<clic g> sur et choisir la police "Arial"
<clic g> sur et choisir la taille de police "11"
<clic g> sur pour aligner à gauche

Dans le formulaire "ouvrage" de la base en cours "Bibliothèque avec données"
Présenter le formulaire de manière esthétique en choisissant l'effet spécial "ombré" pour les champs avec l'outil

L.              ORDRE

Les formulaires sont destinés à la saisie ou à la consultation. Lorsqu'ils sont destinés à la saisie des données, cette saisie s'effectue avec le clavier et en utilisant la touche <tab> pour passer d'un contrôle à un autre (plutôt qu'en cliquant avec la souris et en faisant des allers retours clavier/souris incessants). Il faut donc prédéfinir de manière logique l'ordre de saisie des données.

bouton gauche
dans la feuille de propriétés du contrôle  onglet "autres"
saisir une valeur ou afficher la boite de dialogue avec

bouton droit
<clic d>
dans le formulaire
classer les contrôles

onglet "création"
groupe "outils" (5èmebloc)
<clic g>  sur
classer les contrôles dans l'ordre de saisie

Certains contrôles peuvent ne pas avoir un nom explicite – modifier alors le "nom" du contrôle (1ère propriété de l'onglet "autres")

Dans le formulaire "ouvrage" de la base en cours "Bibliothèque avec données"
Ordonner la saisie des contrôles comme dans la boite de dialogue ci-avant

M.            TYPES DE CONTRÔLE

Ils sont affichés dans le groupe "contrôles" de l'onglet "création".

              Zone de texte
Permet d'afficher ou de saisir des données

              Étiquette du contrôle
Affiche les textes informatifs ou descriptifs

              Bouton de commande
Lance une commande ou une série de commandes

              Contrôle onglet
Crée un nouvel onglet

              Lien hypertexte
Insère un lien hypertexte (interne ou externe)

              contrôle du navigateur Web
Affiche la page web indiquée dans le contrôle

              formulaire de navigation
Crée une interface Web des données de la base

              Groupe d'options
Contient des cases à cocher, des cases d'options ou des boutons bascule

              Saut de page
Insère une nouvelle page à l'endroit sélectionné

              Zone de liste déroulante
Sélectionne une valeur dans une liste, qui se déroule avec

              Graphique
Insère un graphique

              trait
Dessine un trait

              Bouton bascule
Sélectionne une valeur logique (oui/non)

              Zone de liste
Sélectionne une valeur dans une liste

              rectangle
Dessine un rectangle

              Case à cocher
Sélectionne une ou plusieurs valeurs (plusieurs choix possibles)

              Cadre d'objet indépendant
Crée un objet de type Ole indépendant (feuille Excel, diapositive Powerpoint, animation flash…)

              Pièce jointe
Insère une pièce jointe

              Case d'option
Sélectionne une valeur parmi plusieurs (1 choix possible)

              Sous-formulaire (ou sous-état)
Insère un sous-formulaire dans le formulaire en cours

              Cadre d'objet dépendant
Crée un objet lié à un champ

              Image
Insère un fichier image

              Assistant contrôle
Active ou désactive les assistants contrôle

              Active X
Insère un "active x" (calendrier, flash…)

              Image
Insère un fichier image et le conserve dans une galerie disponible directement

              Logo
Affiche un logo ou une image en entête

              Titre
Insère un titre dans l'entête

              Date / heure
Insère la date et/ou l'heure dans l'entête

Penser à activer l'assistant contrôle pour effectuer de manière simple et assistée la plupart des opérations
(les exercices à suivre sont cependant à faire sans l'assistant)

1.         CONTRÔLE ONGLET

Il va permettre de répartir les contrôles dans des onglets. Il doit être créé au tout début de la conception du formulaire.

onglet "création"
groupe "contrôles" (3èmebloc)
<clic g> sur (contrôle onglet)
la souris prend la forme d'une croix accompagnée du contrôle +
<faire glisser> la souris dans le formulaire pour dessiner l'onglet
tracer une forme de la taille de la zone détail du formulaire
sélectionner la 1ère 'étiquette "page1"
afficher la feuille de propriétés
saisir le libellé dans la zone "nom"
idem pour la seconde étiquette
afficher la 1ère page
insérerles contrôles désirés (comme dans un formulaire classique)
afficher la 2ème page
insérer les contrôles désirés

Pour insérer une nouvelle page, <clic droit> sur le libellé de l'onglet

Dans la base en cours "Bibliothèque avec données" à partir de la base "ouvrage"
Créer un nouveau formulaire affichant 3 onglets comme ci-dessous
L'enregistrer sous le nom "onglets" puis le fermer

2.         LIEN HYPERTEXTE

Il crée un lien avec une page web locale ou externe. Le contrôle "lien internet" crée un lien fixe quel que soit l'enregistrement affiché.

onglet "création"
groupe "contrôles" (3èmebloc)
sélectionner la zone du formulaire ou insérer le lien (entête, détail…)
<clic g> sur (lien internet)
la boite de dialogue standard de création de lien internet s'affiche
<clic g> sur
saisir le libellé dans la zone texte
ce texte sera affiché dans le formulaire
saisir le lien dans la zone adresse
ce lien est de la forme http:// ; il pointe vers la page à ouvrir dans le navigateur internet
saisir éventuellement une bulle d'information
le texte de cette bulle sera affiché lorsque la souris pointera sur ce lien
pour valider

Dans le formulaire "ouvrage" de la base "Bibliothèque avec données", créer à côté du nom de l'ouvrage un lien ayant les caractéristiques ci-dessus, le tester en mode formulaire

3.         CONTRÔLE NAVIGATEUR

Il affiche en lecture directe la page web indiquée dans le contrôle. Cette page n'est pas fixe mais varie en fonction de l'enregistrement.

onglet "création"
groupe "contrôles" (3èmebloc)
aller sur le site web et faire la recherche appropriée de l'article(livre, disque…)
copier cette adresse dans le presse-papiers
<clic g> sur (contrôle de navigateur Web)
la boite de dialogue s'affiche
dans la zone
coller l'adresse dans la zone adresse
appuyer  sur <tab>
les champs "url de base", "chemin d'accès" et "paramètres" sont automatiquement renseignés
dans la zone "paramètres", <clic g> à la fin du champ "valeur" du paramètre concerné
remplacer ce paramètre par le champ de la base qui continent cette donnée
afficher en mode formulaire et faire défiler les enregistrements
la page affichée doit correspondre à l'enregistrement
pour valider

Pour afficher dans le formulaire la page d'un libraire en ligne (ex amazon.fr)
Rechercher un des ouvrages de la bibliothèque sur le site du libraire par son isbn (idéal si on le possède) ou par son titre, copier le lien dans le presse papier puis ouvrir le formulaire en  mode création
<clic g> sur (contrôle de navigateur Web)-la boite de dialogue s'affiche
dans la zone
coller l'adresse dans la zone adresse (ou l'adresse corrigée dans la zone "url de base")
appuyer  sur <tab>
les champs "url de base", "chemin d'accès" et "paramètres" sont automatiquement renseignés
dans la zone "field-keywords", <clic g> à la fin du champ "valeur"

effacer le titre du livre et le remplacer par le champ "titre" de la base "ouvrage"
valider
afficher en mode "formulaire" et faire défiler les enregistrements

Dans le formulaire "ouvrage" de la base "Bibliothèque avec données", créer un contrôle navigateur Web ayant les caractéristiques ci-dessus, le tester en mode formulaire, enregistrer puis fermer le formulaire

4.         FORMULAIRE NAVIGATION

Il crée une interface web d'affichage des données de la base. Il peut être utilisé tel quel dans la base ou être lié aux listes sharepointtm générées par la base. Il peut être construit de toutes pièces ou créé à partir d'un formulaire existant.

onglet "créer"
groupe "formulaires" (4èmebloc)
<clic g> sur
choisir une présentation de formulaire :
le formulaire s'affiche
vérifier que vous êtes bien en mode "page"
<clic g>  sur de la liste des champs
<clic g>  sur dérouler les champs des tables
<faire glisser> les champs à leur position :
les champs s'affichent dans le formulaire
enregistrer le formulaire

Il faut ensuite l'exporter au format html pour être ouvert directement dans un navigateur web

bouton droit clavier
dans le volet de navigation
<clic d> sur

valider les différentes étapes
ouvrir le formulaire avec un navigateur pour le tester
le fichier est à priori enregistré dans le dossier "mes documents" de l'utilisateur

À tout moment, il est possible de rappeler la liste des champs avec

…

Pour afficher le formulaire ci-dessus dans le navigateur :
<clic g> sur de
<clic g> sur
vérifier que vous êtes bien en mode "page"
<clic g>  sur de la liste des champs
<clic g>  sur dérouler les champs des tables
<faire glisser> successivement en haut "genre" de la table "type_genre", langue"  puis "titre" de la table "ouvrages"
afficher en mode formulaire pour vérifier
enregistrer le formulaire sous le nom "formulaire de navigation titres"
dans le volet de navigation, sélectionner le formulaire
<clic d> sur puis 
valider les différentes étapes
ouvrir le formulaire avec un navigateur pour le tester

Créer un formulaire de navigation comme ci-dessus et l'ouvrir dans le navigateur
l'enregistrer sous le nom "navigation" et le fermer

5.         GROUPE D'OPTIONS

Il va permettre d'afficher sous forme de choix les valeurs stockées dans une table.

onglet "création"
groupe "contrôles" (3èmebloc)
<clic g> sur (groupe d'options)
la souris prend la forme d'une croix accompagnée du contrôle +
<faire glisser> la souris dans le formulaire pour positionner le contrôle
tracer une forme assez grande (pour pouvoir afficher les cases et leurs étiquettes)
<clic g> dans la 1ère étiquette et saisir le libellé
idem pour la seconde et les suivantes
assigner des valeurs aux étiquettes (accepter les choix proposés)
indiquer le champ à associer(la valeur sera stockée dans ce champ)
choisir le type de case et leur présentation
saisir le nom du groupe d'options

Pour afficher les différents formats de livres sous forme d'options comme ci-avant
<clic g> sur (assistant activé), dessiner la zone de contrôle puis saisir les libellés

confirmer les valeurs aux étiquettes

indiquer le champ à associer

choisir le type de case et leur présentation

saisir le nom du groupe d'options

Rouvrir le formulaire "ouvrage" de la base en cours
Créer un groupe d'options (case à cocher) comme ci-avant avec l'assistant

Si l'assistant n'est pas activé…

onglet "création"
groupe "contrôles" (3èmebloc)
<clic g> sur (groupe d'options)
la souris prend la forme d'une croix accompagnée du contrôle +
<faire glisser> la souris dans le formulaire pour dessiner le groupe
tracer une forme assez grande (pour pouvoir afficher les cases et leurs étiquettes)
<clic g> sur (case à cocher)
ou <clic g> sur (case d'option)
ou <clic g> sur (bouton bascule)
la souris prend la forme d'une croix accompagnée du contrôle +
<faire glisser> la souris à l'intérieur du cadre pour positionner le contrôle
positionner de manière à pouvoir aligner horizontalement ou verticalement
<clic g> dans l'étiquette et saisir le libellé
afficher l'onglet "données" des propriétés du contrôle
valeur contrôle : saisir la valeur du champ associée à l'option
répéter l'opération pour toutes les options du groupe

Dans la feuille de propriétés, ces choix se traduisent de la manière suivante :

Pour faire un groupe d'options avec les valeurs du champ "format", il faut d'abord : créer le groupe d'options
l'associer au champ "format" :
créer dans le groupe les cases d'option
faire correspondre chaque case avec sa valeur du champ "format" de la table "ouvrages", : petit: , moyen: et grand:

Dans le formulaire "ouvrage" de la base en cours
Supprimer le groupe d'options créé
Le recréer en groupe d'options sans l'assistant

Bien sélectionner le contrôle lui-même (la case) et non l'étiquette pour afficher les bonnes propriétés – bien nommer tous les objets (groupe et  options) – si le groupe d'options est dépendant, le nommer comme le champ associé

6.         LISTE

Il est possible de définir une liste de valeurs ou d'en définir le contenu comme étant stocké dans un champ d'une table associée. Elle s'affiche automatiquement ainsi que son contenu si le champ est déjà déclaré ainsi dans la table (ce qui est conseillé).

onglet "création"
groupe "contrôles" (3èmebloc)
<clic g> sur (zone de liste déroulante) ou (zone de liste)
la souris prend la forme d'une croix accompagnée du contrôle +
<faire glisser> la souris dans le formulaire pour positionner le contrôle
le contrôle et son étiquette s'affichent
définir la nature de la liste :

saisir les éléments de la liste

ou

indiquer la table ou la requête où trouver les éléments

puis le champ sélectionné :

indiquer l'ordre de tri
définir la lageur de la colonne
valider les autres éléments

Si l'assistant n'est pas activé…

onglet "création"
groupe "contrôles" (3èmebloc)
<clic g> sur (zone de liste déroulante) ou (zone de liste)
la souris prend la forme d'une croix accompagnée du contrôle +
<faire glisser> la souris dans le formulaire pour positionner le contrôle
le contrôle et son étiquette s'affichent
afficher l'onglet "données" des propriétés du contrôle
origine source : indiquer si la source est une table/requête ou une liste de valeurs
source contrôle: choisir dans la liste le champ à associer (si liste dépendante)
contenu : selon les cas, indiquer une liste de valeurs séparées par un point-virgule ou une requête/table
indiquer si la liste peut être modifiée et si elle peut être enrichie
propriétés "limiter à liste" et "autoriser les modifications"

La liste des valeurs indiquée sera fixe si "limiter à liste" a la valeur "oui" et "autoriser la modification de la liste" la valeur "non"

Pour modifier le type d'un contrôle existant, faire un <clic droit> sur le contrôle puis

(1)     LISTE SIMPLE

Il peut être aussi intéressant d'aller chercher les valeurs actuelles du champ pour les proposer dans la liste tout en permettant l'ajout de nouvelles valeurs. Il faut alors faire une requête sélection dans le champ contenu qui ira chercher les valeurs actuelles de ce champ ; (cependant, si une nouvelle valeur est saisie et vient implémenter la table liée, il peut être nécessaire d'actualiser le formulaire en cours afin qu'elle s'affichedans la liste).

Dans la liste du contrôle "Langue",
Pour faire figurer les éléments existants soit  Français, Anglais mais aussi pouvoir ajouter de nouveaux éléments (Espagnol, Allemand…) et que ces derniers figurent automatiquement dans la liste, il faut paramétrer les propriétés du contrôle "Langue" comme suit

La requête correspondant au code sql est la suivante :

En cours d'utilisation, il peut être nécessaire de cliquer sur le bouton du ruban pour mettre à jour la liste après un ajout ou une modification de cette liste

             Dans le formulaire "ouvrage" de la base en cours "Bibliothèque avec données"
Modifier le contrôle "Langue" en zone de liste déroulante.

Paramétrer cette zone de liste pour que l'on puisse ajouter de nouvelles langues et que celles-ci soient automatiquement proposées comme dans l'exemple ci-dessus
Tester le contrôle en mode formulaire :
Remplacer pour le 1er enregistrement la langue "Anglais" par "Espagnol"
Actualiser puis afficher le 2ème enregistrement
Vérifier dans la liste "langue" que "Espagnol" est maintenant proposé
Revenir sur le 1er enregistrement et remettre "Anglais" comme langue
Actualiser puis afficher le 2ème enregistrement
Vérifier dans la liste "langue" que "Espagnol" n'est plus proposé

(2)     AJOUTER UN ÉLÉMENT

Si la liste est liée à une table, un nouvel élément doit pouvoir venir enrichir la table.

Un moyen quelquefois utilisé dans des applications peu élaborées (mais qui fonctionne) est de fermer la saisie en cours, d'ouvrir la table contenant la liste (par un formulaire associé), de créer la nouvelle donnée, de fermer la table contenant la liste et de rouvrir la table faisant appel à la liste (maintenant enrichie). Néanmoins, c'est un moyen peu pratique utilisé uniquement lorsque l'on ne sait pas utiliser les fonctionnalités avancées d'Access

L'idéal est qu'un formulaire s'ouvre automatiquement pour pouvoir ajouter un nouvel élément dans la liste.

Je saisis un nouvel ouvrage ; l'éditeur est un nouvel éditeur et ne figure pas dans la liste. Je dois pouvoir créer ce nouvel éditeur directement sans avoir à stopper la saisie d'ouvrage en cours

Tout d'abord, Il faut créer un formulaire spécifique de saisie (de préférence en mode "ajout") qui permet d'ajouter le nouvel élément de liste. Ensuite, il faut paramétrer le contrôle "liste" afin que ce formulaire s'affiche lorsque l'utilisateur saisit une valeur n'appartenant pas à la liste.

bouton gauche
partir d'un formulaire existant ou en créer un nouveau
afficher les propriétés du formulaire
paramétrer les propriétés "entrée", "ajout", "suppr", "modif" comme ci-dessous

Puis il faut modifier le formulaire principal pour qu'il fasse appel au formulaire d'ajout et autoriser les modifications de la liste de valeurs

bouton gauche
afficher le formulaire principal en mode "création"
afficher les propriétés de la liste
propriété
indiquer le formulaire créé précédemment
activer :
fermer la fenêtre de propriétés

Si des données sont obligatoires dans la table, elles doivent être saisies pour pouvoir valider ce formulaire (d'où l'intérêt de bien analyser les données des tables lors de la conception)

Lors de la saisie d'une valeur qui n'existe pas encore dans la table, il est demandé confirmation à l'utilisateur.

Le formulaire indiqué est alors automatiquement ouvert. Il suffit de saisir la nouvelle valeur puis de fermer le formulaire : la valeur saisie est alors acceptée dans le formulaire principal et dorénavant disponible dans la liste.

Dans la base en cours "Bibliotheque avec donnees"
A partir du formulaire "Editeur", créer un formulaire "NouvelEditeur" uniquement en mode "ajout"
Dans le formulaire "Ouvrage", paramétrer la liste des éditeurs afin que le formulaire "NouvelEditeur" soit appelé pour saisir un éditeur qui n'existe pas encore dans la liste
Tester le contrôle en saisissant le titre ci-dessus pour l'éditeur "Hachette" (ne pas aller jusqu'au bout de la saisie)

7.         PIÈCE JOINTE

Le champ "pièce jointe" va permettre d'aller chercher un fichier sur le disque, le réseau ou le web et de l'associer à l'enregistrement en cours. Pour pouvoir utiliser le contrôle "pièce jointe", il est nécessaire qu'un champ de ce type existe dans la table associée.

onglet "création"
groupe "contrôles" (3ème bloc)
<clic g> sur (pièce jointe)
<faire glisser> la souris dans le formulaire pour dessiner et positionner le contrôle
tenir compte de la taille du contrôle – redimensionner préalablement l'image
<clic g>dans l'étiquette et saisir un libellé (ou supprimer l'étiquette si elle est inutile)
afficher l'onglet "données" des propriétés du contrôle

désigner le champ associé
afficher l'onglet "format" des propriétés du contrôle

choisirle type d'affichage (image/icône convient la plupart du temps)

Le fichier joint est inclus dans la base et peut la faire grossir en volume de manière importante (images, vidéos, …)

Faire directement glisser le champ de type "fiche" ou "image" dans le formulaire évite tout paramétrage

Pour pouvoir associer à chaque ouvrage de la bibliothèque une fiche sous Word et une image de couverture
Créer les champs nécessaires dans la table "ouvrage"

Ouvrir le formulaire "ouvrage" en mode création puis <clic g> sur (pièce jointe)
Positionner le contrôle dans le formulaire et lui donner une forme rectangulaire verticale assez grande pour afficher lisiblement une photo de la couverture
<clic d> propriétés sur le contrôle
Vérifier que "photo" est sélectionné comme source contrôle sinon l'indiquer
Répéter l'opération pour le champ "fiche", enregistrer puis fermer le formulaire

Il est possible d'associer des fichiers au contrôle.

bouton gauche
ouvrir le formulaire en mode "formulaire"
sélectionner le contrôle
la barre d'outils s'affiche au-dessus du contrôle
<double clic> sur le contrôle ou <clic g>  sur de

<clic g> sur et désigner le fichier dans son dossier
répéter éventuellement l'opération pour d'autres fichiers
pour valider

Pour associer à chaque ouvrage de la bibliothèque sa fiche sous Word et son image de couverture
Ouvrir le formulaire "ouvrage" en mode formulaire
<double clic> sur le contrôle "photo"
<clic g> sur
Désigner le dossier et sélectionner la couverture associée à l'ouvrage ()
pour valider
Répéter l'opération pour le champ "fiche" en choisissant le dossier "fiches"

En consultation, un <double clic> permet d'ouvrir la pièce jointe ; si c'est une image, elle est affichée et un <clic g> sur le contrôle affiche une barre d'outils contextuelle qui permet de faire défiler les éléments s'il y en a plusieurs

Ajouter deux champs pièces jointes nommés "photo" et "fiche" à la table "ouvrage"
Modifier le formulaire "ouvrage" et lui adjoindre 2 contrôles "pièces jointes" associés aux champs créés

8.         SOUS-FORMULAIRE

Le sous-formulaire permet d'afficher des données (le + souvent d'une table ou requête liée) à l'intérieur d'un formulaire dit "principal". (Par exemple, les différents auteurs d'un même ouvrage ou encore les différents bulletins de salaire d'un salarié).

onglet "création"
groupe "contrôles" (3ème bloc)
créer le formulaire de la table liée comme un formulaire normal mais avec une présentation en ligne, l'enregistrer en précisant "sous-formulaire…."
puis le fermer
ouvrir le formulaire principal
<clic g> sur (sous-formulaire)
la souris prend la forme d'une croix accompagnée du contrôle +
<faire glisser> la souris dans le formulaire pour positionner le contrôle
le contrôle et son étiquette s'affichent
supprimer éventuellement l'étiquette
sélectionner le sous-formulaire
il doit être complètement entouré d'un cadre de sélection
afficher l'onglet "données" des propriétés du contrôle
objet source : sélectionner dans la liste le sous-formulaire que vous venez de créer

L'assistant guide l'utilisateur dans les choix et options :
…

le plus simple est de faire glisser directement la table ou la requête (ou le futur sous-formulaire s'il existe déjà) à partir du volet gauche, directement dans le formulaire principal en mode "création"

Pour afficher les différents auteurs d'un livre dans le formulaire "ouvrage"
Créer un sous-formulaire à partir de la table "auteur" comme ci-dessous

L'enregistrer sous le nom "OuvrageEcrit Sous-formulaire" (par exemple) et le fermer
Ouvrir le formulaire "ouvrage"
<clic g> sur (sous-formulaire) de l'onglet "création"
<faire glisser> la souris dans le formulaire pour positionner le contrôle
Supprimer l'étiquette
Sélectionner le sous-formulaire "OuvrageEcrit Sous-formulaire"
Afficher l'onglet "données" des propriétés du contrôle
objet source : sélectionner dans la liste " OuvrageEcrit Sous-formulaire"
champ père : choisir "N°ouvrage"
champ fils : choisir "N°ouvrage"
Afficher en mode formulaire puis effectuer les corrections nécessaires
Idem en faisant glisser la table "Ecrit" dans un formulaire "Auteur"

Dans le formulaire "ouvrage" de la base en cours "Bibliotheque avec donnees"
Créer un sous-formulaire affichant les auteurs et enregistrer

9.         ACTIVE X

Un active X est un composant réutilisable (élément logiciel autonome) permettant d’interagir dans l'environnement logiciel.

onglet "création"
groupe "contrôles" (3ème bloc)
<clic g> sur
la boite de dialogue de sélection des active X s'affiche
sélectionner l'Active X à insérer
pour valider
<clic g> dans le formulaire
le contrôle s'affiche

Si un message de sécurité s'affiche, autoriser les Active X (il peut alors être nécessaire de rouvrir le formulaire)

bouton gauche
afficher la boite de dialogue "propriétés" du contrôle
sélectionner l'onglet "donnée
vérifier l'association  
<clic g> sur pour fermer

N.             PROPRIÉTÉS

Le formulaire, comme chacune de ses sous-partie (entête, détail, pied), a ses propres propriétés. Notamment, dans l'onglet "données" figure la requête source du formulaire (créée éventuellement automatiquement en fonction des champs choisis). Dans l'onglet "autres" s'affiche des caractéristiques spécifiques.

Dans la base "Bibliotheque avec donnees"
Créer des formulaires simples pour chacune des tables
Empêcher l'affichage des menus contextuels dans les formulaires et les tester
Ouvrir le formulaire "ouvrage", le compléter et le présenter comme ci-dessous
Paramétrer le champ "N°Serie" afin d'ajouter une nouvelle série (comme pour "N°Editeur")
L'enregistrer

VI.   REQUÊTES ACTION

En dehors des requêtes sélection(et analyse croisée), d'autres types de requêtes, les requêtes "action" agissent" sur les données.

: Génère une nouvelle table à partir des enregistrements extraits

: Ajoute un groupe d'enregistrements à une table

: Modifie les données d'un groupe d'enregistrements

: Supprime des enregistrements d'une table

: Sélectionne les enregistrements satisfaisant des critères

: Synthétise les données sous forme de tableau croisé

Avant de les utiliser, faire une requête "sélection", afficher les données puis, après vérification, la transformer en requête "action" et l'exécuter.

A.             REQUÊTES

Pour tous les types de requête, il est possible de créer la requête directement ou de passer par l'assistant requête (Voir Access 2013 1erniveau).

onglet "créer"
groupe "requêtes" (3èmebloc)
<clic g> sur ou
créer la requête comme requête sélection avec les données de la table à créer
afficher les résultats de la requête en mode "feuille de données"
puis revenir en mode "création"

B.             "CRÉATION DE TABLE"

Elles vont générer une nouvelle table dans la base existante ou une autre base.

onglet "créer"
groupe "type de requête" (2èmebloc)
<clic g> sur   pour transformer la requête "sélection" en requête "action"
nommer la table
pour valider
<clic g> sur    pour exécuter la requête

Access demandede nombreuses confirmations auxquelles il faut répondre par "oui" (non sans les avoir lues au préalable)

Dans la base en cours "Bibliothèque avec données"
Créer une requête de type "création de table" qui ajoutera dans la base actuelle une table appelée "livres policiers" comportant les champs suivants :

à prendre dans les différentes tables et uniquement pour le genre "policier"
Enregistrer la requêtes, l'exécuter puis vérifier la table créée

…

Il est possible de donner le nom d'une table déjà existante si l'on souhaite remplacer celle-ci avec les nouvelles données sélectionnées

C.             "AJOUT"

Elles permettent d'ajouter un groupe d'enregistrements à une table. Il faut bien évidemment que les nouveaux enregistrements respectent la structure de la table et la nature des champs de la table.

onglet "créer"
groupe "type de requête" (2èmebloc)
<clic g> sur   pour transformer la requête "sélection" en requête "action"
sélectionner la table à la quelle ajouter les données
pour valider
<clic g> sur    pour exécuter la requête

Veiller à ce que les données ajoutées soient cohérentes avec la structure de la table(une table des erreurs est éventuellement générée)

Dans la base en cours "Bibliothèque avec données"
Créer une requête "ajout" qui ajoutera à la table "Livres" créée précédemment les enregistrements du genre "Heroïc Fantasy"
Exécuter la requête et vérifier la table "Livres"

D.             "MISE A JOUR"

Elles vont permettre la mise à jour des données d'une table existante. Elles sont très utilisées et font gagner beaucoup de temps par rapport à des modifications manuelles.

onglet "créer"
groupe "type de requête" (2ème bloc)
<clic g> sur   pour transformer la requête "sélection" en requête "action"
Une ligne supplémentaire est ajoutée dans la grille d'interrogation afin de définir la modification à apporter à un ou plusieurs champs de la sélection
renseigner la ligne "mise à jour" pour les champs à modifier
<clic g> sur    pour exécuter la requête

Le plus souvent, ce ne sont pas tous les enregistrements que l'on veut mettre à jour mais seulement ceux qui correspondent à un certain critère ; il faut alors faire la requête sélection en paramétrant correctement ce critère (afficher en mode "feuille de données" pour vérifier) et ne passer en requête "mise à jour" lorsque l'on qu'on est sûr de sa requête.

Dans la table "Livres" de la base "Bibliothèque avec données"
Remplacer le genre "Heroïc Fantasy" par "Science Fiction" puis vérifier la table "Livres"
Dans le volet de gauche "tables", faire une copie de cette table sous le nom "Livres avec policiers et science fiction"

Dans la table "Livres" de la base "Bibliothèque avec données", le prix d'achat indiqué a été saisi par erreur tel qu'indiqué sur les livres, soit avec une tva à 7,0 %,alors que l'on souhaitait avoir ici le prix Hors Taxes. Effectuer la correction nécessaire (autrement dit, diviser le prix indiqué par 1,070pour obtenir le prix hors taxe).

Penser à utiliser le générateur d'expression pour indiquer les noms de champ ou effectuer des opérations complexes

E.              "SUPPRESSION"

La requête est pratique pour supprimer un groupe d'enregistrements dans une table.

onglet "créer"
groupe "type de requête" (2èmebloc)
<clic g> sur   pour transformer la requête "sélection" en requête "action"
Une ligne supplémentaire "supprimer" est ajoutée dans la grille d'interrogation
<clic g> sur    pour exécuter la requête
confirmer la suppression des enregistrements

Dans la mesure où l'on commence par une requête sélection avant d'effectuer la suppression, le risque d'erreur est minime ; néanmoins, faire une sauvegarde de la base avant d'effectuer ce type d'opérations à risque

Dans la table "Livres" de la base "Bibliothèque avec données"
Créer une requête "suppression" pour éliminer tous les enregistrements de la table n'ayant pas pour sujet "Science Fiction" () et l'exécuter
Afficher la table "Livres" pour vérifier la suppression des enregistrements
Fermer la requête et la table

F.              AVEC PARAMÈTRES

Les paramètres permettent de saisir les critères de sélection lors de l'exécution de la requête. C'est une solution pratique pour des requêtes fréquemment utilisées, mais dont une ou plusieurs informations peuvent varier.

onglet "créer"
groupe "afficher / masquer" (4èmebloc)
<clic g> sur pour transformer la requête "sélection" en requête "action"
saisirles noms des paramètres et leur nature (texte, entier…)
pour valider
indiquer ces paramètres entre crochets comme critères pour les champs concernés
<clic g> sur    pour exécuter la requête
indiquer la valeur des paramètres lorsque la requête le demande

Pour être certain de bien indiquer la même chose, il est possible de copier/coller le nom du paramètre entre la boite de dialogue "paramètres" et la ligne "critères"

Bien indiquer exactement la même chose entre la boite de dialogue "paramètres" et la ligne "critères" de la requête.
Lors de l'exécution de la requête, indiquer exactement la valeur du paramètre demandé telle qu'elle existe dans la base (bien faire attention à l'orthographe et éventuellement aux accents s'il y en a)
Bien vérifier le résultat de la requête : le fait que des lignes soient affichées ne signifie pas forcément que la requête correspond à ce que l'on en attend

Pour créer une requête qui affiche les ouvrages et les informations associées en fonction de leur genre et de leur éditeur.
Créer une requête classique de sélection comme ci-dessous

<clic g> sur pour transformer la requête "sélection" en requête "action"
saisir le nom du 1er paramètre "Nom de l'éditeur" et sa nature "texte"
saisir le nom du 2ème paramètre "nature du livre" et sa nature "texte"

pour valider
Dans la requête
Afficher le champ "LibelleEditeur" et indiquer "Nom de l'éditeur" entre crochets sur la ligne "critères"
Afficher le champ "Sujet" et indiquer " Nature du livre " entre crochets sur la ligne "critères"
<clic g> sur    pour exécuter la requête et saisir les valeurs des paramètres à la demande

À partir de la base "Bibliothèque avec données", créer une requête donnant comme information : la référence de l'ouvrage, son titre, sa date d'achat, son prix et ceci pour un genre et un éditeur désignés lors de l'exécution de la requête.
Exécuter la requête et indiquer "10/18" comme éditeur et "Policier" comme genre puis enregistrer la requête sous le nom "Selection des ouvrages par genre et editeur"

…

G.            "ANALYSE"

Elles vont permettre d'analyser le contenu d'une table ou de comparer deux tables.

1.         DOUBLONS

Il y a doublon dans une requête lorsque deux enregistrements sont identiques.

onglet "créer"
groupe "requêtes" (3èmebloc)
<clic g> sur
sélectionner
suivre l'assistant en définissant la table et les champs à analyser …
visualiser les enregistrements

C'est une situation qui ne peut pas arriver si le champ en question a été désigné comme clé unique (requête surtout utilisée lors del'intégration de données extérieures)

2.         NON-CORRESPONDANCE

Cette requête permet de comparer deux tables et d'isoler les enregistrements qui figurent dans l'une et pas dans l'autre. Ceci est particulièrement utile, notamment pour comparer une même table à deux périodes différentes ou après un incident.

onglet "créer"
groupe "requêtes" (3èmebloc)
<clic g> sur
sélectionner
suivre l'assistant en définissant les table à comparer et en commençant par la table la plus complète
mettre en correspondance le champ sur lequel s'effectue la comparaison avec l'outil
définir les champs à afficher …
visualiser s les enregistrements

La requête générée est du type :

Si la requête ne donne pas de résultat, intervertissez le champ comportant le critère "est Null" avec le champ correspondant de l'autre table

Dans la base "Bibliothèque avec données", comparer les tables "Livres" et " Livres avec policiers et science fiction"
Cette sélection doit correspondre aux enregistrements supprimés précédemment, c'est-à-dire les livres du genre "policier
L'enregistrer sous le nom "Livres avec policiers et science fiction" et "Livres" sans correspondance"

…

H.             CAS PARTICULIERS

Deux cas se distinguent, de par leur structure, des requêtes classiques.

1.         JOINTURE RÉFLEXIVE

Les Jointures réflexives permettent de lier des valeurs à l'intérieur d'une même table en affichant la même table 2 fois dans la requête (mais sous 2 noms différents).

onglet "créer"
groupe "requêtes" (3èmebloc)
<clic g> sur
afficher 2 fois la table concernée
la 2ème version de la table est indicée (xxxx_1) mais le nom (alias) peut être changé dans les propriétés
positionner les jointures
<clic g> sur    pour exécuter la requête
visualiser s les enregistrements

L'alias permet de donner un nom différent par lequel reconnaître une table

Dans la base en cours "Bibliothèque avec données", créer une requête affichant les ouvrages associés à un ouvrage de référence en créant une jointure réflexive entre les champs "N°Reference"  et "N°OuvrageRef" de 2 tables "ouvrage" dont vous nommerez la seconde occurrence "ouvrage de reference"
L'enregistrer sous "ouvrages de référence"

La notion d'ouvrage de référence est une notion propre aux ouvrages scientifiques qui a l'avantage de bien illustrer la notion de jointure réflexive

2.         JOINTURE EXTERNE

Les jointures externes permettent d'extraire tous les enregistrements d'une table même s'ils ne correspondent au critère de jointure (non reliés à l'autre table).

onglet "créer"
groupe "requêtes" (3èmebloc)
<clic g> sur
afficher les tables concernées
<double clic> sur la jointure
choisirl'option 2 (par défaut, c'est l'option 1 qui est sélectionnée)

<clic g> sur    pour exécuter la requête
visualiser s les enregistrements

Lister les lecteurs avec ou sans emprunts
L'enregistrer sous le nom "Lecteurs avec et sans emprunts"

Les champs correspondants à la table pointée auront des valeurs lorsqu'il y a correspondance et seront vides dans le cas de calculs à valeur null

…

I.                 TABLES-JOINTURES

Dans une requête, il est simple d'ajouter ou supprimer une table ; les jointures entre tables s'affichent automatiquement.

1.         AFFICHER UNE TABLE

À partir d'une requête existante, il est possible d'ajouter des tables.

onglet "créer"
groupe "paramétrage de requêtes" (3èmebloc)
<clic g> sur   pour afficher la liste des tables
sélectionner la table puis <clic g> sur
répéter l'opération pour toutes les tables concernées par la requête
<clic g> sur

Il est aussi possible de faire directement glisser avec la souris la table ou la requête du volet de navigation (à gauche) vers l'onglet de la requête

Dans la base "Bibliotheque avec donnees"
Créer une nouvelle requête "sélection" en mode "création"
Fermer la fenêtre "afficher la table"
L'afficher de nouveau avec l'outil
Afficher les tables "Livres", "Ecrit", "Auteur" et "Exemplaire"
Fermer la fenêtre "afficher la table"

Si une relation existe entre deux tables, une ligne les relie. C'est une ligne de jointure, indiquant la relation existante entre deux tables avec le cas échéant (intégrité référentielle) ses cardinalités (Une à Une ou Une à Plusieurs ).

2.         ENLEVER UNE TABLE

Si une table est inutile, ajoutée par erreur ou si elle ne sert plus à rien dans la requête, il faut l'enlever(la table est juste supprimée de la requête).

bouton droit
<clic d>
sur la barre de titre de la table à enlever

sélectionner la table
Appuyer sur la touche <suppr> du clavier

Les champs associés sont automatiquement supprimés sauf dans les expressions

Dans la requête en cours de la base "Bibliotheque avec donnees"
Ne plus afficher la table "Exemplaire"

3.         CRÉER UNE JOINTURE

La création de nouvelles jointures s'effectue directement dans la requête. Cette manipulation n'affecte que la requête en cours, il n'y a pas de cardinalités.

bouton gauche
afficher les deux tables dans la requête Sélection
pointer sur le champ à lier de la première table
<faire glisser> du champ à lier de la 1ère table jusqu'au champ de la seconde table

Ne pas faire de jointures illogiques

Dans la requête en cours de la base "Bibliotheque avec donnees""
Créer une jointure entre les champs "N°Ouvrage" des tables "Livres" et "Ecrit"

4.         SUPPRIMER UNE JOINTURE

Les jointures, si des relations ont été préalablement définies, s'affichent automatiquement sous forme d'une ligne joignant les champs concernés. Une jointure inutile ou erronée peut être supprimée.

bouton droit
sélectionner la jointure (la ligne)
<clic d> sur la ligne symbolisant la jointure
sélectionner la jointure  (la ligne)
Appuyer sur la touche <suppr> du clavier

Dans la requête en cours de la base "Bibliotheque avec donnees"
Supprimer la jointure que vous venez de créer sur le champ "N°Ouvrage"

J.               SQL

Le langage Sql est le langage norme ANSI des bases de données relationnelles. Access comprend et utilise le Sql.

onglet "créer"
groupe "résultats" (1erbloc)
<clic g> sur  de puis  sur

onglet "créer"
"type de requête" (2èmebloc)
<clic g> sur
la requête s'affiche en mode SQL

Ce langage est basé sur la logique de l'algèbre relationnelle et la logique de prédicat de premier ordre (logique mathématique à la base de l'intelligence artificielle). Même si ce langage peut paraître déroutant au premier abord, il est possible, avec juste un peu de pratique et de logique, d'effectuer directement des modifications sur le code

Il est souvent plus pratique d'utiliser la grille d'interrogation et les outils graphiques de création de requêtes puis de basculer en mode Sql pour voir le codegénéré et l'utiliser éventuellement à la place d'une requête (utiliser alors le copier/couper/coller)

Ouvrir la requête "selection des ouvrages par genre et editeur" de la base "Bibliothèque avec données"
L'afficher en mode Sql , essayer de déchiffrer le code puis revenir en mode "feuille de données"

VII.                      ÉTATS

L'état est la meilleure solution pour afficher ou imprimer une situation des données, soit de détail, soit synthétique, à un moment donné.

A.             MODE CRÉATION

Comme pour les autres objets de la base, ce mode permet toutes manipulations sur l'état. À tout moment, les différents assistants simplifient l'utilisation de ce mode.

onglet "créer"
groupe "états" (5èmebloc)
<clic g> sur
l'état s'affiche en mode "création"

B.             SECTIONS

Un état est composé de différentes parties ou sections, chacune étant destinée à recevoir un type d'information donné.

1.         SECTIONS

Selon la complexité de l'état, ces différentes parties seront ou ne seront pas affichées.

L'état

La page Le groupe

Le détail

Section Détail

Elle contient l'élément principal de l'état. Les zones de texte et les autres contrôles affichent des enregistrements à partir de la requête ou de la table source de cette section. On ne peut pas supprimer la section Détail, mais elle peut être laissée vierge ou masquée (propriété Visible)

Section En-tête/Pied d'état

Elles contiennent des informations (un titre, une date ou un résumé) qui sont affichées dans l'en-tête ou le pied d'un état.

Section En-tête/Pied de page

Elles contiennent des informations (des en-têtes de colonne ou un numéro de page) qui sont affichées dans l'en-tête ou le pied de chaque page d'un état.

Section En-tête/Pied de groupe

Elles contiennent des informations (nom de groupe ou totaux de groupes) affichées dans l'en-tête ou le pied de chaque groupe d'enregistrements. Access ajoute la section appropriée lors de la définition d'un en-tête ou d'un pied de groupe dans la fenêtre Trier/Regrouper.

Dans la base "Bibliothèque avec données"
Créer un état vide en mode "création"

2.         TAILLE

Elle doit être adaptée aux données.

bouton gauche
pointersur l'angle ou le bord (inférieur ou droit) de la section à redimensionner
<faire glisser> jusqu'à obtention de la taille voulue

3.         PROPRIÉTÉS

Elles déterminent sa présentation.

bouton droit
<clic g> sur l'entête d'état ou de section
<clic d>  ou

Dans l'état en cours de la base "Bibliothèque avec données"
Faire varier la taille des sections
Afficher les propriétés de l'état puis de chaque section

Une fois la boite de dialogue "propriétés" ouverte, le changement de sélection (État, Détail, Groupe, Entête…) met à jour les propriétés affichées

C.             INSERTION CHAMPS

Elle s'effectue de manière classique en faisant glisser les champs à leur position avec l'outil "ajouter des champs existants".

onglet "création"
groupe "outils" (6èmebloc)
état affiché en mode création
<clic g>  sur
la liste des champs s'affiche
<clic g>  sur éventuellement sur
développer éventuellement les tables avec
<faire glisser> le(s) champ(s) à ajouter dans la zone "détail" de l'état
le champ et son étiquette sont insérés dans l'état
<couper/coller> l'étiquette de chaque champ dans la zone "entête de page"
au-dessus du champ
disposer "étiquette" et "champ" l'un au-dessous de l'autre sur la même "colonne"
réduire la hauteur de la zone "détail"

Une étiquette est automatiquement insérée à gauche du champ

Si l'état est trop complexe, créer d'abord une requête, afficher les propriétés de l'état en création puis indiquer cette requête dans la propriété "source" de l'onglet "données"

Dans l'état en cours de la base "Bibliothèque avec données"
Créer un état "liste par genre" donnant tous les ouvrages classés par genre
Présenter l'état correctement, notamment en réduisant au maximum la hauteur de la zone "détail" (répétée pour chaque enregistrement)
Visualiser l'état en mode "aperçu avant impression" puis revenir en mode "création"

Pour ce faire, vous pouvez faire glisser les champs "genre" de "TypeGenre" et "titre" de "ouvrage" ainsi que le champ "N°Ouvrage" pour créer le lien avec le sous-état (puis supprimer ce champ inutile à l'affichage de la section détail)

D.             REGROUPEMENTS

Les outils de tri et de regroupement sont les mêmes que dans le mode "page".

"création"
"regroupements et totaux" (3èmebloc)
état affiché en mode création
<clic g> sur
<clic g> sur
<clic g> sur le champ de regroupement
la section "Entête de groupe" s'affiche dans l'état
<faire glisser> le champ servant au regroupement de la section "détail" à la section "entête de groupe"
supprimer l'étiquette correspondant de l'entête de page

Il peut être intéressant pour une meilleure lisibilité de déplacer les étiquettes de champ de la section "détail" vers la section "entête de groupe" ou même de les supprimer

Dans l'état "liste par genre" en cours de la base "Bibliothèque avec données"
Faire un regroupement des ouvrages par genre
Visualiser l'état en mode "aperçu avant impression" puis revenir en mode "création"

Les propriétés du groupe sont alors accessibles comme celles des autres sections de l'état.

bouton droit
<clic g> sur l'entête de groupe :
<clic d> 
la propriété "nom" permet de donner un nom explicite à la section

E.              SOUS-ÉTATS

Un état inséré à l'intérieur d'un autre état s'appelle un sous-état. Ils permettent de :

Combiner deux états ou davantage (au même niveau ou en cascade)  dans un état principal indépendant.

Afficher des données de synthèse ou des enregistrements détaillés relatifs aux informations d'un état principal.

Quand les données contenues dans le sous-état sont relatives aux données contenues dans l'état principal, vous devez veiller à ce que le sous-état affiche les enregistrements corrects pour chaque groupe en liant un contrôle de sous-état à un autre de l'état principal

"création"
groupe "contrôles" (4èmebloc)
créer le sous-état, l'enregistrer et le fermer
(ne pas oublier d'adjoindre le(s) champ(s)  de liaison avec l'état principal)
état principal affiché en mode création
<clic g> sur (sous-formulaire/sous-état) positionner le contrôle sous-état
ajustez éventuellement sa taille
Afficher la feuille des propriétés "données" du sous-état pour lier le sous-état à l'état principal
indiquer comme objet source le sous-état
vérifier les propriétés champ fils et champ père de liaison des états
proposées automatiquement par Access lorsque cela est possible

QUELQUE RÈGLES :

Vous pouvez éventuellement modifier la présentation du sous-état

Un état principal peut comporter plusieurs sous-états

Jusqu'à 2 sous-états peuvent être imbriqués dans un état principal : un état peut contenir un sous-état qui contient lui-même un autre sous-état

Pour faire référence à une valeur dans un contrôle, utilisez une expression.

Renommer le contrôle "sous-état" de manière explicite. Si le contrôle est difficile à atteindre, utiliser la liste déroulante de la fenêtre des propriétés pour le sélectionner

Dans la base "Bibliothèque avec données"
Créer un état "Liste par genre ecrit sous-état" affichant les auteurs des ouvrages
Pour ce faire, faire glisser le champ "N°Auteur" de la table "Ecrit"  (déjà associé sous forme de liste déroulante aux noms et prénoms de l'auteur) ainsi que le champ "N°Ouvrage" pour créer le lien avec l'état principal (puis supprimer ce champ inutile à l'affichage de la section détail)
Enlever les étiquettes, réduire la hauteur de l'état et des sections au maximum (0 pour entête et pied de page)
L'enregistrer et le fermer puis ouvrir l'état "liste par genre"
Faire glisser l'état "Liste par genre ecrit sous-état" à partir du volet gauche dans la section "détail" de l'état "liste par genre"
Vérifier la liaison des états dans la boite de dialogue  (propriétés champs "père" et "fils" comme "N°Ouvrage")
Enregistrer, Visualiser en mode "aperçu avant impression", revenir en mode "création"

F.              CONTRÔLES

Des informations complémentaires comme un titre, des numéros de page, la date et l'heure ou une image (logo) peuvent être ajoutés dans un état.

"création"
groupe "en-têtes-pied de page" (5èmebloc)
état affiché en mode création
<clic g>sur pour afficher une image
il faut indiquer l'image et son emplacement ; l'image est ajoutée dans l'entête de l'état
<clic g>sur pour mettre un titre
le nom existant est présélectionné et remplacé par celui saisi ; il est ajouté dans l'entête de l'état
<clic g> sur pour mettre un numéro de page
le numéro de page peut figurer au choix en entête ou en pied de page
<clic g>sur pour mettre la date et l'heure
il est possible de mettre au choix la date, l'heure où les deux ; ils sont affichés dans l'entête de l'état

Dans l'état "liste par genre" en cours de la base "Bibliotheque avec donnees"
Insérer un titre, une image, la date et le numéro de page
Faire les modifications nécessaires sur la base de l'exemple ci-dessous
Visualiser l'état en mode "aperçu avant impression" Enregistrer puis le fermer

Créer un état "liste par auteur" sur le modèle de "liste par genre" donnant les exemplaires disponibles par auteur tel que sur le modèle ci-dessous

…

L'impression de ces états se fait de manière classique par l'intermédiaire de l'outil impression rapide ou du menu puis
Un aperçu avant impression est conseillé

Dans la base "Bibliothèque avec données"
Créer un état simple listant les enregistrements pour chacune des tables existantes

VIII.                 STRUCTURE

La différence entre une base de données fonctionnelle et ce que l'on appelle une "application", réside dans l'automatisation des procédures, permettant à tout un chacun de l'utiliser sans connaissances préalables. C’est-à-dire :

Un menu pour diriger l'utilisateur dans les fonctionnalités

Une barre d'outils spécifique pour les actions les plus fréquentes

Des boutons de commande pour lancer une action donnée

Un ruban personnalisé(qui peut venir en complément du menu)

Tous ces éléments sont plus complexes que ce qui a été vu précédemment et seule une initiation de base est proposée ici, notamment en ce qui concerne les macros, les modules (langage Visual Basic) et le ruban (langage xml) qui requièrent des connaissances en programmation ; mais ces notions de base sont suffisantes pour structurer efficacement et durablement une application.

A.             GESTIONNAIRE DE MENU

Les outils permettant de structurer une application ne sont pas tous affichés. Il faut paramétrer Access afin qu'ils soient affichés avant de pouvoir les utiliser.

menu fichier

dans le volet gauche, <clic g>  sur
dans le volet du milieu,  afficher dans la liste déroulante

sélectionner
dans le volet de droite,  afficher dans la liste déroulante

<clic g>  sur
le positionner éventuellement avec ou
le gestionnaire de menu général   s'affiche dans la barre d'outils "accès rapide"

Le gestionnaire de menu peut aussi être affiché dans un onglet du ruban.

menu fichier

dans le volet gauche, <clic g>  sur
dans le volet du milieu,  afficher dans la liste déroulante

sélectionner
dans le volet de droite
cocher "onglet personnalisé"
<clic d> pour renommer "onglet personnalisé" et "groupe personnalisé"
<clic g>  sur
le positionner éventuellement avec ou
le gestionnaire de menu général   s'affiche dans l'onglet créé

B.             MENU

Le menu principal guide l'utilisateur dans ses choix.

barre accès rapide
<clic g> sur gestionnaire de menu général
<clic g>sur pour paramétrer le menu

onglet "commandes"
groupe "structure" (1er bloc)
ou quels qu'ils soient, les noms donnés à l'onglet et au groupe
<clic g>  sur
<clic g>sur pour paramétrer le menu

Si aucun menu n'existe, Access propose d'en créer un et crée alors la table et le formulaire associé accessibles par le volet de navigation à gauche

L'éventuel menu existant s'affiche et peut être enrichi ou les éléments du menu peuvent être créés de toutes pièces avec le bouton.

bouton gauche
dans la boite de dialogue en cours
<clic g>sur pour ajouter un élément de menu
saisir le texte du menu
choisirle type de commande associée(ex: ouvrir un formulaire)
choisirl'objet associé(le formulaire, l'état…)
pour valider

Dans la base "Bibliothèque avec données", créer le menu suivant puis le tester
(les formulaires sont à ouvrir en mode "modification" sauf "nouvel ouvrage")

la table stocke les informations du menu ; le formulaire gère leur affichage. Ils sont accessibles par le volet de navigation à gauche

C.             OPTIONS GÉNÉRALES

Elles vont permettre de définir le comportement et l'apparence de l'application.

menu fichier

dans le volet de gauche
sélectionner
paramétrer les options
pour valider

Dans la base "Bibliothèque avec données", paramétrer les options comme ci-dessous :

Fermer puis rouvrir la base

D.             MACROS (débuter)

Les macro-commandes permettent d'automatiser des actions. Elles sont souvent associées à un bouton de commande où à une icône.

onglet "créer"
groupe "macros et codes" (6ème bloc)
<clic g> sur
la macro s'affiche en mode "création" et le volet droit affiche le catalogue d'actions
<clic g>  sur de sélectionner une action <faire glisser>l'action du catalogue(à droite) vers la fenêtre principale
renseigner les arguments de l'action
<clic g>  en dehors pour valider les arguments
<clic g>  sur pour enregistrer la macro

Pour créer une macro ouvrant le formulaire "Auteur" en mode "ajout de données"
<clic g> sur
<clic g> sur de
Choisir
Sur la ligne "nom de formulaire", Choisir
Sur la ligne "affichage", choisir "formulaire"
Sur la ligne "mode données", choisir "Ajout"
<clic g>  sous les données pour valider les arguments
<clic g> sur pour enregistrer
donner un nom simple reprenant l'action et l'objet : "OuvrirAuteur"

<clic g> dans les arguments permet de les modifier

Différents modes d'affichage, de fenêtrage ou de données (modification, lecture) peuvent être choisis de même qu'un filtre et des conditions

Pour créer une macro affichant l'état "ListeAuteur" en mode "aperçu avant impression"
<clic g> sur
<clic g> sur de
Choisir ,
Sur la ligne "nom de l'état", choisir
Sur la ligne "affichage", choisir
<clic g>  dans une partie vide de la fenêtre
<clic g> sur pour enregistrer
donner un nom simple reprenant l'action et l'objet : "ApercuListeAuteur"

Créer les macro-commandes d'ouverture en mode "ajout" des formulaires "Auteur", "Editeur", "Lecteur" et "Ouvrage"
Idem pour les mêmes formulaires mais en mode "modification"
Idem pour les états "Liste par genre", "Liste des Auteurs, des Editeurs, des Lecteurs et des Ouvrages " en mode "aperçu avant impression"

E.              BOUTONS COMMANDE

Les boutons de commande sont le plus souvent utilisés pour lancer une action avec une macro (par exemple, imprimer à partir d'un formulaire).

onglet "création"
groupe "contrôles" (3èmebloc)
<clic g> sur (bouton)
la souris prend la forme d'une croix accompagnée du contrôle
<faire glisser> la souris dans le formulaire pour tracer le contrôle
suivre les indications de l'assistant (outil activé)
ou afficher les propriétés
nommer le contrôle puis enregistrer

Dans la base "Bibliotheque avec donnees", créer un formulaire simple à partir de la table "Emprunt" – Y adjoindre un bouton de commande "ajouter un nouvel enregistrement"

F.              MODULES (débuter)

Un module est un ensemble de lignes de langage Macro ou de Visual Basic
(vb: le langage de programmation des applications Office) enregistré sous un nom. Il est donc nécessaire d'acquérir quelques notions de programmation pour pouvoir créer ou modifier un module.

onglet "créer"
groupe "macros et code" (6èmebloc)
<clic g> sur ou l'éditeur Visual Basic s'affiche dans sa propre fenêtre

<alt> <f11>

bouton de commande

onglet
<clic g>  sur en face de l'événement
choisir
<clic g>  sur

Il est souvent nécessaire d'associer l'action aux données du formulaire (Par exemple, Me.DateEmprunt fait référence à la valeur affichée à l'écran du formulaire du champ "DateEmprunt")

Dans le formulaire en cours de la base "Bibliothèque avec données", créer une procédure événementielle sur clic du bouton "ajouter un nouvel enregistrement" sur le modèle ci-dessus – le tester

G.            RUBAN PERSONNALISÉ

Un ruban personnalisé peut être créé pour une application. Il est possible de lui affecter des outils existants ou des macro-commandes. Pour ce faire, il est nécessaire de procéder à un certain nombre d'opérations :

Afficher les objets systèmes

Afficher les erreurs d'interface xml

Créer une table système spécifique nommée "USysRibbons"

Créer dans cette table le ou les rubans personnalisés et indiquer les caractéristiques du ruban en xml.

Charger les bibliothèques d'objets "microsoft dao 3.6 object library" et "Microsoft Office 12.0 Object Library" ou postérieures

Créer un module MDLRibbons chargeant la fonction LoadRibbons()

Appeler ce module à l'aide la macro "autoexec"

Associer le ruban à l'application ou à un formulaire

Cacher les objets systèmes

1.         OBJETS SYSTÈMES

Il faut dans un premier temps afficher les objets systèmes

menu fichier

dans le volet de gauche
sélectionner
dans la zone
<clic g> sur
en bas et à gauche
cocher
pour valider
pour valider

2.         ERREURS D'INTERFACE XML

Dans un second temps, il faut afficher activer l'affichage des messages d'erreur.

menu fichier

dans le volet de gauche
sélectionner
dans la zone
cocher
pour valider

3.         TABLE "USYSRIBBONS"

Ensuite, si elle n'existe pas encore, il faut créer la table "usysribbons" de manière standard.

onglet "créer"
groupe "tables" (2ème bloc)
<clic g> sur pour créer la nouvelle table
créer les champs du tableau suivant avec le champ "n°" comme clé primaire
enregistrer la table sous le nom "usysribbons" : 

Les tables msys… et usys… sont des tables "système" normalement non affichées
(Ribbon= ruban)

4.         RUBANS PERSONNALISÉS

Après cela, il faut créer des enregistrements dans la table ; ces enregistrements correspondent aux différents rubans. Le code xml est entré dans le champ "XMLRuban.

Le code à ajouter va concerner des outils existants ou des macro-commandes créées par l'utilisateur

5.         BIBLIOTHÈQUES D'OBJETS

Le chargement de ces bibliothèques est indispensable pour que l'ensemble fonctionne.

visual basic (<alt> <11>)
menu "outils"

cocher
les bibliothèques d'objets sont classées par ordre alphabétique
pour valider
les bibliothèques d'objets sont chargées et les objets dorénavant utilisables

6.         UN MODULE "MDLRIBBONS"

Toujours dans Visual Basic, il faut créer un module "LoadRibbons" qui va déclarer les différents éléments du ruban et aller chercher les valeurs dans la table "USysRibbons".

visual basic (<alt> <11>)
saisir le code comme ci-après
bien respecter l'orthographe et les indentations
<clic g> sur l'outil pour enregistrer et le nommer "LoadRibbons"
si possible, respecter minuscules et majuscules dans les noms de modules
pour valider
menu fichier - ou <clic g> sur

7.         MACRO "AUTOEXEC"

Il faut alors lancer ce module "LoadRibbons" à l'aide de la macro "autoexec" (qui s'exécute au démarrage de l'application).

onglet "créer"
groupe "macros et codes" (6èmebloc)
<clic g> sur
créer la macro-commande ci-dessous
l'enregistrer sous le nom "autoexec"
dans la plupart des applications Microsoft, la macro auto exécutable se nomme "autoexec"

8.         RUBAN - APPLICATION

Le ruban ainsi créé peut être associé à l'application, permettant la personnalisation de l'application.

menu fichier

dans le volet de gauche
sélectionner
dans
dérouler la liste des rubans
sélectionner le ruban voulu
pour valider
fermer puis rouvrir l'application
le ruban personnalisé s'affiche en complément ou en lieu et place du ruban standard

9.         RUBAN - FORMULAIRE

Le ruban peut aussi être associé à un formulaire de l'application, simplifiant encore son utilisation.

bouton gauche
formulaire affiché en mode "création"
afficher les propriétés du formulaire
afficher l'onglet "autres"
en face de la propriété "ruban"
dérouler la liste des rubans
sélectionner le ruban voulu
pour valider
le ruban personnalisé s'affiche à l'ouverture du formulaire

10.    CACHER OBJETS SYSTÈMES

Il faut maintenant de nouveau cacher les objets systèmes.

menu fichier

dans le volet de gauche
sélectionner
dans la zone
<clic g> sur
décocher
pour valider
pour valider

11.    DÉBUTER AVEC XML

Le "xml" est une évolution du code descriptif d'origine d'Internet "Html". Il est fondé sur la notion de balises qui indiquent le début puis la fin d'un ensemble d'informations homogènes.

Une balise de début s'exprime par les signes <…>

Une balise de fin s'exprime par les signes </…>

Lors de la saisie dans la table :

<ctrl> <entrée> permet d'aller à la ligne

<espace> permet de disposer les ensembles de manière indentée et lisible

Les id(identification) doivent être uniques ; pour mieux s'y retrouver, il est possible de hiérarchiser la numérotation :

<group id="dbCustomGroup2" label="Ajouts">
<button id="Button21" label="Consultation"  onAction="OuvrirConsultation" />

<group id="dbCustomGroup3" label="Consultation">
<button id="Button32" label="Auteur"  onAction="ModifierAuteur" />

Les outils peuvent être de deux types :

des outils standards d'Access

des macro-commandes.

Pour reprendre les outils (onglets ou groupe) d'Access dans le code xml, il faut indiquer la valeur du contrôle idMso de l'outil :

12.    AFFICHER VALEURS IDMSO

Les valeurs idMso peuvent être connues en affichant la bulle d'aide des outils dans les options de personnalisation d'Access.

menu fichier

dans le volet de gauche
sélectionner
choisir le type de commandes dans
pointer sur une commandes
la valeur du contrôle s'affiche dans une bulle d'aide(à la fin entre parenthèses)
pour fermer la fenêtre

Afficher dans la base en cours en plus du ruban standard mais sans l'onglet "créer" l'onglet "outils" avec le groupe "Presse-papiers" et les outils "copier", "couper" et "coller" en faisant toutes les opérations décrites dans ce chapitre et en recopiant les codes de module, de macro et xml ci-dessous – Vérifier dans les options les valeurs des contrôles idMso – nommer ce ruban "test1"

Pour tester les rubans, associer le ruban à la base active dans

et redémarrer Access

Pour afficher des outils appelant des macros, il faut bien entendu que les macros aient été créées préalablement.

La commande permettant de les appeler est :

Créer le ruban ci-dessous en faisant un copier/coller du précédent et en y ajoutant la ligne appelant la macro "OuvrirConsultation" créée précédemment – nommer ce ruban "test2"

13.    EXERCICES

Créer le ruban ci-dessous en vous aidant éventuellement de l'exemple de code qui suit
Le groupe "outils" est construit sur la base du groupe "presse-papiers" précédent
Le groupe "Ajouts" appelle les macro-commandes d'ouvertures des formulaires du même nom (créées précédemment) en mode "ajout"
Le groupe "Consultation" appelle les macro-commandes d'ouvertures des formulaires du même nom en mode "lecture seule"
Le groupe "Impression" appelle les macro-commandes d'affichage des états du même nom (créés précédemment) en mode "aperçu avant impression"
Le groupe "quitter" ferme Access
Nommer le ruban "Gestion", l'associer à l'application et le tester

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">

<ribbon startFromScratch="true">

  <tabs>

  <tab id="dbCustomTab" label="Bibliothéque" visible="true">

   <group id="dbCustomGroup" label="Outils">

     <control idMso="Copy" label="Copier" enabled="true"/>

     <control idMso="Cut" label="Couper" enabled="true"/>

     <control idMso="Paste" label="Coller" enabled="true"/>

     <control idMso="Undo" label="Annuler" enabled="true"/>

     <control idMso="Redo" label="Rétablir" enabled="true"/>

     <control idMso="Delete" label="Supprimer" enabled="true"/>

   </group>

    <group id="dbCustomGroup2" label="Ajouts">

       <button id="Button22" label="Auteurs"  onAction="OuvrirAuteur" />

       <button id="Button23" label="Editeusr"  onAction="OuvrirEditeur" />

       <button id="Button24" label="Lecteurs"  onAction="OuvrirLecteur" />

       <button id="Button25" label="Ouvrages"  onAction="OuvrirOuvrage" />

   </group>

  <group id="dbCustomGroup3" label="Consultation-modification">

       <button id="Button35" label="Ouvrages"  onAction="ModifierOuvrage" />

       <button id="Button32" label="Auteurs"  onAction="ModifierAuteur" />

       <button id="Button33" label="Editeurs"  onAction="ModifierEditeur" />

       <button id="Button34" label="Lecteurs"  onAction="ModifierLecteur" />

       <button id="Button31" label="Consultation ouvrages"  onAction="OuvrirConsultation" />

   </group>

  <group id="dbCustomGroup4" label="Prêts / Emprunts">

      <button id="Button41" label="Saisie des prêts"  onAction="OuvrirEmprunt" />

      <button id="Button42" label="Saisie des retours"  onAction="OuvrirRetour" />

      <button id="Button43" label="Liste des prêts  en cours"  onAction="OuvrirListeemprunts" />

   </group>

   <group id="dbCustomGroup5" label="Aperçu Impression">

      <button id="Button51" label="Liste des auteurs"  onAction="ApercuListeAuteur" />

      <button id="Button52" label="Liste des éditeurs"  onAction="ApercuListeEditeur" />

      <button id="Button53" label="Liste des emprunts"  onAction="ApercuListeEmprunt" />

      <button id="Button54" label="Liste des lecteurs"  onAction="ApercuListeLecteur" />

      <button id="Button55" label="Liste des ouvrages"  onAction="ApercuListeOuvrage" />

      <button id="Button56" label="Liste des exemplaires"  onAction="ApercuListeExemplaire" />

   </group>

   <group id="dbCustomGroup6" label="Outils">

       <control idMso="FileCompactAndRepairDatabase" label="Compacter la base" enabled="true"/>

       <button id="Button61" label="Vider la base"  onAction="ViderBase" />

       <control idMso="FileExit" label="Quitter la base" enabled="true"/>

   </group>  

  </tab> 

  </tabs>

</ribbon>

</customUI>

Créer le ruban ci-après en vous aidant éventuellement de l'exemple de code suivant
Le nommer "Form", l'associer à chacun des formulaires du ruban précédent et le tester

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">

<ribbon startFromScratch="true">

  <tabs>

  <tab id="dbCustomTab" label="Bibliothéque" visible="true">

   <group id="dbCustomGroup" label="Outils">

    <control idMso="Copy" label="Copier" enabled="true"/>

     <control idMso="Cut" label="Couper" enabled="true"/>

     <control idMso="Paste" label="Coller" enabled="true"/>

     <control idMso="Undo" label="Annuler" enabled="true"/>

     <control idMso="Redo" label="Rétablir" enabled="true"/>

     <control idMso="Delete" label="Supprimer" enabled="true"/>

   </group>

   <group id="dbCustomGroup4" label="Déplacement">

      <control idMso="MailMergeGoToFirstRecord" label="Premier" size="large" enabled="true"/>

      <control idMso="MailMergeGoToPreviousRecord" label="Précédent" size="large" enabled="true"/>

      <control idMso="MailMergeGoToNextRecord" label="Suivant" size="large" enabled="true"/>

      <control idMso="MailMergeGotToLastRecord" label="Dernier" size="large" enabled="true"/>

   </group>

  </tab>

   </tabs>

</ribbon>

</customUI>

H.             MODIFICATION APPLICATION

Si une application est complètement automatisée et que ni le ruban, ni les menus contextuels ne sont affichés, le risque d'une mauvaise manipulation de l'utilisateur est faible. Cependant, il faut pouvoir avoir accès aux divers outils et commandes pour maintenir et faire évoluer l'application.

bouton gauche - clavier
garder enfoncée la touche <maj> pendant le démarrage de l'application
tous les outils et commandes sont disponibles
réafficher le volet gauche en cliquant sur (en haut à gauche)

IX.    GÉRER ET PUBLIER

Des outils spécifiques aux bases de données permettent d'optimiser leur exploitation.

A.             ANALYSEUR TABLES

Cet outil permet de transformer automatiquement une base simple constituée d'une seule table en une base complexe constituée de tables avec des relations.

  onglet "outils base de données"
groupe "analyser" (4èmebloc)
ouvrir la base
<clic g> sur
la fenêtre d'assistant s'affiche
puis
confirmer ou sélectionner la table à analyser puis
accepter
sélectionner les tables une à une et les renommer avec l'outil
accepter les clés proposées puis  jusqu'à
<clic g> sur

À partir de la table "livres" de la base "ouvrages" créée précédemment, créer une base de plusieurs tables avec leurs relations

B.             ANALYSEUR PERFORMANCES

L'analyseur de performances va permettre de mettre en évidence les possibles points faibles de la base et d'y remédier.

  "outils base de données"
groupe "analyser" (4èmebloc)
ouvrir la base
<clic g> sur
la fenêtre d'analyse s'affiche
<clic g> sur
pour lancer l'analyse
les résultats de l'analyse s'affichent
<clic g> sur une ligne de résultat
une icône symbolise le type d'information
une description s'affiche dans la partie basse de la fenêtre
remédier alors au problème ou <clic g> sur si la commande est disponible
l'icône s'affiche alors en face de la ligne
<clic g> sur  pour terminer

Analyser les performances de la base "bibliothèque avec données"

C.             DOCUMENTATION BASE

Toute application informatique doit être documentée afin qu'il soit possible au minimum de la comprendre et de l'utiliser  et en théorie, de la faire évoluer dans le temps, en cas d'absence de la personne qui l'utilise ou la maintient habituellement. Access permet de créer une documentation technique détaillée, automatiquement.

  "outils base de données"
groupe "analyser" (4èmebloc)
ouvrir la base
<clic g> sur
<clic g> sur
pour lancer la création de l'état
l'état s'affiche en mode "aperçu avant impression"

Cette documentation ne peut être qu'un complément à une base dont les éléments et le code doivent être documentés par leur créateur

Créer la documentation de la base "bibliothèque avec données"

D.             EMPAQUETAGE

Cette fonctionnalité permet de transporter la base sur un autre micro. Elle exige un certificat numérique d'identification de la source.

menu fichier

<clic g>  sur
sélectionner le certificat

nommerle fichier (ce fichier porte le suffixe .accdc)
saisir le mot de passe
pour valider

Le fichier peut alors être copié ou transféré ; un <double-clic> sur ce fichier permet d'installer la base sur un dossier du nouvel emplacement

E.              SERVEUR DOCUMENTS

Un serveur de gestion de documents est un emplacement centralisé permettant à des utilisateurs de gérer et de suivre des fichiers (par exemple, une bibliothèque SharePoint). C'est une fonctionnalité encore le plus souvent liée à un réseau d'entreprise.

menu fichier

<clic g>  sur
sélectionner le dossier de destination
pour valider

groupe "déplacer les données" (5èmebloc)
<clic g> sur
sélectionner le dossier de destination
pour valider

F.              FORMATS PDF ET XPS

Les divers constituants de la base (particulièrement les données et les états) peuvent être exportés au format Pdf(Portable Document Format) ou Xps(XML Paper Specification) pour l’impression, le postage et la distribution par courrier électronique. Ils peuvent ainsi être utilisés par des personnes ne possédant pas Access 2013,

"données externes"
groupe "exporter" (2èmebloc)

sélectionner l'objet
<clic g> sur
sélectionner le dossier de destination
pour valider

G.            PROPRIÉTÉS BASE

Les propriétés de la base donnent des informations sur le fichier Access, comme pour tous les autres fichiers Office ; L'onglet afférent est cependant particulièrement riche dans Access puisqu'il informe sur la structure de la base.

menu fichier

dans le volet de droite
<clic g>  sur

Afficher et compléter les propriétés la base de données "Bibliothèque avec données"

H.             COMPACTAGE BASE

Si des enregistrements ont été supprimés, de l'espace inutile est occupé et accédé, ce qui augmente le volume de la base et ralentit les opérations. Il est recommandé de compacter régulièrement une base de données. La cohérence des tables est vérifiée parallèlement.

menu fichier

dans le volet du milieu
<clic g>  sur
le compactage s'effectue immédiatement pour la base en cours

Si vous avez supprimé des enregistrements à la fin d'une table contenant un champ NuméroAuto, le compactage de la base de données réinitialise l'incrémentation de ce champ : sa valeur dans le prochain enregistrement que vous ajouterez sera supérieure d'une unité à sa valeur dans le dernier enregistrement de la table

Compacter la base de données "Bibliothèque avec données"

I.                 SAUVEGARDE BASE

La sauvegarde d'une base de données consiste à en faire une copie sur un autre emplacement. C'est alors le fichier .accdbque vous copiez. Il contient l'ensemble de la base (structure et données – sauf en cas de tables liées).

menu fichier

<clic g>  sur
sélectionner le dossier de destination
pour valider

Les bases de données ont un fonctionnement très différent des fichiers de bureautique. Dans un fichier Word ou Excel, les modifications ne sont prises en compte que lorsque vous décidez d'enregistrer ce fichier. Alors seulement, la copie du fichier modifiée sur lequel vous travaillez et qui réside dans la mémoire vive de l'ordinateur va venir remplacer la copie plus ancienne d'origine sur le disque dur. Dans une base de données, chaque enregistrement de la base fonctionne un peu comme un fichier Word ou Excel à la différence que les modifications sont automatiquement prises en compte, sans aucun besoin d'enregistrer (pour les données mais pas pour la structure).

Pourquoi effectuer une sauvegarde ? À titre de précaution. Une base de données est une entité vivante qui est en perpétuelle évolution. Les données sont enregistrées quasiment en temps réel mais il peut se produire un incident de structure, notamment suite à une fermeture inopinée de tables ouvertes (coupure d'électricité, incident de fonctionnement, plantage, …) ; des liaisons peuvent alors être rompues et des enregistrements s'effectuer de manière inadéquate dans une partie des tables seulement sans que rien ne le laisse apparaître lors du fonctionnement de la base. Il est indispensable d'effectuer régulièrement une sauvegarde de cette base, sauvegarde qui va être une image de la base de données à un moment donné et permettra éventuellement de la récupérer.

Utiliser une base de données sans procéder à des sauvegardes régulières est très risqué

Faire une sauvegarde de la base "Bibliothèque avec données"

J.               EXÉCUTABLE

L'intérêt de créer un exécutable est que le code vb est compilé et les objets non modifiables.

menu fichier

<clic g>  sur
sélectionner le dossier de destination
pour valider
un fichier accde est créé

Créer un exécutable de la base "Bibliothèque avec données" et le tester

K.             RUNTIME

L'application accdb ou accde va pouvoir être installée et fonctionner normalement sur un ordinateur qui ne possède pas Access grâce au "runtime". Ce programme limité permet uniquement de faire fonctionner une application. Aucune modification du programme ou de la structure ne pourra alors être faite.

aller sur le micro ou utiliser l'application
y exécuter le programme "AccessRuntime_fr-fr_x86.exe" (disponible dans le dossier d'exercices)
copier le fichier access dans un dossier
créer un raccourci pour ce fichier
un double clic lance le runtime et l'application s'exécute

X.         EXERCICES

A.             NORTHWIND 2013.ACCDB

C'est la base exemple de Microsoft utilisée pour le premier grand chapitre de cet ouvrage "Utiliser et interroger une base Access". La base intitulée "Northwind 2013 ios" comporte la correction des différents exercices proposés

B.             OUVRAGES.ACCDB

C'est la base exemple utilisée pour le deuxième grand chapitre de cet ouvrage "Créer et modifier une base simple". La base intitulée "ouvrages ios" comporte la correction des différents exercices proposés.

C.             BIBLIOTHEQUE.ACCDB

C'est la base exemple utilisée pour le troisième grand chapitre de cet ouvrage "Créer et modifier une base complexe " et le chapitre suivant " Structurer l'application". La base intitulée "bibliotheque ios" comporte la correction des différents exercices proposés. Elle est complètement fonctionnelle et peut être facilement adaptée à vos besoins que vous soyez particulier, entreprise ou association. Elle est libre de droit si vous avez acheté ce cours.

SOMMAIRE

I.              MODÈLE RELATIONNEL

A.              THÉORIE

1.              DOMAINE

2.              RELATION

3.              ATTRIBUT

4.              CLÉ PRIMAIRE

5.              CLÉ ÉTRANGÈRE

6.              SCHÉMA

7.              CONTRAINTE D’ENTITÉ

8.              INTÉGRITÉ RÉFÉRENTIELLE

B.              ALGÈBRE RELATIONNELLE (débuter avec)

1.              OPERATEURS ENSEMBLISTES

2.              OPERATEURs RELATIONNELs

II.              BASE (structure)

A.              CRÉATION BASE

B.              CRÉATION TABLE

III.              CHAMPS (propriétés)

A.              CREATION

B.              SUPPRESSION

C.              DÉPLACEMENT

D.              FORMAT

E.              TAILLE

F.              MASQUE SAISIE

G.              LÉGENDE

H.              VALEUR PAR DÉFAUT

I.              VALIDITÉ

J.              NULL - CHAINE VIDE

K.              LISTE DE CHOIX

IV.              TABLES (structure)

A.              CLÉ PRIMAIRE

B.              INDEX

C.              CLÉ ÉTRANGÈRE

D.              VALIDATION

E.              SOUS-FEUILLE

V.              FORMULAIRES

A.              CONTRÔLES

B.              MODE CRÉATION

C.              ENTÊTES-PIEDS DE PAGE

D.              CONTRÔLES DÉPENDANTS

E.              CONTRÔLES INDÉPENDANTS

F.              SÉLECTION

G.              PROPRIÉTÉS

H.              CONTRÔLES CALCULES

I.              CONTRÔLES

1.              POSITIONNEMENT

2.              ALIGNEMENT

3.              ESPACEMENT

J.              DIMENSIONNEMENT

K.              MISE EN FORME

L.              ORDRE

M.              TYPES DE CONTRÔLE

1.              CONTRÔLE ONGLET

2.              LIEN HYPERTEXTE

3.              CONTRÔLE NAVIGATEUR

4.              FORMULAIRE NAVIGATION

5.              GROUPE D'OPTIONS

6.              LISTE

7.              PIÈCE JOINTE

8.              SOUS-FORMULAIRE

9.              ACTIVE X

N.              PROPRIÉTÉS

VI.              REQUÊTES ACTION

A.              REQUÊTES

B.              "CRÉATION DE TABLE"

C.              "AJOUT"

D.              "MISE A JOUR"

E.              "SUPPRESSION"

F.              AVEC PARAMÈTRES

G.              "ANALYSE"

1.              DOUBLONS

2.              NON-CORRESPONDANCE

H.              CAS PARTICULIERS

1.              JOINTURE RÉFLEXIVE

2.              JOINTURE EXTERNE

I.              TABLES-JOINTURES

1.              AFFICHER UNE TABLE

2.              ENLEVER UNE TABLE

3.              CRÉER UNE JOINTURE

4.              SUPPRIMER UNE JOINTURE

J.              SQL

VII.              ÉTATS

A.              MODE CRÉATION

B.              SECTIONS

1.              SECTIONS

2.              TAILLE

3.              PROPRIÉTÉS

C.              INSERTION CHAMPS

D.              REGROUPEMENTS

E.              SOUS-ÉTATS

F.              CONTRÔLES

VIII.              STRUCTURER

A.              GESTIONNAIRE DE MENU

B.              MENU

C.              OPTIONS GÉNÉRALES

D.              MACROS (débuter)

E.              BOUTONS COMMANDE

F.              MODULES (débuter)

G.              RUBAN PERSONNALISÉ

1.              OBJETS SYSTÈMES

2.              ERREURS D'INTERFACE XML

3.              TABLE "USYSRIBBONS"

4.              RUBANS PERSONNALISÉS

5.              BIBLIOTHÈQUES D'OBJETS

6.              UN MODULE "MDLRIBBONS"

7.              MACRO "AUTOEXEC"

8.              RUBAN - APPLICATION

9.              RUBAN - FORMULAIRE

10.              CACHER OBJETS SYSTÈMES

11.              DÉBUTER AVEC XML

12.              AFFICHER VALEURS IDMSO

13.              EXERCICES

H.              MODIFICATION APPLICATION

IX.              GÉRER ET PUBLIER

A.              ANALYSEUR TABLES

B.              ANALYSEUR PERFORMANCES

C.              DOCUMENTATION BASE

D.              EMPAQUETAGE

E.              SERVEUR DOCUMENTS

F.              FORMATS PDF ET XPS

G.              PROPRIÉTÉS BASE

H.              COMPACTAGE BASE

I.              SAUVEGARDE BASE

J.              EXÉCUTABLE

K.              RUNTIME

X.              EXERCICES

A.              NORTHWIND 2013.ACCDB

B.              OUVRAGES.ACCDB

C.              BIBLIOTHEQUE.ACCDB

Pour des raisons de lisibilité, il est employé dans cet ouvrage les termes de Windows pour Microsoft ™ Windows ®, Word pour Microsoft ™ Word 2013 ®, Excel pour Microsoft ™ Excel 2013 ®, Access pour Microsoft ™ Access 2013 ®, Powerpoint pour Microsoft ™ Powerpoint 2013® , Outlook pour Microsoft ™ Outlook 2013®, Explorer pour Microsoft ™ Internet Explorer ® .
Par ailleurs, toutes les copies d'écrans, images et icones ont été reproduites avec l'aimable autorisation de Microsoft ™

Tous les efforts ont été faits, et le temps nécessaire consacré, pour que cet ouvrage soit aussi fiable et rigoureux que possible. Cependant, ni l'auteur, ni l'éditeur ne sauraient être tenus pour responsable des conséquences de son utilisation ou des atteintes au droit des brevets ou des personnes qui pourraient résulter de cette utilisation