Sie sind auf Seite 1von 29

OPTIMISER LE SGBD ACCESS.

Selon la configuration de votre ordinateur et votre environnement de travail, il existe diffrentes


manires d'amliorer la performance de Microsoft Access ou de votre base de donnes Microsoft
Access (base de donnes : collection de donnes relatives un sujet ou un objectif particulier. Dans
une base de donnes, les informations sur une entit particulire, par exemple, un employ ou une
commande, sont classs en tables, enregistrements et champs.).
Si vous optimisez la performance d'une base de donnes Access, commencez par utiliser l'Analyseur
de performance. Il peut vous permettre d'analyser l'ensemble d'une base de donnes, ou une
slection d'objets dans une base de donnes. L'Analyseur de performance peut galement vous
proposer des solutions de rechange si vous le voulez.
Excuter l'Analyseur de performance
Vous pouvez utiliser l'Analyseur de performances pour optimiser les performances d'une base de
donnes Microsoft Access (base de donnes : collection de donnes relatives un sujet ou un
objectif particulier. Dans une base de donnes, les informations sur une entit particulire, par
exemple, un employ ou une commande, sont classs en tables, enregistrements et champs.). Il n'est
pas disponible dans un projet Access (projet Microsoft Access : fichier Access qui tablit une
connexion une base de donnes Microsoft SQL Server et qui sert crer des applications client-
serveur. Un fichier de projet ne contient aucune donne ni aucun objet bas sur la dfinition de
donnes telles que des tables et des vues.).
Ouvrez la base de donnes Access optimiser.
Dans le menu Outils, pointez sur Analyse, puis cliquez sur Performance.
Cliquez sur l'onglet correspondant au type de l'objet de base de donnes (objets de base de
donnes : une base de donnes Access contient des objets tels que des tables, des requtes, des
formulaires, des tats, des pages, des macros et des modules. Un projet Access contient des objets
tels que des formulaires, des tats, des pages, des macros et des modules.) optimiser. Cliquez sur
l'onglet Tous types d'objets pour visualiser la liste de tous les objets de base de donnes la fois.
Slectionnez les noms des objets de base de donnes que vous voulez optimiser. Cliquez sur
Slectionner tout pour slectionner tous les objets de la liste.
Rptez les tapes 3 et 4 jusqu' ce que vous ayez slectionn tous les objets souhaits, puis cliquez
sur OK.
L'Analyseur de performance indique trois sortes de rsultats d'analyse : Recommandation,
Suggestion, et Ide. Lorsque vous cliquez sur un lment de la liste des Rsultats de l'analyse, des
informations sur le mode d'optimisation propos s'affichent dans la zone Remarques d'analyse situe
sous la liste. Il faut bien garder l'esprit que toute optimisation lie une suggestion aura des effets
secondaires indsirables prendre en compte. Pour visualiser une description des effets secondaires,
cliquez sur une Suggestion de la liste et lisez les informations contenues dans la zone Remarques
d'analyse. Access peut procder lui-mme aux optimisations bases sur les Recommandations et les
Suggestions. Pour ce qui est des Ides, c'est vous de les mettre en pratique.
Cliquez sur l'une ou plusieurs des optimisations de Recommandation ou Suggestion excuter, puis
cliquez sur Optimiser. L'Analyseur de performance va procder aux optimisations puis les marquer
comme Fixes. Poursuivez l'opration jusqu' ce que l'Analyseur de performance ait suivi toutes les
Recommandations et Suggestions que vous lui avez indiques.
Pour effectuer toutes les optimisations de Recommandation et Suggestion, cliquez sur Slectionner
tout, puis sur Optimiser.
Pour effectuer une optimisation de type Ide cliquez sur cette dernire, puis suivez les instructions
contenues dans la zone intitule Remarques d'analyse.
Remarque l'Analyseur de performance ne fait aucune suggestion sur la manire d'amliorer les
performances de Microsoft Access lui-mme ou celles du systme sur lequel il s'excute.
Amliorer la performance de Microsoft Access et de votre systme
Les directives ci-dessous peuvent vous aider optimiser les performances de Microsoft Access sur
votre ordinateur :
Si vous n'avez pas besoin de partager les bases de donnes que vous utilisez, installez
Microsoft Access et toutes vos bases de donnes sur votre disque dur et non pas sur un serveur de
rseau.
Si vous tes seul utiliser une base de donnes, ouvrez-la pour une utilisation exclusive. Dans la
bote de dialogue Ouvrir, cliquez sur la flche situe ct du bouton Ouvrir, puis cliquez sur Ouvrir
en exclusif.
Librez de la mmoire en fermant les applications dont vous ne vous servez pas.
Augmentez la mmoire vive (RAM) de votre ordinateur. 40 Mo de mmoire sont recommands ;
32 Mo de mmoire et 8 Mo supplmentaires sont recommands pour Microsoft Access.
N'utilisez pas votre RAM avec un disque de RAM.
Supprimez rgulirement les fichiers inutiles et videz votre Corbeille, compactez vos bases de
donnes, puis dfragmentez votre disque dur avec le Dfragmenteur de disque de Microsoft
Windows. Pour dmarrer le Dfragmenteur de disque, cliquez sur le bouton Dmarrer de Windows,
pointez sur Programmes, puis sur Accessoires, puis sur Outils systme, puis cliquez sur
Dfragmenteur de disque.
Dans la plupart des cas, le paramtrage de la mmoire virtuelle par dfaut utilise par Windows doit
offrir les meilleurs rsultats. Cependant, vous serez peut-tre parfois amen modifier ce
paramtrage pour amliorer les performances. Si vous avez dj essay de supprimer les fichiers
inutiles et que malgr cela vos problmes de performances persistent, tentez de modifier le
paramtrage de la mmoire virtuelle par dfaut dans les cas suivants :
Vous ne disposez pas de beaucoup de place disque disponible sur l'unit en cours d'utilisation par la
mmoire virtuelle et une autre unit locale comportant de la place est disponible.
Une autre unit locale, plus rapide que l'unit courante, est disponible ( moins qu'elle ne dispose
plus de beaucoup de place).
Dans ces cas, vous obtiendrez peut-tre de meilleures performances en spcifiant une autre unit
pour la mmoire virtuelle.
Vous obtiendriez galement de meilleures performances en spcifiant que la place disque disponible
pour la mmoire virtuelle doit tre d'au moins 25 Mo moins la RAM disponible. Par exemple, si votre
ordinateur a 12 Mo de RAM, vous devez spcifier au moins 13 Mo de mmoire virtuelle. Vous
voudrez peut-tre spcifier plus de mmoire virtuelle, notamment si vous excutez plusieurs
applications de taille importante.
Pour modifier les paramtres de la mmoire virtuelle de Windows, dans le Panneau de Configuration
de Windows, double-cliquez sur l'icne Systme, cliquez sur Options de performances sous l'onglet
Avanc, puis sur le bouton Modifier dans la section Mmoire virtuelle, et spcifiez un autre disque
dur, ou entrez une valeur dans la zone Taille initiale gale au moins 25 moins la RAM disponible.
Si vous avez un fichier bitmap de papier peint (arrire-plan plein cran) sur votre bureau Windows,
remplacez-le par une bitmap unie ou par un motif, ou par rien du tout.
Si vous utilisez un conomiseur d'cran, utilisez-en un vierge ou n'en utilisez pas du tout.
liminez le logiciel de compression de disque ou dplacez vos bases de donnes vers une unit non
compresse.
Pour garantir des performances optimales, utilisez les polices de remplacement uniquement si vous
avez besoin de prendre en charge une deuxime police pour afficher l'ensemble de vos donnes.
Amliorer la performance des tables
Utilisez l'Analyseur de performance pour analyser des tables spcifiques dans votre base de donnes.
Crez des tables sans donnes redondantes. La bonne conception de votre base de donnes est une
condition pralable pour obtenir des extractions et des mises jour de donnes rapides. Si des tables
existantes contiennent des donnes redondantes, vous pouvez utiliser l'Assistant Analyseur de table
pour diviser vos tables en tables connexes permettant de stocker vos donnes de manire plus
efficace.
Choisissez un type de donnes (type de donnes : caractristique dun champ qui dtermine le type
des donnes quil peut contenir. Les diffrents types de donnes sont Boolean, Integer, Long,
Currency, Single, Double, Date, String et Variant (par dfaut).) appropri pour les champs. Ceci vous
permet d'conomiser de l'espace dans votre base de donnes et d'amliorer les oprations de
jointure (jointure : association entre un champ dune table ou dune requte et un champ du mme
type de donnes dans une autre table ou requte. Les jointures indiquent au programme la faon
dont les donnes sont lies. Les enregistrements qui ne correspondent pas peuvent, selon le type de
jointure dfini, tre inclus ou exclus.). Lorsque vous dfinissez un champ, choisissez le plus petit type
de donnes ou la taille de champ approprie pour les donnes du champ.
Crez des index (index : fonctionnalit qui acclre la recherche et le tri dans une table base sur des
valeurs cls et qui peut garantir lunicit des lignes dune table. La cl primaire dune table est
automatiquement indexe. Certains champs ne peuvent pas tre indexs en raison du type de
donnes quils contiennent.) pour les champs que vous triez, joignez ou pour lesquels vous dfinissez
des critres. Vous pouvez considrablement accrotre la vitesse des requtes en indexant les champs
des deux cts des jointures, ou en crant une relation (relation : association tablie entre des
champs communs (colonnes) de deux tables. Une relation peut tre de type un un, un plusieurs
ou plusieurs plusieurs.) entre ces champs et en indexant les champs utiliss pour dfinir les critres
de la requte. La recherche d'enregistrements l'aide de la bote de dialogue Rechercher est
galement plus rapide lorsque le champ est index.
Toutefois, les index ne sont pas indiqus dans tous les cas. Ils augmentent la taille du fichier .mdb,
rduisent le niveau d'accs concurrents ( savoir, la possibilit pour plusieurs utilisateurs de modifier
une page au mme moment) dans des applications multi-utilisateur. Par ailleurs, ils diminuent les
performances lorsque vous mettez jour les donnes dans des champs qui sont indexs ou lorsque
vous ajoutez ou supprimez des enregistrements. Il peut tre intressant de tester les champs pour
dterminer ceux qui doivent tre indexs. L'ajout d'un index peut acclrer l'excution d'une requte
d'une seconde, mais peut galement ralentir l'ajout d'une ligne de donnes de deux secondes et
entraner des problmes de verrouillage. Parfois, des gains de vitesse sont observs, mais ils sont
drisoires et ils dpendent des autres champs qui sont indexs. Si, par exemple, vous ajoutez un
index dans un champ Code postal, vous obtenez un gain de performance trs minime si un champ
Socit et Nom dans la table sont dj indexs. Quel que soit le type de requtes que vous crez,
n'indexez que les champs qui comportent des valeurs pratiquement uniques.
Dans un index multichamp, utiliser seulement les champs qui sont ncessaires
Amliorer la performance des tables lies
Remarque Vous ne pouvez lier (liaison (de tables) : action qui tablit une connexion des donnes
issues dune autre application pour vous permettre de visualiser et de modifier les donnes dans
lapplication dorigine et dans Access.) une table que dans une base de donnes Microsoft Access
(base de donnes Microsoft Access : collection de donnes et dobjets (tels que des tables, des
requtes ou des formulaires) qui est associe une rubrique ou un objectif donn.), pas dans un
projet Microsoft Access (projet Microsoft Access : fichier Access qui tablit une connexion une base
de donnes Microsoft SQL Server et qui sert crer des applications client-serveur. Un fichier de
projet ne contient aucune donne ni aucun objet bas sur la dfinition de donnes telles que des
tables et des vues.).
Bien que vous puissiez utiliser les tables lies comme s'il s'agissait de tables Microsoft Access
normales, il est important de garder l'esprit qu'elles ne se trouvent pas dans votre base de donnes
Microsoft Access. Chaque fois que vous visualisez des donnes dans une table lie, Microsoft Access
doit extraire les enregistrements dans un autre fichier. Cette opration peut tre longue, surtout si la
table lie se trouve sur un rseau ou dans une base de donnes SQL. (base de donnes SQL : base de
donnes base sur le langage SQL (Structured Query Language).)
Si vous utilisez une table lie sur un rseau ou dans une base de donnes SQL, suivez ces
recommandations pour obtenir des rsultats optimaux.
Vous pouvez considrablement amliorer les performances d'ouverture de la base de donnes
principale, et des tables et formulaires, en forant la base de donnes attache rester ouverte.
Pour ce faire, crez une table vide dans la base de donnes attache et attachez-la la base de
donnes principale. Utilisez ensuite la mthode OpenRecordset pour ouvrir la table lie. Cette
procdure vite au moteur de base de donnes Microsoft Jet d'ouvrir et de fermer plusieurs
reprises la base de donnes attache et de crer et supprimer le fichier (.LDB) associ.
Ne visualisez que les donnes ncessaires. Ne montez pas ou ne descendez pas inutilement dans la
feuille de donnes. vitez de passer au dernier enregistrement dans une table volumineuse. Si vous
souhaitez ajouter de nouveaux enregistrements, utilisez la commande Entre de donnes dans le
menu Enregistrements pour viter de charger en mmoire des enregistrements existants.
Utilisez des filtres ou des requtes pour restreindre le nombre d'enregistrements que vous visualisez
dans un formulaire ou une feuille de donnes. De cette manire, Microsoft Access effectue moins de
transferts de donnes sur le rseau.
Dans les requtes qui utilisent des tables lies, vitez l'emploi de fonctions dans les critres d'une
requte. vitez en particulier l'utilisation de fonctions de regroupement Domaine (fonction de
domaine : fonction, telle que DAvg ou DMax, utilise lors du calcul de statistiques sur un ensemble
denregistrements (domaine).), telles que DSum, o que ce soit dans vos requtes. Lorsque vous
utilisez une fonction de regroupement Domaine, Microsoft Access extrait toutes les donnes de la
table lie pour excuter la requte.
Si vous ajoutez souvent des enregistrements dans une table lie, crez un formulaire cet usage et
renseignez sa proprit EntreDonnes (DataEntry) par Oui. Lorsque vous ouvrez le formulaire pour
saisir de nouvelles donnes, Microsoft Access n'affiche aucun enregistrement existant. Cette
configuration de la proprit vous permet de gagner du temps parce que Microsoft Access ne doit
pas extraire tous les enregistrements de la table lie.
Gardez l'esprit que d'autres utilisateurs peuvent essayer d'utiliser une table externe au mme
moment que vous. Si une base de donnes Microsoft Access se trouve sur le rseau, vous devez
viter de verrouiller les enregistrements plus longtemps que ncessaire.
Amliorez la performance des tables lies SQL Server
Si les donnes de votre application frontale/principale (application frontale/principale : application
qui se compose dun fichier de base de donnes principale contenant des tables et des copies
dun fichier de base de donnes frontale contenant tous les autres objets de base de donnes qui
comportent des liaisons vers les tables principales .) comprennent uniquement des tables
provenant de Microsoft SQL Server, vous pouvez utiliser un projet Microsoft Access ou une base de
donnes Microsoft Access comme partie frontale de votre application. Cependant, en utilisant un
projet Access, vous pouvez tirer parti de certains avantages, notamment un plus grand nombre de
tables et une plus grande taille de base de donnes. Si vous souhaitez que les donnes de votre
application frontale/principale se composent la fois de tables Microsoft Access et Microsoft SQL
Server, vous devez utiliser une base de donnes Access comme partie frontale.
Si vous vous connectez une table de base de donnes SQL externe, vous obtiendrez les meilleures
performances en crant des attaches (liaison (de tables) : action qui tablit une connexion des
donnes issues dune autre application pour vous permettre de visualiser et de modifier les donnes
dans lapplication dorigine et dans Access.) aux tables SQL au lieu de les ouvrir directement. Vous
pouvez ouvrir les tables SQL externes uniquement au moyen de code Microsoft Visual Basic. Les
tables lies sont considrablement plus rapides, plus puissantes et plus efficaces que les tables
ouvertes directement.
Conseils supplmentaires pour l'amlioration de performance
Ne rcuprez que les donnes dont vous avez besoin. Concevez vos requtes de manire limiter le
nombre d'enregistrements rcuprs, et ne slectionnez que les champs dont vous avez besoin, de
manire ce que Microsoft Access puisse transfrer le minimum de donnes ncessaires sur le
rseau.
Si vous ne rcuprez pas de nombreux enregistrements, si vous ne mettez pas jour les donnes et
si vous n'avez pas besoin de visualiser les modifications apportes par les autres utilisateurs,
n'utilisez pas les ensembles de rsultats modifiables (feuilles de rponse dynamiques). Pour
empcher la mise jour des ensembles de rsultats dans un formulaire, affectez la valeur Instantan
la proprit RecordSetType du formulaire. Les instantans s'ouvrent et se droulent plus
rapidement que les feuilles de rponse dynamiques.
Si vous avez besoin de rcuprer de nombreux enregistrements, l'utilisation de feuilles de rponse
dynamiques est plus rapide et plus efficace que celle des instantans. Par exemple, pour vous
dplacer vers la fin d'un instantan, vous devez tlcharger sur l'ordinateur local l'intgralit de
l'ensemble de rsultats, tandis qu'avec une feuille de rponse dynamique, vous n'avez qu'une page-
cran de donnes tlcharger. Par ailleurs, la manire la plus rapide d'ajouter des enregistrements
une table, un formulaire ou une requte consiste cliquer sur Entre Donnes dans le menu
Enregistrements (l'option Entre Donnes n'est pas propose si la proprit RecordSetType a la
valeur Instantan).
Utilisez la mmoire cache. Si vous prvoyez de rutiliser les donnes les plus rcentes du serveur
durant l'excution de l'application, vous aurez plus vite fait de rcuprer les donnes en un seul bloc
comportant de nombreuses lignes et de les stocker en mmoire cache, plutt que de rcuprer les
lignes une par une. Les formulaires et les feuilles de donnes de Microsoft Access utilisent
automatiquement la mmoire cache. Si vous rcuprez des donnes l'aide d'un objet Recordset
cr sous Microsoft Visual Basic, vous pouvez utiliser la proprit CacheSize pour spcifier le nombre
d'enregistrements rcuprer simultanment dans la mmoire locale.
Pour lancer des requtes en masse sur des sources de donnes ODBC, optimisez les performances du
serveur en attribuant la valeur Oui la proprit FailOnError.
vitez l'utilisation de requtes qui ncessitent un traitement sur l'ordinateur client local. Lors de
l'accs aux donnes externes, le moteur de base de donnes Jet traite les donnes localement
uniquement lorsque l'opration ne peut pas tre effectue par le serveur de base de donnes
externe. Les oprations de requte effectues localement (comme cela est dfini par les commandes
SQL qui servent les installer) sont les suivantes :
Les oprations JOIN entre tables provenant de sources distantes diffrentes. (Par exemple,
supposons que la jointure fasse intervenir une table ou une requte locale comportant peu
d'enregistrements et une table distante comportant de nombreux enregistrements, et que le champ
de jointure de la table distante soit index. Dans ce cas, Access renvoie uniquement les
enregistrements correspondant la table ou la requte locale, ce qui amliore considrablement
les performances de la requte.)
Les oprations JOIN bases sur une requte avec le prdicat DISTINCT ou une clause GROUP BY.
Les jointures externes (jointure externe : jointure dans laquelle chaque enregistrement
correspondant de deux tables est combin en un enregistrement dans les rsultats de la requte, et
une table fournit tous ses enregistrements, mme si les valeurs du champ joint ne correspondent pas
celles de lautre table.) dont la syntaxe n'est pas prise en charge par le serveur.
Les prdicats DISTINCT contenant des oprations ne pouvant pas tres traites distance.
L'oprateur LIKE utilis avec des champs Texte ou Mmo (peut ne pas tre pris en charge par certains
serveurs).
Les arguments et totaux GROUP BY plusieurs niveaux, tels que ceux utiliss dans les tats
comportant plusieurs niveaux de regroupement.
Les arguments GROUP BY bass sur une requte avec un prdicat DISTINCT ou une clause GROUP BY.
Les requtes Analyse croise qui comportent plus d'un regroupement, ou dont les en-ttes de
champ, de ligne ou de colonne contiennent des regroupements, ou encore qui comportent une
clause ORDER BY dfinie par l'utilisateur.
Les prdicats TOP n ou TOP n PERCENT.
Les fonctions dfinies par l'utilisateur ou les oprateurs et fonctions non pris en charge par le
serveur.
Les combinaisons complexes d'oprations INNER JOIN (jointure interne : jointure o les
enregistrements de deux tables sont combins dans les rsultats dune requte uniquement si les
valeurs des champs joints satisfont une condition spcifie. Dans une requte, la jointure par
dfaut est une jointure interne qui slectionne des enregistrements uniquement si les valeurs des
champs joints correspondent.), LEFT JOIN (jointure externe gauche : jointure externe dans laquelle
tous les enregistrements de la partie gauche de lopration LEFT JOIN de linstruction SQL de la
requte sont ajouts aux rsultats de la requte, mme sil nexiste aucune valeur correspondante
dans le champ joint de la table situe droite.) ou RIGHT JOIN (jointure externe droite : jointure
externe dans laquelle tous les enregistrements de la partie droite de lopration RIGHT JOIN de
linstruction SQL de la requte sont ajouts aux rsultats de la requte, mme sil nexiste aucune
valeur correspondante dans le champ joint de la table situe gauche.) dans les requtes
imbriques.
Amliorer la performance dans un environnement multi-utilisateur
Les instructions suivantes peuvent vous aider optimiser les performances des bases de donnes
Microsoft Access (base de donnes Microsoft Access : collection de donnes et dobjets (tels que des
tables, des requtes ou des formulaires) qui est associe une rubrique ou un objectif donn.)
utilises dans un environnement multi-utilisateur.
Placez uniquement les tables sur un serveur rseau et gardez les autres objets de base de donnes
sur les ordinateurs des utilisateurs. Le fonctionnement de la base de donnes est alors plus rapide
car seules les donnes transitent par le rseau. Vous pouvez sparer les tables des autres objets de
base de donnes en utilisant l'assistant Fractionnement de base de donnes.
Choisissez une stratgie de verrouillage d'enregistrements adquate. Si vous utilisez le verrouillage
optimiste (Aucun), Microsoft Access ne verrouille un enregistrement ou une page qu'une fois que
l'utilisateur a enregistr les modifications qu'il y a apportes et que les donnes sont disponibles en
tant que rsultat. Si vous utilisez le verrouillage pessimiste (Enregistrement modifi), Microsoft
Access verrouille l'enregistrement aussitt que l'utilisateur commence le modifier - les
enregistrements peuvent tre verrouills pendant des priodes plus longues, mais les utilisateurs
n'ont pas dcider des modifications enregistrer si deux utilisateurs travaillent simultanment sur
le mme enregistrement.
Choisissez la stratgie de niveau de verrouillage approprie (verrouillage au niveau de la page ou de
l'enregistrement).
vitez les conflits de verrouillage en rglant les paramtres Frquence d'actualisation, Temporisation
de mise jour, Nombre de tentatives de mise jour et Frquence d'actualisation ODBC (le cas
chant).
Optimisez les performances des tables (y compris des tables lies d'autres sources de donnes
comme Microsoft SQL Server).
Convertissez le fichier de groupe de travail (fichier de groupe de travail : fichier lu par Access au
dmarrage, qui contient les informations relatives aux utilisateurs dun groupe de travail. Ces
informations comprennent notamment les noms de compte des utilisateurs, leur mot de passe et les
groupes auxquels ils appartiennent.) de Microsoft Access 97 ou version antrieure vers la version
courante de Microsoft Access.
Amliorer la performance des requtes
Bases de donnes, tables et index
Compactez votre base de donnes. Le compactage peut acclrer les requtes parce qu'il rorganise
les enregistrements d'une table, de sorte qu'ils se trouvent dans des pages adjacentes de la base de
donnes, tris selon la cl primaire (cl primaire : un ou plusieurs champs (colonnes) dont la valeur
identifie de faon unique chaque enregistrement dune table. Une cl primaire naccepte pas les
valeurs Null et doit toujours avoir un index unique. Une cl primaire sert relier une table des cls
trangres se trouvant dans dautres tables.) de la table. Cette rorganisation amliore les
performances des analyses squentielles des enregistrements de la table, car il faut lire moins de
pages de la base pour extraire tous les enregistrements. Aprs avoir compact la base, excutez
chaque requte pour la compiler avec les statistiques de table mises jour.
Indexez (index : fonctionnalit qui acclre la recherche et le tri dans une table base sur des valeurs
cls et qui peut garantir lunicit des lignes dune table. La cl primaire dune table est
automatiquement indexe. Certains champs ne peuvent pas tre indexs en raison du type de
donnes quils contiennent.) tous les champs utiliss pour dfinir des critres (critres : conditions
que vous spcifiez pour limiter les enregistrements inclure dans le jeu de rsultats dune requte
ou dun filtre.) de requte ainsi que les champs d'index des deux cts d'une jointure (jointure :
association entre un champ dune table ou dune requte et un champ du mme type de donnes
dans une autre table ou requte. Les jointures indiquent au programme la faon dont les donnes
sont lies. Les enregistrements qui ne correspondent pas peuvent, selon le type de jointure dfini,
tre inclus ou exclus.) ou crez une relation (relation : association tablie entre des champs
communs (colonnes) de deux tables. Une relation peut tre de type un un, un plusieurs ou
plusieurs plusieurs.) entre ces champs. Quand vous crez des relations, le moteur de base de
donnes Microsoft Jet (moteur de base de donnes Microsoft Jet : partie du systme de base de
donnes Access qui rcupre et stocke des donnes dans des bases de donnes utilisateur ou
systme. Ce moteur peut tre considr comme un gestionnaire de donnes dans lequel des
systmes de bases de donnes, tels que Microsoft Access, sont crs.) cre un index sur la cl
trangre (cl trangre : un ou plusieurs champs de table (colonnes) qui font rfrence au(x)
champ(s) de cl primaire dune autre table. Une cl trangre indique comment les tables sont lies.)
s'il n'existe pas encore d'index ; sinon, il utilise l'index existant.
Le moteur de base de donnes Jet optimise automatiquement une requte qui joint une table
Microsoft Access de votre disque dur et une table du serveur ODBC (ODBC (Open Database
Connectivity) : mthode standard de partage de donnes entre bases de donnes et programmes.
Les pilotes ODBC utilisent le langage SQL (Structured Query Language) standard pour accder des
donnes externes.) quand la table Access est de petite taille et que les champs joints sont indexs.
Dans ce cas, Access amliore les performances en faisant des requtes sur les seuls enregistrements
ncessaires sur le serveur. Veillez ce que les tables que vous joignez partir de sources diffrentes
soient indexes sur les champs de jointure.
Indexez les champs dont vous vous servez pour les tris.
Utilisez les oprateurs Entre...Et, Dans et = sur les champs indexs.
Champs, calculs et critres
Lors de la dfinition d'un champ dans une table, choisissez le type de donnes (type de donnes :
caractristique dun champ qui dtermine le type des donnes quil peut contenir. Les diffrents
types de donnes sont Boolean, Integer, Long, Currency, Single, Double, Date, String et Variant (par
dfaut).) de la plus petite taille possible, qui soit appropri aux donnes de ce champ. De mme,
attribuez aux champs utiliss dans les jointures (jointure : association entre un champ dune table ou
dune requte et un champ du mme type de donnes dans une autre table ou requte. Les jointures
indiquent au programme la faon dont les donnes sont lies. Les enregistrements qui ne
correspondent pas peuvent, selon le type de jointure dfini, tre inclus ou exclus.) des types de
donnes identiques ou compatibles, comme NumroAuto et Numrique (si la proprit TailleChamp
est dfinie Entier long).
Lors de la cration d'une requte, n'ajoutez que les champs ncessaires. Dans les champs utiliss
pour dfinir des critres (critres : conditions que vous spcifiez pour limiter les enregistrements
inclure dans le jeu de rsultats dune requte ou dun filtre.), dsactivez la case cocher Affichage si
vous ne souhaitez pas afficher ces champs.
Si vous utilisez des critres pour limiter les valeurs d'un champ utilis dans une jointure avec une
relation un--un (relation un--plusieurs : association entre deux tables dans laquelle la valeur de cl
primaire de chaque enregistrement de la table primaire correspond la valeur du ou des champs
correspondants de plusieurs enregistrements de la table lie.), testez si la requte s'excute plus
rapidement lorsque les critres sont placs du ct un ou du ct plusieurs de la jointure.
Dans certaines requtes, les performances sont meilleures si vous ajoutez les critres au champ qui
se trouve du ct un de la jointure que du ct plusieurs .
vitez les champs calculs (champ calcul : champ, dfini dans une requte, qui affiche le rsultat
dune expression au lieu dafficher les donnes stockes. La valeur est recalcule chaque fois quune
valeur de lexpression est modifie.) dans les sous-requtes (sous-requte : instruction SQL SELECT
qui se situe lintrieur dune autre requte Slection ou Action.). Si vous ajoutez une requte
contenant un champ calcul une autre requte, l'expression (expression : toute combinaison
doprateurs mathmatiques ou logiques, de constantes, de fonctions, de noms de champs, de
contrles et de proprits qui svalue pour donner une seule valeur. Les expressions peuvent
raliser des calculs, manipuler des caractres ou tester des donnes.) qui est dans le champ calcul
ralentit les performances de la requte de niveau suprieur. Dans l'exemple ci-dessous, la requte R1
est utilise comme entre de la requte R2 :
Q1: SELECT IIF([MyColumn]="Yes","Order Confirmed","Order Not Confirmed") AS X FROM MyTable;
Q2: SELECT * FROM Q1 WHERE X="Order Confirmed";

tant donn que l'expression VraiFaux en R1 ne peut pas tre optimise, R2 ne peut pas l'tre non
plus. Si une expression non optimisable est imbrique dans une sous-requte, la totalit de la
requte ne peut pas tre optimis.
La requte peut aussi tre construite comme suit :
Q1: SELECT * FROM MyTable WHERE MyColumn = "Yes";

Si des expressions sont ncessaires dans le rsultat, essayez de les mettre dans un contrle
(contrle : objet dinterface utilisateur graphique, comme une zone de texte, une case cocher, une
barre de dfilement ou un bouton de commande, qui permet aux utilisateurs de contrler le
programme. Vous pouvez utiliser des contrles pour afficher des donnes ou des choix, effectuer une
action ou rendre linterface utilisateur plus lisible.) d'un formulaire ou d'un tat. Par exemple, vous
pouvez changer la requte prcdente en une requte Paramtre demandant la valeur de
MaColonne, puis baser un formulaire ou un tat sur cette requte. Sur le formulaire ou sur l'tat,
vous pouvez alors ajouter un contrle calcul (contrle calcul : contrle utilis dans un formulaire,
un tat ou une page daccs aux donnes pour afficher le rsultat dune expression. Ce rsultat est
recalcul chaque fois que lune des valeurs sur laquelle est base lexpression est modifie.) affichant
Commande confirme ou Commande non confirme selon la valeur contenue dans
MaColonne.
Construisez la requte comme suit :
PARAMETERS [Pour voir les commandes confirmes, saisissez Oui. Pour voir les commandes non
confirmes, saisissez Non.] Texte;
SELECT *
FROM MaTable
WHERE MaColonne = [Pour voir les commandes confirmes, saisissez Oui. Pour voir les commandes
non confirmes, saisissez Non.];
Dans le contrle calcul du formulaire ou de l'tat, saisissez
=VraiFaux([MaColonne]="Oui","Commande confirme","Commande non confirme")
Quand vous groupez des enregistrements par valeurs dans un champ de jointure, spcifiez
Regroupement pour le champ qui est dans la mme table que le champ pour lequel vous faites une
totalisation (sur lequel vous calculez un regroupement (fonction dagrgation : fonction, telle que
SOMME, NB, MOYENNE ou VAR, utilise pour calculer des totaux.)). Par exemple, si vous crez une
requte qui totalise le champ Quantit dans la table Dtails commande et les groupe par
RfCommande, il est recommand de spcifier Regroupement pour le champ RfCommande de la
table Dtails commande. Si vous spcifiez Regroupement pour le champ RfCommande de la table
Commandes, Microsoft Access doit d'abord faire une jointure sur tous les enregistrements et ensuite
faire le regroupement, au lieu de faire le regroupement et de faire ensuite la jointure avec les seuls
champs ncessaires.
Pour amliorer la vitesse, utilisez Regroupement sur le moins de champs possible. Comme
alternative, utilisez la fonction Premier l o cela convient.
Si une requte Oprations comprend une jointure, regroupez les enregistrements dans une requte
et ajoutez celle-ci une requte spare qui excutera la jointure. Ceci amliore les performances de
certaines requtes.
vitez si possible les critres de requte restrictifs sur les champs calculs et non indexs (index :
fonctionnalit qui acclre la recherche et le tri dans une table base sur des valeurs cls et qui peut
garantir lunicit des lignes dune table. La cl primaire dune table est automatiquement indexe.
Certains champs ne peuvent pas tre indexs en raison du type de donnes quils contiennent.).
Optimisation des expressions et de Rushmore
Aperu de l'optimisation de Rushmore
Microsoft Access peut optimiser des expressions (expression : toute combinaison doprateurs
mathmatiques ou logiques, de constantes, de fonctions, de noms de champs, de contrles et de
proprits qui svalue pour donner une seule valeur. Les expressions peuvent raliser des calculs,
manipuler des caractres ou tester des donnes.) simples ou complexes dans la ligne Critres de la
grille de cration (grille de cration : grille qui vous permet de crer une requte ou un filtre en mode
Cration de requte ou dans la fentre Filtre/tri avanc. Pour les requtes, cette grille tait
auparavant appele grille dinterrogation .) de requte, ou dans une clause WHERE d'une
instruction SQL SELECT. Pour certains types d'expressions complexes, Access peut utiliser Rushmore,
une technologie d'accs aux donnes utilise par le moteur de base de donnes Microsoft Jet
(moteur de base de donnes Microsoft Jet : partie du systme de base de donnes Access qui
rcupre et stocke des donnes dans des bases de donnes utilisateur ou systme. Ce moteur peut
tre considr comme un gestionnaire de donnes dans lequel des systmes de bases de donnes,
tels que Microsoft Access, sont crs.) pour obtenir un meilleur niveau d'optimisation. De plus, la
fonction Compte est spcialement optimise pour des requtes utilisant Rushmore.
Les requtes Rushmore vont fonctionner avec des tables Access, ainsi qu'avec des tables Microsoft
FoxPro et dBASE (fichiers .dbf). Vous ne pouvez pas utiliser Rushmore avec des sources de donnes
ODBC (sources de donnes ODBC : donnes et informations requises pour accder ces donnes
partir de programmes et de bases de donnes prenant en charge le protocole ODBC (Open Database
Connectivity).), dans la mesure o Access envoie ces requtes la source de donnes ODBC au lieu
de les traiter localement.
Expressions optimisables simples
Une expression (expression : toute combinaison doprateurs mathmatiques ou logiques, de
constantes, de fonctions, de noms de champs, de contrles et de proprits qui svalue pour donner
une seule valeur. Les expressions peuvent raliser des calculs, manipuler des caractres ou tester des
donnes.) optimisable simple peut former une expression entire ou apparatre comme partie d'une
expression. Elle prend une des formes suivantes :
ChampIndex OprateurComparaison Expression
[Order Date] = #09/15/96#

ou
Expression OprateurComparaison ChampIndex
#11/1/96# < [HireDate]

Dans une expression optimisable simple :
ChampIndex peut tre un champ qui a son propre index (index : fonctionnalit qui acclre la
recherche et le tri dans une table base sur des valeurs cls et qui peut garantir lunicit des lignes
dune table. La cl primaire dune table est automatiquement indexe. Certains champs ne peuvent
pas tre indexs en raison du type de donnes quils contiennent.) ou un champ qui est le premier
dans un index multichamp.
OprateurComparaison doit tre l'un des suivants : <, >, =, <=, >=, <>, EntreEt, Comme, Dans.
Expression peut tre n'importe quelle expression valide, incluant des constantes, des fonctions et des
champs d'autres tables.
Si vous avez cr des index pour les champs Nom, ge et DateRecrutement de la table Employs, les
expressions suivantes sont des expressions optimisables simples :
[Nom] = "Smith"
[ge] >= 21
#30/12/90# < [DateRecrutement]
Employs.[Nom] = Clients.[Nom]
[Nom] Dans ("Smith", "Johnson", "Jones")
[ge] Entre 18 Et 65
Expressions complexes
Une expression (expression : toute combinaison doprateurs mathmatiques ou logiques, de
constantes, de fonctions, de noms de champs, de contrles et de proprits qui svalue pour donner
une seule valeur. Les expressions peuvent raliser des calculs, manipuler des caractres ou tester des
donnes.) complexe est cre en combinant deux expressions simples avec l'oprateur Et ou
l'oprateur Ou. Elle prend une des formes suivantes :
ExpressionSimple Et ExpressionSimple
ou
ExpressionSimple Ou ExpressionSimple
Une expression complexe est entirement ou partiellement optimisable, selon que l'une des deux
expressions simples ou les deux sont optimisables, et selon l'oprateur qui les combine. Une
expression complexe est optimisable avec Rushmore si les trois conditions suivantes sont
respectes :
L'expression utilise Et ou Ou pour combiner des critres (critres : conditions que vous spcifiez pour
limiter les enregistrements inclure dans le jeu de rsultats dune requte ou dun filtre.).
Les deux critres sont composs d'expressions optimisables simples.
Les deux expressions contiennent des champs indexs (index : fonctionnalit qui acclre la
recherche et le tri dans une table base sur des valeurs cls et qui peut garantir lunicit des lignes
dune table. La cl primaire dune table est automatiquement indexe. Certains champs ne peuvent
pas tre indexs en raison du type de donnes quils contiennent.). Ces champs peuvent tre indexs
individuellement ou faire partie d'un index champs multiples.
Remarque Vous pouvez optimiser des index champs multiples si vous faites des requtes sur les
champs indexs dans l'ordre de leur apparition dans la fentre Index (fentre Index : dans une base
de donnes Access, fentre dans laquelle vous pouvez soit afficher ou modifier les index dune table,
soit crer des index multichamps.), en commenant par le premier champ index et en continuant
avec les champs adjacents (jusqu' et y compris 10 champs). Par exemple, si vous avez un index
champs multiples sur Nom et Prnom, vous pouvez optimiser une requte sur Nom ou sur Nom et
Prnom, mais pas sur Prnom.
Voici diffrentes combinaisons d'expressions simples dans des critres de recherche, qui indiquent le
niveau d'optimisation de la requte.
Rsultat de la requte entirement optimisable (en utilisant Rushmore)
(expression optimisable) Et (expression optimisable)
(expression optimisable) Ou (expression optimisable)
Rsultat de la requte partiellement optimisable (n'utilise pas Rushmore)
(expression optimisable) Et (expression non optimisable)
Rsultat de la requte non optimisable
(expression non optimisable) Et (expression non optimisable)
(expression non optimisable) Ou (expression non optimisable)
Non (expression optimisable)
Non (expression non optimisable)
Vous pouvez aussi utiliser des parenthses pour regrouper des combinaisons d'expressions simples.
Les rgles prcdentes s'appliquent aussi aux combinaisons d'expressions regroupes l'aide de
parenthses.
Une fois que des expressions optimisables simples ont t combines en expressions complexes,
celles-ci peuvent leur tour tre combines pour former des expressions encore plus complexes, qui
peuvent tre optimisables en fonction des rgles prcdentes.
Ces exemples supposent que vous avez cr des index pour les champs Nom et DateRecrutement
(les expressions simples qui les utilisent sont optimisables) mais pas les champs Initiales ou Prnom
(les expressions simples qui les utilisent sont optimisables). Les exemples d'expressions simples
combines qui suivent montrent jusqu'o le rsultat est optimis.
Rsultat de la requte entirement optimisable (en utilisant Rushmore)
[LastName] = "Smith" And [Hire Date] < #12/30/90#

[LastName] = "Smith" Or [Hire Date] < #12/30/90#

Rsultat de la requte partiellement optimisable (n'utilise pas Rushmore)
[LastName] = "Smith" And [MiddleInitial] = "C"

[FirstName] = "Terry" And [MiddleInitial] = "C"

Rsultat de la requte non optimisable
[LastName] = "Smith" Or [MiddleInitial] = "C"

[FirstName] = "Terry" Or [MiddleInitial]= "C"

Suggestions d'ordre gnral
Si la proprit Source d'un formulaire ou d'un tat est dfinie avec une instruction SQL
(instruction/chane SQL : expression qui dfinit une commande SQL, telles que SELECT, UPDATE ou
DELETE, et qui inclut des clauses telles que WHERE et ORDER BY. Les instructions/chanes SQL sont
gnralement utilises dans des requtes et dans des fonctions de regroupement.), enregistrez
l'instruction SQL comme requte, puis dfinissez la proprit Source avec le nom de la requte.
Pour les requtes de mise jour massive portant sur des sources de donnes ODBC (sources de
donnes ODBC : donnes et informations requises pour accder ces donnes partir de
programmes et de bases de donnes prenant en charge le protocole ODBC (Open Database
Connectivity).), optimisez les performances sur le serveur en dfinissant la proprit FailOnError
Oui.
Si vos donnes ne changent pas souvent, utilisez des requtes Cration de table (requte Cration de
table : requte (instruction SQL) qui cre une nouvelle table, puis des enregistrements (lignes) en
copiant des enregistrements partir dune table existante ou du rsultat dune requte.) pour crer
des tables partir des rsultats de votre requte. Utilisez les tables qui en rsultent plutt que les
requtes comme base pour vos formulaires, tats ou autres requtes, et veillez ajouter des index
(index : fonctionnalit qui acclre la recherche et le tri dans une table base sur des valeurs cls et
qui peut garantir lunicit des lignes dune table. La cl primaire dune table est automatiquement
indexe. Certains champs ne peuvent pas tre indexs en raison du type de donnes quils
contiennent.) conformment aux indications donnes ici.
vitez l'utilisation de fonctions de regroupement de domaine (fonction de domaine : fonction, telle
que DAvg ou DMax, utilise lors du calcul de statistiques sur un ensemble denregistrements
(domaine).), comme la fonction RechDom, pour accder des donnes d'une table ne figurant pas
dans la requte. Les fonctions de regroupement de domaine sont spcifiques Microsoft Access, ce
qui signifie que le moteur de base de donnes Microsoft Jet (moteur de base de donnes
Microsoft Jet : partie du systme de base de donnes Access qui rcupre et stocke des donnes
dans des bases de donnes utilisateur ou systme. Ce moteur peut tre considr comme un
gestionnaire de donnes dans lequel des systmes de bases de donnes, tels que Microsoft Access,
sont crs.) ne peut pas optimiser les requtes qui les utilisent. Au lieu de cela, ajoutez la requte
la table laquelle la fonction accdait, ou crez une sous-requte (sous-requte : instruction SQL
SELECT qui se situe lintrieur dune autre requte Slection ou Action.).
Si vous crez une requte Analyse croise (requte analyse croise : requte qui calcule une somme,
une moyenne, un compte ou un autre type de total effectu sur des enregistrements, puis qui
regroupe le rsultat en deux types dinformations : lun affich verticalement sur le ct gauche de la
feuille de donnes et lautre affich horizontalement en haut.), utilisez des en-ttes de colonne fixes
chaque fois que c'est possible.
Amliorer la performance des filtres
Si les listes de champ de la fentre Filtrer par formulaire (Filtrer par formulaire : technique de filtrage
des donnes qui utilise une version du formulaire ou de la feuille de donnes active avec des champs
vides dans lesquels vous pouvez entrer les valeurs que les enregistrements filtrs doivent contenir.)
sont trop longues pour pouvoir tre affiches ou qu'elles n'affichent pas les valeurs de la table sous-
jacente, vous pouvez modifier les performances de filtrage par formulaire pour toutes les tables,
toutes les requtes et tous les formulaires, ou pour un formulaire spcifique seulement. Dans tous
les cas, vous pouvez empcher les listes d'afficher les valeurs des champs de la table sous-jacente,
afficher les valeurs des champs sur les listes pour certains types de champs indexs (index :
fonctionnalit qui acclre la recherche et le tri dans une table base sur des valeurs cls et qui peut
garantir lunicit des lignes dune table. La cl primaire dune table est automatiquement indexe.
Certains champs ne peuvent pas tre indexs en raison du type de donnes quils contiennent.) ou
non indexs ou modifier la plage d'enregistrements qui dtermine si les listes affichent les valeurs
d'un champ.
Amliorer le filtrage par formulaire pour toutes les tables, toutes les requtes et tous les
formulaires de la base de donnes
Les valeurs suivantes affectent toutes les tables et requtes, et tous les contrles (contrle : objet
dinterface utilisateur graphique, comme une zone de texte, une case cocher, une barre de
dfilement ou un bouton de commande, qui permet aux utilisateurs de contrler le programme.
Vous pouvez utiliser des contrles pour afficher des donnes ou des choix, effectuer une action ou
rendre linterface utilisateur plus lisible.) de zone de texte dont la proprit Rechercher filtre a pour
valeur Base de donnes par dfaut.
Dans le menu Outils, cliquez sur Options.
Cliquez sur l'onglet diter/Rechercher, puis dfinissez les Valeurs par dfaut de Filtrer par formulaire
en fonction des performances recherches.
Si la liste de valeurs est trop longue pour pouvoir tre affiche dans les champs non indexs
uniquement, essayez en limitant les listes aux champs indexs. Pour ce faire, vous pouvez dsactiver
les cases cocher Champs locaux non indexs et Champs ODBC. Si la liste est trop longue pour
pouvoir tre affiche dans les champs indexs, dsactivez aussi la case cocher Champs locaux
indexs puisqu'il y a trop d'enregistrements dans les index pour que les listes puissent s'afficher
rapidement.
Remarque Si vous utilisez rgulirement le mme champ non index pour filtrer des
enregistrements, il est conseill de l'indexer pour amliorer le filtrage et les autres oprations de
recherche qui y sont menes.
Si les listes n'affichent pas les valeurs de champs indexs ou non indexs, vrifiez que les cases
correspondantes sont slectionnes sous Afficher la liste des valeurs dans ou essayez d'augmenter le
nombre dans la zone Ne pas afficher les listes dont le nombre de lignes est suprieur afin qu'il soit
suprieur ou gal au nombre maximum d'enregistrements de n'importe quel champ non index de la
table sous-jacente.
Amliorer le filtrage par formulaire pour un formulaire spcifique
Pour chaque contrle (contrle : objet dinterface utilisateur graphique, comme une zone de texte,
une case cocher, une barre de dfilement ou un bouton de commande, qui permet aux utilisateurs
de contrler le programme. Vous pouvez utiliser des contrles pour afficher des donnes ou des
choix, effectuer une action ou rendre linterface utilisateur plus lisible.) de zone de texte d'un
formulaire, vous pouvez spcifier si les valeurs stockes dans le champ apparaissent sur sa liste dans
la fentre Filtrer par formulaire.
Ouvrez un formulaire en mode Cration. (mode Cration : fentre qui prsente la cration des objets
de base de donnes suivants : tables, requtes, formulaires, tats et macros. En mode Cration, vous
pouvez crer de nouveaux objets de base de donnes et modifier la structure dobjets existants.)
Affichez la feuille de proprits de n'importe quel contrle de zone de texte.
Procdure
Ouvrez une table, une requte, un formulaire , un tat ou une page d'accs aux donnes (page
daccs aux donnes : page Web, publie partir dAccess, qui comporte une connexion une base
de donnes. Une page daccs aux donnes permet dafficher, de modifier et de manipuler les
donnes stockes dans la base de donnes, et dajouter des donnes cette dernire. Une page peut
galement inclure des donnes provenant dautres sources, comme Excel.) en mode Cration (mode
Cration : fentre qui prsente la cration des objets de base de donnes suivants : tables, requtes,
formulaires, tats et macros. En mode Cration, vous pouvez crer de nouveaux objets de base de
donnes et modifier la structure dobjets existants.).
Ouvrez la feuille des proprits en effectuant l'une des actions suivantes :
Sur un formulaire ou un tat, double-cliquez sur le slecteur de formulaire (slecteur de formulaire :
zone dintersection des rgles, situe dans langle suprieur gauche dun formulaire en mode
Cration. Utilisez cette zone pour excuter des oprations au niveau du formulaire, telles que la
slection du formulaire.) ou le slecteur d'tat (slecteur dtat : case dintersection des rgles,
situe dans langle suprieur gauche dun tat en mode Cration. Utilisez cette case pour excuter
des oprations au niveau de ltat, telles que la slection de ltat.).

Slecteur de formulaire ou d'tat
Sur une page d'accs aux donnes, cliquez sur Slectionner une page dans le menu Edition.
Dans une table ou une requte, cliquez sur Proprits sur la barre d'outils.
Pour une section sur un formulaire ou un tat, double-cliquez sur le slecteur de section (slecteur
de section : case situe sur le ct gauche dune barre de section lorsquun objet est ouvert en mode
Cration. Utilisez cette case pour excuter des oprations au niveau de la section, telles que la
slection de la section.).

Slecteur de section
Pour une section sur une page d'accs aux donnes, double-cliquez sur la barre de section.

Barre de section
Pour dfinir les proprits d'un champ de requte, cliquez sur la cellule dans la ligne Champ, puis sur
Proprits sur la barre d'outils.
Pour dfinir les proprits d'une liste de champs de requte, cliquez n'importe o dans la liste, puis
sur Proprits sur la barre d'outils.
Pour dfinir les proprits du corps d'une page d'accs aux donnes, cliquez au-dessus de la
premire section, puis sur Proprits sur la barre d'outils.
Pour dfinir les proprits d'un contrle (contrle : objet dinterface utilisateur graphique, comme
une zone de texte, une case cocher, une barre de dfilement ou un bouton de commande, qui
permet aux utilisateurs de contrler le programme. Vous pouvez utiliser des contrles pour afficher
des donnes ou des choix, effectuer une action ou rendre linterface utilisateur plus lisible.), cliquez
sur le contrle, puis sur Proprits sur la barre d'outils.
Dans la feuille des proprits, cliquez sur la proprit que vous souhaitez dfinir, puis excutez l'une
des oprations suivantes :
Si une flche apparat dans la zone de proprit, cliquez dessus et slectionnez ensuite une valeur
dans la liste.
Tapez un paramtre ou une expression (expression : toute combinaison doprateurs mathmatiques
ou logiques, de constantes, de fonctions, de noms de champs, de contrles et de proprits qui
svalue pour donner une seule valeur. Les expressions peuvent raliser des calculs, manipuler des
caractres ou tester des donnes.) dans la zone des proprits.
Si un bouton Gnrer apparat en regard de la zone de proprit, cliquez sur celui-ci pour afficher
un gnrateur (gnrateur : outil Access qui simplifie une tche. Par exemple, le Gnrateur
dexpression vous permet de crer rapidement une expression complexe.) ou une liste de
gnrateurs.
Conseils
Pour obtenir de l'aide sur une proprit dans la feuille des proprits, cliquez sur la proprit et
appuyez sur F1.
Si vous avez besoin d'un espace plus important pour entrer ou modifier un paramtre de proprit,
appuyez sur MAJ+F2 afin d'ouvrir la zone de Zoom
Remarque Si la proprit AllowDesignChanges d'un formulaire possde la valeur Tous les modes,
vous pouvez galement dfinir des proprits de formulaire en mode Formulaire (mode Formulaire :
fentre qui affiche un formulaire pour prsenter ou accepter des donnes. Le mode Formulaire
constitue le principal moyen dajouter et de modifier des donnes dans des tables. Vous pouvez aussi
modifier la conception dun formulaire dans ce mode.) et en mode Feuille de donnes (mode Feuille
de donnes : fentre qui affiche des donnes dune table, dun formulaire, dune requte, dune vue
ou dune procdure stocke sous forme de lignes et de colonnes. En mode Feuille de donnes, vous
pouvez modifier des champs et ajouter, supprimer ou rechercher des donnes.).
Dans la zone de la proprit Rechercher filtre, affectez la proprit le paramtre qui permet
d'obtenir les performances souhaites.
Si la liste est trop longue pour pouvoir tre affiche dans la fentre Filtrer par formulaire, attribuez
la proprit Rechercher filtre la valeur Jamais ou bien attribuez-lui la valeur Base de donnes par
dfaut et procdez aux modifications adquates dans la bote de dialogue Options (menu Outils).
Si la liste dans la fentre Filtrer par formulaire n'affiche pas les valeurs stockes dans le champ,
assurez-vous que la valeur Jamais n'est pas attribue la proprit Rechercher filtre. Si la valeur Base
de donnes par dfaut ou Toujours est attribue la proprit Rechercher filtre, procdez aux
modifications adquates dans la bote de dialogue Options (menu Outils).
Amliorer la performance des chercher-remplacer
Un index permet Microsoft Access de rechercher et de trier plus rapidement des enregistrements.
Access utilise des index pour une table comme vous utilisez un index pour un livre : pour rechercher
des donnes, il recherche l'emplacement des donnes dans l'index. Vous pouvez crer des index
bass sur un seul champ ou sur plusieurs champs. Les index multichamp vous permettent de faire la
distinction entre des enregistrements dans lesquels le premier champ peut avoir la mme valeur.
Quels champs indexer ?
Vous souhaiterez probablement indexer des champs sur lesquels vous faites frquemment des
recherches, sur des champs que vous triez ou sur lesquels vous faites une jointure (jointure :
association entre un champ dune table ou dune requte et un champ du mme type de donnes
dans une autre table ou requte. Les jointures indiquent au programme la faon dont les donnes
sont lies. Les enregistrements qui ne correspondent pas peuvent, selon le type de jointure dfini,
tre inclus ou exclus.) avec des champs d'autres tables dans des requtes (requte : question relative
aux donnes stockes dans vos tables, ou demande pour excuter une action sur les donnes. Une
requte peut rassembler des donnes issues de plusieurs tables pour servir de source de donnes
pour un formulaire ou un tat.). Cependant, les index peuvent ralentir certaines requtes Action
(requte Action : requte qui copie ou modifie des donnes. Les requtes Action comprennent les
requtes suivantes : Ajout, Suppression, Cration de table et Mise jour. Elles sont identifies par un
point dexclamation (!) situ ct de leur nom dans le volet Navigation.), comme les requtes Ajout
(requte Ajout : requte Action qui ajoute les enregistrements du jeu de rsultats dune requte la
fin dune table existante.), quand les index de nombreux champs doivent tre mis jour au moment
o ces oprations sont effectues.
La cl primaire (cl primaire : un ou plusieurs champs (colonnes) dont la valeur identifie de faon
unique chaque enregistrement dune table. Une cl primaire naccepte pas les valeurs Null et doit
toujours avoir un index unique. Une cl primaire sert relier une table des cls trangres se
trouvant dans dautres tables.) d'une table est indexe automatiquement, et vous ne pouvez pas
indexer un champ dont le type de donnes (type de donnes : caractristique dun champ qui
dtermine le type des donnes quil peut contenir. Les diffrents types de donnes sont Boolean,
Integer, Long, Currency, Single, Double, Date, String et Variant (par dfaut).) est Objet OLE (type de
donnes Objet OLE : type de donnes de champ utilis pour les objets crs dans dautres
applications, qui peuvent tre lis ou incorpors (insrs) dans une base de donnes Access.). Pour
les autres champs, indexez-les quand tout ce qui suit s'applique :
Les donnes du champ sont de type Texte, Numrique, Montaire ou Date/Heure.
Vous comptez rechercher des valeurs stockes dans le champ.
Vous comptez trier des valeurs du champ.
Vous comptez enregistrer de nombreuses valeurs diffrentes dans ce champ. Si beaucoup de valeurs
de ce champ sont identiques, l'index peut ne pas acclrer les requtes de faon significative.
Index multichamp
Si vous pensez que vous aller rechercher ou trier souvent les champs par deux ou plus la fois, crez
un index pour cette combinaison de champs. Par exemple, si vous dfinissez souvent des critres
pour les champs Nom et Prnom de la mme requte, il est recommand de crer un index
multichamp sur ces deux champs.
Lorsque vous triez une table l'aide d'un index multichamp, Microsoft Access trie d'abord sur le
premier champ dfini pour cet index. Si des enregistrements contiennent des doublons dans le
premier champ, Microsoft Access trie ensuite sur le second champ dfini pour cet index, et ainsi de
suite.
Vous pouvez inclure jusqu' 10 champs dans un index multichamp.
Amliorer la performance des formulaires et sous-formulaires
Il existe plusieurs solutions permettant d'accrotre la vitesse d'excution de vos formulaires.
Conseils d'ordre gnral
vitez les contrles superposs.
Ne triez pas les enregistrements dans une requte (requte : question relative aux donnes stockes
dans vos tables, ou demande pour excuter une action sur les donnes. Une requte peut
rassembler des donnes issues de plusieurs tables pour servir de source de donnes pour un
formulaire ou un tat.) sous-jacente, moins que l'ordre des enregistrements soit important,
spcialement avec des requtes multitables.
Si la source de donnes (source denregistrement : source de donnes sous-jacente dun formulaire,
dun tat ou dune page daccs aux donnes. Dans une base de donnes Access, il peut sagir dune
table, dune requte ou dune instruction SQL. Dans un projet Access, il peut sagir dune table, dune
vue, dune instruction SQL ou dune procdure stocke.) sous-jacente contient de nombreux
enregistrements et que vous voulez utiliser le formulaire principalement pour la saisie de nouveaux
enregistrements, dfinissez la proprit EntreDonnes du formulaire Oui, de manire ce que le
formulaire s'ouvre sur un enregistrement vide. Si vous ouvrez un formulaire affichant tous ses
enregistrements, Microsoft Access doit lire tous les enregistrements avant de pouvoir afficher
l'enregistrement vide la fin du jeu d'enregistrements.
Fermez les formulaires que vous n'utilisez pas.
Conseils pour les formulaires qui contiennent des images et des objets
Utilisez les bitmaps et les autres objets graphiques avec modration.
Convertissez les cadres d'objets indpendants qui affichent des images en contrle Image.
Prfrez les bitmaps en noir et blanc aux bitmaps en couleur.
Conseils pour les formulaires qui contiennent du code
Un formulaire sans module de formulaire (module de formulaire : module qui inclut du code VBA
(Visual Basic pour Applications) pour toutes les procdures vnementielles dclenches par des
vnements se produisant sur un formulaire spcifique ou sur ses contrles.) se charge plus
rapidement et occupe moins d'espace disque. Si un formulaire ou des contrles sur le formulaire
n'utilisent pas de procdures vnementielles (procdure vnementielle : procdure excute
automatiquement en rponse un vnement provoqu par lutilisateur ou le code du programme,
ou dclench par le systme.), le formulaire ne requiert pas de module de formulaire.
liminez le code des formulaires qui n'en ont pas pas besoin en dfinissant la proprit du formulaire
AvecModule Non. La proprit AvecModule spcifie si le module a un module de formulaire.
Au lieu d'utiliser des boutons de commandes avec des procdures vnementielles, vous pouvez
utiliser des boutons de commande avec des macros (macro : action ou ensemble dactions que vous
pouvez utiliser pour automatiser des tches.) ou des liens hypertexte (lien hypertexte : texte soulign
et en couleur ou graphique sur lequel vous cliquez pour atteindre un fichier, un endroit spcifique
dans un fichier, une page Web sur le World Wide Web ou une page Web sur un intranet. Les liens
hypertexte permettent galement daccder des groupes de discussion et des sites Gopher,
Telnet et FTP.).
Remarques
Si un formulaire contient des procdures vnementielles et si vous dcidez de supprimer la totalit
du code des procdures vnementielles de ce formulaire, vous devez dfinir Non la proprit
AvecModule, pour supprimer compltement le module du formulaire.
Vous pouvez toujours utiliser le code avec un formulaire qui n'a pas de module de formulaire en
appelant des procdures Function depuis un module standard en utilisant une expression
(expression : toute combinaison doprateurs mathmatiques ou logiques, de constantes, de
fonctions, de noms de champs, de contrles et de proprits qui svalue pour donner une seule
valeur. Les expressions peuvent raliser des calculs, manipuler des caractres ou tester des
donnes.). (Vous ne pouvez pas utiliser de procdures Sub, parce qu'elles ne peuvent pas tre
appeles avec une expression). Pour faire cela, dfinissez une procdure Function dans un module
standard et appelez ensuite cette fonction depuis une proprit d'vnement (proprit de type
vnement : attribut nomm dun contrle, dun formulaire, dun rapport, dune page daccs aux
donnes ou dune section que vous utilisez pour rpondre un vnement associ. Vous pouvez
excuter une procdure ou une macro lorsquun vnement se produit en dfinissant la proprit de
type vnement correspondante.) du formulaire ou depuis un contrle. Par exemple, pour utiliser un
bouton de commande pour appeler une fonction qui ouvre un formulaire, ajoutez une expression
pour la proprit SurClic du bouton de commande comme celle-ci&nbsp: =OpenDataEntry().
Conseils pour les sous-formulaires
Basez les sous-formulaires sur des requtes plutt que sur des tables et n'incluez que les champs de
la source d'enregistrements (source denregistrement : source de donnes sous-jacente dun
formulaire, dun tat ou dune page daccs aux donnes. Dans une base de donnes Access, il peut
sagir dune table, dune requte ou dune instruction SQL. Dans un projet Access, il peut sagir dune
table, dune vue, dune instruction SQL ou dune procdure stocke.) qui sont absolument
ncessaires. Des champs supplmentaires peuvent rduire les performances du sous-formulaire.
Indexez (index : fonctionnalit qui acclre la recherche et le tri dans une table base sur des valeurs
cls et qui peut garantir lunicit des lignes dune table. La cl primaire dune table est
automatiquement indexe. Certains champs ne peuvent pas tre indexs en raison du type de
donnes quils contiennent.) tous les champs du sous-formulaire qui sont lis au formulaire principal
(formulaire principal : formulaire qui contient un ou plusieurs sous-formulaires.).
Indexez tous les champs du sous-formulaire utiliss pour la dfinition de critres.
Dfinissez Non les proprits ModifAutorise, AjoutAutoris et SupprAutorise du sous-formulaire
si vous ne comptez pas modifier les enregistrements du sous-formulaire. Il est galement possible de
dfinir la proprit TypeRecordset Instantan).
Amliorer la performance des zones de liste et des zones de liste modifiables
Il est possible d'accrotre la vitesse d'excution de vos zones de liste, zones de liste modifiable et
zones de liste droulante (zone de liste droulante : contrle dune page daccs aux donnes qui,
lorsque lutilisateur clique sur celui-ci, affiche une liste partir de laquelle une valeur peut tre
slectionne. Il est impossible de taper une valeur dans une zone de liste droulante.) :
Gnrez la zone de liste, la zone de liste modifiable ou la zone de liste droulante partir d'une
requte (requte : question relative aux donnes stockes dans vos tables, ou demande pour
excuter une action sur les donnes. Une requte peut rassembler des donnes issues de plusieurs
tables pour servir de source de donnes pour un formulaire ou un tat.) enregistre plutt que d'une
instruction SQL. Dans un formulaire, si vous utilisez un Assistant pour crer une zone de liste ou une
zone de liste droulante, Microsoft Access attribue automatiquement une instruction SQL la
proprit RowSource. Pour transformer la valeur de la proprit RowSource en une requte
enregistre, cliquez sur le bouton Gnrer en regard de la zone de la proprit RowSource. Dans
la fentre Gnrateur de requte, cliquez sur Enregistrer dans le menu Fichier, puis tapez le nom de
la requte. Lorsque vous fermez la fentre Gnrateur de requte, cliquez sur Oui lorsque vous tes
invit mettre jour la proprit.
Gnrez la zone de liste droulante partir d'une requte enregistre plutt qu' partir d'une table.
Dans une page d'accs aux donnes, si vous utilisez un Assistant pour crer une zone de liste
droulante, Microsoft Access attribue automatiquement la table spcifie dans l'Assistant la
proprit ListRowSource du contrle. Pour rcuprer des lignes d'une requte au lieu d'une table,
slectionnez le nom de la requte dans la zone de la proprit ListRowSource.
Dans la requte spcifie dans la zone de la proprit RowSource ou ListRowSource, n'incluez que les
champs qui sont absolument indispensables. Le fait d'ajouter des champs supplmentaires peut
diminuer les performances.
Indexez (index : fonctionnalit qui acclre la recherche et le tri dans une table base sur des valeurs
cls et qui peut garantir lunicit des lignes dune table. La cl primaire dune table est
automatiquement indexe. Certains champs ne peuvent pas tre indexs en raison du type de
donnes quils contiennent.) le premier champ affich dans la zone de liste modifiable, la zone de
liste ou la zone de liste droulante, ainsi que le champ li (s'ils sont diffrents).
Dans les zones de liste modifiable d'un formulaire, attribuez Non la proprit AutoExpand pour
dsactiver la fonction de remplissage en cours de frappe.
Dans un formulaire, si la valeur Oui est attribue la proprit AutoExpand d'une zone de liste
modifiable, le premier champ affich doit tre un champ de type Texte et non de type Numrique.
Afin de trouver une valeur correspondante dans la liste, Microsoft Access convertit une valeur
numrique en texte. Si le type de donnes est Texte, Microsoft Access ne doit pas effectuer cette
conversion.
Dans un formulaire, si le champ li d'une zone de liste modifiable Liste de choix n'est pas le champ
affich :
N'utilisez pas d'expressions (expression : toute combinaison doprateurs mathmatiques ou
logiques, de constantes, de fonctions, de noms de champs, de contrles et de proprits qui svalue
pour donner une seule valeur. Les expressions peuvent raliser des calculs, manipuler des caractres
ou tester des donnes.) pour le champ li ou le champ affich.
N'utilisez pas de restrictions dans le contenu.
Utilisez des contenus table unique (ou requtes) plutt que des contenus tables multiples.
Ne crez pas de zones de liste, de zones de liste modifiable ou de zones de liste droulante partir
de donnes de tables lies (table lie : table stocke dans un fichier qui se trouve hors de la base de
donnes ouverte partir de laquelle Access peut accder des enregistrements. Vous pouvez
ajouter, supprimer et modifier des enregistrements dune table lie, mais vous ne pouvez pas en
modifier la structure.) si ces donnes ne vont pas changer. Il est prfrable, dans ce cas, d'importer
les donnes dans votre base de donnes.
Remarque Le Gnrateur de requte n'est pas disponible dans une page d'accs aux donnes. Les
Assistants ne sont pas disponibles dans une page d'accs aux donnes autonome ou lorsque vous
pointez vers une base de donnes dans une page d'accs aux donnes autre que celle ouverte. Dans
les deux cas, vous devez crer une zone de liste ou une zone de liste droulante manuellement.
Amliorer la performance des tats et des sous-tats
Vous pouvez accrotre la vitesse d'impression de vos tats de plusieurs faons.
Conseils d'ordre gnral
vitez les contrles superposs.
vitez le tri et le regroupement sur des expressions.
Indexez (index : fonctionnalit qui acclre la recherche et le tri dans une table base sur des valeurs
cls et qui peut garantir lunicit des lignes dune table. La cl primaire dune table est
automatiquement indexe. Certains champs ne peuvent pas tre indexs en raison du type de
donnes quils contiennent.) les champs sur lesquels vous effectuez un tri ou un regroupement.
vitez d'utiliser des fonctions de regroupement de domaine (fonction de domaine : fonction, telle
que DAvg ou DMax, utilise lors du calcul de statistiques sur un ensemble denregistrements
(domaine).). Incluez le champ dans la requte sous-jacente de l'tat ou utilisez un sous-tat (sous-
tat : tat contenu dans un autre tat.).
Assurez-vous que la requte sous-jacente de l'tat est optimise.
Utilisez la proprit AvecDonnes ou l'vnement AucuneDonne pour dterminer si un tat est li
un jeu d'enregistrements vide.
Conseils pour les tats qui contiennent des images et des objets
Utilisez les bitmaps et les autres objets graphiques avec modration.
Convertissez les cadres d'objets indpendants (cadre dobjet indpendant : contrle que vous placez
dans un formulaire ou un tat pour contenir un objet indpendant. Un objet indpendant est un
objet, par exemple une image, dont la valeur nest pas drive de donnes stockes dans une table.)
affichant des images en contrle Image (contrle Image : contrle qui permet dafficher une image
dans un formulaire ou un tat.).
Prfrez les bitmaps en noir et blanc aux bitmaps en couleur.
Conseils pour les sous-tats
Basez vos sous-tats sur des requtes plutt que sur des tables et n'incluez que les champs de la
source d'enregistrements qui sont absolument ncessaires. L'ajout de champs supplmentaires peut
diminuer les performances d'un sous-tat.
Indexez tous les champs du sous-tat lis l'tat principal.
Indexez tous les champs du sous-tat utiliss pour des critres (critres : conditions que vous
spcifiez pour limiter les enregistrements inclure dans le jeu de rsultats dune requte ou dun
filtre.).
Amliorer la performance de la page d'accs aux donnes
Plusieurs oprations sont possibles afin de charger plus rapidement vos pages d'accs aux donnes
en mode Page (mode Page : fentre Access dans laquelle vous pouvez parcourir le contenu dune
page daccs aux donnes. La fonctionnalit des pages est la mme en mode Page que dans
Microsoft Internet Explorer version 5.0 ou ultrieure.) ou dans Microsoft Internet Explorer 5.01 avec
le Service Pack 2 (SP2) ou ultrieur.
Conseils d'ordre gnral
Lorsque vous utilisez une page d'accs aux donnes dans Microsoft Access, fermez tous les objets de
base de donnes superflus. Lorsque vous utilisez une page d'accs aux donnes dans Internet
Explorer, fermez toutes les fentres superflues.
Dans les pages d'accs aux donnes utilises pour la saisie de donnes, dfinissez la proprit
DataEntry sur Vrai de manire ce que la page s'ouvre sur un enregistrement vide.
Indexez tous les champs que vous triez, regroupez ou filtrez.
Liez une page d'accs aux donnes un fichier de donnes XML, afin que la page puisse obtenir ses
donnes partir d'un fichier situ sur le client local plutt que de devoir accder au serveur de base
de donnes.
Contrles
vitez les contrles superposs.
Utilisez des contrles SPAN lis plutt que des zones de texte pour afficher toute donne non
modifiable (par exemple, pour afficher des valeurs numrotes automatiquement, des valeurs
drives d'expressions et des liens hypertexte).
Scurit Utilisez les contrles d'extension ou les contrles de lien hypertexte dpendants avec
prudence. Des utilisateurs non autoriss sont susceptibles d'insrer du texte HTML dangereux dans
ces contrles. Le traitement de ce texte sans validation ni modification peut entraner la perte
d'informations personnelles ou d'autres donnes. Pour empcher que le texte HTML contenu dans
un contrle ne soit affich, codez le contenu du contrle.
Images et objets
Utilisez les bitmaps et autres objets graphiques avec parcimonie. Prfrez les bitmaps monochromes
aux bitmaps couleur.
Pages regroupes
Assurez-vous que la proprit ExpandedByDefault est dfinie sur Faux pour le niveau de
regroupement le plus haut. Faire de mme pour les niveaux de regroupement les plus bas (proprit
dfinie sur Faux) acclrera les autres oprations aprs l'ouverture de la page.
Assurez-vous que la proprit DataPageSize du niveau de regroupement est dfinie sur un petit
nombre plutt que sur un grand ou sur Tout. Plus le nombre est petit, plus les enregistrements
s'affichent rapidement.
Dans une page qui contient des enregistrements avec une relation un--plusieurs, les
enregistrements de regroupement se font par table plutt que par champ ou expression.
Dans une page utilisant des tables avec une relation un--plusieurs, liez chaque section une table
plutt qu' une requte. Microsoft Access recherche les enregistrements dans une table uniquement
lorsqu'il en a besoin pour les afficher dans la page. Avec une requte, Access recherche tous les
enregistrements avant mme d'en enregistrer un seul dans la page. Utilisez une requte uniquement
lorsque vous voulez limiter les donnes utilises dans la page, calculer des valeurs de regroupement
ou excuter une tche ne pouvant tre accomplie que dans une requte.
Obtenir plus de prcisions sur la transformation de votre base de donnes en fichier MDE pour
amliorer la performance
Si votre base de donnes contient du code Microsoft Visual Basic pour Applications (VBA) (Visual
Basic pour Applications (VBA) : version macrolangage de Microsoft Visual Basic qui sert
programmer des applications Windows. VBA est fourni avec plusieurs applications Microsoft.),
l'enregistrement de votre base de donnes Microsoft Access (base de donnes : collection de
donnes relatives un sujet ou un objectif particulier. Dans une base de donnes, les informations
sur une entit particulire, par exemple, un employ ou une commande, sont classs en tables,
enregistrements et champs.) comme fichier MDE compile tous les modules, supprime tout le code
source ditable et compacte la base de donnes destination. Votre code Visual Basic va continuer
fonctionner, mais il ne peut pas tre affich ni modifi.
Scurit L'enregistrement de votre base de donnes comme fichier MDE protge vos formulaires et
vos tats sans obliger vos utilisateurs se connecter ou sans vous obliger crer et grer des
comptes d'utilisateur (compte dutilisateur : compte identifi par un nom dutilisateur et un numro
didentification personnel (PID), cr pour grer les autorisations octroyes lutilisateur pour
accder des objets de base de donnes dans un groupe de travail Access.) et des autorisations
(autorisations : ensemble dattributs qui spcifie le type daccs aux donnes ou aux objets dune
base de donnes dont dispose un utilisateur.) qui sont ncessaires pour obtenir une scurit au
niveau des utilisateurs (scurit au niveau utilisateur : lorsque la scurit au niveau utilisateur est
utilise dans une base de donnes Access, un administrateur de base de donnes ou le propritaire
dun objet peut octroyer des utilisateurs individuels ou des groupes des autorisations daccs
spcifiques des tables, des requtes, des formulaires, des tats et des macros.).
Votre base de donnes va continuer fonctionner normalement, mais vous pouvez continuer
mettre jour des donnes et excuter des tats. De plus, la taille de la base de donnes va tre
rduite grce la suppression du code et l'utilisation de la mmoire va donc tre optimise, ce qui va
accrotre les performances.
En enregistrant la base de donnes comme fichier MDE, vous empchez les oprations suivantes :
Affichage, modification ou cration de formulaires, d'tats ou de modules en mode Cration.
Ajout, suppression ou modification de rfrences aux bibliothques d'objets ou aux bases de
donnes.
Modification du code : un fichier MDE ne contient pas de code source.
Importation ou exportation des formulaires, des tats ou des modules. Cependant, les tables, les
requtes, les pages d'accs aux donnes (page daccs aux donnes : page Web, publie partir
dAccess, qui comporte une connexion une base de donnes. Une page daccs aux donnes
permet dafficher, de modifier et de manipuler les donnes stockes dans la base de donnes, et
dajouter des donnes cette dernire. Une page peut galement inclure des donnes provenant
dautres sources, comme Excel.) et les macros peuvent tre importes de ou exportes vers des
bases de donnes non MDE.
Considrations sur la ncessit de modifier la structure des formulaires, des tats ou des modules
Assurez-vous de conserver une copie de votre base de donnes Access originale. Si vous devez
modifier la structure de formulaires, d'tats ou de modules dans un fichier MDE, vous devez modifier
la base de donnes Access originale et la renregistrer comme fichier MDE. Si vous enregistrez
comme fichier MDE une base de donnes comportant des tables, vous risquez de perdre du temps
rcuprer les diffrentes versions des donnes si vous devez modifier par la suite la structure d'un
formulaire, d'un tat ou d'un module. Pour cette raison, l'enregistrement d'une base de donnes
Access comme fichier MDE convient mieux la base de donnes d'avant-plan d'une application
avant-plan/arrire-plan (application frontale/principale : application qui se compose dun fichier de
base de donnes principale contenant des tables et des copies dun fichier de base de donnes
frontale contenant tous les autres objets de base de donnes qui comportent des liaisons vers les
tables principales .).
Code qui n'utilise plus une scurit au niveau de l'utilisateur
Dans les prcdentes versions d'Access, une scurit au niveau de l'utilisateur pouvait tre mise en
uvre avec des modules VBA. Dans Microsoft Access 2000 et les versions ultrieures, tout le code
Visual Basic d'un fichier de base de donnes Access (.mdb) ou d'un fichier de projet Access (.adp)
(projet Microsoft Access : fichier Access qui tablit une connexion une base de donnes Microsoft
SQL Server et qui sert crer des applications client-serveur. Un fichier de projet ne contient aucune
donne ni aucun objet bas sur la dfinition de donnes telles que des tables et des vues.), y compris
les modules autonomes (module standard : module VBA (Visual Basic pour Applications) dans lequel
vous pouvez placer des procdures Sub et Function que vous souhaitez rendre accessibles aux autres
procdures dans lensemble de votre base de donnes.) et les modules de classe (module de classe :
module qui peut contenir la dfinition dun nouvel objet. Chaque instance dune classe cre un
nouvel objet. Les procdures dfinies dans le module deviennent des proprits et des mthodes de
lobjet. Les modules de classe peuvent exister seuls ou avec des formulaires et des tats.) (comme le
code associ aux formulaires et aux tats) doit activer les fonctionnalits de scurit en dfinissant
un mot de passe ou en enregistrant la base de donnes comme fichier MDE ou ADE, ce qui supprime
le code source.
Considrations faire avant d'enregistrer votre base de donnes comme ficher MDE
Certaines restrictions peuvent vous empcher d'enregistrer votre base de donnes comme fichier
MDE :
Vous devez avoir un mot de passe pour l'accs au code Visual Basic.
Si votre base de donnes est rplique, vous devez d'abord supprimer la rplication (rplication :
processus de copie dune table de donnes de sorte que deux copies, ou plus, puissent changer des
mises jour de donnes ou des objets rpliqus. Cet change est appel synchronisation .).
Si votre base de donnes Access rfrence une autre base de donnes Access ou un complment
(macro complmentaire : programme complmentaire qui ajoute des commandes personnalises ou
des fonctions personnalises Microsoft Office.), vous devez enregistrer toutes les bases de donnes
Access ou les complments dans la chane de rfrences comme fichiers MDE.
De plus, si vous dfinissez un mot de passe de base de donnes ou des fonctions de scurit au
niveau de l'utilisateur avant d'enregistrer votre base de donnes comme fichier MDE, ces
caractristiques vont continuer de s'appliquer un fichier MDE cr partir de cette base de
donnes. Si un mot de passe de base de donnes ou des fonctions de scurit au niveau de
l'utilisateur sont dfinis pour votre base de donnes Access et que vous souhaitez supprimer ces
fonctionnalits, vous devez le faire avant de l'enregistrer comme fichier MDE.
Pour enregistrer comme fichier MDE une base de donnes Access qui a adopt des fonctions de
scurit au niveau de l'utilisateur, vous devez satisfaire aux lments requis suivants :
Vous devez joindre le fichier de groupe de travail (fichier de groupe de travail : fichier lu par Access
au dmarrage, qui contient les informations relatives aux utilisateurs dun groupe de travail. Ces
informations comprennent notamment les noms de compte des utilisateurs, leur mot de passe et les
groupes auxquels ils appartiennent.) qui dfinit les comptes d'utilisateur utiliss pour accder la
base de donnes ou ceux qui taient utiliss quand la base de donnes a t cre.
Votre compte d'utilisateur doit possder les autorisations Ouvrir/Excuter et Ouvrir en mode exclusif
sur la base de donnes.
Votre compte d'utilisateur doit avoir les autorisations Modifier la structure or Administrer pour
toutes les tables de la base de donnes ou bien vous devez tre le propritaire (propritaire : lorsque
la scurit est utilise, compte dutilisateur qui contrle une base de donnes ou un objet de base de
donnes. Par dfaut, le propritaire est le compte dutilisateur qui a cr une base de donnes ou un
objet de base de donnes.) de toutes les tables de la base de donnes.
Votre compte d'utilisateur doit avoir l'autorisation Lire la structure pour tous les objets de la base de
donnes.
Rfrences et fichiers MDE
Si vous essayez de crer un fichier MDE partir d'une base de donnes Microsoft Access (.mdb) ou
d'un complment (.mda) (macro complmentaire : programme complmentaire qui ajoute des
commandes personnalises ou des fonctions personnalises Microsoft Office.) qui rfrence une
autre base de donnes ou un complment Access, Access affiche un message d'erreur et ne vous
laisse par terminer l'opration. Pour enregistrer une base de donnes qui rfrence une autre base
de donnes comme fichier MDE, vous devez enregistrer toutes les bases de donnes dans la chane
de rfrences comme fichier MDE, en commenant par la premire base de donnes rfrence.
Aprs avoir enregistr la premire base de donnes comme fichier MDE, vous devez ensuite mettre
jour la rfrence dans la base de donnes suivante pour pointer vers le nouveau fichier MDE avant
de l'enregistrer comme fichier MDE, etc.
Par exemple, si Base1.mdb fait rfrence Base2.mdb, qui fait elle-mme rfrence Base3.mda,
vous procdez comme suit :
Enregistrez Base3.mda sous Base3.mde.
Ouvrez Base2.mdb et modifiez les rfrences afin qu'elles pointent sur Base3.mde.
Enregistrez Base2.mdb sous Base2.mde.
Ouvrez Base1.mdb et modifiez les rfrences afin qu'elles pointent sur Base2.mde.
Enregistrez Base1.mdb sous Base1.mde.
Enregistrement d'une base de donnes rplique comme fichier MDE
Une base de donnes rplique (un rplica (rplica : copie dune base de donnes qui est membre
dun jeu de rplicas et quil est possible de synchroniser avec les autres rplicas du jeu. Les
modifications apportes aux donnes dune table rplique situe dans un rplica sont envoyes et
appliques aux autres rplicas.) ou un rplica-matre (rplica-matre : seul membre du jeu de rplicas
dans lequel vous pouvez apporter des modifications la structure de la base de donnes, lesquelles
peuvent tre propages aux autres rplicas.)) ne peut pas tre enregistre comme fichier MDE. Pour
enregistrer une base de donnes rplique comme fichier MDE, vous devez d'abord supprimer la
rplication (rplication : processus de copie dune table de donnes de sorte que deux copies, ou
plus, puissent changer des mises jour de donnes ou des objets rpliqus. Cet change est appel
synchronisation .).
Une fois que la base de donnes est enregistre comme fichier MDE, elle peut tre rplique ;
cependant, la rplication est uniquement recommande dans les situations o aucune modification
ne doit tre apporte la base de donnes originale. Il n'y a aucun moyen d'apporter des
modifications la structure des formulaires, des tats ou du code dans un fichier MDE de rplica-
matre, et les modifications de structure faites la base de donnes originale ne peuvent pas tre
synchronises (synchronisation : processus de mise jour de deux membres dun jeu de rplicas par
lchange de tous les enregistrements et objets mis jour dans chaque membre. Deux membres du
jeu de rplicas sont synchroniss lorsque les modifications effectues dans chacun dentre eux ont
t appliques lautre.) avec des rplicas MDE prexistants. Pour cette raison, si vous devez faire
une modification de structure un jeu de rplicas (jeu de rplicas : rplica-matre et tous les rplicas
qui partagent la mme structure de base de donnes et un identificateur de jeu de rplicas unique.)
de fichiers MDE, vous devez procder ces modifications dans la base de donnes originale,
l'enregistrer nouveau comme fichier MDE, et puis crer et distribuer un jeu de rplicas entirement
nouveau partir du nouveau fichier MDE.
Obtenir des informations sur le compactage d'une base de donnes Access
Microsoft Access combine le compactage et la rparation d'un fichier Access (fichier Microsoft
Access : fichier de base de donnes ou de projet. Dans Access 2007, les objets de base de donnes et
les donnes sont stocks dans des fichiers .accdb. Les versions antrieures utilisent des fichiers .mdb.
Un fichier de projet Access ne contient aucune donne et est utilis pour tablir une connexion une
base de donnes SQL Server.) en un seul processus.
Compactage d'un fichier Access
Si vous supprimez des donnes ou des objets dans une base de donnes Access (base de donnes
Microsoft Access : collection de donnes et dobjets (tels que des tables, des requtes ou des
formulaires) qui est associe une rubrique ou un objectif donn.) ou si vous supprimez des objets
dans un projet Access (projet Microsoft Access : fichier Access qui tablit une connexion une base
de donnes Microsoft SQL Server et qui sert crer des applications client-serveur. Un fichier de
projet ne contient aucune donne ni aucun objet bas sur la dfinition de donnes telles que des
tables et des vues.), le fichier devient fragment et utilise l'espace disque de faon peu efficace. Le
compactage du fichier Access fait une copie du fichier et rarrange le stockage du fichier sur votre
disque. Le compactage d'une base de donnes d'une version antrieure d'Access ne va pas la
convertir au format Access 2002 - 2003.
Le compactage optimise les performances tant des bases de donnes que des projets Access.
Cependant, dans un projet Access, le compactage n'affecte pas les objets de base de donnes (objets
de base de donnes : une base de donnes Access contient des objets tels que des tables, des
requtes, des formulaires, des tats, des pages, des macros et des modules. Un projet Access
contient des objets tels que des formulaires, des tats, des pages, des macros et des modules.)
comme les tables ou les vues qui se trouvent dans la base de donnes Microsoft SQL Server (base
de donnes Microsoft SQL Server : base de donnes compose de tables, de vues, dindex, de
procdures stockes, de fonctions et de dclencheurs. Vous pouvez associer votre base de donnes
aux donnes SQL Server via une liaison ODBC ou en crant un fichier de projet Access (*.adp).) au
lieu d'tre dans le projet Access lui-mme.
Le compactage n'a pas d'effet sur l'autonumrotation dans un projet Access. Cependant, dans une
base de donnes Access, si vous avez supprim des enregistrements de la fin d'une table qui a un
champ NumroAuto (type de donnes NumroAuto : dans une base de donnes Microsoft Access,
type de donnes de champ qui stocke automatiquement un numro unique pour chaque
enregistrement lors de son ajout une table. Trois types de numros peuvent tre crs : squentiel,
alatoire et numro de rplication.), le compactage de la base de donnes rinitialise la valeur
NumroAuto ; cette valeur NumroAuto du prochain enregistrement que vous ajoutez sera
suprieure d'une unit la valeur NumroAuto du dernier enregistrement non effac de la table.
Rparation d'un fichier Access
Dans la plupart des cas, Microsoft Access dtecte si un fichier Access est endommag quand vous
essayez de l'ouvrir et il vous donne la possibilit de le rparer ce moment-l. Si le fichier Access
actif contient une rfrence un autre fichier Access qui est corrompu, Access n'essaie pas de
rparer l'autre fichier. Dans certaines situations, Access peut ne pas dtecter qu'un fichier est
endommag. Si un fichier Access se comporte de faon imprvisible, compactez-le et rparez-le.
Access peut rparer :
Des lments corrompus dans une table d'une base de donnes Access (base de donnes Microsoft
Access : collection de donnes et dobjets (tels que des tables, des requtes ou des formulaires) qui
est associe une rubrique ou un objectif donn.).
Des informations manquantes sur la structure d'un projet VBA (Visual Basic pour Applications) de
fichier Access.
Des lments corrompus dans un formulaire, un tat ou un module.
Des informations manquantes dont a besoin Access pour ouvrir un formulaire, un tat ou un module
particulier.
Pour prvenir la corruption de fichiers Access, suivez ces conseils :
Compactez et rparez rgulirement les fichiers Access. Vous pouvez spcifier qu'Access doit
compacter automatiquement un fichier quand vous le fermez.
Sauvegardez rgulirement vos fichiers Access.
vitez de quitter Access de faon inattendue. Par exemple, ne quittez pas soudainement Access en
teignant votre ordinateur.
Si vous connaissez des problmes rseau, vitez d'utiliser une base de donnes Access partage
jusqu' ce que les problmes soient rsolus. Si possible, dplacez la base de donnes Access sur un
ordinateur o vous pouvez y accder localement plutt que via le rseau.
Rparation de fichiers aprs un arrt inattendu d'Access
Si un problme important survient et provoque l'arrt de Microsoft Access, Access redmarre, cre
une copie du fichier qui tait ouvert et l'appelle nom_fichier_Backup.mdb ou
nom_fichier_Backup.adp, o nom_fichier est le nom du fichier original. Si nom_fichier_Backup.mdb
ou nom_fichier_Backup.adp existe dj, Access vous demande de spcifier le nom du fichier. Access
essaie ensuite de compacter et de rparer le fichier original.

Das könnte Ihnen auch gefallen