gestion des materiels - Cours de Microsoft Access

CHAPITRE I : PRESENTATION GENERALE D’UNE BASE DE DONNEE

I.1. Introduction

Une base de données permet de classer, trier et filtrer de larges quantités d'informations. Chaque logiciel de gestion (comptabilité, gestion commerciale, stock, gestion des élèves, ...) est d'ailleurs une base de données. Vous pouvez également le faire avec un tableur de type Excel. C'est en partie vrai. Si vous êtes un utilisateur avancé du tableur, certaines fonctions peuvent sembler similaires. Néanmoins, les possibilités de Microsoft Access sont largement supérieures dans ces domaines, surtout si vous utilisez de grandes quantités de données. Pour débuter notre base de donnée Access, commençons par un petit lexique spécifique aux bases de données.

I.2. Le classement – tri

Prenons par exemple un fichier d'adresse. Le tri va permettre de classer par ordre alphabétique suivant le nom, prénom, etc. Dans la majorité des bases de données, ces classements peuvent se faire suivant différents niveaux. Par exemple :
Nom 
Prenom
Prcode postal ….

Dans notre exemple, les personnes seront d'abord triées suivant le nom. Si deux personnes ont le même nom, le tri se fera alors suivant le prénom. Pour deux personnes homonymes, le classement se fera ensuite suivant le code postal du lieu de résidence, ...

I.3.Filtrage des enregistrements

La fonction de filtre des enregistrements permet de n'afficher que les enregistrements répondant à des critères complexes. Dans le cas de notre fichier d'adresse, ceci permet par exemple à Access de n'afficher les hommes de plus de trente ans habitant à Bujumbura. Ce type de filtre est très efficace. Pour faire ces filtres, il vous faut impérativement créer des champs adéquats avec les bonnes données suivant la personne. C'est la principale difficulté lorsque vous créez une base de données Access: choisissez correctement les champs.

I.4. Vocabulaire: enregistrements et champs.

Les bases de données, notamment Access, sont caractérisées par des enregistrements et des champs. Dans le cas d'un carnet d'adresse, l'enregistrement représente les coordonnées de la personne. Le champ, représente la case à remplir, un renseignement repris dans une catégorie pour chaque enregistrement. La création d'une base de données implique donc au préalable la création d'une structure en fonction des renseignements souhaités. Cette étape est de loin la plus importante. De par leur conception, ajoutons des champs lorsque la base de données et ses différents modules d'analyse sont créés est fastidieux. Des exemples sont également fournis directement avec la base de données. Quels champs devons-nous créer? Reprenons notre exemple d'un fichier d'adresse Access. Quelles sont les catégories de renseignements que nous serions amenés à rechercher sachant que la fonction d'une base de données passe par le tri et le filtrage. Un autre critère va rentrer en ligne de compte, des renseignements supplémentaires :

  • Nom: Ceci est d'abord un renseignement sur la personne mais va nous permettre de faire une recherche sur une personne.
  • Prénom: Le critère est identique à celui du nom. Pourrions-nous rassembler le nom et le prénom? Oui et non. Prenons le cas d'utilisation de cette base de données pour un mailing. L'adresse de la personne reprend effectivement le nom et le prénom. Par contre, la phase type en bas de la lettre reprend "Je vous prie d'agréer, Monsieur Le jeune, mes salutations distinguées." Remarquez tout de suite que le prénom n'est plus utilisé. Pour des lettres amicales, c'est le prénom qui est utilisé.
  • L'adresse: reprend la rue et le numéro de maison, boîte postale. Dans l'adresse, le débutant va découper cette information en tranche. Est-ce nécessaire? Probablement non. Il est peu probable que vous fassiez un tri ou un filtre sur la rue et moins encore sur le numéro de maison. Ce champ est indicatif.
  • Le code postal: ici aussi nous pourrions rassembler le code postal et la ville, Néanmoins, dissocier les 2 va nous permettre différentes petites choses. La ville est spécifique et va nous permettre de faire un tri. Par contre, du moins en Bujumbura et en Gitega, le code postal va permettre de trier non pas sur le domicile mais sur une zone d'habitation, typiquement sur la commune en Bujumbura.
  • La ville: tri sur le domicile.
  • Le numéro de téléphone, fax, GSM ... A moins de faire une recherche type annuaire inversée, ces informations ne sont qu'indicatives.
  • Les informations professionnelles: On retrouve le nom de la société, la fonction de la personne et coordonnées de l'entreprise. Les règles sont identiques que celles de l'adresse privée.
  • D'autres renseignements seront rajoutés suivant l'utilisation de cette base de donnée Access à titre de renseignements comme la date de naissance (anniversaire), prénom de l'épouse - époux, enfants, ... Est-ce suffisant, non. Il nous manque quelques champs importants.
  • Le titre: Monsieur, Madame, Mademoiselle, ... Ce champ est important pour deux raisons. D'abord parce qu'il est utilisé dans le courrier (adresse et formule de politesse). Deuxièmement, ce champ va nous permettre de déterminer le sexe de la personne. Un champ supplémentaire pourrait également être utilisé.
  • Des champs additionnels de tri. L'utilisation d'une base de données Access permet d'afficher les enregistrements suivant un filtrage. Pouvons-nous utiliser certaines combinaisons de ce filtrage? Oui. Prenons notre carnet d'adresse sous Access. On retrouvera dans ce carnet des amis, connaissances, relations professionnelles, utilisateurs du cours, ... La solution habituelle est de créer un carnet d'adresse informatique pour chaque catégorie de personnes. L'autre possibilité est de créer une seule base de données et d'ajouter des cases à cocher (oui ou non) reprenant ces différentes catégories.

I.5. Base de données Access

Maintenant que les explications préliminaires de notre base de données Access sont acquises, intéressons nous à la base de données de Microsoft. Les onglets d'Access se subdivisent en 7 parties. Passons en revue les principaux :

Débutons par la table: elle reprend les informations brutes (non traitées): les enregistrements et les champs. 

Une requête : permet diverses mises en forme des tables: le tri, filtre, affiché ou nom des données, … 

Un Formulaire : permet d'afficher les tables et les requêtes d'une manière agréable. 

Un état : permet d'imprimer des données de tables et de requêtes avec si nécessaire des regroupements et des calculs. C'est bien là la grosse différence entre Excel et Access, les calculs ne se font pas par de simples formules, mais bien par ces états d'impression. L'avantage, c'est qu'une fois que l'état est fait, tout se fait automatiquement. Le défaut, c'est de  faire ces états. Néanmoins, pour de nombreux enregistrements (plus de 500), Excel est vite dépassé, ce qui n'est pas le cas d'Access.

Les macros : permettent d'exécuter des fonctions à partir de requêtes ou de formulaires. Nous ne rentrerons pas dans la programmation d'ACCESS dans notre présentation, mais nous utiliserons ces fonctions pour créer un formulaire d'entrée.

Page: permet de créer des pages Internet pour accéder à la base de données

CHAPITRE II. CREATION DE TABLE SIMPLE

II.1. Introduction

Commençons notre base par les tables. Une table reprend les informations brutes (non traitées) d'une base de données Access. Une base de donnée Access peut comporter plusieurs tables qui peuvent être liées entre elles (base de donnée relationnelle) ou totalement indépendantes. Après avoir démarré Access, sous l'onglet TABLES, sélectionnons la commande "Créer une table en mode création". La fenêtre suivante apparaît:

La colonne champ reprend le nom du champ. Le type reprend des formats de données préétablis.

Pour notre exemple, Access doit nous permettre de créer une base de données de gestion de CD-DVD, gestion des élèves, etc. Commençons directement par créer la table pour notre exercice.

II.2. Les formats de Champs

Même si certains types de champs dépassent le cadre, voyons les principaux :

  • Texte: permet de créer un champ avec du texte et des chiffres mélangés. Vous ne pouvez pas faire de calculs dans ce type de champs. La taille est limitée à 255 caractères
  • Mémo : est équivalent à TEXTE mais peut reprendre plus d'informations. Des limitations d'affichage, notamment dans les états rendent ce type de champ peu utilisé. La taille maximum est de 65.535 caractères.
  • Numérique : Ce format de champ permet de rentrer des chiffres sous différents formats. 
  • Octet: nombre entiers de 0 à 255
  • Entier (2 octets): nombres entiers entre - 32 768 et + 32 767
  • Entiers long (4 octets): nombres entiers entre -2 147 483 648 et + 2 147 483 647
  • Réel simple (4 octets): 7 décimales, nombres entre - 3,402 823 E 38 et  + 3,402 823 E38
  • Réel double (12 octets): 28 chiffres derrière la virgule (décimales), nombres entre 1,797 693 134 862 31 E308 et 1,797 693 134 862 31 E308
  • Monétaire (4 octets): 4 décimales, nombres entre -922 337 203 685 477,5808 et 922 337 203 685 477,5807
  • Date et heure : format date et heure
  • Monétaire : est identique à numérique mais rajoute le caractère monétaire. Généralement, on utilise directement numérique
  • Numéro Auto : permet à Access d'incrémenter le numéro à chaque nouvel enregistrement.
  • Oui/non : est de type booléen (vrai ou faux)
  • Lien hypertexte : pour le lien avec d’autres logiciels
  • Objet OLE: tous objets provenant d'une application compatible OLE, images,
  • Assistant liste de choix : permet de créer suivant une liste tapée ou reprise dans une autre table les différentes possibilités acceptées.

Pour commencer notre exercice de ce tutorial, nous allons créer une simple table. Dans l'onglet "TABLE", sélectionnons "Créer une table en mode création".

En premier, créons un champ dont le nom est classement. Ce champ va permettre de classer nos albums selon un numéro. Nous le laissons en mode texte. Complétons par les champs suivants:

  • champ texte "Titre album"
  • champ date "date de l'album"
  • champ texte "titre 1" pour le premier titre de l'album
  • champ texte "interprète 1".
  • champ date "date album"

Nous pourrions créer titre 2, interprète 2, … et ainsi de suite mais nous verrons que de meilleures possibilités existent. Quittons par la croix à droite sur la fenêtre et Access demande si nous voulons sauvegarder notre table. Acceptons l'enregistrement et nommons cette table "Album". Une nouvelle question apparaît demandant une clé primaire. Cette clé n'est pas obligatoire mais accélère le traitement des informations d'une base de données sous Access. Malheureusement, cette clé doit être unique dans la table.

Nous pourrions choisir classement, mais ceci n'est pas possible si nous utilisons titre 2, à ce stade, ne sélectionnons pas de clé primaire. Cliquons de nouveau sur album pour l'ouvrir et nous pouvons maintenant rentrer des données dans les différents champs, des enregistrements qui sont dans notre cas des chansons. Serait-il possible de scinder notre table en deux. Une partie serait réservé au contenu des albums, l'autre à l'en-tête (titre de l'album, …). OUI! Cette partie sera vue plus tard et s'appelle une base de données relationnelle. Ceci va modifier notre table de départ puisque nous allons pouvoir utiliser le classement comme clé primaire, il n'y aura plus de risques de doublons. Modifions notre table et supprimons les deux champs "titre1" et "interprete1". Pour cela, sélectionnons la table album et cliquons sur le bouton "Modifier". Sélectionnons la ligne et appuyons sur la touche "Del". Sélectionnez le champ"Classement" et avec la touche droite de la souris, faisons apparaître le menu contextuel. Cliquons sur "clé primaire", en le laissant en type de données texte. Le classement sera dès lors unique. Si notre classement devait être en chiffre et fait automatiquement, nous pouvions pour ce champ utiliser le type en deuxième colonne "Numéro Auto". Cette solution pose quelques problèmes lors de la suppression d'enregistrements.

Créons maintenant une deuxième table que nous appellerons "contenu" par la même méthode reprenant les champs classement, numéro de piste, interprète et titre. Lorsque Access demande la clé primaire, cliquez sur OUI et un champ sera automatiquement rajouté de type numérotation automatique. Nous voici donc avec 2 tables Access. Le chapitre suivant nous permettra de les relier entre-deux via un champ de même type (ici le champ classement) pour créer une base de donnée relationnelle.

II.3. La clé primaire.

Nous venons de voire deux manières d'utiliser la clé primaire dans ce cas, mais  cette notion est secondaire dans de nombreux cas mais peut-être particulièrement utile. Lorsque vous créez une nouvelle table, à l'enregistrement, Access demande automatiquement si vous voulez créer une clé primaire. A quoi sert cette clé? Elle va permettre d'accélérer certains traitements de l'information.

La première possibilité est de laisser Access créer un champ spécifique qui va s'incrémenter automatiquement suivant le numéro et la deuxième solution est d'utiliser un champ de la table Access comme clé primaire. Dans ce cas le contenu de ce champ doit être unique (deux enregistrements ne peuvent utiliser la même valeur pour ce champ). Cette solution est utilisée dans ce cas pour notre table album. En plus, Access indexe automatiquement par ordre croissant sur la clé primaire

Dans le premier cas, ce champ "clé primaire" n'est pas le numéro de l'enregistrement mais bien un nombre s'incrémentant à chaque nouvel enregistrement. Par contre, si vous supprimez un enregistrement, le champ n'est pas remis à jour dans les enregistrements restants. Pour redémarre la clé primaire à 1, il faut donc supprimer le champ de la base de donnée et en recréer un champ de nom identique.

II.4. Déplacements et nouveaux enregistrements

Cliquons 2 fois sur le nom de la table créé, Access affiche le contenu sous forme de tableau avec les enregistrements en ligne et les champs en colonne. En bas de la fenêtre, on retrouve une petite barre d'outils de navigation.
La barre d'outils permet de se déplacer et d'insérer de nouveaux enregistrements. Dans l'exemple ci-dessus, la table comporte 92 enregistrements et nous sommes sur le numéro 19. Attention, toute modification dans un champ est immédiatement pri en compte dans la base de données. Dans le cas d'un tableur, la modification n'est enregistrée sur le disque dur qu'avec la commande enregistrer du menu fichier. 

II.5. Le champ classement

Nous allons rentrer des données dans cette table mais avant, quelques précisions sur le champ classement. Cette notion est identique pour le champ code article d'une gestion commerciale. La majorité code sur des chiffres. Ce n'est que rarement la solution idéale. La manière dont vous allez décider de coder les CD dans notre exemple de ce tutorial Access ou le code du produit dans une gestion commerciale va intervenir dans votre manière de rechercher l'information. Dans le chapitre précédant de ce tutorial, nous avons vu  la création des tables qui permettent de rentrer les données (les enregistrements) dans des champs délimités. Ces tables ne permettent pas de faire un tri ou un filtrage sur les enregistrements de la base de données Access. Cette fonction est dévolue en grande partie aux requêtes. Une requête est liée à une (ou plusieurs) tables, elle reprend ses données et les organise. Rentrer un enregistrement dans la requête ou dans la table revient donc strictement au même. Plusieurs types de requêtes sont proposés par Access. Dans cette partie, nous nous contenterons des requêtes de tri et des requêtes de filtres. Les autres types de requêtes seront vus dans une formation plus avancée. Ceci est une grosse différence avec Excel puisqu'un tableur permet directement de faire des tris et des filtres comme vus dans l’Excel.

CHAPITRE III. CREATION D’UN FORMULAIRE DE BASE.

III.1. Introduction

Cliquons sur le bouton "Formulaires" et créons un formulaire à l'aide de l'assistant, le mode création sera vu plus tard. Sélectionnons Table : contenu par classement créé dans notre exemple. Faisons passer tous les champs dans la partie droite. Ceci nous permettra de les afficher. Sélectionnons par exemple comme type de formulaire "Justifié" puis "SUIVANT ". Sélectionnons un style au hasard. Ceci ne fait que sélectionner des couleurs de fond, ce que nous pourrons modifier plus tard.

Ouvrons le formulaire pour inspecter notre travail. Si vous n'avez pas encore rentré de CD - DVD dans la base de données (table ou requête), aucun enregistrement ne sera affiché. Nous pouvons rentrer des données dans contenu, Oui! Et même plus puisque les données rentrées dans ce formulaire serons rentrés dans la base de donnée contenu et dans la requête (qui dépend de la table) contenu par classement. Par exemple les données suivantes :

Le résultat semble peu expressif. Ceci est lié au faible nombre de champs utilisés, mais nous améliorerons ceci plus tard. Pour rappel, les boutons en bas à gauche servent à se déplacer et à rentrer des données. Nous allons modifier notre requête pour trier suivant le classement, mais pour qu'en cas de même classement (le même CD), les pistes apparaissent en ordre croissant.

La Requête sélectionnée, cliquons sur le bouton modifier et rajoutons tri croissant pour le numéro de piste. Comme cette colonne est après "Classement", ACCESS fera le tri après celui sur classement. Ceci va nous permettre de rentrer nos CD dans n'importe quel ordre. Remarquer que, dans les bases de données ACCESS, les tris ne se font qu'après la fermeture de la requête ou du formulaire associé, une lacune par rapport à d'autres bases de données nettement plus anciennes.

III.2. Formulaires Access personnalisés.

Dans le cas ci-dessus, nous avons utilisé l'assistant pour créer un formulaire. Cette fois, utilisons le mode création.

La présentation devient nettement moins sympathique mais cette méthode va nous permettre  réellement de créer un formulaire selon nos besoins. L'affichage est tout à fait brut, seule la barre d'outils va nous permettre de créer des textes, champs, boutons…. A notre stade, analyser toutes les fonctionnalités serais trop complexe mais voyons d'une manière générale ces fonctions:

  • Sélection: permet de sélectionner le contenu d'une zone.
  • Assistant contrôle : permet de travailler ou non avec des contrôles, c'est une aide précieuse pour la création d'un formulaire.
  • Texte (étiquette): permet de taper un texte (titre par exemple).
  • Champ: permet d'insérer un champ provenant d'une table ou d'une requête
  • Bouton bascule, bouton à cocher et Case à cocher ont la même fonction, seule la présentation change. Ces boutons sont à utiliser dans des champs de type "Oui/non"
  • Zone de liste modifiable : permet de sélectionner une réponse dans une liste ou une autre réponse
  • Zone de liste : ne permet de choisir que les réponses dans la liste.
  • Bouton de commande: permet de créer des boutons de fonctions, fermer la fenêtre, quitter l'application, .... Cette fonction sera utilise pour faire un formulaire de "démarrage" de la base de donnée
  • Image: permet d'insérer une image fixe, un logo par exemple
  • Cadre d'objet indépendant : permet d'insérer un objet venant d'une autre application indépendamment du contenu
  • Cadre d'objet dépendant : permet d'insérer un objet d'une autre application mais dépendant de l'enregistrement
  • Saut de page: permet de couper le formulaire en pages
  • Contrôle d'onglet: permet d'insérer des onglets pour afficher plus d'informations
  • Sous-Formulaire: serons vus avec les bases de données relationnelles
  • Ligne: insérer une ligne dans le formulaire
  • Rectangle: insère un rectangle dans votre formulaire
  • Autres contrôles: une liste de contrôle que nous n'aborderons pas. Ces notions seront identiques pour les états Access

 CHAPITRE IV. CREATION D'UNE REQUETE

IV.1. Introduction

Intéressons nous d'abord à la table "Contenu" créée dans le chapitre précédant. Cliquons sur le bouton requêtes, et ensuite, créez une requête en mode création. Access propose d'ajouter une table, sélectionnons la table "contenu" et une fois cette table sélectionné cliquez sur ajoutée, et puis cliquons sur le bouton "Fermer".

Nous avons deux possibilités. Soit nous déplaçons le champ sélectionné vers le bas, soit nous déplaçons l'étoile vers le bas. Malheureusement, la deuxième solution, plus rapide, ne nous permet pas de travailler sur les champs. Nous devons donc déplacer tous les champs dans la partie inférieure les uns après les autres (pour sélectionner tous les enregistrements, sélectionnez les 2 extrêmes avec la touche shift enfoncée). Nous pouvons négliger le champ "N°" qui n'est pour nous d'aucune utilité. Comme notre but est d'effectuer des tris et des filtres sur notre table, examinons cette partie inférieure. En troisième ligne, apparaît "Tri". Ceci offre la possibilité en ordre croissant ou décroissant. Faisons un tri en ordre croissant sur le classement. Quittons notre requête et enregistrons-là sous le nom "contenu par classement". Cette requête nous a déjà permis d'éliminer des champs de l'affichage (n° dans notre cas) et de faire un trie suivant un champ (classement ici). Les requêtes nous permettrons d'autres possibilités plus tard. A retenir qu’une requête Access permet de trier sur 1 ou plusieurs champs ou n’utiliser qu’une partie des champs.

IV.2. Tris multiples

Nous savons maintenant comment trier une base de donnée suivant le contenu d'un champ. Mais comment trier suivant plusieurs champs? La solution est simple. Vous avez remarqué en insérant les champs dans la création de la requête que vous pouviez finalement les mettre où vous voulez. Le tri se fait suivant l'ordre des champs dans la fenêtre de requête.

Dans notre exemple ci-dessus, le tri se fera donc d'abord par ordre croissant sur le champ "Classement", ensuite, décroissant sur Plage.

IV.3. Un filtre suivant le contenu

La deuxième fonctionnalité d'une base donnée Access (comme toutes les bases de données) est le filtre des informations. Nous reverrons cette notion de manière plus approfondie plus tard mais voyons déjà quelques exemples.

Tapons C42 dans la partie critère sous le champ classement. La requête n'affichera que les enregistrements (nos CD - DVD) dont le classement (notre numéro) est C42

Tapons cette fois fa*, Access rajoutera automatiquement comme"fa*. La requête n'affichera plus que les enregistrements commençants par FA. Access, au contraire de Word en publipostage, ne fait pas la distinction entre les minuscules et les majuscules.

Tapons maintenant comme critère *A* (Access rajoute comme "*a*). Le résultat de la requête affichera tous les enregistrements contenant  « a » dans le champ "classement". Pour accepter un seul caractère, vous pouvez utiliser le « ? ». Dans ce cas, il faudra taper effectivement le comme "" pour accepter cette solution.

Dans notre exemple ci-dessous, le résultat renvoyé par la requête sera les champs commençant par une lettre ou un chiffre, suivi de la lettre a (ou A), suivi de 2 caractères indifférents, suivi du chiffre 2, soit XaXX2. Dans notre exemple, les champs de plus (ou moins) de 5 lettres ne seront pas affichés.

Vous pouvez également utiliser la ligne OU pour utiliser plusieurs filtres.

IV.4. Les autres critères des requêtes

>    : supérieur à 
<    : inférieur à 
< > : différent de  
> = : supérieur ou égal à  
< = : inférieur ou égal à 
= : égal à

D'autres solutions seront bientôt vues mais ça va déjà nous permettre de compléter notre base de données.

IV.5. Questions, filtres personnalisés

Les solutions envisagées plus haut sont fixes. Une fois la requête créée, vous devez changer la requête pour modifier la recherche. La solution ici va permettre de poser une question sur la recherche souhaitée. Créons une nouvelle requête en mode création (pour les requêtes, le mode assistant est peu différent). Sélectionnons la table contenue album. Sélectionnez le premier champ de la table Access, descendez avec l’ascenseur et cliquez sur le dernier champ en maintenant la touche shift enfoncée et ceci va sélectionner l’ensemble des champs et enfin glissons l’ensemble vers la premier case champ disponible. Ceci va transférer l’ensemble des champs vers la requête. Supposons que nous désirons retrouver tous les titres chantés par un groupe ou chanteur. Dans la solution envisagée plus haut, nous devions créer une requête de type  ="nom du chanteur". Dans la case critère sous le champ interprète, tapons [Nom de l'interprète ou groupe]. Cette méthode créée en fait un champ (non repris dans la table mais utilisé par la base de données Access). Enregistrons notre requête sous le nom "Recherche d'interprète" et exécutons-là.

Automatiquement, Access va afficher une petite fenêtre demandant le nom de l'interprète, en fait, le contenu entre crochet [ ]. Ce [contenu champ] ne peux être identique à un champ existant et ne peux dépasser 64 caractères. 

Cette solution de filtre est déjà beaucoup plus souple, mais oblige à taper le nom de l'interprète ou du groupe musical correctement. Passons en mode feuille en cliquant sur  en haut à gauche dans la barre d'outils. Cette solution permet de vérifier la requête sans l'enregistrer. La base de donnée Access posera la même question, mais la requête affichera tous les enregistrements dont le champ interprète contient le mot tapé. Ceci est très utile pour retrouver un client dans une base de données de gestion de stock par exemple ou gestion des élèves. Enregistrons notre requête.

IV.6. Multicritères.

La base de données Access permet également des requêtes multicritères. Comme la majorité des logiciels, Access accepte la fonction ET et  la fonction OU. 

  • "critère" 1 ET "critère 2" nécessite que les 2 critères soit remplis.
  • "critère" 1 OU "critère 2" nécessite qu'au moins 1 des critères soit rempli.

Nous allons utiliser cette possibilité pour vérifier les albums sortis entre 2 dates. Créons une requête en mode création en utilisant notre table album. Comme critère, sous le champ date, tapons  > 01/01/2003 et à la ligne suivante: < 01/01/2005. Access rajoute automatiquement les caractères #. En essayant cette requête, tous les enregistrements sont affichés? Forcément, puisque la requête utilise la fonction OU (OR en anglais). Nous devons utiliser une fonction ET. Supprimons les critères et tapons directement >01/01/2001 ET <01/01/2005. Access rajoute automatiquement les caractères de contrôles.

Et voilà, la requête Access affiche effectivement les albums sortis entre le 1 janvier 2001 et le 1 janvier 2005.

Nous pouvons ici aussi poser la question. Le critère devient: > [date de départ] Et < [date finale]. De fait, la requête Access demande d'abord la date de départ, ensuite la date finale recherchée.

IV.7. Requête relationnelle

IV.7.1. Introduction

Lorsque nous avons créé nos tables, nous avons déjà mentionné que des tables pouvaient être reliées entre-elles. Une liaison entre 2 tables en Access s'appelle une relation. Par extension, une base de données Access qui utilise plusieurs tables reliées entre elles s'appelle une base de données relationnelle. MySQL accepte également cette fonctionnalité. Cette possibilité permet de réduire les données à rentrer. Par exemple, dans une gestion de stock, une table reprendra le produit (code, description, nom du fournisseur, ...) tandis qu'une autre table reprendra les coordonnées du fournisseur. Ceci permettra de ne rentrer les coordonnées du fournisseur qu'une seule fois et de relier le code fournisseur dans la table produit. Un deuxième avantage vient de la taille des champs. Moins de données sont rentrées dans la base de données, ce qui diminue sa taille.

Une représentation de nos 2 tables va nous permettre d'y voire plus claire. La table Album reprend le classement de l'album. Comme ce champ est une clé primaire, le contenu sera unique. Le titre et la date de l'album sont indicatifs. Par contre, la table contenu album reprend le contenu effectif de cet CD - DVD. Le point de liaison entre ces 2 tables est le champ "classement". Un album reprenant comme classement "FA-002" contiendra donc tous les titres repris dans la table "contenu album" avec un classement identique. Il nous reste à faire la liaison entre ces 2 tables, ce qu'on appelle une relation. Plusieurs méthodes sont possibles. La première méthode est de créer une requête, la deuxième méthode est de créer un formulaire avec un sous-formulaire.

IV.7.2. Requête relationnelle sous Access

La première opération va être de créer 2 requêtes à partir des tables album et contenu album. Ces requêtes vont simplement classer les enregistrements. La première requête utilise la table album. Créons cette requête album en faisant glisser tous les champs. Trions juste le champ classement en ordre croissant. Appelons cette requête "requête album tri". De même avec la table "Contenu album", trions par ordre croissant sur le classement puis sur la plage. Appelons cette requête "requête contenu album tri".

Nous allons maintenant créer une requête Access utilisant ces 2 requêtes (utilisez le mode Création). Commençons par ajouter ces 2 requêtes.

La relation entre les 2 requêtes n'est pas créée. Pour le faire, cliquons sur classement dans la requête album et en maintenant la souris enfoncée, glissons vers classement de l'autre requête. Une ligne joint maintenant les champs classements des 2 requêtes. Faisons glisser dans la partie du dessous tous les champs sauf classement de "Contenu album". En effet, ce champ classement sera identique

Sauvegardons notre requête relationnelle sous le nom RELATION. En ouvrant la requête, nous retrouvons bien tous les enregistrements avec les contenus des champs des 2 requêtes. Cette méthode permet de ne plus taper par plage de CD le titre de l'album et la date. C'est un gain de temps mais finalement n'apporte pas grande chose

CHAPITRE V : CREATION D'UN ETAT DE BASE

V.1. Introduction à la création d’un état

Dans une base de données Access, les impressions se font à l'aide des états. Utilisons le mode "A l'aide des assistants". Sélectionnons la requête relation que nous avions déjà créée. Celui-ci reprenait les albums et leur contenu. Sélectionnons l'ensemble des champs.

Microsoft Access demande si nous souhaitons ajouter un niveau de regroupement. Ceci permet de rassembler par exemple les titres repris sous un album par exemple. Sélectionnons donc classement. Cliquons sur suivant. Sélectionnons comme tri le numéro de la plage. Ceci va organiser toutes les impressions suivant le titre de l'album, avec pour chaque album une organisation suivant le numéro de la piste. Ensuite, sélectionnons une organisation quelconque, par exemple échelonné. Sélectionnons ensuite un style suivant nos préférences et donnons le titre relation à notre état.

Voici notre premier état Access créé. Sélectionnons notre état et cliquons sur modification. La fenêtre reprend les différents composants de notre état en mode modification: des titres et des champs. Commençons par analyser les différentes zones de cet état. L'entête d'état reprend les textes qui seront repris au début de notre impression. L'entête de page reprend les textes (images, …) qui seront imprimés sur toutes les pages, sans exceptions. En-tête de groupe classement reprend ce qui sera imprimé pour chaque classement (ici le code de chaque album). Dans notre cas, nous avons inséré le champ, ce qui sera imprimé sera donc le contenu du champ. En détail, est repris le contenu de chaque album. En pied de page, qui nous allons modifier certaines parties. Commençons par la zone détail.

En cliquant sur numéro de piste, nous pouvons déplacer ce champ. Pour cela, pointons notre souris en haut à gauche du champ et déplaçons-le vers la gauche. Nous pouvons faire de même pour les autres champs. Nous pouvons faire de même avec les titres dans la partie entête de page. Supposons que nous souhaitions faire des jaquettes pour mettre au dos de nos pochettes. L'idéal serait de ne pas avoir d'entêtes de page, reprendre un album par pages. Le pied de page ne nous intéressant pas trop. Fermons notre état. Sélectionnons l'état relation et avec le menu contextuel, sélectionnons COPIER. Collons maintenant notre état. Donnons comme nom album et sélectionnons-le en modification. Sélectionnons le titre et appuyons sur la touche « Del » pour le supprimer. Si nous essayons de réduire la zone, Access reprend quand même une petite zone. Pour réduire toute cette zone, il nous faut d'abord effacer la ligne de séparation qui a été créée automatiquement. L'entête de page totalement réduit, plus rien ne sera imprimé.

Nous souhaiterions reprendre chaque album sur une page. Dans les outils, reprenons la commande Saut de page et insérons là dans la partie en-tête de groupe. Ceci insérera un saut de page entre chaque album (un album par page).

V.2. Personnalisation d'états

Pour personnaliser nos états, nous pouvons également insérer quelques champs particuliers, notamment l'heure d'impression. Par exemple, en insérant le code "Zone de texte" = Maintenant ( ) dans le pied de page, Access insère la date d'impression au format désiré (par les propriétés de cette zone de texte). Continuons par une création de base de données plus professionnelle les MACROS.

V.2.1. Les Macros

Une Macro permet de créer des listes de commandes. Sans rentrer dans la programmation qui dépasserait le cadre de cette initiation de notre présentation, ceci va nous permettre de créer un menu de démarrage personnalisé.

Dans le menu macro, sélectionnons Nouveau. Dans la partie gauche, sélectionnons "Ouvrir formulaire". Dans les propriétés en dessous, sélectionnons le formulaire que nous souhaitons ouvrir. Enregistrons notre macro comme Ouvrir le formulaire. Et voilà, nous venons simplement de créer une petite macro qui ouvrira le formulaire spécifié. Cette macro s'insérera dans un formulaire. C'est ce que nous allons faire. Vous pouvez également créer plusieurs opérations à la suite de l'autre à l'aide de ces macros.

V.2.2. Un menu de départ.

Commençons par créer un nouveau formulaire en mode création. Dans ce mode, aucune table ou requête n'est demandée. C'est justement cela qui nous intéresse. Dans la barre d'outils, sélectionnons "Boutons de commande" et dessinons notre bouton sur la zone de formulaire. Directement, un assistant va nous permettre de sélectionner une fonction.

Déplacements entre enregistrements : va nous permettre tous nos déplacement mais ces fonctions sont déjà reprises dans notre barre de déplacement en bas.

Opérations sur les enregistrements : permet d'ajouter, supprimer, ... les enregistrements.

Opérations sur les formulaires, états, ... : va permettre d'ouvrir, ... les formulaires et les états.

Applications : permet d'exécuter d'autres programmes (Word, excel, ...)

Divers : reprend justement les macros

Sélectionnez "Macros", ensuite la macro créée ci-dessus. En utilisant les différentes fonctions vous pouvez par exemple faire un menu d'entrée permettant d'ouvrir différents formulaires, états, ... Dans un chapitre ultérieur, nous verrons même comment obliger l'utilisateur à n'utiliser que les formulaires ainsi créés mais le but actuel est uniquement de nous faciliter la vie. Depuis la version Access XP, une nouvelle commande est insérée dans le menu outils qui permet une fonction similaire: le gestionnaire de Menu General.

V.2.3. Comment  afficher un formulaire au démarrage?

Dans le menu Outils, sélectionnons la commande Démarrage, Il suffit de mettre le nom de notre formulaire d'entrée dans la case Afficher Formulaire / page pour que notre formulaire soit automatiquement affiché au démarrage de l'application Access. Cette commande permet également de réduire les possibilités des utilisateurs au démarrage de l'application de notre base de données Access.

 

Aujourd'hui sont déjà 3 visiteurs (4 hits) Ici!
Ce site web a été créé gratuitement avec Ma-page.fr. Tu veux aussi ton propre site web ?
S'inscrire gratuitement