Utilisation des options de démarrage de la ligne de commande

Fabrice Constans

Il existe dans Microsoft ACCESS des options de démarrage. Celles-ci peuvent rendre de précieux service aussi bien à l'utilisateur qu'au développeur. Nous allons en faire l'inventaire exhaustif et bien entendu les associer à un exemple pratique.

- Titre : Utilisation des options de démarrage de la ligne de commande

- Auteur : Fabrice Constans

- Parution : 24 avril 2005

- Mise à jour : 9 octobre 2009

- Licence : Copyright ® 2005 Fabrice CONSTANS. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Avertissement

- II. Les raccourcis

- II-A. Raccourci vers MSACCESS.EXE

- II-B. Raccourci vers un fichier MDB ou MDE

- II-C. Raccourci MSACCESS.EXE et Fichier MDB ou MDE

- II-D. Résumé des paramètres des raccourcis

- III. Les options de démarrage

- III-A. Gestion des accès

- III-A-1. Option Lecture seule

- III-A-2. Option Sans affichage de la fenêtre Ouvrir fichier

- III-A-3. Option mode exclusif

- III-B. Maintenance

- III-B-1. Option Compactage

- III-B-2. Option Réparation

- III-B-3. Option de Conversion

- III-B-4. Option de Décompilation VBA

- III-C. Sécurité

- III-C-1. Option Sécurité

- III-C-2. Option Utilisateur et Mot de passe

- III-C-3. Option Profil utilisateur

- III-D. Autres

- III-D-1. Option Exécution d'une Macro

- III-D-2. Option Passage de paramètre

- III-D-3. Option Runtime

- IV. Combinaison

- V. Caractères spéciaux

- VI. Exemple d'utilisation de la fonction Command()

- VI-A. Premier essai

- VI-B. Quelques applications possibles

- VI-C. Conclusion sur l'option Cmd

- VII. Conseils

- VIII. Remerciements

I - Avertissement

Pour cet article il est bon de définir une convention d'écriture.
Le caractère _ doit être remplacé par un espace.
Le caractère " doit être scrupuleusement reproduit.

L'utilisation de la touche F1 est vivement conseillée à tous les stades de l'utilisation d'ACCESS. L'amélioration constante de l'aide en fait un partenaire de choix dans l'apprentissage permanent d'ACCESS. Personnellement je ne peux m'en passer, ne serait-ce que pour mémoire.

II - Les raccourcis

Pour mettre en œuvre les options de démarrage, il est obligatoire d'employer des raccourcis. Notre premier objectif est de créer les différents raccourcis et plus particulièrement celui nécessaire aux options.

Préférez le chemin UNC (\\nom_machiner\nom_partage\chemin\fichier) au chemin classique (x:\chemin\fichier) pour tous les raccourcis réseau. En effet le chemin UNC reste valide tant que le poste distant est en fonctionnement alors que le chemin classique doit être initialisé sur le poste local du raccourci et peut donc différer d'une machine à une autre.

II-A - Raccourci vers MSACCESS.EXE

Commencez par trouver le programme MSACCESS.EXE.
Il s'agit du programme exécutable lui-même et non du raccourci présent dans le menu Démarrer, celui-ci étant malheureusement inexploitable dans notre cas.
L'installation par défaut le place normalement avec la suite Office dans le répertoire suivant : C:\Program Files\Microsoft Office\Office\ Si vous avez des difficultés à le trouver utilisez la recherche de fichiers de Windows.
Une fois l'icône trouvée, faites un drag-and-drop à l'aide du clic droit de la souris et déposez-la sur le bureau. Un menu contextuel apparaît choisissez Créer les raccourcis ici.

Un tout petit menu contextuel

Ce raccourci peut bénéficier d'options de démarrage.

II-B - Raccourci vers un fichier MDB ou MDE

Rechercher le fichier MDB ou MDE de votre choix et faites un drag-and-drop à l'aide du clic droit de la souris et déposez-la sur le bureau. Le menu contextuel apparaît choisissez Créer les raccourcis ici.

Vous ne pouvez pas mettre d'option de démarrage sur ce type raccourci.

II-C - Raccourci MSACCESS.EXE et Fichier MDB ou MDE

Ce type de raccourci est composé d'un lien vers le fichier MSACCESS.EXE et vers votre fichier MDx. C'est le raccourci type pour la mise en place des options de démarrage.

Pour la configuration, faites un clic droit sur l'icône du raccourci MSACCESS.EXE, la fenêtre des propriétés du raccourci apparaît.

La zone Cible doit être modifiée. Rajoutez à la suite :

Le chemin vers le fichier utilisateur.

_"C:\Mes Documents\bd1.mde"

Exemple :
Dans la zone Démarrer dans indiquez le chemin du fichier utilisateur et appuyez sur le bouton OK pour enregistrez les modifications.
Notre raccourci de travail est prêt et nous pouvons passer à l'examen des différentes options.

II-D - Résumé des paramètres des raccourcis

Le tableau suivant récapitule les propriétés des différents raccourcis.

Type

Cible

Démarrer dans

icône

Vers MSAccess.exe

"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE"

"C:\Program Files\Microsoft Office\Office\"

Vers fichier utilisateur (mdb, mde)

C:\Mes Documents\bd1.mde

"C:\Mes documents\"

Vers MSAccess.exe et fichier utilisateur (mdb, mde)

"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE"_"C:\Mes Documents\bd1.mde"

"C:\Mes documents\"

III - Les options de démarrage

III-A - Gestion des accès

III-A-1 - Option Lecture seule

Option

/RO

Ligne de commande

"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE"_"C:\Mes Documents\bd1.mde"_/ro

Description

Ouvre le fichier de base de données en Lecture seule (RO pour Read Only).

Un message s'affiche au démarrage indiquant que le fichier est en lecture seule. Je cherche toujours à quoi cela peut bien servir, si quelqu'un y a déjà eu recours, merci de me le faire savoir.

III-A-2 - Option Sans affichage de la fenêtre Ouvrir fichier

Option

/NOSTARTUP

Ligne de commande

"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE"_/nostartup

Description

N'affiche pas la boite d'ouverture de fichier.

Sans réel intérêt.

III-A-3 - Option mode exclusif

Option

/EXCL

Ligne de commande

"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE"_"C:\Mes Documents\bd1.mdb"_/excl

Description

Permet d'ouvrir l'application en mode exclusif.
Aucun autre utilisateur ne pourra l'ouvrir tant que l'application ne sera pas fermée.

Ne pas utiliser cette option lors de l'utilisation en partage.
Identique à l'option Mode Exclusif dans le menu Outils/ Options/ Avancé/ Mode d'ouverture par défaut. Utile lorsque vous souhaitez faire la maintenance d'un fichier partagé, car cela bloque tous les autres accès.

III-B - Maintenance

III-B-1 - Option Compactage

Option

/COMPACT

Ligne de commande

"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE"_/compact_"C:\Mes Documents\bd1.mdb"

Description

Répare et compacte le fichier spécifié et ferme ACCESS.

Utile pour automatiser un compactage.

III-B-2 - Option Réparation

Option

/REPAIR

Ligne de commande

"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE"_"C:\Mes Documents\bd1.mdb"_/repair

Description

Répare le fichier spécifié et ferme ACCESS.

À partir d'Access 2000 la réparation est incluse dans le compactage.

III-B-3 - Option de Conversion

Option

/CONVERT

Ligne de commande

"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE"_"C:\Mes Documents\bd1.mdb"_/convert_"C:\Mes Documents\converti.mdb"

Description

Convertit le fichier spécifié à la version actuelle puis ferme ACCESS.

Convertit le format du fichier, mais pas les appels 16bits, ni les anciens menus.

III-B-4 - Option de Décompilation VBA

Option

/DECOMPILE

Ligne de commande

"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE"_"C:\Mes Documents\bd1.mdb"_/decompile

Description

Annule le marquage compilé du code VBA. Dans le menu Débogage, l'option Compile est à nouveau disponible.

Cette option permet dans certains cas de pouvoir réparer des parties de code endommagées.

III-C - Sécurité

III-C-1 - Option Sécurité

Option

/WRKGRP

Ligne de commande

"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE"_"C:\Mes Documents\bd1.mdb"_/wrkgrp_"C:\Mes Documents\bd1.mdw"

Description

Ouvre la base avec le fichier de sécurité (mdw) spécifié à la suite.
Cette option peut être combinée avec /USER et /PWD.

Utile pour une utilisation multiutilisateur. Cela permet notamment d'utiliser une application sécurisée sans manipulation des fichiers de sécurité et de pouvoir ouvrir d'autres bases non sécurisées en même temps.

III-C-2 - Option Utilisateur et Mot de passe

Option

/USER /PWD

Ligne de commande

"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE"_"C:\Mes Documents\bd1.mdb"_/wrkgrp "C:\Mes Documents\bd1.mdw"_/user_"nom"_/pwd_"motdepasse"

Description

Évite à l'utilisateur de saisir son identifiant et son mot de passe au démarrage de l'application.

Dans le cas d'une base protégée par mot de passe, ne mettez que l'option /pwd.
Si vous souhaitez qu'un utilisateur déclaré dans le fichier de sécurité saisisse son mot de passe, ne mettez pas l'option /pwd. Le fichier de sécurité doit être spécifié sur la ligne de commande avant /user et /pwd, sinon c'est le fichier de sécurité actif par défaut qui sera utilisé.

L'option /PWD ne concerne que le mot de passe défini pour la sécurité par groupe de travail (fichier mdw). En aucun cas, elle n'est applicable au mot de passe défini sur le fichier lui-même par le menu Outils/sécurité/définir le mot de passe de la base de données.

III-C-3 - Option Profil utilisateur

Option

/PROFIL

Ligne de commande

"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE"_"C:\Mes Documents\bd1.mdb"_/profil_"nomduprofil"

Description

Ouvre le fichier avec le profil utilisateur système spécifié.

Utile lorsque l'on souhaite faire des tests d'une application avec un autre profil utilisateur.
Utilise les paramètres du registre Windows de l'utilisateur spécifié.
Remplace le /ini des versions antérieures.

III-D - Autres

III-D-1 - Option Exécution d'une Macro

Option

/X

Ligne de commande

"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE"_"C:\Mes Documents\bd1.mdb"_/x_"MaMacro"

Description

Exécute la macro spécifiée au démarrage.

Cette option est utile lorsque vous souhaitez exécuter une autre macro que Autoexec au démarrage.

III-D-2 - Option Passage de paramètre

Option

/CMD ou ;

Ligne de commande

"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE"_"C:\Mes Documents\bd1.mdb"_/cmd_"paramètre"
ou
"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE"_"C:\Mes Documents\bd1.mdb"_;_"paramètre"

Description

Ouvre le fichier en passant le paramètre spécifié.

Cette option est toujours spécifiée après toutes les autres.

Le paramètre est au format string et doit être récupéré par la fonction Command().
Les applications sont légion.
(Voir le chapitre Exemple d'utilisation de la fonction Command().)

III-D-3 - Option Runtime

Option

/RUNTIME

Ligne de commande

"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE"_"C:\Mes Documents\bd1.mdb"_/runtime

Description

Ouvre l'application en mode Runtime.

Cette option est incontournable si vous souhaitez exécuter une application avec un runtime ACCESS. En effet elle permet de simuler l'exécution avec une version Runtime.

IV - Combinaison

Il est parfois nécessaire de combiner des options. L'exemple suivant permet :

1. D'ouvrir une application appli.mdb ;

2. Avec le fichier de sécurité fichier.mdw ;

3. En spécifiant le nom et le mot de passe de l'utilisateur /user "MonIDuser" /pwd " MonPassWord" ;

4. En mode runtime /runtime ;

5. En spécifiant le paramètre Mavaleur :

"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE"_"C:\Mes Documents\bd1.mdb"_
/wrkgrp_"c:\chemin\fichier.mdw"_/user_"MonIDuser"_/pwd_" MonPassWord"_
/runtime_/cmd_"MaValeur"

Ceci n'est qu'un exemple, vous pouvez essayer d'autres combinaisons.

V - Caractères spéciaux

Les caractères ; et / doivent être doublés lorsque vous les utilisez hors de leur fonction première. Si vous avez un mot de passe composé de ; et / comme "zx;yv/dd" il faudra l'écrire "zx;;yv//dd".

VI - Exemple d'utilisation de la fonction Command()

VI-A - Premier essai

Cette option est très pratique pour toutes sortes de tâches, dans ce chapitre nous allons apprendre à l'utiliser.

Commencez par créer le raccourci avec la ligne suivante :

"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE"_"C:\Mes Documents\bd1.mdb"_/cmd_"Coucou c'est moi"

Sauvegardez-le.

Créer une base vierge en utilisant le raccourci standard d'ACCESS.
Créer une macro, sur la première ligne choisissez l'instruction ExécuterCode.
Dans la propriété, indiquez Startup().
Sauvegardez-la sous le nom Autoexec. La requête portant ce nom est lancée dès l'ouverture du fichier MDx.
Ouvrez un module et tapez le code suivant :

Function Startup()

Dim monparam                                   ' déclare une variable

monparam = Command()                           ' affecte la valeur transmise à la variable

If Not IsNull(monparam) Then MsgBox monparam   ' si la variable est nulle
' affiche le message avec la valeur

application.Quit                               ' quitte MS ACCESS

End Sub

Sauvegardez le module et fermez ACCESS.
Lancez l'application avec le raccourci créé au début du chapitre.
Le résultat n'a rien d'extraordinaire, mais les perspectives sont intéressantes.

VI-B - Quelques applications possibles

Ouvrez le raccourci et remplacez le paramètre par "DEBUGNOQUIT".
Sauvegardez-le.
Ouvrez ensuite notre base exemple en utilisant soit le raccourci standard soit le raccourci modifié, mais en maintenant la touche shift gauche jusqu'à l'ouverture de l'application exemple.

La touche shift au démarrage permet de ne pas exécuter la macro Autoexec.

Remplacez le code de notre fonction Startup par celui-ci :

Function Startup()
Dim monparam                                    ' déclare la variable
monparam = Command()                            ' affecte la valeur

If Not (UCase(monparam) Like "*DEBUG*") Then    ' param ne contient pas DEBUG

DoCmd.RunCommand acCmdWindowHide            ' cache la base de données
DoCmd.ShowToolbar "Database", acToolbarNo   ' cache la barre d'outil Database
End If
If (UCase(monparam) Like "*NOQUIT*") Then       ' param contient NOQUIT
Application.Quit
End If

End Function

Sauvegardez le code et fermez la base. Si vous lancez l'application par le raccourci modifié, vous pouvez vous rendre compte que la base de données et la barre d'icônes Database restent visibles.
Si vous lancez la base sans passer par le raccourci, la base se referme immédiatement.

Vous pouvez également utiliser la fonction dans une macro, dans ce cas tapez-la sous forme d'une fonction =Commande().

VI-C - Conclusion sur l'option Cmd

À l'aide de l'option CMD, nous pouvons conditionner le fonctionnement d'une application ACCESS.
En effet vous pouvez très bien livrer une nouvelle version de votre application avec un raccourci conditionnant l'exécution de la procédure de mise à jour, celle-ci pourrait même supprimer le raccourci une fois exécutée.
Autre exemple concret : un développeur peut, par un raccourci, démarrer l'application avec l'intégralité des menus alors que l'utilisateur ne le possédant pas aura une application verrouillée.
Vous pouvez également déterminer un formulaire, état ou autre à exécuter dès le démarrage.

VII - Conseils

Nous avons fait le tour des options de la ligne de commande. Si l'utilité de certaines est discutable, d'autres peuvent devenir incontournables comme le compactage d'une base volumineuse la nuit ou le week-end grâce au planificateur de tâches de Windows. La convivialité du duo USER, PWD ou encore la commodité de faire référence au fichier de sécurité dédié à chaque application. Le développeur appréciera de tester son application en mode runtime sans l'installer ou de démarrer son application en ayant toutes les options de développement grâce à l'option Cmd.

VIII - Remerciements

Je tiens à remercier : Gaël Donat et Tofalu pour le temps passé en relecture et corrections.
À l'équipe de Developpez.com pour la qualité du site.
À Nono40 pour son super éditeur XML qui se bonifie avec le temps comme un vieux Pommard. Je présente mes plus plates excuses à ceux que j'aurais omis de remercier.