Voici les conseils donnés par un organisme canadien aux petits musées:
Après avoir consacré beaucoup de temps,
d'efforts et d'argent pour produire souvent des milliers d'images, il est
essentiel que ces images soient stockées correctement et fassent l'objet
d'une attention appropriée. Comme tout autre avoir, des images numérisées
peuvent être au mauvais endroit, endommagées ou tout simplement
inaccessibles à cause de l'obsolescence du matériel ou des logiciels. La
gestion des images revêt beaucoup d'importance pour les activités en cours
comme pour la planification de projets futurs. C'est pourquoi la
planification d'un projet d'informatisation devrait comprendre une politique
de gestion des avoirs numériques créés. Le processus de saisie d'images
résulte en des images maîtresses qui devraient idéalement être enregistrées
sur des supports d'archives, avec au moins une copie hors ligne ou en
mémoire secondaire. Chaque image maîtresse donne ensuite lieu à la création
d'une ou plusieurs images dérivées pour des fins telles que l'affichage dans
Internet (dans ce cas, l'image dérivée est gardée avec moins de précision
que l'image maîtresse). Afin d'éviter toute confusion entre les images maîtresses et dérivées, il est conseillé d'élaborer des lignes directrices quant aux noms de fichier d'image, comme l'emploi d'un préfixe ou d'un suffixe pour indiquer que le fichier contient une image dérivée. Images maîtressesLe processus de saisie d'images exige beaucoup de ressources. L'espace de stockage nécessaire à cette étape du projet risque d'être très considérable, selon le nombre d'images en cause : espace disque et espace de serveur pour le travail en cours et les copies de sauvegarde des images d'archives, que ce soit sur un disque local, réseau ou portable. Après un processus d'examen et de consignation, les images maîtresses sont normalement écrites périodiquement sur un support d'archivage à long terme, par exemple sur support optique ou sur bande. Si l'on conserve des copies d'archives des images numérisées initiales ou des images maîtresses sur des supports portables, il est essentiel d'entreposer ces derniers dans des conditions appropriées, de les identifier correctement et d'avoir une stratégie bien définie de conservation à long terme. Images dérivéesLes images dérivées sont créées ultérieurement pour divers usages, à
partir des images maîtresses. Celles qui servent de références visuelles à
une base de données de gestion des collections ou dans Internet doivent être
dans un format à faible résolution, par exemple 500 x 500 pixels.
Une résolution encore inférieure de 150 x 150 pixels peut également être
requise pour des vignettes. Les images numériques destinées à une impression
haut de gamme requièrent une résolution beaucoup plus grande. Copies de sauvegardeUn aspect souvent négligé de la gestion d'images et de la planification de l'espace est celui des copies de sauvegarde des images maîtresses et dérivées. Comme avec tout système, un désastre peut toujours survenir, qu'il s'agisse de la destruction totale du support de stockage numérique ou de problèmes mineurs comme des erreurs de lecture d'un disque optique compact. Il y a probablement des procédures implicites de sauvegarde des images dérivées si celles-ci sont dans un serveur de fichiers accessible par le réseau. Par contre, les images maîtresses stockées sous forme d'archives, par exemple sur disque optique compact ou sur bande, devraient faire l'objet d'une copie de sauvegarde stockée en un lieu distinct des originaux. Le format de la copie de sauvegarde peut être ou non le même que celui de l'original. Appareils et supports de stockageÉtant donné l'espace considérable nécessaire au stockage des images numériques, la planification des appareils et supports de stockage à utiliser doit faire partie intégrante de tout projet d'informatisation. Par exemple, si un projet porte sur 1 000 objets et que la taille moyenne d'un fichier d'image maîtresse est de 30 méga-octets, il faut évidemment disposer de moyens de stockage considérables. Les dispositifs de stockage retenus pour un projet peuvent combiner différents types et formats, selon les utilisations prévues et les méthodes d'accès voulues. On peut ajouter des unités de stockage en cours de projet, au fur et à mesure de l'augmentation des volumes. Types de support de stockage
Contrôle de la qualitéPendant tout le processus de numérisation, il est essentiel de vérifier de temps à autre les procédés, la documentation et la qualité des produits afin de détecter le plus tôt possible les éventuelles erreurs et omissions de nature technique ou liées à la gestion des enregistrements, et éviter de les répéter dans tout le projet. Un problème courant et rarement détecté avant la fin d'un projet, en particulier si l'on fait appel à un fournisseur externe, vient de la résolution à laquelle les images sont numérisées et stockées. Une vérification précoce, répétée ensuite à intervalles réguliers, permet de gagner beaucoup de temps et de faire des économies considérables. Là encore, des instructions claires et bien documentées à l'intention des fournisseurs sont particulièrement importantes. |
De nombreux organismes ont actuellement lancés de grands programmes de numérisation. Si le format numérique présente de multiples avantages, le stockage et l'exploitation de ces données en grand nombre n'est pas simple.
Il faut stocker un grand nombre de fichiers volumineux, les organiser de manière logique et s'assurer de la pérennité des formats... Pour le stockage et le tri de ces fichiers, on utilise généralement une base de données. Chaque image n'est pas forcément stockée dans la base de données, mais elle y est référencée. Il existe plusieurs référencement possibles:
En France, le ministère de la culture maintient cinq bases de données:
Les bases de données documentaires forment un ensemble cohérent organisé selon le principe suivant : Mérimée recense des édifices dans lesquels peuvent être conservées des oeuvres mobilières étudiées dans la base Palissy Palissy recense des objets mobiliers dont l'édifice de conservation peut être étudié dans Mérimée. Mémoire contient des images fixes dont certaines illustrent les notices d'oeuvres de Mérimée et de Palissy ainsi que les notices de Thésaurus. Archidoc contient des notices bibliographiques qui peuvent également se rattacher aux notices de Mérimée et de Palissy. Thésaurus fédère l'ensemble de ces bases par un vocabulaire commun. Chaque base peut être interrogée indépendamment. Pour cela, les informations communes nécessaires à l'identification des oeuvres sont reprises d'une base à l'autre. Des liens informatiques permettent une navigation transversale entre les différentes bases. |
|
Cette nécessité de stocker un grand nombre d'images est commun à plusieurs professions (musées, polices, météos, ...) et à amené plusieurs sociétés à se pencher sur les problèmes inhérents tels que
La société LTU Tech a notamment développé un moteur de recherche orienté images très puissant:
access vs
excel
Vous devez choisir le type de champ en fonction de ce que vous souhaitez faire. Voici quelques informations:
Le type de relation créé dépend de la manière dont les champs liés sont définis :
L'intégrité référentielle est un système de règles que utiliser pour garantir que les relations entre les enregistrements dans les tables liées sont valides et que vous ne supprimez pas ou ne modifiez pas accidentellement des données liées. Vous pouvez mettre en œuvre l'intégrité référentielle si toutes les conditions suivantes sont réunies :
Les règles suivantes s'appliquent quand vous utilisez l'intégrité référentielle :
Lorsque vous appliquez l'intégrité référentielle à une relation, vous pouvez spécifier si vous voulez que Access mette à jour en cascade et supprime en cascade automatiquement des enregistrements liés. Si vous activez ces options, les opérations de suppression et de mise à jour qui normalement ne sont pas permises par les règles d'intégrité référentielle sont alors autorisées. Quand vous supprimez des enregistrements ou que vous modifiez des valeurs de clé primaire dans une table primaire, Access effectue les modifications nécessaires dans les tables liées afin de maintenir l'intégrité référentielle.
Si vous activez la case à cocher Mettre à jour en cascade les champs correspondants quand vous définissez une relation, chaque fois que vous modifiez la clé primaire de l'enregistrement d'une table primaire, le logiciel met automatiquement à jour la clé primaire avec la nouvelle valeur dans tous les enregistrements liés. Cette mise à jour en cascade est effectuée sans afficher de message.
Attention: Si la clé primaire dans la table primaire est un champ NuméroAuto, il est inutile d'activer la case à cocher Mettre à jour en cascade les champs correspondants car il est impossible de changer les valeurs d'un champ de type NuméroAuto.
Si vous activez la case à cocher Effacer en cascade les enregistrements correspondants lorsque vous définissez une relation, Microsoft Access supprime automatiquement les enregistrements correspondants dans la table liée à chaque fois que vous supprimez un enregistrement de la table primaire. Lorsque vous supprimez des enregistrements d'un formulaire ou d'une feuille de données alors que la case à cocher Effacer en cascade les enregistrements correspondants est activée, vous êtes prévenu que des enregistrements correspondants peuvent aussi d'être supprimés. Par contre, si vous supprimez des enregistrements à l'aide d'une requête Suppression, les enregistrements sont supprimés automatiquement dans les tables liées sans afficher de message.
Vous pouvez utiliser des requêtes pour afficher, modifier et analyser des
données de diverses façons. Vous pouvez également les utiliser comme source
d'enregistrements pour des formulaires, des états et des
pages d'accès aux données.
Il existe plusieurs types de requêtes:
Requêtes Sélection:
la requête Sélection est le type de requête le plus courant. Elle récupère
des données contenues dans une ou plusieurs tables et affiche les
résultats sous la forme d'une feuille de données dans laquelle il vous est
possible d'effectuer une mise à jour des enregistrements (sous réserve de
quelques restrictions). Vous pouvez également utiliser une requête
Sélection pour regrouper des enregistrements et calculer une somme, une
moyenne ou effectuer un comptage ou tout autre type d'opération.
Requêtes paramétrées:
une requête paramétrée est une requête qui, lors de son exécution, affiche
une boîte de dialogue qui vous invite à entrer des informations, telles
que des critères pour extraire des enregistrements ou une valeur à insérer
dans un champ. Vous pouvez configurer cette requête afin qu'elle vous
invite à entrer plusieurs informations : vous pouvez par exemple la
configurer pour qu'elle vous invite à saisir deux dates afin de récupèrer tous les enregistrements compris entre celles-ci.
Les
requêtes paramétrées peuvent également servir de base à des formulaires,
des états et des pages d'accès aux données. Vous pouvez par exemple créer
un état des revenus mensuels basé sur une requête paramétrée. Lorsque vous
imprimez l'état, cela affiche une boîte de dialogue qui vous
demande le mois sur lequel l'état doit porter. Vous entrez un mois et
vous imprimez l'état qui s'y rapporte.
Requêtes Analyse croisée:
les requêtes Analyse croisée vous permettent de calculer et de
restructurer des données afin d'en faciliter l'analyse. Ces requêtes
calculent une somme, une moyenne, un nombre ou tout autre type de total
pour des données regroupées en deux types d'informations, dont l'un est
situé en bas à gauche de la feuille de données et l'autre, en haut.
Requêtes Action:
une requête Action est une requête capable de modifier ou déplacer un
grand nombre d'enregistrements en une seule opération. Il existe quatre
types de requêtes Action :
Requêtes SQL:
Requête que vous créez à l'aide d'une instruction SQL.
Le langage SQL (Structured Query Language) permet
d'interroger, de mettre à jour et de gérer des bases de données
relationnelles.
Lorsque vous créez une requête en
mode de Création de requête, cela construit en tâche de
fond les instructions SQL équivalentes. En fait, la plupart des propriétés
de requêtes dans la feuille des propriétés en mode Création de requête ont
des clauses équivalentes et des options accessibles en
mode SQL. Si vous le souhaitez, vous pouvez afficher ou modifier
l'instruction SQL en mode SQL. Toutefois, une fois la requête modifiée en
mode SQL, elle risque de ne pas s'afficher comme précédemment en mode
Création.
La requête Sélection est le type de requête le plus courant. Vous pouvez l'utiliser pour :
Vous pouvez utiliser des requêtes Analyse croisée pour calculer et restructurer des données en vue d'une analyse plus simple de vos données. Les requêtes Analyse croisée calculent une somme, une moyenne, un nombre ou un autre type de total pour des données regroupées en deux types d'informations, dont l'un est situé en bas à gauche de la feuille de données et l'autre, en haut.
Une requête Suppression supprime un groupe d'enregistrements d'une ou
plusieurs tables. Par exemple, vous pouvez utiliser une requête Suppression pour
effacer des produits qui ne sont plus fabriqués ou qui ne sont plus commandés.
Lorsque vous utilisez une requête Suppression, vous supprimez toujours des
enregistrements entiers, et non uniquement certains champs dans ces
enregistrements.
Vous pouvez utiliser une requête de suppression pour supprimer les
enregistrements d'une seule table, de plusieurs tables ayant une
relation un-à-un, ou de plusieurs tables ayant une relation un-à-plusieurs, si vous activez les
suppressions en cascade.
Considérations importantes à prendre en compte lors de l'utilisation d'une requête Suppression:
Vous pouvez créer un champ qui affiche les résultats d'un calcul que vous avez défini dans une expression ou qui manipule les valeurs d'un champ.
Un formulaire est un type d'objets de base de données qui est utilisé essentiellement pour entrer et afficher des données dans une base de données. Vous pouvez également utiliser un formulaire comme Menu général qui ouvre d'autres formulaires et des états dans la base de données ou comme boîte de dialogue personnalisée qui permet aux utilisateurs d'entrer des données et de les utiliser.
Il y a plusieurs façons de créer un formulaire, par exemple.
Il en existe d'autres:
Astuce: il est possible d'afficher un formulaire ou une page d'accès aux données au démarrage, de deux manières différentes:
Remarques
On peut associer plusieurs événements au formulaire:
EVENEMENT |
QUAND SE PRODUIT-IL ? |
Sur Activation | Dès qu'un autre enregistrement apparaît à l'écran |
Avant insertion | a à la frappe du premier caractère d'un nouvel enregistrement, ou à la première entrée dans une liste déroulante d'un nouvel enregistrement |
Après insertion | Juste après que l'enregistrement ait été sauvegardé |
Avant MAJ | Juste avant d'écrire les modifications sur disque |
Après MAJ | Juste après avoir écrit les modifications sur disque |
Sur Suppression | S'exécute dès l'appui de DEL |
Avant Suppression | S'exécute Avant d'effacer l'enregistrement, juste avant la boîte de dialogue de confirmation |
Après suppression | Juste après une quelconque réponse à la boîte de dialogue de confirmation de suppression |
Sur ouverture | A l'ouverture du formulaire (pas à l'agrandissement ni à l'activation), juste avant de l'afficher. Se passe juste avant Chargement |
Sur chargement | Se passe juste après Sur Ouverture |
Sur redimensionnement | Juste après le redimensionnement. Attention : Lors d'un chargement de formulaire, cet événement peut se produire plusieurs fois. |
Sur libération | |
Sur fermeture | A la fermeture du formulaire (pas à la diminution ni à la désactivation), juste avant de le faire disparaître |
Sur activé | Dès que le formulaire est activé |
Sur désactivé | Juste après avoir cliqué sur une autre feuille (ce qui désactive automatiquement le formulaire) |
Sur réception focus | Devrait se passer chaque fois que le formulaire devient actif, mais je n'arrive pas à déclencher l'événement |
Sur perte focus | Même problème qu'avec Réception focus |
Sur clic | Cliquer oú ??? |
Sur double clic | double-Cliquer oú ??? |
Sur souris appuyée | |
Sur souris déplacée | Se passe perpétuellement |
Sur souris relâchée | |
Sur touche appuyée | A la place d'entrer le caractère à l'endroit voulu |
Sur touche activée | |
Sur touche relâchée | Juste après avoir entré le caractère |
Sur erreur | Dès qu'on tente de valider un champ non-correct (par exemple). Juste avant la boîte de dialogue par défaut. |
Sur minuterie | Dès que l'intervalle minuterie est terminée |
Intervalle minuterie | Se compte en millisecondes (0-65535) |
Ces événements sont associés à une procédure événementielle.
Cette procédure événementielle est écrite en Visual Basic:
Me représente l'objet en cours.
L'événement Sur Touche Appuyée est bien pratique. Elle se compose de 2 paramètres : Keycode et Shift. On ne peut pas faire grand chose de correct quand on teste la valeur d'une lettre ou d'un chiffre, mais bien quand on utilise les touches de contrôle telles que Ctrl, Shift, Alt et AltGr
Touches enfoncées | Valeur de Keycode | Valeur de Shift |
Ctrl | 17 | 2 |
Shift | 16 | 1 |
Alt | 18 | 4 |
AltGr | 18 | 6 |
Ctrl Shift | 16 | 3 |
Ctrl Alt | 18 | 6 (pareil que AltGr, mais à l'infini) |
Ctrl AltGr | 18 | 6 |
Shift Alt | 18 | 5 |
Shift AltGr | 18 | 7 |
Ctrl Shift Alt | 18 | 7 |
Ctrl Shift AltGr | 18 | 7 |
En utilisant une petite ligne de code, on peut amener les listes déroulantes
à se mettre à jour, par exemple en rechargeant le formulaire avec l'instruction
REFRESH :
Pour rafraîchir une liste déroulante d'un formulaire (en fait pour réinterroger la base de données), on peut aussi utiliser la méthode REQUERY de la façon suivante. Dans notre exemple, nous sommes dans un formulaire principal, et dans le sous-formulaire il existe une liste déroulante basée sur la table des articles. L'idée est que cette liste déroulante ne doit comporter que les articles vendus par le fournisseur dont le numéro se trouve dans le formulaire principal. Il est alors nélcessaire de rafraîchir cette liste à chaque MAJ de la liste déroulante du formulaire principal. Le code de l'exemple suivant est à placer SUR RECEPTION FOCUS de la liste en question
Exemple :
Me![DésignationDuSous-Formulaire].Formulaire![ListeDéroulanteArticle].Requery
On peut associer un événement à plusieurs actions, pas seulement à la mise à
jour :
Un sous-formulaire est un formulaire inséré dans un autre formulaire. Le formulaire primaire est appelé formulaire principal et le formulaire qu'il contient, sous-formulaire. Une combinaison formulaire/sous-formulaire est souvent appelée formulaire hiérarchique ou formulaire père/fils.
Les sous-formulaires sont particulièrement utiles lorsque vous voulez afficher les données de tables ou de requêtes qui ont une relation un-à-plusieurs. Le formulaire principal affiche les données du côté « un » de la relation. Le sous-formulaire affiche les données du côté « plusieurs » de la relation.
Dans ce type de formulaire, le formulaire principal et le sous-formulaire sont liés. Ainsi, le sous-formulaire n'affiche que les enregistrements qui correspondent à l'enregistrement en cours du formulaire principal.
Lorsque vous créez un sous-formulaire, vous pouvez le concevoir de façon à s'afficher en modes Feuille de données, Formulaire, Tableau croisé dynamique ou Graphique croisé dynamique. Vous pouvez également définir le mode d'affichage par défaut du sous-formulaire et désactiver un ou plusieurs modes d'affichage. Vous pouvez changer le mode d'affichage d'un sous-formulaire lorsque le formulaire principal est affiché en mode Formulaire.Les sous-formulaires ne s'affichent pas lorsqu'un formulaire principal est ouvert en affichage Tableau croisé dynamique ou Graphique croisé dynamique.
Vous pouvez faire en sorte qu'un formulaire affiché en mode Formulaire ressemble à une feuille de données, mais comme il est en mode Formulaire, il peut afficher un en-tête ou un pied de page de formulaire.
Lorsque vous créez un formulaire et un sous-formulaire basés sur des tables qui ont une relation un-à-plusieurs, le formulaire principal représente le côté « un » de la relation et les sous-formulaires le côté « plusieurs » de la relation. Le formulaire principal est synchronisé avec le sous-formulaire de façon que le sous-formulaire n'affiche que les enregistrements associés à l'enregistrement du formulaire principal.
Si vous faites appel à un Assistant pour créer un sous-formulaire, ou si vous faites glisser un formulaire, une table ou une requête vers un autre formulaire afin de créer un sous-formulaire, Access synchronise automatiquement le formulaire principal et le sous-formulaire si l'une des conditions suivantes est respectée :
Un formulaire principal peut contenir autant de sous-formulaires que vous le souhaitez à condition qu'ils soient placés dans le formulaire principal. Vous pouvez également imbriquer jusqu'à sept sous-formulaires. Cela signifie que vous pouvez avoir un sous-formulaire contenu dans un formulaire principal mais aussi un second sous-formulaire contenu dans ce sous-formulaire, etc. Vous pouvez, par exemple, avoir un formulaire principal qui affiche les clients, un sous-formulaire qui affiche les commandes et un autre sous-formulaire qui affiche les détails des commandes. Un formulaire n'affiche cependant pas de sous-formulaires en mode Tableau croisé dynamique ou Graphique croisé dynamique.
Lorsque vous utilisez un formulaire possédant un sous-formulaire pour entrer
de nouveaux enregistrements, Microsoft Access sauvegarde l'enregistrement en
cours dans le formulaire principal lorsque vous saisissez des données dans le
sous-formulaire. Grâce à cela, les enregistrements de la table « plusieurs »
pourront être reliés à un enregistrement de la table « un ». Chaque
enregistrement est également automatiquement sauvegardé lorsqu'il est ajouté
au sous-formulaire.
Groupe d'options
On peut lier plusieurs cases à cocher ensemble afin de proposer un choix multiple:
Si dans un tableur, l'impression est directe (via la commande imprimer du menu Fichier), ce n'est pas le cas des bases de données (SGBD). L'impression d'un rapport passe par la création préalable d'un état. Ces états permettent de faire (outre l'affichage des champs) des tris et des filtres sur les enregistrements. La dernière possibilité des états va permettre également de créer des sous-totaux et des totaux sur les résultats imprimés. Les états reprennent donc les calculs repris par les fonctions d'un tableur.
Mais la création d'un état qui présente correctement les données imprimées est souvent une opération longue et quelque peu fastidieuse. C'est pourquoi l'état n'est pas toujours considéré comme indispensable, et il existe deux façons de s'en passer.
Un état est pratiquement toujours construit sur le résultat d'une requête, et ce pour les raisons suivantes :
Il existe plusieurs manières pour créer un état et plusieurs types d'état:
Il existe trois méthodes de création d'état.
À partir d'une table ou d'une
requête unique en utilisant l'État Instantané.
L'État Instantané crée
un état affichant tous les champs et enregistrements de la requête ou de la
table sous-jacente.
Access applique le dernier format automatique que vous avez utilisé dans l'état. Si vous créez pour la première fois un état à l'aide d'un Assistant ou si vous n'avez pas utilisé la commande Format automatique du menu Format, Access utilise le format automatique standard.
Vous pouvez aussi créer un état à colonne simple basé sur la table ou la requête ouverte ou sur la table ou la requête sélectionnée dans la fenêtre Base de données. Cliquez sur État instantané dans le menu Insertion, ou sur la flèche placée en regard du bouton Nouvel objet dans la barre d'outils, puis cliquez sur État instantané. Les états créés à l'aide de cette méthode ne possèdent ni en-tête et pied d'état ni en-tête et pied de page.
Basé sur une ou plusieurs tables ou requêtes en utilisant un
Assistant.
L'Assistant vous pose des questions détaillées sur les sources
d'enregistrement, les champs, la présentation et le format que vous souhaitez
utiliser, puis crée un état sur la base de vos réponses.
Si la présentation de l'état créé ne vous satisfait pas, vous pouvez le modifier en mode Création.
Remarques
Dans votre propre mode Création.
Vous créez un état de base
et le personnalisez en mode Création pour qu'il convienne à vos exigences.
En mode Création, les sections sont représentées sous forme de bandes, et chaque
section de l'état est représentée une seule fois. Dans un état imprimé,
certaines sections peuvent être répétées. Vous déterminez où apparaissent les
informations dans chaque section en plaçant des contrôles, tels que des
étiquettes et des zones de texte.
L'en-tête d'état apparaît une fois au début d'un état. Vous pouvez
l'utiliser pour des éléments tels qu'un logo, un titre d'état ou une date
d'impression. L'en-tête d'état est imprimé avant celui de la page, sur la
première page de l'état.
L'en-tête de page apparaît dans la partie supérieure de chaque page d'un état. Il permet d'afficher des éléments tels que les en-têtes de colonne.
La section Détail contient le corps principal des données d'un état. Cette
section est répétée pour chaque enregistrement dans la source d'enregistrement
sous-jacente de l'état.
Le pied de page apparaît dans la partie inférieure de chaque page d'un
état. Il permet d'afficher des éléments tels que les numéros de page.
Le pied d'état apparaît une seule fois à la fin d'un état. Il permet d'afficher des détails tels que les totaux d'état. Le pied d'état constitue la dernière section dans la conception d'état, mais apparaît avant le pied de page sur la dernière page de l'état imprimé.
Vous pouvez ajouter un en-tête et un pied à chaque groupe d'un état. Dans un état, des commandes expédiées le même jour sont regroupées. L'en-tête affiche la valeur à partir de laquelle les enregistrements sont regroupés, et le pied un sous-total pour le groupe.
Un en-tête de groupe apparaît au début d'un nouveau groupe d'enregistrements. Il permet d'afficher des informations concernant le groupe de manière globale, telles qu'un nom de groupe.
Un pied de groupe apparaît à la fin d'un groupe d'enregistrements. Il permet d'afficher des éléments tels que les totaux de groupes.
Vous pouvez masquer ou redimensionner une section, ajouter une image, ou définir une couleur d'arrière-plan d'une section. Vous pouvez également définir des propriétés de section pour personnaliser l'impression du contenu d'une section.
La création de groupe permet également d'insérer des sauts de pages, de rajouter des lignes de séparation ou de décider si une section peut être coupée par un saut de page ou pas :
Dans chaque section,on distingue trois catégories de zone de texte :
On peut compter le nombre d'enregistrements dans chaque groupe ou état:
Propriété | Paramètre |
---|---|
Nom (Name) | Une chaîne de texte, telle que RecordCount |
SourceContrôle (ControlSource) | =1 |
Cumul (RunningSum) | Par groupe |
Visible (Visible) | Non |
On peut donc préciser le format de la date.
Attention, la commande [Page] donne le numéro de la page en cours, alors que la commande [Pages] correspond au nombre total de pages.
Une macro reprend une ou plusieurs commandes Access
exécutées les unes à la suite des autres, chacune exécutant une tâche précise.
Les actions exécutées peuvent être l'ouverture (la fermeture) d'un formulaire,
imprimer un état ou rafraîchir la fenêtre en cours par une procédure
événementielle.
Une macro peut par exemple:
Créer une macro
Créer un groupe de macros
Si vous souhaitez regrouper plusieurs macros associées dans un même emplacement au lieu de les mémoriser séparément, vous pouvez les organiser sous la forme d'un groupe de macros.Remarques
nomgroupemacro.nommacro
Exécuter une macro
Pour exécuter directement une macro, effectuez l'une des opérations suivantes :Exécuter une macro située dans un groupe de macros
Pour exécuter une macro appartenant à un groupe de macros, effectuez l'une des opérations suivantes :nomgroupemacro.nommacro
Par exemple, ce paramètre de propriété événementielle permet d'exécuter une macro appelée Catégories dans un groupe de macros appelé Boutons Menus des Formulaires.
Boutons Menus des Formulaires.Catégories
Exécuter une macro à partir d'une autre macro ou d'une procédure Visual Basic
Ajoutez l'action ExécuterMacro à votre macro ou procédure.DoCmd.RunMacro "My Macro"
Exécuter une macro ou une procédure événementielle en réponse à un événement sur un formulaire, un état ou un contrôle
Microsoft Access répond à de nombreux types d'événements de formulaire, d'état et de contrôle, notamment les clics de souris, les modifications des données et l'ouverture ou la fermeture des formulaires ou états.Par exemple, pour utiliser une macro afin d'afficher un message lorsque vous cliquez sur un bouton de commande, attribuez à la propriété SurClic de ce bouton de commande le nom d'une macro qui affiche le message. Pour utiliser une procédure événementielle, créez une procédure événementielle Clic pour le bouton de commande, puis attribuez la valeur [Procédure événementielle] à sa propriété SurClic.
Vous pouvez également interrompre une macro en cours d'exécution et poursuivre l'exécution selon la procédure pas-à-pas en appuyant sur CTRL+PAUSE.
À quel moment dois-je utiliser une macro ?
Les macros représentent une manière facile de s'occuper de détails simples, tels que l'ouverture et la fermeture de formulaires, et l'exécution d'états. Vous pouvez aisément et rapidement lier ensemble les objets de base de données que vous avez créés parce que vous ne devez vous souvenir que de peu de syntaxe ; les arguments de chaque action sont affichés dans la partie inférieure de la fenêtre Macro.À quel moment dois-je utiliser Visual Basic ?
Vous devez utiliser Visual Basic à la place de macros si vous voulez :Lorsque vous vous connectez sur une base de donnée, Access ouvre automatiquement un groupe de travail. Ce groupe de travail définit des utilisateurs et des groupes d'utilisateurs. Un utilisateur se connecte grâce à un login (compte utilisateur) et un mot de passe. Chaque utilisateur est repris dans un groupe d'utilisateurs qui rassemble les utilisateurs de même profil. Les membres d'un même groupe ont les mêmes droits. Lorsqu'une sécurité au niveau utilisateur est mise en oeuvre, l'accès à la base de données passe par un mot de passe au démarrage. Microsoft Access lit alors le fichier de groupe de travail qui inclut les droits d'accès de chacun. C'est la solution standard de sécurité en réseau.
Remarque: si vous ne créez pas de profils utilisateurs, vous êtes automatiquement connecté dans un groupe de travail par défaut en tant qu'administrateur. Vous avez dans ce cas tous les droits d'accès.
La majorité des commandes pour sécuriser une base de donnée Access se trouvent dans le menu outils, sous la commande sécurité.
Avant d'appliquer les droits et accès, faites une copie de votre base de donnée. Certains manipulations peuvent bloquer l'accès à votre base de donnée.
Il existe différents niveaux d'utilisateurs, ayant
différents droits sur les objets de la base de données.
Les administrateurs ont toutes les autorisations, y compris droit d'accès,
effacer les fichiers, .... Un utilisateur qui crée un objet (une table ou un
formulaire par exemple) est propriétaire de ses fichiers. Il a donc le droit non
seulement de les modifier, supprimer, mais également de déléguer des droits aux
autres utilisateurs. Vous pouvez néanmoins changer le propriétaire par le
deuxième onglet. Remarque, ceci est créé pour chaque objets. Changer le
propriétaire d'une base de donnée existante est relativement fastidieux.
Le premier onglet permet de donner les autorisations sur chaque objet de la base de donnée.
Les possibilités sont:
Vous pouvez sélectionnez plusieurs objets d'un coups. Pour les groupes et utilisateurs, songez à donner des autorisations d'accès aux nouveaux objets. Ceci vous évitera de le faire manuellement ensuite.
Les musées et autres organismes regroupant des images dans des
bases de données autorisent souvent des recherches suivant plusieurs critères.
Par exemple:
Afin de répondre rapidement, il faut être capable de trier rapidement les informations d'une base données.
Il existe plusieurs types de recherche:
La recherche par mot
clé sur le texte associé aux images
Cette méthode de recherche est la plus utilisée par
les outils de recherche sur internet. Ce type de méthode de recherche fait
abstraction des données intrinsèques aux images recherchées, et dépend de la
"pertinence" du texte associé aux images.
La recherche sur le
contenu des images
Développée relativement récemment et utilisée
encore principalement à titre expérimental sur internet, la méthode de
recherche sur le contenu des images a pour principe d'identifier ces documents
à partir de leur contenu, c'est à dire directement à partir des données du
fichier, et non plus à partir du texte associé.
De très nombreuses composantes de la donnée visuelle sont extraites,
telles que l'apparence globale de l'image, sa palette de couleurs, la forme
des objets qu'elle contient, les textures des éléments, etc. Ces différentes
caractéristiques sont ensuite utilisées pour procéder à la recherche d'images
comparables.
La recherche par
furetage
La recherche par furetage consiste à rechercher des
images en se déplaçant dans une arborescence organisée en catégories.
Remarque: Les méthodes de recherche des images animées (qui ne sont que des successions d'images fixes) sont très proches de celles des images fixes. Comme pour ces dernières, la méthode de recherche la plus utilisée sur internet utilise le texte associé aux images animées. Cependant, une difficulté supplémentaire provient du très grand nombre de format d'images animées disponible, qui oblige souvent l'utilisateur à disposer de plusieurs logiciels différents pour pouvoir lire ces données
Le traitement de données de masse pose donc le problème de leur classement.
C'est pour cela que différentes méthodes de tris ont été développées. Pour un
problème simple et unique, le tri d'un tableau de données, de nombreuses
solutions existent. Malheureusement, seules quelques unes d'entre elles sont
assez performantes pour supporter le traitement d'un nombre élevé de valeurs.
Voici quelques algorithmes classiques de tris:
L'algorithme du tri bulle - ou bubble sort - consiste à regarder les différentes valeurs adjacentes d'un tableau, et à les permuter si le premier des deux éléments est supérieur au second. L'algorithme se déroule ainsi : les deux premiers éléments du tableau sont comparés, si le premier élément est supérieur au second, une permutation est effectuée. Ensuite, sont comparés et éventuellement permutés les valeurs 2 et 3, 3et 4 jusque (n-1) et n. Une fois cette étape achevée, il est certain que le dernier élément du tableau est le plus grand. L'algorithme reprend donc pour classer les (n-1) éléments qui précédent. L'algorithme se termine quand il n'y a plus de permutations possibles. Pour classer les n valeurs du tableau, il faut, au pire, effectuer l'algorithme n fois.
Cet algorithme porte le nom de tri bulle car, petit à petit, les plus grands éléments du tableau remontent, par le jeu des permutations, en fin de tableau. Dans un aquarium il en va de même : les plus grosses bulles remontent plus rapidement à la surface que les petites qui restent collés au fond.
Complexité
Considérons la complexité, en nombre d'opérations du tri bulle, pour un
tableau ou une liste de n éléments. Dans le pire des cas, ce qui correspond à un
tableau préalablement trié de manière décroissante, au premier passage il y a
permutation à chaque comparaison, soit (n-1) fois.
Cela se reproduit à chaque passage. Au final, le nombre de permutations est
Le tri par sélection est l'un des tris les plus instinctifs. Le principe est que pour classer n valeurs, il faut rechercher la plus grande valeur et la placer en fin de liste, puis la plus grande valeur dans les valeurs restante et la placer en avant dernière position et ainsi de suite...
Complexité
Considérons un tableau à n éléments. Pour effectuer le tri par sélection, il faut rechercher dans ce tableau la position du plus grand élément. Le plus grand élément est alors échangé avec le dernier élément du tableau. Ensuite, on réitère l'algorithme sur le tableau constitué par les (n-p) premiers éléments où p est le nombre de fois où l'algorithme a été itéré. L'algorithme se termine quand p=(n-1), c'est à dire quand il n'y a plus qu'une valeur à sélectionner ; celle ci est alors la plus petite valeur du tableau.
À la première itération, sont effectuées (n-1) comparaisons. A la pième itération, sont effectuées (n-p) comparaisons. Au final, le nombre de permutations est
Cet algorithme consiste à piocher une à une les valeurs du tableau et à les insérer, au bon endroit, dans le tableau trié constitué des valeurs précédemment piochées et triées. Les valeurs sont piochées dans l'ordre où elles apparaissent dans le tableau. Soit p l'indice de la valeur piochée, les (p-1) premières valeurs du tableau constituent le tableau trié dans lequel va être inséré la pième valeur. Au début de l'algorithme, il faut considérer que la liste constituée du seul premier élément est trié : c'est vrai puisque cette liste ne comporte qu'un seul élément. Ensuite, on insère le second élément (p=2), puis le troisième (p=3) etc. Ainsi, p varie de 2 à n, où n est le nombre total d'éléments du tableau.
Le problème de cet algorithme est qu'il faut parcourir le tableau trié pour savoir à quel endroit insérer le nouvel élément, puis décaler d'une case toutes les valeurs supérieures à l'élément à insérer. En pratique, le tableau classé est parcouru de droite à gauche, c'est à dire dans l'ordre décroissant. Les éléments sont donc décalés vers la droite tant que l'élément à insérer est plus petit qu'eux.. Dés que l'élément à insérer est plus grand qu'un des éléments du tableau triée il n'y a plus de décalage, et l'élément est inséré dans la case laissée vacante par les éléments qui ont été décalés.
Complexité
Soit un tableau de n éléments, pour mettre en oeuvre le tri par insertion, il faut insérer un à un (n-1) éléments dans un tableau préalablement trié. Dans le pire des cas, c'est à dire quand la liste à trier de manière croissante est classée de manière décroissante, pour insérer le pième élément, il faut décaler les (p-1) éléments qui le précédent. Soit une complexité totale, dans le pire des cas, donnée par la formule suivante :
Cependant, en moyenne, seul la moitié des éléments est décalée. Soit un décalage de (p-1)/2 éléments et donc une complexité en moyenne qui se calcule ainsi :
Le tri fusion est construit suivant la stratégie "diviser pour régner", en anglais "divide and conquer". Le principe de base de la stratégie "diviser pour régner" est que pour résoudre un gros problème, il est souvent plus facile de le diviser en petits problèmes élémentaires. Une fois chaque petit problème résolu, il n'y a plus qu'à combiner les différentes solutions pour résoudre le problème global. La méthode "diviser pour régner" est tout à fait applicable au problème de tri : plutôt que de trier le tableau complet, il est préférable de trier deux sous tableaux de taille égale, puis de fusionner les résultats.
L'algorithme proposé ici est récursif. En effet, les deux sous tableaux seront eux même triés à l'aide de l'algorithme de tri fusion. Un tableau ne comportant qu'un seul élément sera considéré comme trié : c'est la condition sine qua non sans laquelle l'algorithme n'aurais pas de conditions d'arrêt.
Complexité
Le tri fusion comporte 3 étapes : la division de l'ensemble d'éléments en deux parties, le tri des deux sous-ensembles puis la fusion des deux sous-ensembles triés. Soit un ensemble de n éléments, le coût en nombre d'opérations de la division des deux ensembles est constant dans le cas du tri de tableaux et est de n dans le cas des listes. Le coût du tri des deux sous listes est égal à 2 fois le coût du tri d'une liste de longueur n/2. Enfin, le coût de la fusion des deux sous listes triées est proportionnel au nombre d'éléments à fusionner, c'est à dire en O(n).
Les quelques algorithmes vus jusqu'à maintenant sont en O(n2). D'après les résultats ci dessus, si on note T(n) la complexité du tri fusion pour classer n éléments, on a :
Or, si la complexité du tri fusion était en O(n2), on aurait :
Ce qui est inférieur à n2 dés que n>2. Par conséquent, la
complexité du tri fusion n'est pas en O(n2) mais en une valeur bien
inférieure. Par des calculs fastidieux, on arrive à montrer que la complexité du
tri fusion est en O(n lg(n)) ou lg(n) est le logarithme népérien.
Ce tri est donc plus rapide que les précédents.
L'algorithme de tri rapide, "quick sort" en anglais, est algorithme de type dichotomique. Son principe consiste à séparer l'ensemble des éléments en deux parties. La différence par rapport au tri fusion, vu précédemment, est que la séparation des différentes valeurs ne s'effectue pas n'importe comment. Pour effectuer la séparation, une valeur pivot est choisie. Les valeurs sont réparties en deux ensembles suivant qu'elles sont plus grandes ou plus petites que le pivot. Ensuite, les deux ensembles sont triés séparément, suivant la même méthode. L'algorithme, tout comme le tri fusion, est récursif, mais cette fois, il n'est pas nécessaire de fusionner les deux ensembles. Le résultat du tri est égal au tri de l'ensemble dont les valeurs sont inférieures au pivot concaténé à l'ensemble des valeurs supérieures au pivot, ce dernier étant pris en sandwich entre les deux ensembles.
Choix du pivot :
Le choix du pivot est le problème central de cet algorithme. En effet, l'idéal serait de pouvoir répartir les deux ensembles en deux parties de taille à peu prés égales. Cependant, la recherche du pivot qui permettrait une partition parfaite de l'ensemble en deux parties égales aurait un coût trop important. C'est pour cela que le pivot est choisit de façon aléatoire parmi les valeurs de l'ensemble. Dans la pratique, le pivot est le premier ou le dernier élément de l'ensemble à fractionner. En moyenne, les deux ensembles seront donc de taille sensiblement égale.
Complexité
La complexité du tri rapide pour trier une liste de n éléments est égale à la complexité pour le tri de p et de q éléments ou p+q+1=n. Soit T(n)=T(p)+T(q)+constante. Dans le meilleur des cas, p=q=n/2, soit T(n)=2T(q). On retrouve une complexité dans le meilleur des cas en O(n.ln(n)) , ce qui est analogue à la complexité du tri fusion. Cependant, si dans le meilleur des cas, le tri rapide est plus rapide que le tri fusion puisque l'étape "fusion" n'est pas nécessaire, il n'en va pas toujours de même. En effet, le choix du pivot est totalement aléatoire, or le hasard ne fait pas toujours bien les choses. Ainsi, dans le pire des cas, c'est à dire si l'ensemble des éléments à trier est préalablement classé de manière décroissante, le choix de la première valeur de la liste comme pivot produira deux ensembles de taille 0 et (n-1). Ce qui est loin d'être deux ensembles de taille égale. L'application de l'algorithme de tri rapide à ce type de liste reviens, en fait, à effectuer le tri par sélection, qui est en O(n2). Comme quoi, dans certains cas particuliers, le tri rapide n'est pas si rapide que cela. Avec le tri fusion, il n'y a aucun facteur aléatoire et la complexité en O(n.ln(n)) est garantie. Dans la majorité des cas, le tri rapide sera donc préféré au tri fusion, sauf pour la réalisation d'applications ou la rapidité d'exécution doit être garantie, comme dans le cas d'applications en temps réel.
Sujet: il s'agit de créer une base de données d'images ayant les fonctionnalités suivantes: