Faq Access

Embed Size (px)

Citation preview

Date de publication : 01/01/2004 Dernire mise jour : 05/01/2009

Cette FAQ a t ralise partir des contributions des membres du forum Access et Office de www.developpez.com. Si vous dsirez contribuer l'amlioration de cette FAQ veuillez contacter le responsable. Vous souhaitez ajouter vos contributions, pas de soucis, un forum Contribuez a t ouvert ce sujet.

Ont contribu cette FAQ :

vodiem - mnssylvain - ClaudeLELOUP - titi95 - Domi2 Alain36 - Mahefasoa - Team Access - FreeAccess - OtObOx ShaftyW - jpcheck - isa911 - Heureux-oli - Jean Luc Ravenne - Philippe JOCHMANS - francishop - damkre - micniv The_Super_Steph - mimosa7 - Meduse - kloun - keita SpyesX - ckeromen - Rom4u - naphta - mout1234 - random - BBert - Miss Ti - shepp - Sierra.77 - LedZeppII - Morgan BILLY - Lou Pitchoun - guydav - Celia1303 - cakeke - Zorro - MasterOfChakhaL - jfox - armagued - Lo - smicky77 marchand_de_sable - Trini - jbaudin - DMboup - loufab fdraven - ma_mat - LeLaid - mouuaahh - petitmic - hhkiki Lili21 - aurel64 - vmolines - BrunoM45 - =JBO= - nightfall - Isa38 - Maxence HUBICHE - Cafeine - Bidou - Etienne Bar - Demco - Lucifer - THOGAL - Frank - Drosera - Gal Donat - ZEUSGR - Ludolitaliano - Arkham46 - MashiMaro - NESTLE - STEF_1 - Gandalf24 - ARO - grafikm_fr pipololo - hpalpha - xp - sasmira_ - Papy Turbo - Michelle - MultiClic - thierryguilbert - gripoil - Ova - obob - Coin - FRED.G - Angelico - raph692 - Rdesfx - extros - MC2 yoyo.zibou - thorgal85 - 6psyk9 - SQLpro - vbabien - shwin - norac - Gdal - bigquick - Cupidon - Hannibal - Morsi stephane eyskens - olivier] - Tofalu - sunme - argyronet dok flint - sellig - philou22 - tee_grandbois - DonFelipe Faw - Didier L - GAGNON - Petogaz - HPJ - tibadabo cladlemeilleur - jacma - User - pokemoon94 - Keops93 - JeanMarc Rabilloud - khany - ThierryAIM - elifqaoui - abelman -

1. 2. 3. 4. 5.

Gnralits (7) ........................................................................................................................................................................... 5 Gnral (39) ............................................................................................................................................................................... 7 Messages d'erreur et Bugs (24) ............................................................................................................................................... 20 Administrer une base de donnes (18) ....................................................................................................................................28 Tables et Champs (69) ............................................................................................................................................................ 38 5.1. Tables (23) ...................................................................................................................................................................... 40 5.2. Champs (31) ....................................................................................................................................................................52 5.3. Trucs et Astuces (11) ..................................................................................................................................................... 65 6. Requtes (66) ........................................................................................................................................................................... 71 6.1. Manipulation des requtes (5) ........................................................................................................................................ 76 6.2. Expressions et critres (15) ............................................................................................................................................ 78 6.3. Suppressions, modifications et insertions (8) .................................................................................................................84 6.4. Conception (16) .............................................................................................................................................................. 86 6.5. Trucs et Astuces (10) ..................................................................................................................................................... 92 7. Formulaires (205) .................................................................................................................................................................... 96 7.1. Contrles (89) ............................................................................................................................................................... 109 7.1.1. Zones de liste et zones de liste modifiable (31) ................................................................................................. 124 7.1.1.1. Trucs et Astuces (3) ....................................................................................................................................134 7.1.2. Zones de texte (12) ..............................................................................................................................................137 7.1.2.1. Trucs et Astuces (2) ....................................................................................................................................141 7.1.3. TreeView (5) ........................................................................................................................................................142 7.1.4. Onglet (3) .............................................................................................................................................................146 7.2. Donnes (26) .................................................................................................................................................................150 7.2.1. Position dans le formulaire (10) ..........................................................................................................................152 7.2.2. Modification et ajout de donnes (8) .................................................................................................................. 156 7.2.3. Source de donnes (5) ......................................................................................................................................... 159 7.3. Prsentation (28) ........................................................................................................................................................... 161 7.4. Trucs et Astuces (30) ................................................................................................................................................... 170 8. Etats (42) ................................................................................................................................................................................185 8.1. Impressions (12) ........................................................................................................................................................... 192 8.2. Trucs et Astuces (11) ................................................................................................................................................... 196 9. Fichiers et rpertoires (41) .................................................................................................................................................... 207 9.1. Cration/Suppression/Modifications (11) ..................................................................................................................... 213 9.2. Recherches et Localisation (13) ................................................................................................................................... 219 9.3. Informations (9) ............................................................................................................................................................ 229 10. Systme (28) ........................................................................................................................................................................ 235 11. VBA (314) ........................................................................................................................................................................... 257 11.1. Le langage (24) ...........................................................................................................................................................258 11.2. Manipulation des donnes (61) .................................................................................................................................. 268 11.2.1. Dates et Heures (25) ..........................................................................................................................................282 11.2.2. Trucs et Astuces (10) .........................................................................................................................................299 11.3. Astuces de programmation (38) ................................................................................................................................. 305 11.3.1. Conseils d'optimisation du code (2) .................................................................................................................. 324 11.4. API utiles (12) ............................................................................................................................................................ 325 11.5. Interface et graphisme (26) ........................................................................................................................................ 339 11.5.1. Trucs et Astuces (7) .......................................................................................................................................... 346 11.6. Tables et relations (5) .................................................................................................................................................349 11.7. Interaction avec d'autres applications (51) ................................................................................................................. 351 11.7.1. Applications Office (32) .................................................................................................................................... 361 11.7.1.1. Excel (13) ..................................................................................................................................................363 11.7.1.2. Outlook (6) ................................................................................................................................................370 11.7.1.3. Word (4) ....................................................................................................................................................374 11.7.1.4. Access (4) ................................................................................................................................................. 376 11.7.1.5. Power Point (1) .........................................................................................................................................380

-3Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

11.7.2. Trucs et Astuces (7) .......................................................................................................................................... 381 11.8. Dbogage et problmes divers (17) ............................................................................................................................384 11.9. Macros (5) ...................................................................................................................................................................390 11.10. SQL et VBA (25) ..................................................................................................................................................... 392 11.11. Utilisateurs (7) .......................................................................................................................................................... 403 11.12. Rfrences (3) ........................................................................................................................................................... 408 11.13. Divers (40) ................................................................................................................................................................ 409 11.13.1. Trucs et Astuces (17) .......................................................................................................................................421

-4Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

Sommaire > Gnralits Comment obtenir de meilleures rponses ?Auteurs : Team Access , La rdaction vous propose un tutoriel pour apprendre utiliser ce forum : Aide aux nouveaux arrivants sur Developpez.com

Comment mettre le tag [Rsolu] ?Auteurs : Team Access , Quand votre problme est rsolu, pensez l'indiquer en mettant le tag rsolu dans le titre. Pour cela, il suffit de cliquer sur le bouton en bas gauche de la discussion.

lien : Comment obtenir de meilleures rponses ?

Comment participer l'amlioration de la FAQ ?Auteurs : Team Access , Pour contribuer la FAQ Access sur www.developpez.com, postez vos trucs et astuces dans le forum Access : vos contributions.

O touver des tutoriels pour MS-Access et les bases de donnes ?Auteurs : Team Access , www.developpez.com vous propose de nombreux tutoriels et cours sur Access. Cours et tutoriels sur Access

RemerciementsAuteurs : Team Access , Merci tous ceux qui ont particip la rdaction de cette FAQ. En particulier, et dans le dsordre Maxence Hubiche, Etienne Bar, Jean-Marc Rabilloud, Cafine, Michel Blavin, Papy Turbo, FRED.G, Tofalu, shwin et toute l'quipe de developpez.com en particulier l'quipe SGBD, spciale ddicace aux redacteurs de la FAQ Delphi qui a servi d'exemple et aux crateurs de l'outil qui nous permet de crer les FAQ de ce Forum. Remerciements galement aux utilisateurs qui permettent, en rpondant aux questions, d'accrotre la base de connaissance qu'est la FAQ Access.

-5Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

Enfin, je tiens remercier le travail des correcteurs, savoir Nightfall, Alacazam, Pascal Jankowski et SheikYerbouti, mais aussi l'norme travail de NoNo qui produit les outils facilitant grandement la mise jour et la cration des FAQ.

Que signifie le tag [Dlestage]Auteurs : Team Access , Le tag dlestage devant le titre d'un sujet du forum signifie que : La rponse a t traite dans la FAQ, les cours, les sources, etc. La question est abandonne par son posteur La question est sans intrt pour le reste de la communaut

Ces messages sont vous la suppression par les modrateurs dans l'unique but de diminuer la taille de la base de donnes et garantir ainsi des performances optimales. lien : Vous avez dit base de connaissances ?

Vous avez dit base de connaissances ?Auteurs : Team Access , "Si tu donnes un poisson un homme, il mangera un jour. Si tu lui apprend pcher, il mangera toujours." Lao-Tseu Le philosophe expliquait ici l'importance de la formation. Notre objectif, sur ce site, est de fournir un ensemble complet de sources d'informations, de qualit, et ce dans quelque page que vous la cherchiez : dans les cours dans les sources sur le forum

La qualit passe par la clart. Aussi, AVANT de poser une question, vrifiez qu'elle n'ait pas dj t solutionne, afin d'viter de surcharger le forum de questions inutiles et de le rendre ainsi inexploitable travers les rsultats de son moteur de recherche. Lorsque vous posez une question, prenez le temps de la rdiger en un franais correct, et faites votre possible pour que les ides exprimes soient la plus clair possible pour le lecteur. Si par contre vous rpondez, ne rpondez pas tort et travers ! Par exemple, il ne convient pas de donner une rponse une personne qui ne fait pas d'effort de recherche, participant la pollution de la base de connaissance. Encouragez le, formez-le plutt chercher sa solution. Enfin, soyez le plus srieux, professionnel possible. Pensez au lecteur de passage ou press par un souci. Apprendre que "vous avez perdu les clefs et que vous devez passer chez Martine avant d'aller au boulot..." ne l'intressera certainement pas. Donc, pas de trolls.

-6Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

Sommaire > Gnral A quoi servent les transactions ?Auteurs : Team Access , Parfois, vous avez besoin d'excuter une succession de requtes de mise jour. Une transaction permet, lorsqu'elle est ouverte, de lancer ces requtes une--une et de valider ou annuler le rsultat la fin. Imaginez, qu'une requte choue au milieu de la transaction, il ne faut pas que les modifications apportes par les autres requtes soient enregistres, au risque de corrompre l'ensemble des donnes. Vous devez donc annuler la transaction (rollback). En revanche, si tout s'est bien pass, vous pouvez la valider (commit).

Access n'a pas pu crer une base de donnes MDEAuteurs : Frank , Ton problme est que tu dois avoir une erreur dans un de tes modules. Ouvres tes modules un un puis compile les. Attention galement aux erreurs dues au mlange de versions des formats de base de donnes. Ainsi, par exemple, bien que Access 2002 sache travailler nativement avec des fichiers MDB au format Access 2000, il ne peut convertir en MDE que les fichiers MDB 2002......

Application installer sur des postes ne possdant pas MS-AccessAuteurs : Team Access , Il faut possder pour cela la version Microsoft Office dveloppeur, dans laquelle on trouvera le Runtime Microsoft Access, qui est une version de MS-Access n'ayant aucun outil de cration ou de modification, qui ne permet donc que l'exploitation de bases de donnes existantes.

lien : lien : lien :

Dploiement et empaquetage d'applications professionnelles Access 2000 et XP Dploiement et empaquetage d'applications professionnelles Access 2003 Dploiement et empaquetage de vos applications Access 2007 avec l'utilisation du Runtime.

Changer le mot de passe d'un utilisateur ?Auteurs : Team Access , Il faut se logger en tant qu'utilisateur : pour chaque mot de passe que vous voulez changer, vous devez vous logger avec le login de l'utilisateur et son mot de passe. Ensuite vous changez le mot de passe (outils/scurit/gestion.../changer le mot de passe en vrifiant que ce soit le bon utilisateur).

Comment afficher l'aide DAO dans Access 2000 ?Auteurs : MC2 , Ce bug de l'installation d'Access 2000 est rpertori sur le site de Microsoft.-7Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

La rsolution se trouve dcrite sur leur site l'URL : http://support.Microsoft.com/default.aspx?scid=kb;fr;249065&Product=acc2000Fra L dessus, regardez dans ..\Fichiers Communs\... si vous ne trouvez pas dans ...\Common Files\... et dans ...\1036 la place de ...\1033.

Comment appeler une Procdure Stocke Oracle depuis Access ?Auteurs : Team Access ,Private Sub Callproc_Click() ' This code demonstrates calling an Oracle Packaged Procedure and Function ' using the ODBC {Call...} Syntax From Visual Basic using the Microsoft ' Activex Data Objects (ADO) 2.1 (or above) interface via the Oracle ODBC Driver. ' The PL/SQL package called is ' ' create or replace package odbpack as ' ' Procedure Proc(param1 in number,param2 in out number, ' param3 out number); ' ' Function Func(param1 in varchar2, param2 in out varchar2, ' param3 out varchar2) return number; ' end odbpack; ' / ' ' create or replace package body odbpack as ' Procedure Proc(param1 in number,param2 in out number, ' param3 out number) is ' begin ' param2 := param1+param2; ' param3 := param1; ' end; ' ' Function func(param1 in varchar2, param2 in out varchar2, ' param3 out varchar2) return number is ' begin ' param2 := param1||param2; ' param3 := param1; ' return length(param2); ' end; ' end odbpack; ' / ' ' 'Dim er As adoError 'On Error GoTo CnEh Dim cnn1 As ADODB.Connection Dim cmdExeproc As ADODB.Command ' Open connection. Set cnn1 = New ADODB.Connection ' Modify the following line to reflect a DSN within your environment strCnn = "DSN=W805; UID=LeLogin; PWD=LeMotDePasse;" cnn1.Open strCnn Set cmdExeproc = New ADODB.Command cmdExeproc.ActiveConnection = cnn1 cmdExeproc.CommandText = "{call odbpack.proc(?,?,?)}" ' ' ' In the next set of code, we have to manually set the parameter types since ADO and ODBC cannot derive this information when calling packaged procedures.

-8Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

cmdExeproc.Parameters(0).Value = 1 cmdExeproc.Parameters(1).Direction = adParamInputOutput cmdExeproc.Parameters(1).Value = 2 cmdExeproc.Parameters(2).Direction = adParamOutput cmdExeproc.Execute MsgBox ("Return Values from Proc are : " & _ cmdExeproc.Parameters(1).Value & _ " and " & _ cmdExeproc.Parameters(2).Value) Set cmdExeproc = New ADODB.Command cmdExeproc.ActiveConnection = cnn1 cmdExeproc.CommandText = "{? = call odbpack.func(?,?,?)}" ' ' ' In the next set of code, we have to manually set the parameter types since ADO and ODBC cannot derive this information when calling packaged procedures. cmdExeproc.Parameters(0).Direction = adParamReturnValue cmdExeproc.Parameters(1).Value = "Odd" cmdExeproc.Parameters(2).Direction = adParamInputOutput cmdExeproc.Parameters(2).Value = "Fred" cmdExeproc.Parameters(3).Direction = adParamOutput cmdExeproc.Execute MsgBox ("Return Values from Func are : " & _ cmdExeproc.Parameters(0).Value & _ " and " & _ cmdExeproc.Parameters(2).Value & _ " and " & _ cmdExeproc.Parameters(3).Value) Close Connection cnn1.Close End Sub '

Comment compacter une base de donnes ?Auteurs : Bidou , 1/ Une solution 'manuelle' : Menu Outils/Utilitaires de bases de donnes/Compacter une base de donnes. 2/ Une solution 'automatique' ( partir de MS Access 2000) : Menu Outils/Options, Onglet 'Gnral', cocher 'Compacter lors de la fermeture'. 3/Une solution par code :Sub cmdCompacter_Click () sNomBase= "C:\Mes documents\Base.MDB" sNomBaseTmp= "C:\Mes documents\BaseTmp.MDB" DBEngine.CompactDatabase sNomBase, sNomBaseTmp '1. Compactage dans une nouvelle base Kill sNomBase '2. Suppression de la base originale Name sNomBaseTmp As sNomBase '3. Renommer la base compacte avec le nom de la base originale End Sub

-9Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

Remarque : Cette dernire solution ne vous permet pas de compacter la base de donnes en cours. lien : Pourquoi faut-il compacter les bases de donnes ?

Comment crer une sorte d'emploi du temps ?Auteurs : Maxence HUBICHE , TABLE1 LaDate LeDebut LaFin LeSujet 12/11/2003 10:15:00 11:15:00 test 13/11/2003 09:00:00 09:30:00 essai TABLE2 DD DF 09:00:00 09:30:00 09:30:00 10:00:00 10:00:00 10:30:00 10:30:00 11:00:00 11:00:00 11:30:00 11:30:00 12:00:00 12:00:00 12:30:00 REQUETE1TRANSFORM First(IIf([ledebut][df] Or [Ledebut]>=[DD] And [LeDebut][DD] And [LaFin] Table > Importer la table. Il ne vous reste alors qu' naviguer entre les diffrents onglets et importer les objets dont vous avez besoin.

Est-il possible de reconstruire une mdb a partir d'une mde.Auteurs : raph692 , Non ! MDE : Fichier de base de donnes "semi-protg" : un MDE est un MDB dans lequel il n'est plus possible d'ajouter ou de modifier des formulaires, des tats ou des modules VBA. Contrairement l'ide reue, le MDE n'est pas une protection intgrale d'un MDB : les tables, requtes et macros sont toujours accessibles. Mais le MDE a subi une pseudo compilation. Tous les lments disponibles pour la modification des modules (et modules de classes, donc tats et formulaires inclus) ne sont plus accessibles. lien : Qu'est-ce qu'un fichier mde ?

Faire une application Client/ServeurAuteurs : Team Access , MS Access n'est pas fait pour faire ce type d'application. Depuis la version 2000, il est cependant possible de crer des projets MS Access. Les projets MS Access sont la grosse nouveaut permettant de crer des clients de bases de donnes SQL Serveur. Dans ce cas-l, on peut crer une application rellement client serveur. Pour ce type d'architecture vous pourrez utiliser MSDE (version restreinte de SQL Server) qui est fournie sur le CD d'Office.

- 13 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

lien :

Comment utiliser une application en mode multi-utilisateurs par Morgan BILLY

Gestion de la scurit - Niveau Base de donnesAuteurs : Maxence HUBICHE , Il s'agit simplement de la mise en place d'un mot de passe sur le fichier de base de donnes. La scurit de Niveau base de donnes n'est pas fiable.

Gestion de la scurit - Niveau utilisateurAuteurs : Maxence HUBICHE , La scurit de niveau Utilisateur est bien plus fine. Elle est d'ores et dj active, mais les paramtres sont tellement ouverts qu'on ne le voit pas : Lorsque MS-Access se lance, une lecture est faite au niveau de la base de registres, allant chercher le fichier systme qui va rgir le DBEngine (DAO). Une fois ces paramtres dfinis, la base de donnes s'ouvre, d'o le schma DBENGINE-WORKSPACE-DATABASE, et la proprit SystemDB du DBEngine. C'est l'ouverture du Workspace que les user et pwd sont demands, d'o la syntaxe CREATEWORKSPACE(,,,...). ---------------------------------------------------------Le fichier SystemDB, on peut le voir en lancant l'utilitaire wrkgadm.exe. Il est mme conseill d'en crer un spcifique, en laissant le system.mdw existant intact. A quoi sert l'utilitaire : -Crer de nouveaux fichiers de scurit -Modifier la base de registres en dfinissant le fichier de scurit actif pour la prochaine session MS-Access. A quoi sert ce fichier : A dfinir les Users et Groups --------------------------------------------------------Etapes : 1-Crer un fichier de scurit 2-Ouvrir MS-Access 3-Faire Outils/Scurit, dfinir tous les Users et Groups (minimum 1 User : MoiMeme, 1 Group : MonGroup) 4-Faire toutes les associations Users-Groups (dont MoiMeme-MonGoupe) 5-Mettre un des nouveaux Users ( MoiMeme) dans le groupe des Administrateurs 6-Enlever le User Administrateur du Groupe Administrateurs 7-Donner un mot de passe l'Administrateur 8-Quitter MS-Access 9-Ouvrir MS-Access (pour mettre en place ces nouveaux paramtres) 10-Mettre le nom du nouveau User (MoiMeme) et aucun mot de passe 11-Crer une base de donnes (ainsi ce sera MoiMeme qui sera le propritaire de la base) 12-Faire Outils/Scurit pour paramtrer les droits: Retirer tous les droits du groupe des Utilisateurs Retirer tous les droits du groupe des administrateurs Mettre tous les droits au groupe des dveloppeurs Et faire cela sur chacun des types d'objets, dont la base de donnes. Ainsi, la base de donnes ne pourra pas tre ouverte pas l'utilisateur par dfaut (Utilisateur Administrateur) 13-Importer tous les objets de la base d'origine. --------------------------------------------------------Cette base ne pourra tre ouverte que si 1- on a le bon fichier mdw 2- si on connat le mot de passe Ensuite la meilleure solution est de crer un raccourci dont les proprits sont les suivantes :- 14 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

"Chemin\vers\MSAccess.exe" "Chemin\vers\votre\fichier.mdb" \fichier.mdw"

/Wrkgrp "Chemin\vers\votre

Astuce si vous ne voulez pas taper votre mot de passe chaque fois :/user NomUtilisateur /pwd LeMotDePasse

Normalisation des nomsAuteurs : Team Access , Utiliser les prfixes conventionnels est mme fortement recommand. Il est ainsi beaucoup plus ais de relire son code. Vous vous en rendrez vraiment compte en relisant le code d'autres programmeurs. lien : Tlcharger le fichier Excel des principaux prfixes normaliss lien : Descriptif des conventions typographiques du code Visual Basic

Pourquoi faut-il compacter les bases de donnes ?Auteurs : Team Access , Au fur et mesure de l'utilisation de votre base de donnes, la taille du fichier tend accrotre considrablement. Ceci est d la mthode utilise par Access pour stocker les enregistrements. Il vous est donc recommand de compacter rgulirement votre fichier. De plus, depuis Access 2000, le compactage inclu la rparation du fichier s'il est endommag. lien : Comment compacter une base de donnes ?

Que signifie VBA?Auteurs : Team Access , VBA pour Visual Basic dition (ou en Anglais : "for") Application (cd. orient vers les applications bureautiques de Microsoft, Access, Excel, Word, ...). Certains lments qu'on peut tre amen grer dans une application en Access ou en Excel, par exemple, sont identiques. D'autres sont spcifiques. VBA peut tre vu comme une restriction de VB. Mais l'interface de dveloppement d'Access, par exemple, apporte pas mal de facilits.

Quelles sont les limites de MS-Access ?Auteurs : Team Access , Les limites de Microsoft Access sont consultables dans l'aide sous le mot-cl "Spcifications de Microsoft Access". Vous y trouverez le nombre d'utilisateurs admissible, la taille maximale de la base de donnes, le nombre d'objets autoriss, etc.

- 15 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

Qu'est-ce qu'un fichier mde ?Auteurs : Team Access , Un fichier Mde est une base de donnes Access stocke dans un tat compil. La modification des formulaires, tats, macros et modules y est impossible. La cration d'un fichier Mde amliore les performances de l'application, rduit sa taille et protge sa partie applicative des modifications. Attention, lorsque vous convertissez votre base en Mde, gardez prcieusement une copie du fichier Mdb originel car la compilation est irrversible. lien : Gestion de la scurit - Niveau utilisateur lien : Gestion de la scurit - Niveau Base de donnes lien : Est-il possible de reconstruire une mdb a partir d'une mde.

Rparer une base de donnes sans passer par l'interface AccessAuteurs : Team Access , Il faut lancer ce qui suit en ligne de commande (pour Access 2000) :"C:\Program Files\Office2000\Office\MSACCESS.EXE" "C:\Mes documents\MaBase.mdb" /repair

La base sera ainsi rpare mais non ouverte. Sinon, intressez-vous la mthode "CompactDataBase".

Une application dveloppe sous Access est-elle compatible avec toutes les versions d'Access ?Auteurs : Demco , Lire une application avec une version d'Access suprieure ou gale celle utilise lors du dveloppement ne devrait pas poser de problme. Cependant, l'inverse n'est pas vrai. A savoir qu'une base dveloppe sous Access 2003 ET enregistre au format Access 2003 ne sera pas exploitable par les versions antrieures d'Access.

Utiliser des triggers (dclencheurs)Auteurs : Team Access , Les triggers ne sont pas grs sur les bases de donnes MS-Access.

Aide Access non complteAuteurs : Miss Ti , Certains fichiers d'aide sont placs dans le dossier C:\Program Files\Common Files alors que l'aide cherche dans le dossier C:\Program Files\Fichiers communs. Il vous suffit de copier l'aide dans le second dossier.

- 16 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

Comment activer/dsactiver la correction automatique pour toutes les applications OfficeAuteurs : LedZeppII , Pour Activer / Dsactiver la correction orthographique des applications Office, il faut passer par la base de registre. Pour votre scurit, faites une sauvegarde de la base de registre avant de raliser la modification. Pour accder la base de registre tapez regedit dans la fentre Excuter du menu Dmarrer. Ceci dsactive la correction :[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Common\AutoCorrect] "ACOptions"=dword:00000000 "CorrectTwoInitialCapitals"=dword:00000000 "CapitalizeSentence"=dword:00000000 "CapitalizeNamesOfDays"=dword:00000000 "ToggleCapsLock"=dword:00000000 "ReplaceText"=dword:00000000

Ceci active la correction :[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Common\AutoCorrect] "ACOptions"=dword:00000001 "CorrectTwoInitialCapitals"=dword:00000001 "CapitalizeSentence"=dword:00000001 "CapitalizeNamesOfDays"=dword:00000001 "ToggleCapsLock"=dword:00000001 "ReplaceText"=dword:00000001

Comment lister les objets, mthodes et proprits disponibles dans une version d'Access donneAuteurs : Cafeine , Dans un premier temps il faut ajouter la rfrence : TypeLib Information (C:\Winnt\system32\tblinf32.dll) Ce code va vous permettre de lister les objets, mthodes et proprits disponibles dans une version d'Access donne. Collez ce code dans un module.Public Function GetMethod(ByVal strRefName As String, ByVal strObject As String, _ Optional ByVal item As String = "*") As Collection Dim objTLI As TypeLibInfo Dim objInterFace As InterfaceInfo Dim objMember As MemberInfo Dim i As Integer Dim strTypeName As String, strLastAdded As String Set objTLI = New TypeLibInfo objTLI.ContainingFile = Application.References(strRefName).FullPath For i = 1 To objTLI.TypeInfos.Count If (objTLI.TypeInfos(i).Name = strObject) Then Set objInterFace = objTLI.TypeInfos(i).Interfaces(1) Exit For End If Next i

- 17 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

If Not (objInterFace Is Nothing) Then For Each objMember In objInterFace.Members If Not (Left$(objMember.Name, 1) = "_") And _ Not (objMember.Name = strLastFound) And _ (objMember.InvokeKind = INVOKE_FUNC Or _ objMember.InvokeKind = INVOKE_EVENTFUNC) And _ (objMember.Name Like item) Then Debug.Print objMember.Name strLastFound = objMember.Name End If Next objMember End If End Function

Appel de la fonction :'Exemple d'appel pour l'objet Formulaire GetMethod "Access", "Form"

Le dernier argument est facultatif, il permet de faire une recherche prcise, exemple avec les proprits commencant par A'Exemple d'appel pour l'objet Formulaire GetMethod "Access", "Form", "a*"

lien :

Comment dclarer une rfrence dans MS-Access ?

C'est quoi un twips ?Auteurs : Maxence HUBICHE , C'est une unit de mesure utilise par le VBA (et Access) qui correspond 1/1440 pouces soit 2,54cm Ce qui fait qu'un cm contient peu prs 567 twips Cette unit de mesure est compltement dissocie de la notion de pixel. Son objectif est de permettre un positionnement impeccable d'une fentre (au sens global du terme... cela englobe donc les contrles, etc.) sur un cran, et ceci, quel que soit la rsolution de ce dernier. lien : lien : lien : Obtenir la relation entre le nombre de pixels affichs l'cran et une mesure physique. Position d'un formulaire Comment connatre le nombre de twips par pixel sur le machine en cours ?

Comment Afficher l'aide ADO avec F1 ?Auteurs : Team Access , L'aide ADO n'est pas affiche lorsque vous faites rfrence la bibliothque d'objets ADO 2.7 ou ultrieur La solution se trouve dcrite sur le site de Microsoft l'URL : http://support.microsoft.com/default.aspx?scid=kb%3Bfr%3B827041

- 18 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

Avis sur les variables GlobalesAuteurs : Maxence HUBICHE , Les variables globales, c'est beurk de chez beurk parce que : Une variable est un espace mmoire stockant des donnes. Moins on utilise d'espace mmoire pour stocker des donnes, plus on en a pour l'application elle-mme. Elles ont une dure de vie quivalente la dure du projet (de l'ouverture la fermeture de la base, en gros), ce qui signifie qu'elles conservent leurs valeurs pendant toute la dure d'excution de la base. Or, il est extrmement rare qu'une variable soit utilise EN PERMANENCE. Donc, on se retrouve avec des donnes en mmoire, avec des temps de latence extrmement longs. Donc, on monopolise de la mmoire pour... rien, la majeure partie du temps de travail de l'application. Stocker l'info dans une table, dans une proprit de la base, dans la base de registre, dans un fichier texte (etc.) reviendrait donc rigoureusement au mme, mais sans utiliser la mmoire.

Comment faire fonctionner Access97 sous Windows VISTA ?Auteurs : titi95 , Deux problmes rencontrs lors de l'installation d'Access97 sous Windows VISTA 1. impossibilit de crer le fichier System.mdw (groupe de travail) l'installation ou ensuite en utilisant le Wrkgadm.exe. Mme en ouvrant "en tant qu'administrateur". Solution : rcuprer l'ancien fichier et le coller sous Windows\system32. 2. ouverture impossible d'Access : "mmoire insuffisante" Erreur Microsoft. Solution : tlcharger la mise jour SR1 d'Office 97 Office 97 Service Release 1 Ouvrir le .exe de la mise jour avec l'option "administrateur" (clic droit)

- 19 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

Sommaire > Messages d'erreur et Bugs A l'ouverture d'Access 97 j'ai le message "mmoire insuffisante"Auteurs : Tofalu , Ce problme peut se produire si votre ordinateur dispose d'au moins 1Go de mmoire RAM. Les problmes de ce type sont rsolus en appliquant le Office 97 Service Release 1. Ce service pack est disponible sur le site de Microsoft (voir lien ci-dessous).

lien :

Office 97 Service Release 1

Comment supprimer les messages d'Access nous demandant si on est sr de vouloir ouvrir l'application ?Auteurs : Tofalu , Pour remdier ce problmes il faut respecter ces diffrentes tapes : 1. Installer le service pack 8 du moteur Jet (disponible sur le site Microsoft) 2. Puis dans la base des registres : Sous la cl : [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines], crer ou modifier la valeur DWord nomme SandBoxMode avec la valeur 2 Sous la cl : [HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Access\Security], crer ou modifier la valeur DWord nomme Level avec la valeur 1 Pour faire ceci automatiquement, vous pouvez crer le fichier .reg suivant qu'il vous suffira de lancer afin que les dis changements s'appliques. Depuis le Bloc Note crez un fichier dont vous mettrez le contenu suivant :

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines] "SandBoxMode"=dword:00000002 [HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Access\Security] "Level"=dword:00000001

Enregistrez ce fichier avec l'extension .reg.

Conflit d'criture : Cet enregistrement a t modifi par un autre utilisateur...Auteurs : Papy Turbo , Raison probable : Par SQL, vous devez essayer de modifier quelque chose dans la mme table (ou dans une des tables concernes) que celle affiche dans le formulaire actif. Conclusion : si l'enregistrement que vous modifiez par SQL est contenu dans la mme page (une page = le bloc d'enregistrements qu'Access bloque entirement quand vous modifiez un seul enregistrement de la page) que l'enregistrement en cours dans le formulaire, il y a un conflit : 2 utilisateurs la fois (vous par formulaire + vous par

- 20 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

SQL ou VBA...) essaient de modifier la mme page en mme temps. (disons que ce message serait plus explicite que celui qu'Access affiche) La solution est dlicate mettre au point, mais en gros a consiste toujours enregistrer le formulaire avant de faire un quelconque accs aux donnes en criture . Quelque chose comme :

Private Sub Ouvr_AfterUpdate() If Me.Ouvr Then 'enregistrer le formulaire, si besoin, avant une modif sur la base If Me.Dirty Then DoCmd.RunCommand accmdSaveRecord End If DoCmd.RunSQL "UPDATE T_JourOuvr " & _ "SET T_JourOuvr.ValeurPourCalculBrutVeille = 0 " & _ "WHERE (((T_JourOuvr.Date)=" & _ [Formulaires]![F_ValiderJourFriMoisSuivant]![Date] & "));" End If End Sub

Empcher l'affichage des avertissements de scurit lis aux macros lors de l'ouverture d'une base.Auteurs : FRED.G , "Pour arrter l'affichage des avertissements lis aux macros, modifiez le niveau de scurit sur la valeur Faible dans l'onglet Niveau de scurit (dans le menu Outils, pointez sur Macro et cliquez sur Scurit)." Si vous n'avez pas l'option Scurit dans le sous-menu Macro, vous pouvez l'y glisser-dposer en allant la chercher dans : Menu Affichage -> Barres d'outils -> Personnaliser... -> Onglet Commandes -> Catgorie Outils -> Commande Scurit...

Erreur d'excution '2164' '2165' : Impossible de dsactiver/masquer le contrle actifAuteurs : Demco , On ne peut dsactiver le contrle qui est actif comme il est dit clairement dans le message. Il vous suffit donc de donner le curseur un autre contle avant :

Private Sub MonBouton_Click() Me.AutreBouton.SetFocus Me.MonBouton.Enable = False End Sub

Erreur d'excution '3464' : Type de donnes incompatible dans l'expression du critreAuteurs : Demco , Dans le cas o cette erreur arrive lors d'une requte SQL excute depuis VBA : Vous essayez par exemple d'insrer une valeur dans un champ de type texte sans mettre d'apostrophe, exemple :

DoCmd.RunSQL "UPDATE MaTable SET nom=" & MaZonedeTexte & " WHERE id=" & ZonedeTexteID

- 21 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

Dans ce cas vous essayez de rentrer une valeur de dans le champ nom de type texte sans le mettre entre apostrophes. Essayez plutt :

DoCmd.RunSQL "UPDATE MaTable SET nom ='" & MaZonedeTexte & "' WHERE id=" & ZonedeTexteID

Ainsi cela fonctionnera. Pour mieux comprendre la diffrence entre les deux criture, affichez les deux lignes grce des MsgBox, vous verrez rapidement la diffrence. Je vous invite galement consulter le tutorial de cafeine ci-dessous.

lien :

Initiation - Dbogage : requtes crites par VBA

Erreur 429 : Un composant Activex ne peut crer d'objetAuteurs : Ova , Cette erreur peut apparatre sur un poste alors que l'on n'a aucun problme sur un autre. - Soit il y a une erreur de code (voir le dtail chez Microsoft en suivant le lien plus bas), - Soit la DLL DAO360.dll est absente (cas classique : il suffit de l'installer) - Soit elle est prsente ... mais mal enregistre. Microsoft conseille de dsinstaller Office, puis de rinstaller. Gnralement, aprs a marche. Cas (trs) particulier (et c'est la prcision...) : Si l'utilitaire de sauvegarde automatique d'Outlook est install (backup des *.pst), on obtient l'erreur 429. Si on le dsinstalle, a marche. Il semble donc que les 2 soient incompatibles. L'erreur se dclenche uniquement si l'application "fille" (Word, Excel, Outlook...) est ferme. Si elle est ouverte, a marche (CreateObject se comporte comme GetObject). Voila, nous n'avons aucune explication technique cela ... mais la dsinstallation du backup d'Outlook a rsolu notre problme. lien : http://support.Microsoft.com/default.aspx?scid=kb;fr;244264

Erreur 429 Un composant active X ne peut crer l'objet Access 97Auteurs : aurel64 , Concernant cette erreur d'Access (97) voici un solution pour rgler le problme. 1) Vrifier dans le rpertoire : C:\Program Files\Fichiers communs\Microsoft Shared\DAO\ que dao350.dll ainsi que dao360.dll sont bien prsentes Si ce n'est pas le cas je pense qu'un rinstallation s'impose... 2)Une fois cette vrification effectue, ouvrez la base de registre (Dmarrer, excuter , taper : regedit) 3)Sauvegarder entirement votre base de registre avant toutes modifications 4)Une fois dans la base de registre allez dans : HKEY_CLASSES_ROOT\CLSID 5)Dans cette arborescence vous devez trouver 9 cls se rapportant respectivement dao350.dll et dao360.dll (respecter l'ordre)- 22 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

Dans mon cas les 9 cls concernant la dll dao350 taient manquantes mme aprs rinstallation complte d'office 97 pro + patch SR2 6)Une fois identifies il ne vous reste plus cas rcuprer ces cls d'un autre poste (de version identique bien sur) ou de les crer sur le model existant (exemple dao360) rfrences des cls et sous cls a crer : {00000010-0000-0010-8000-00AA006D2EA4} InprocServer32 ProgID {00000019-0000-0010-8000-00AA006D2EA4} Dernire tape, il vous reste rajouter dans l'arborescent HKEY_CLASSES_ROOT les cls : DAO.DBEngine.35 DAO.Field.35 DAO.Group.35 DAO.Index.35 DAO.PrivateDBEngine.35 DAO.QueryDef.35 DAO.Relation.35 DAO.TableDef.35 DAO.User.35 HKEY_CLASSES_ROOT\Typelib {00025E01-0000-0000-C000-000000000046} 4.0 5.0 {00025E04-0000-0000-C000-000000000046}

Impossible de compacter ma base de donnes, erreur : La table TempMSysAccessobjects existe djAuteurs : Tofalu , Faites une sauvegarde de la base. Ensuite, Dans Outils, option, Onglets Affichage, activez la case : Objets Systmes. Vous allez ainsi voir toutes les tables systmes de ta base. Essayez de supprimer les tables systmes qui commencent par Temp. Normalement, aprs vous pouvez compacter.

L'assistant Access ne se dclenche plus (par exemple lorsque je cre un sous formulaire ou un bouton de commande, etc.).Auteurs : dok flint , Mthode douce, par Maxence Hubiche : dans la bote outils, cliquez sur le 2 bouton (baguette magique) pour qu'il soit enfonc. (attention il s'agit de la baguette magique qu'il y a dans la BOITE A OUTILS pas dans la BARRE D'OUTILS)... Mthode forte (si le problme n'a pas t rsolu en douceur...), par dok flint : avant tout, assurez-vous que les assistants ont t slectionns dans les options d'installation d'Access. Si tel est le cas, alors le problme avec les assistants peut venir d'un problme au niveau d'Access. La solution est d'essayer de dsinstaller Office puis le rinstaller. Si a ne marche toujours pas, il faut employer les grands moyens, en rinstallant Windows.

- 23 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

Autre mthode : l'aide de l'explorateur Windows, recherchez le fichier dao360.dll et notez son chemin. Ensuite, allez dans le menu Dmarrer\Excuter et tapez : regsvr32 "chemin_du_fichier/dao360.dll" et cliquez sur OK. Relancez Access.

Ma dll n'est pas prise en compte lors de l'empaquetage ?Auteurs : argyronet , Bien, prenez votre fichier dll et dplacez-le vers WinSys32. Ensuite cliquez deux fois dessus. Comme il risque de n'y avoir aucune association de fichier par rapport l'extension DLL ce qui est normal, vous aurez la boite de dialogue permettant d'en slectionner un qui va apparatre. De l, cliquez sur Parcourir... Localisez regsvr32.exe dans le dossier WinSys32 et validez. Vous aurez un message comme quoi il est bien inscrit. Ensuite rfrencez-le proprement dans votre projet Access. Crez votre MDE aprs avoir compil et vrifi votre code. Il ne vous reste plus qu' crer votre paquetage.

Message d'erreur : Erreur d'accs au fichier. Il se peut que la connexion rseau ait t perdue. / Error accessing file. Network connection may have been lostAuteurs : sasmira_ , La rponse se trouve sur le site de Microsoft : http://support.microsoft.com/default.aspx?scid=kb;fr;304548

Message d'erreur : Le projet ne peut pas etre afficher.Auteurs : argyronet , Une solution possible est que ce soit un message d'empchement de visualisation de projet li un problme de version. Par exemple, votre projet a t cr en Access 2000 et vous l'ouvrez avec Access XP ou 2003. Si c'est le cas, il faut d'abord le convertir au bon format avant de pouvoir accder au code.

Mon application fonctionne sur certains postes, mais pas sur tous.Auteurs : Demco , Il s'agit probablement d'une DLL manquante. Pour le savoir : _Aller dans un module (o il y a le code VBA).

- 24 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

_Faire outils/rfrence. La liste des dll s'affiche alors. A ct de l'une d'elle est srement crit : "MANQUANTE" Il faut dcocher cette rfrence et fermer le formulaire. Aprs, cela devrait fonctionner ! :)

Pourquoi vb s'arrte sur une erreur malgr "on error goto" ou "on error resume next" ?Auteurs : nightfall , Pour corriger ce problme, allez dans le menu Outils - Options, cliquez sur l'onglet "Gnral" et pour l'option "Rcupration d'erreur", slectionnez la valeur "Arrt sur les erreurs non gres". lien : FAQ VB

Erreur 2191 lors d'un tri d'enregistrement dans un tatAuteurs : loufab , Pour viter cette erreur, il faut dfinir le champ trier et activer le tri. L'ordre de tri se dfini avec OrderBy et OrderByOn. Placez le code dans Open_Report et mettez un On Error Resume Next au dbut.On Error Resume Next Me.OrderBy = "table.champ" Me.OrderByOn = True

[ODBC]Erreur Argument Invalide suite migration serveur - Liaison des tablesAuteurs : shepp , Suite une migration de serveur, d'une version 97 d'ACCESS sur un serveur Windows 2000 SP4 (Environnement CITRIX) une version 2003 sur un serveur Windows 2003 Standars Edt SP1 (Environnement CITRIX PS4), une erreur "Argument Invalid" est leve. Le problme vient de la version du fichier MSJET40.DLL. Il faut qu'il soit en version 4.06 ou infrieur. Hors, sous Windows 2003, la version est 4.09. Il faut la remplacer en mode sans echec pour viter la mise jour du fichier en question par le systme.

Comment viter le message d'erreur "L'action Open Report a t annule" l'ouverture d'un tat ?Auteurs : Maxence HUBICHE , Lors de l'ouverture d'un tat sans donnes un message d'erreur : "L'action Open Report a t annule" s'affiche, pour viter cela il suffit d'intercepter l'erreur leve par Access (err 2501). Le principe est de faire une gestion d'erreur.Private Sub OpenReport() On Error GoTo err_OpenReport DoCmd.OpenReport ("MonEtat")

err_OpenReport: - 25 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

Select Case err.Number Case 2501 'rien faire Case Else MsgBox err.Description End Select End Sub

Problme lors d'un dplacement rapide d'un enregistrement un autre avec gestion d'images.Auteurs : Arkham46 , Dans une base Access grant des images par lien lorsque l'on se dplace rapidement d'un enregistrement l'autre au bout d'un moment il quitte purement et simplement sans message. Apparemment c'est la bote de dialogue de progression du filtre d'import qui n'apprcie pas la manipulation. En empchant cette bote de progression d'apparatre, cela semble rsoudre le problme. Pour cela, il faut modifier la valeur de la cl de registre ShowProgressDialog. Pour le filtre Jpeg par exemple :HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Graphics filters\Export\Jpeg\Options \ShowProgressDialog = "No"

Erreur 3033 : Autorisation pour utiliser l'objet MSysTablesAuteurs : Lou Pitchoun , Lorsque vous scurisez une base de donnes et que vous attribuez des droits des groupes, veuillez faire attention ce que ces groupes doivent ou peuvent effectuer comme action dans l'application. En effet, si des groupes doivent excuter du code qui modifie une requte : veillez leur donner les droits en ce qui concerne la modification de la structure des requtes, auquel cas cette erreur apparaitra :Erreur d'excution 3033: Vous n'avez pas l'autorisation requise pour utiliser l'objet MSysTables. Demandez l'autorisation requise votre administrateur systme ou la personne ayant conu cet objet.

A noter : lorsque vous cocherez 'Modifier la structure' pour les requtes, cette case sera systmatiquement coche pour les tables.

Pourquoi ma fentre de base de donnes apparat vide ?Auteurs : loufab , Fentre de base de donnes apparait vide (version 2000 et 2002). Avec des bases de donnes issue d'anciennes versions et qui n'ont pas t converties, la fentre de base de donnes peut s'afficher vide lorsque le mode d'affichage est en icne. Il suffit alors de changer de mode d'affichage, (liste ou dtails) pour faire apparaitre les objets.

- 26 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

Une conversion et un compactage suffisent rgler ce problme.

Pourquoi un nouveau Module insr n'apparat pas dans l'diteur ?Auteurs : loufab , Module insrer dans VBE n'apparat pas dans la fentre base de donnes : Il peut arriver suivant les versions d'ACCESS qu'un module directement insr partir du VBE (click droit dans l'explorateur de projet, insrer un module) n'apparat pas dans la fentre base de donnes. Pourtant il y est et ses procdures et fonctions sont accessibles. Il suffit de sauvegarder le nouveau module pour qu'il apparaisse dans la fentre de base de donnes.

Touche Shift inactive avec installation du runtime avant version d'Access.Auteurs : isa911 , Problme rapport par isa911 : Installation d'une base sur un nouveau poste, la touche shift est inactive sans l'avoir fait par code. Aprs analyse du problme le Runtime d'Access a t install avant Access. Dans le lien suivant vous trouverez la solution pour rsoudre ce souci : (kb235280) Solution issu de MSDN

lien :

Solution issu de MSDN (kb235280)

Access 2003 : Images jpg non supportes par Access.Auteurs : ShaftyW , Il se peut lorsque vous intgr des images avec l'extension jpg que vous rencontriez des soucis, Access vous signale que l'image n'est pas supporte, pour cela vous pouvez tlcharger sur le site de Microsoft une application corrigeant ce problme : Office File Converter Pack

lien :

Gestion de photos par formulaire par Charles A. [cafeine]

- 27 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

Sommaire > Administrer une base de donnes Comment dconnecter les utilisateurs d'une base de donnes ?Auteurs : Morsi , L'ide est que le formulaire principale de l'application sache quand est ce qu'il faut lancer la routine de dconnexion des utilisateurs. Pour cela, on cre une table avec un seul champs de type oui/non et un seul enregistrement : Administration(LogOff(oui/ non)). L'administrateur de la base peut ensuite cacher cette table (proprit, table cach) et lui seul peut cocher la case LogOff. Il faut maintenant utiliser l'vnement minuterie du formulaire principale qui lance la vrification de la routine qui dconnectera les utilisateurs (on utilise un intervalle de 5 minutes). Pour excuter ce code il faut activer la rfrence : Microsoft DAO 3.x Object LibraryPrivate Sub Form_Timer() On Error GoTo Err_LogOffChk Dim Lancer As Boolean Dim rcd As DAO.Recordset Set rcd = CurrentDb.OpenRecordset("Administration") rcd.MoveFirst Lancer = rcd.Fields(0) rstLO.Close CurrentDb.Close ' --Si la case est coche If Lancer Then Application.Quit acQuitSaveAll Exit_LogOff: Exit Sub Err_LogOffChk: MsgBox Err.Number & vbCrLf & Err.Description, vbInformation, "Erreur" Resume Exit_LogOff End Sub

lien : lien : lien :

Dfinition et manipulation de donnes avec DAO par Tofalu Comment dclarer une rfrence dans MS-Access ? Comment utiliser une application en mode multi-utilisateurs par Dolphy35

Documenter une base AccessAuteurs : Cafeine , Menu outils / analyse / documentation. lien : Comment sortir un descriptif dtaill de toutes ses tables et de leurs attributs ?

Ouvrir une base en mode exclusifAuteurs : Morsi ,Function Ouvrir_Base_Exclusif() Dim Bd As Database On Error Resume Next Set Bd = DbEngine (0).OpenDatabase("C:\Ma_base.mdb", True) If Err.Number 0 Then Msgbox Err.Number & " Impossible d \'ouvrir la base en mode Exclusif " & vbcrlf & Err.Description, VbInformation Else

- 28 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

MsgBox "La base de donnes est ouverte en mode exclusif.", VbInformation End If End Function

Si on obtient le numro d'erreur 3262, c'est que la base est ouverte en mode partag par un autre utilisateur.

Crer une date d'expiration pour une applicationAuteurs : Morsi , Pour mettre une date d'expiration la base et dsactiver le run-time de votre application Access, appelez cette fonction l'ouverture du formulaire de dmarragePublic Function DateExpirationApplication() If Date >= DateSerial(2003, 12, 31) Then MsgBox "La date d\'expiration de l\'application est dpasse", vbExclamation DoCmd.Quit End If End Function

Inhiber la touche MAJ au dmarrageAuteurs : Frank , Il est intressant des fois d'inhiber l'effet de la touche MAJ (Ne pas excuter les vnement de chargement de la base) pour ne pas afficher le conteneur de la base l'utilisateur. Pour cela on dispose de deux procdures, l'une qui l'inhibe SetBypassProperty, l'autre qui l'active UnSetBypassProperty.Sub SetBypassProperty() Const DB_Boolean As Long = 1 ChangeProperty "AllowBypassKey", DB_Boolean, False End Sub Sub UnSetBypassProperty() Const DB_Boolean As Long = 1 ChangeProperty "AllowBypassKey", DB_Boolean, True End Sub Function ChangeProperty(strPropName As String, varPropType As Long, varPropValue As Variant) As Integer Dim dbs As Database, prp As Variant Const conPropNotFoundError = 3270 Set dbs = CurrentDb On Error GoTo Change_Err dbs.Properties(strPropName) = varPropValue Change_Bye: Exit Function Change_Err: If Err = conPropNotFoundError Then ' Proprit non trouve. Set prp = dbs.CreateProperty(strPropName, _ varPropType, varPropValue) dbs.Properties.Append prp Resume Next Else ' --Erreur inconnue. Resume Change_Bye End If

- 29 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

End Function

lien : Comment empcher le lancement du formulaire de dmarrage ou de la macro AUTOEXEC ?

Afficher la liste des connects une BDDAuteurs : Morsi , Pour connatre la liste des connects une base de donnes, il suffit d'explorer le fichier .ldb. Pour ce fait, on aura besoin de dfinir un type :Private Type Un_Connect ' --nom PC PC(1 To 32) As Byte ' --nom utilisateur User(1 To 32) As Byte End Type

Cette fonction renvoie alors la chane des connects:Public Function WHO_IS() As String ' -- retourne une liste spare par des points virgules indiquant le nom de l'ordinateur ainsi que ' -- l'utilisateur connect la base. On Error GoTo Err_WHO_IS Dim Mon_LDB As Integer, i As Integer Dim Mon_Chemin As String Dim Mon_Log As String, Ma_Connexion As String Dim Nom_PC As String, Nom_Utilisateur As String Dim utilisateur As Un_Connect Mon_Chemin = CurrentDb.Name CurrentDb.Close ' --Aller chercher le LDB Mon_Chemin = Left(Mon_Chemin, InStr(1, Mon_Chemin, ".")) + "LDB" Mon_LDB = FreeFile ' --Ouvrir le LDB Open Mon_Chemin For Binary Access Read Shared As Mon_LDB ' -- Lire le LDB Do While Not EOF(Mon_LDB) ' -- Chaque enregistrement lu est plac dans la variable utilisateur pour y tre trait. Get Mon_LDB, , utilisateur With utilisateur i = 1 Nom_PC = "" ' -- nom du PC While .PC(i) 0 Nom_PC = Nom_PC & Chr(.PC(i)) i = i + 1 Wend i = 1 Nom_Utilisateur = "" ' -- nom de l'utilisateur While .User(i) 0 Nom_Utilisateur = Nom_Utilisateur & Chr(.User(i)) i = i + 1 Wend End With Mon_Log = Nom_PC & " | " & Nom_Utilisateur If InStr(Ma_Connexion, Mon_Log) = 0 Then Ma_Connexion = Ma_Connexion & Mon_Log & ";" End If Loop Close Mon_LDB ' --WHO_IS contient la liste des utilisateurs WHO_IS = Ma_Connexion

- 30 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

Exit_WHO_IS: Exit Function Err_WHO_IS: MsgBox Err.Number & vbCrLf & Err.Description, vbInformation, "Erreur" Close Mon_LDB Resume Exit_WHO_IS End Function

Formulaire Login/mot de passeAuteurs : Morsi , Pour excuter ce code, il faut activer la rfrence : Microsoft DAO 3.x Object Library Le formulaire login/mot de passe permettra un utilisateur de s'identifier et la base de le reconnatre et de dcider de lui donner ou non la permission d'accder la base. Pour ce faire, on aura besoin d'une table T_User et d'un formulaire " F_Connexion " Table T_User (TRIGRAMME, NOM, PRENOM, GROUPE, PASWD) tous les champs sont de type texte. Un enregistrement exemple de cette table : T_User(SED, SEBASTIEN, DULOT, Administrateur, root) L'vnement on_click du bouton Connexion :Private Sub connexion_Click() Me.Requery Dim sql, User_id, User_groupe As String Dim rs As DAO.Recordset Static i As Byte sql = "SELECT * FROM T_USERS WHERE TRIGRAMME = \'" & Me.txt_user & "\' AND PASWD =\'"& Me.txt_pass & "\';" Set rs = CurrentDb.OpenRecordset(sql) If Not rs.EOF Then DoCmd.OpenForm "F_Autre_Formulaire", acNormal, , , , acWindowNormal DoCmd.close acForm, "F_CONNEXION" User_id = rs("TRIGRAMME").value User_groupe = rs("GROUPE").value Else MsgBox "(Identifiant, Mot de Passe) incorrect ", vbInformation, "Connexion" i = i + 1 End If If i = 3 Then Msgbox "Vous avez dpass le nombre de tentatives autoriss", vbCritical DoCmd.Quit End If End Sub

lien : lien :

Dfinition et manipulation de donnes avec DAO par Tofalu Comment dclarer une rfrence dans MS-Access ?

Lister les tables liesAuteurs : Morsi , Pour connatre l'origine des tables lies, il suffit d'explorer la table MsysObjects. Vous pouvez alors crer un formulaire avec trois zones de texte dans la section dtail : Nom de la table, Nom tranger de la table, Chemin de la table. Dans la source de donne du formulaire, il faut mettre cette requte :- 31 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

SELECT Name, ForeignName, Database FROM MSysObjects WHERE MSysObjects.Type=6;

N'oublier pas de renseigner la source de donne des zones de listes.

Comment dans du code vrifier qu'un utilisateur appartient un groupe ?Auteurs : Bidou , Pour excuter ce code il faut activer la rfrence : Microsoft DAO 3.x Object Library Exemple en DAO :Dim Utilisateur As DAO.User, MonGroup As DAO.Group Set Utilisateur = DBEngine.Workspaces(0).Users(DBEngine.Workspaces(0).UserName) For Each MonGroup In Utilisateur.Groups If MonGroup.Name = "Admins" Then MsgBox Utilisateur.Name & " est dans le groupe " & MonGroup.Name Exit For End If Next

lien : lien :

Dfinition et manipulation de donnes avec DAO par Tofalu Comment dclarer une rfrence dans MS-Access ?

Tester la version d'Access utiliseAuteurs : Bidou ,Dim Valeur As Variant Valeur = SysCmd(acSysCmdAccessVer)

Si Valeur vaut 8.0, la version est access97. 9.0 correspond Access 2000 etc.

Comment nettoyer le journal des connexion afin d'enlever les utilisateurs qui ne sont en fait plus connect ?Auteurs : Lucifer , Pour excuter ce code il faut activer la rfrence : Microsoft DAO 3.x Object Library, Microsot ADO Ext 2.X for dll and security et Microsof ActiveX Data Object 2.X LibraryConst JET_SCHEMA_USERROSTER = "{947bb102-5d43-11d1-bdbf-00c04fb92675}" Sub WriteUserConnected() 'To determine who is logged onto a database Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim i, j As Long Dim rsUC As DAO.Recordset Set rsUC = db.OpenRecordset("T_USER_CONNECTED", dbOpenDynaset) Set cn = CurrentProject.Connection

- 32 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

' ' ' '

The user roster is exposed as a provider-specific schema rowset in the Jet 4.0 OLE DB provider. You have to use a GUID to reference the schema, as provider-specific schemas are not listed in ADO's type library for schema rowsets

Set rs = cn.OpenSchema(adSchemaProviderSpecific, , JET_SCHEMA_USERROSTER) 'Output the list of all users in the current database. db.Execute "DELETE * FROM T_USER_CONNECTED" While Not rs.EOF With rsUC .AddNew !COMPUTER_NAME = rs.Fields(0) !LOGIN_NAME = rs.Fields(1) !CONNECTED = rs.Fields(2) !SUSPECTED_STATE = rs.Fields(3) .Update End With rs.MoveNext Wend End Sub

Pensez crer une table T_USER_CONNECTED.

lien : lien :

Dfinition et manipulation de donnes avec DAO par Tofalu Comment dclarer une rfrence dans MS-Access ?

Rparer une base Access par dcompilationAuteurs : =JBO= , Il y a beaucoup de messages qui voquent des applications corrompues qu'il faut reprendre en exportant tout ce qui peut l'tre dans un nouveau fichier MDB, les problmes de mmoire "written" "read", etc. Bien souvent, ces problmes pourraient tre rsolus par une dcompilation. Je m'explique: L'application Access permet d'utiliser diffrentes Options dans la ligne de commande de dmarrage. Dans l'aide, chercher: >> Options de la ligne de commande de dmarrage Il existe une option non documente /decompile; elle permet de remettre en ordre de marche une application MDB qui donne des signes de dysfonctionnement incomprhensibles. Voici un exemple d'utilisation:

"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE" "d:\bd1.mdb" /decompile

Il existe beaucoup de pages sur le web qui traitent la question. Entre autres, le lien: http://www.granite.ab.ca/access/decompile.htm CONSEILS:

- 33 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

1. Faire une sauvegarde du fichier avant de le dcompiler. 2. Aprs avoir dcompil le fichier, le compacter pour rcuprer tout l'espace libr par la dcompilation. CERISE SUR LE GATEAU DE LA BASE DE REGISTRE : Astuce pour ne plus avoir retaper toujours et encore cette sacre ligne de commande, ni crer des raccourcis ad hoc. Sur mon PC, j'ai modifi la base de registre de Windows pour que le menu contextuel gr par le bureau (Windows explorer inclus) donne enfin un accs rapide aux fonctions de dcompactage et de dcompilation. Le code qui suit doit tre copi dans un fichier nomm [AccessDecomp.reg] (c'est l'extension .reg qui importe). Il ne reste plus qu' l'excuter pour enrichir le menu contextuel. ATTENTION: ceci ne convient que pour Access 2000 (version 9). Pour d'autres versions merci d'adapter votre cas et de nous communiquer les modifications utiles.

REGEDIT4 [HKEY_CLASSES_ROOT\Access.Application.9\shell] [HKEY_CLASSES_ROOT\Access.Application.9\shell\Compacter] "EditFlags"=hex:01,00,00,00 @="&Compacter" [HKEY_CLASSES_ROOT\Access.Application.9\shell\Compacter\command] @="\"C:\\Program Files\\Microsoft Office\\Office\\MSACCESS.EXE\" \"%1\" /COMPACT " [HKEY_CLASSES_ROOT\Access.Application.9\shell\Dcompiler] "EditFlags"=hex:01,00,00,00 @="&Dcompiler" [HKEY_CLASSES_ROOT\Access.Application.9\shell\Dcompiler\command] @="\"C:\\Program Files\\Microsoft Office\\Office\\MSACCESS.EXE\" \"%1\" /DECOMPILE "

Hlas, mme si dcompiler apporte souvent une solution, il n'empche que de temps autre il faut quand mme "reprendre" un fichier MDB rcalcitrant. Et, mon avis, c'est le pire dfaut d'Access et c'est un norme dfaut !!!

A l'ouverture de ma base de donnes, j'obtiens le message d'erreur "signet non valide"Auteurs : Maxence HUBICHE , Cela signifie que le fichier de la base de donnes est corrompu. Dans la plupart des cas, un simple compactage de la base de donnes ou une rparation avec l'utilitaire JetComp sera suffisant. Si cela ne rsout pas le problme, il vous faudra importer un un chacun des objets dans une nouvelle base de donnes.

Comment faire si je dois reprendre une application Access et que tout est sur le serveur (formulaires, tats, ...) ?Auteurs : Papy Turbo , Si jamais vous devez travailler sur une base de donnes ne respectant pas le schmas classique de Client/Serveur il faut que vous spariez : les tables (qui restent sur le serveur), -> n'oubliez pas la sauvegarde quotidienne

- 34 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

de l'application : tout le reste ainsi que les mmes tables, mais attaches. -> pas besoin de sauvegardes tous les jours, juste une seule copie de sauvegarde pour tout le monde.

Une fois ces modifications apportes vous allez constater des performances hors du commun (il n'est pas rare de voir des formulaires mettre jusqu' 20 minutes pour s'ouvrir, lorsque l'application est sur le serveur, puis 15 30 secondes, aprs avoir recopi l'application localement...) lien : Comment grer le fait que plusieurs utilisateurs aient accs mon application ?

Comment grer le fait que plusieurs utilisateurs aient accs mon application ?Auteurs : Papy Turbo , Tout d'abord, une chose ne jamais faire est de mettre l'application sur le serveur puis de crer un raccourci pour chaque utilisateur devant l'utiliser. Car dans ce cas deux utilisateurs sur deux postes diffrents peuvent ouvrir le mme formulaire partag sur un serveur. Voici la logique suivre : on partage les tables contenant les donnes, dans une base de donnes situe sur un serveur, on ne partage jamais l'application (tables attaches, formulaires, requtes, tats, etc.). Chaque poste possde une application.

Sinon, ds qu'un utilisateur modifie un formulaire, il faut s'attendre voir les mmes modifications sur tous les postes, avec de longs dlais (passage d'info par le rseau), d'o un cafouillage total pour Access. lien : Comment faire si je dois reprendre une application Access et que tout est sur le serveur (formulaires, tats, ...) ?

Les formulaires de mon application partage sont trs long ouvrirAuteurs : Papy Turbo , Votre projet doit tre divise en deux fichiers Access : la base de donnes et l'application (formulaires, tats,...). il faut imprativement que vous recopiez l'application sur chaque poste et que la base de donnes soit sur le Serveur. En effet, seule la base de donnes est destine tre partage. L'application ne doit jamais l'tre, sous peine de mettre trs longtemps (jusqu' plusieurs minutes si le rseau est encombr) pour ouvrir certains formulaires, d'obtenir des erreurs quasi incomprhensibles lorsque plusieurs utilisateurs ouvrent les mmes formulaires en mme temps : affichage incomplet de certains contrles, etc. s'il y a des tables locales, dans l'application elle-mme, ces tables doivent tre propres chaque utilisateur et non pas partages, sous peine de voir les donnes changer toutes seules lorsqu'un autre utilisateur les modifie...

De plus, ceci est cohrent avec une bonne politique de sauvegarde : une copie de secours de l'application (pourquoi pas sur le serveur) suffit pour rinstaller l'application en cas de panne sur un poste. Inutile de la sauvegarder tous les jours, si elle n'est pas modifie par un programmeur.

- 35 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

des copies quotidiennes de la base de donnes sont indispensables dans les sauvegardes (backups).

Comment modifier le mot de passe de la base de donnes en VBA ?Auteurs : Tofalu , Pour excuter ce code il faut activer la rfrence : Microsoft DAO 3.x Object Library Il faut appliquer la mthode NewPassword de l'objet DataBase en utilisant DAOSub ChangeMotPass() On Error GoTo err Dim odb As DAO.Database Set odb = CurrentDb odb.NewPassword "ancien", "nouveau" MsgBox "Mot de passe chang" fin: Set odb = Nothing Exit Sub err: Select Case err.Number Case 3031 MsgBox "Mot de passe non valide", vbCritical, "Scurit" Case Else MsgBox "Une erreur est survenue pendant le changement du mot de passe", _ vbCritical, "Erreur" End Select Resume fin End Sub

lien : lien :

Dfinition et manipulation de donnes avec DAO par Tofalu Comment dclarer une rfrence dans MS-Access ?

Comment ajouter/modifier une proprit sur une base de donnes ?Auteurs : Cafeine , Pour excuter ce code il faut activer la rfrence : Microsoft DAO 3.x Object Library

Sub SetProperty(strName As String, intType As Variant, vValue As Variant) Dim prpNew As DAO.Property Dim db As DAO.Database Set db = CurrentDb() ' Tente de dfinir la proprit spcifie. On Error GoTo Err_SetProperty db.Properties(strName) = vValue Exit_SetProperty: db.Close Set db = Nothing Exit Sub

- 36 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

Err_SetProperty: ' L'erreur 3270 signifie que la proprit est ' introuvable. Select Case Err.Number Case 3270 ' Cre une proprit, dfinit sa valeur et ' l'ajoute la collection Properties. Set prpNew = db.CreateProperty(strName, intType, vValue) db.Properties.Append prpNew Case Else MsgBox "erreur n" & Err.Number & vbCrLf & Err.Description End Select GoTo Exit_SetProperty End Sub

exemples d'utilisation :

setproperty "NouvellePropriete", dbboolean, false

ou

setproperty "RepTravail", dbtext, "C:\Program Files\Office\"

Il sera ensuite facile de rcuprer dans le code cette proprit :

Dim strPath as String strPath = CurrentDB.Properties("RepTravail")

lien : Dfinition et manipulation de donnes avec DAO par Tofalu lien : Comment dclarer une rfrence dans MS-Access ? lien : Comment modifier le titre de l'application ?

- 37 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 Developpez LLC. Tout droits rservs Developpez LLC. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.http://access.developpez.com/faq/

Sommaire > Tables et Champs Comment grer les images dans une base de donnes ?Auteurs : Demco , Comme souvent la solution se trouve sur le site de sqlpro.

lien : Grer les images dans une base de donnes lien : Comment afficher dans un formulaire une image se trouvant dans un dossier ? lien : Gestion de photos par formulaire

Comment rcuprer le nom des tables et de leurs champs ?Auteurs : Gal Donat , Tofalu , Pour excuter ce code il faut activer la rfrence : Microsoft DAO 3.x Object LibraryPublic Sub test() Dim Db As DAO.Database Dim tbd As DAO.TableDef Dim fld As DAO.Field Set Db=CurrentDb For Each tbd In Db.TableDefs For Each fld In tbd.Fields MsgBox "Table : " & tbd.Name & " Colonne : " & fld.Name Next Next End Sub

lien : Lister les tables